[Bug c++/20366] New: AIX g++ -D_LARGE_FILES fails to compile #include <iostream>

gcc-bugzilla at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Mar 7 19:12:00 GMT 2005


	The compiler's C++ headers do not appear to work properly on AIX when
	the compiler is run with -D_LARGE_FILES.  This macro causes the
	system headers to #define symbols like fopen, while the C++ headers
	unconditionally #undef these symbols.

Environment:
System: AIX bigblue 2 5 000F699D4C00


	
host: powerpc-ibm-aix5.2.0.0
build: powerpc-ibm-aix5.2.0.0
target: powerpc-ibm-aix5.2.0.0
configured with: /usr0/slammert/gcc-3.4.3/configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld --disable-nls --enable-languages=c,c++ --enable-threads --enable-version-specific-runtime-libs

How-To-Repeat:
	On AIX 5.2, compile the following program with
	3.4.3 g++ -D_LARGE_FILES:

	    #include <iostream>
	    int main(void) { return 0; }

	You will get output similar to the following:

	    In file included from /usr/local/lib/gcc/powerpc-ibm-aix5.2.0.0/3.4.3/include/c++/powerpc-ibm-aix5.2.0.0/bits/c++locale.h:43,
			     from /usr/local/lib/gcc/powerpc-ibm-aix5.2.0.0/3.4.3/include/c++/iosfwd:46,
			     from /usr/local/lib/gcc/powerpc-ibm-aix5.2.0.0/3.4.3/include/c++/ios:44,
			     from /usr/local/lib/gcc/powerpc-ibm-aix5.2.0.0/3.4.3/include/c++/ostream:45,
			     from /usr/local/lib/gcc/powerpc-ibm-aix5.2.0.0/3.4.3/include/c++/iostream:45,
			     from bug0.C:1:
	    /usr/local/lib/gcc/powerpc-ibm-aix5.2.0.0/3.4.3/include/c++/cstdio:108: error: `::fgetpos' has not been declared
	    /usr/local/lib/gcc/powerpc-ibm-aix5.2.0.0/3.4.3/include/c++/cstdio:110: error: `::fopen' has not been declared
	    /usr/local/lib/gcc/powerpc-ibm-aix5.2.0.0/3.4.3/include/c++/cstdio:115: error: `::freopen' has not been declared
	    /usr/local/lib/gcc/powerpc-ibm-aix5.2.0.0/3.4.3/include/c++/cstdio:118: error: `::fsetpos' has not been declared
------- Additional Comments From dsanderson at panasas dot com  2005-03-07 19:12 -------
Fix:
	I can work around this problem and still compile a program with a
	64-bit off_t by compiling with -maix64 instead of -D_LARGE_FILES.

-- 
           Summary: AIX g++ -D_LARGE_FILES fails to compile #include
                    <iostream>
           Product: gcc
           Version: 3.4.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dsanderson at panasas dot com
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: powerpc-ibm-aix5.2.0.0
  GCC host triplet: powerpc-ibm-aix5.2.0.0
GCC target triplet: powerpc-ibm-aix5.2.0.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20366



More information about the Gcc-bugs mailing list