From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31728 invoked by alias); 12 Apr 2003 23:46:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 31698 invoked by uid 71); 12 Apr 2003 23:46:01 -0000 Resent-Date: 12 Apr 2003 23:46:01 -0000 Resent-Message-ID: <20030412234601.31697.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, rehsack@liwing.de Received: (qmail 30187 invoked by uid 48); 12 Apr 2003 23:36:38 -0000 Message-Id: <20030412233638.30186.qmail@sources.redhat.com> Date: Sat, 12 Apr 2003 23:46:00 -0000 From: rehsack@liwing.de Reply-To: rehsack@liwing.de To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: other/10390: conflicting declarations in stdio.h X-SW-Source: 2003-04/txt/msg00573.txt.bz2 List-Id: >Number: 10390 >Category: other >Synopsis: conflicting declarations in stdio.h >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sat Apr 12 23:46:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Jens Rehsack >Release: gcc-3.2.2 >Organization: >Environment: AIX aix 3 4 00FFFFFF4C00 (AIX 4.3.3) >Description: When I tried to build gnu sed on AIX 4.3.3, the configure script detects _LARGE_FILES=1 and _LARGE_FILE_API=1 had to be set to use large files. stdio.h installed by gcc-3.2.2 into /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.2.2/include checks both defines separately and declares both functions groups which are using fpos_t/fpos64_t: fgetpos and fgetpos64 in a manner which causes gcc invoked with /usr/local/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. \ -I../lib -I../intl -I.. \ -DLOCALEDIR=\"/usr/local/share/locale\" \ -g -pipe -O2 -mcpu=603e -MT fmt.o -MD -MP -MF \ ".deps/fmt.Tpo" -c -o regex.o \ `test -f 'regex.c' || echo './'`regex.c to fail with: /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.2.2/include/stdio.h:448: conflicting types for `fgetpos64' /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.2.2/include/stdio.h:288: previous declaration of `fgetpos64' /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.2.2/include/stdio.h:451: conflicting types for `fseeko64' /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.2.2/include/stdio.h:394: previous declaration of `fseeko64' /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.2.2/include/stdio.h:452: conflicting types for `fsetpos64' /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.2.2/include/stdio.h:290: previous declaration of `fsetpos64' /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.2.2/include/stdio.h:453: conflicting types for `ftello64' /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.2.2/include/stdio.h:395: previous declaration of `ftello64' I created a patch which corrects the issue, but maybe not the problem, because I don't know why the author wants both _LARGE_FILES and _LARGE_FILE_API existing in concurrent manner. >How-To-Repeat: >Fix: *** stdio.h.orig Sat Apr 12 23:19:47 2003 --- stdio.h Sat Apr 12 23:21:07 2003 *************** *** 90,96 **** #ifndef _FPOS_T #define _FPOS_T ! #ifdef _LARGE_FILES typedef long long fpos_t; #else typedef long fpos_t; --- 90,96 ---- #ifndef _FPOS_T #define _FPOS_T ! #if defined(_LARGE_FILES) && !defined(_LARGE_FILE_API) typedef long long fpos_t; #else typedef long fpos_t; *************** *** 102,108 **** #endif /* _FPOS_T */ ! #ifdef _LARGE_FILES #define fseeko fseeko64 #define ftello ftello64 #define fgetpos fgetpos64 --- 102,108 ---- #endif /* _FPOS_T */ ! #if defined(_LARGE_FILES) && !defined(_LARGE_FILE_API) #define fseeko fseeko64 #define ftello ftello64 #define fgetpos fgetpos64 >Release-Note: >Audit-Trail: >Unformatted: