[Bug c++/20060] New: Ambiguous MSG in array initialization when expression is not integral constant.
Sourc code for t.cpp: int mymain() { int n = 10; int (*p)[] = new int [2][n]; // error - 2nd dimension not constant return 0; } Expected Behaviour: t.cpp, line 4.34: 1540-0016 (S) The expression must be an integral non-volatile constant expression. Actual Behaviour: t.cpp: In function `int mymain()': t.cpp:4: cannot convert `int (*)[((n - 1) + 1)]' to `int (*)[]' in initialization t.ii generated with -save-temps option # 1 t.cpp # 1 built-in # 1 command line # 1 t.cpp int mymain() { int n = 10; int (*p)[] = new int [2][n]; return 0; } Release: GCC Version: 3.2.0 Environment: System Type: Reading specs from /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/specs Configured with: /scratch/gcc-3.2/configure --prefix=/usr/local/gcc.3.2.0 --enable-threads=aix --disable-nls Thread model: aix gcc version 3.2 /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -v -iprefix /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -Asystem=unix -Asystem=aix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED=1 -D_LARGE_FILE_API -D_ALL_SOURCE -D__WCHAR_TYPE__=short unsigned int -D_ARCH_COM /home/msadoghi/scenario/common/t.cpp t.ii GNU CPP version 3.2 (cpplib) ignoring nonexistent directory /usr/local/lib/gcc-lib/../../powerpc-ibm-aix5.1.0.0/include ignoring nonexistent directory /usr/local/gcc.3.2.0/powerpc-ibm-aix5.1.0.0/include ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2 ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2/powerpc-ibm-aix5.1.0.0 ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2/backward ignoring duplicate directory /usr/local/gcc.3.2.0/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include #include ... search starts here: #include ... search starts here: /usr/local/lib/gcc-lib/../../include/c++/3.2 /usr/local/lib/gcc-lib/../../include/c++/3.2/powerpc-ibm-aix5.1.0.0 /usr/local/lib/gcc-lib/../../include/c++/3.2/backward /usr/local/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include /usr/local/include /usr/local/gcc.3.2.0/include /usr/include End of search list. /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cc1plus -fpreprocessed t.ii -quiet -dumpbase t.cpp -version -o t.s GNU CPP version 3.2 (cpplib) GNU C++ version 3.2 (powerpc-ibm-aix5.1.0.0) compiled by GNU C version 3.2. /home/msadoghi/scenario/common/t.cpp: In function `int mymain()': /home/msadoghi/scenario/common/t.cpp:4: cannot convert `int (*)[((n - 1) + 1)]' to `int (*)[]' in initialization How-To-Repeat: g++ -v -save-temps -c t.cpp Note: This is a diagnostic test case. Compilation failure is expected. However the message produces by gcc compiler it ambiguous and can be improved. The expression [((n - 1) + 1)] should be replaced simply with [n]. -- Summary: Ambiguous MSG in array initialization when expression is not integral constant. Product: gcc Version: 3.2 Status: UNCONFIRMED Severity: minor Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: msadoghi at ca dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20060
[Bug c++/20064] New: Types shall not be defined in casts in the strict mode.
Sourc code for t.cpp: int mymain() { void *p = (void *)(struct {int i;} *)0; /* error - can't define a type in a cast */ return 0; } Expected Behaviour: t.cpp:3: error: ISO C++ forbids defining types within cast Actual Behaviour: t.cpp:3: warning: ISO C++ forbids defining types within cast t.ii generated with -save-temps option # 1 t.cpp # 1 t.cpp # 1 built-in # 1 command line # 1 t.cpp int mymain() { void *p = (void *)(struct {int i;} *)0; return 0; } Release: GCC Version: 3.2.0 Environment: System Type: Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1495) /usr/libexec/gcc/darwin/ppc/3.3/cc1plus -E -D__GNUG__=3 -quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -D__APPLE_CC__=1495 -D__DYNAMIC__ /home/msadoghi/scenario/common/t.cpp -fPIC -std=iso9899:199409 -pedantic -D__private_extern__=extern t.ii cc1plus: warning: -std=iso9899:199409 is valid for C/ObjC but not for C++ ignoring nonexistent directory /usr/ppc-darwin/include ignoring nonexistent directory /Local/Library/Frameworks #include ... search starts here: #include ... search starts here: /usr/include/gcc/darwin/3.3/c++ /usr/include/gcc/darwin/3.3/c++/ppc-darwin /usr/include/gcc/darwin/3.3/c++/backward /usr/local/include /usr/include/gcc/darwin/3.3 /usr/include End of search list. Framework search starts here: /System/Library/Frameworks /Library/Frameworks End of framework search list. /usr/libexec/gcc/darwin/ppc/3.3/cc1plus -fpreprocessed t.ii -fPIC -quiet -dumpbase t.cpp -auxbase t -pedantic -std=iso9899:199409 -version -D__private_extern__=extern -o t.s cc1plus: warning: -std=iso9899:199409 is valid for C/ObjC but not for C++ GNU C++ version 3.3 20030304 (Apple Computer, Inc. build 1495) (ppc-darwin) compiled by GNU C version 3.3 20030304 (Apple Computer, Inc. build 1495). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=131072 /home/msadoghi/scenario/common/t.cpp: In function `int mymain()': /home/msadoghi/scenario/common/t.cpp:3: warning: ISO C++ forbids defining types within cast /usr/libexec/gcc/darwin/ppc/as -arch ppc -o t.o t.s How-To-Repeat: g++ -v -save-temps -c -std=iso9899:199409 -pedantic t.cpp Note: This is a diagnostic test case. Compilation failure is expected on the strict mode, where type is defined in a cast. C++ ANSI Standard: Types shall not be defined in casts in the strict mode. AIX, MACOS and LINUX all have a similar behaviors. -- Summary: Types shall not be defined in casts in the strict mode. Product: gcc Version: 3.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: msadoghi at ca dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20064
[Bug c++/20040] New: A new expression must check the access level of delete operator
Sourc code for t.cpp: class X { void operator delete(void *p) throw (); }; X xa; void X::operator delete(void *p) throw () { } int mymain() { X *p = new X; /* error - can't access X::operator delete */ return 0; } Expected Behaviour: t.cpp:9: `static void X::operator delete(void*)' is private t.cpp:14: within this context Actual Behaviour: None. t.ii generated with -save-temps option # 1 t.cpp # 1 t.cpp # 1 built-in # 1 command line # 1 t.cpp class X { void operator delete(void *p) throw (); }; X xa; void X::operator delete(void *p) throw () { } int mymain() { X *p = new X; return 0; } Release: GCC Version: 3.2.0 Environment: System Type: Reading specs from /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/specs Configured with: /scratch/gcc-3.2/configure --prefix=/usr/local/gcc.3.2.0 --enable-threads=aix --disable-nls Thread model: aix gcc version 3.2 /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -v -iprefix /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -Asystem=unix -Asystem=aix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED=1 -D_LARGE_FILE_API -D_ALL_SOURCE -D__WCHAR_TYPE__=short unsigned int -D_ARCH_COM /home/msadoghi/scenario/common/t.cpp t.ii GNU CPP version 3.2 (cpplib) ignoring nonexistent directory /usr/local/lib/gcc-lib/../../powerpc-ibm-aix5.1.0.0/include ignoring nonexistent directory /usr/local/gcc.3.2.0/powerpc-ibm-aix5.1.0.0/include ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2 ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2/powerpc-ibm-aix5.1.0.0 ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2/backward ignoring duplicate directory /usr/local/gcc.3.2.0/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include #include ... search starts here: #include ... search starts here: /usr/local/lib/gcc-lib/../../include/c++/3.2 /usr/local/lib/gcc-lib/../../include/c++/3.2/powerpc-ibm-aix5.1.0.0 /usr/local/lib/gcc-lib/../../include/c++/3.2/backward /usr/local/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include /usr/local/include /usr/local/gcc.3.2.0/include /usr/include End of search list. /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cc1plus -fpreprocessed t.ii -quiet -dumpbase t.cpp -version -o t.s GNU CPP version 3.2 (cpplib) GNU C++ version 3.2 (powerpc-ibm-aix5.1.0.0) compiled by GNU C version 3.2. /home/msadoghi/scenario/common/t.cpp:2: warning: all member functions in class `X' are private as -u -mcom -o t.o t.s How-To-Repeat: g++ -v -save-temps -c -std=iso9899:199409 t.cpp Note: This is a diagnostic test case. Compilation failure is expected. However the compilation is successful and no error or warning messages are produced. According to C++ ANSI Standard the test cases should produces an error. Therefore, in the strict mode compiler should produce a server error and in the extended mode it should at least produces a warning. C++ ANSI Standard: new-expression that creates object of class type or array thereof must check access for allocation function, deallocation function, and constructor this checks access for operator delete AIX, MACOS and LINUX all have a similar behaviors. -- Summary: A new expression must check the access level of delete operator Product: gcc Version: 3.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: msadoghi at ca dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20040
[Bug c++/20041] New: request for member `operator delete' is ambiguous
Sourc code for t.cpp: struct D1 { void operator delete(void *p) throw (){} }; struct D2 { void operator delete(void *p) throw (){} }; class MD : public D1, public D2 { }; int mymain() { MD *p = new MD; /* error - ambiguous operator delete */ return 0; } Expected Behaviour: t.cpp: In function `int mymain()': t.cpp:18: request for member `operator delete' is ambiguous t.cpp:8: candidates are: static void D2::operator delete(void*) t.cpp:3: static void D1::operator delete(void*) Actual Behaviour: None. t.ii generated with -save-temps option # 1 t.cpp # 1 t.cpp # 1 built-in # 1 command line # 1 t.cpp struct D1 { void operator delete(void *p) throw (){} }; struct D2 { void operator delete(void *p) throw (){} }; class MD : public D1, public D2 { }; int mymain() { MD *p = new MD; return 0; } Release: GCC Version: 3.2.0 Environment: System Type: Reading specs from /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/specs Configured with: /scratch/gcc-3.2/configure --prefix=/usr/local/gcc.3.2.0 --enable-threads=aix --disable-nls Thread model: aix gcc version 3.2 /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -v -iprefix /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -Asystem=unix -Asystem=aix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED=1 -D_LARGE_FILE_API -D_ALL_SOURCE -D__WCHAR_TYPE__=short unsigned int -D_ARCH_COM /home/msadoghi/scenario/common/t.cpp -std=iso9899:199409 t.ii GNU CPP version 3.2 (cpplib) ignoring nonexistent directory /usr/local/lib/gcc-lib/../../powerpc-ibm-aix5.1.0.0/include ignoring nonexistent directory /usr/local/gcc.3.2.0/powerpc-ibm-aix5.1.0.0/include ignoring duplicate directory /usr/local/gcc.3.2.0/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include #include ... search starts here: #include ... search starts here: /usr/local/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include /usr/local/include /usr/local/gcc.3.2.0/include /usr/include End of search list. /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cc1plus -fpreprocessed t.ii -quiet -dumpbase t.cpp -std=iso9899:199409 -version -o t.s GNU CPP version 3.2 (cpplib) GNU C++ version 3.2 (powerpc-ibm-aix5.1.0.0) compiled by GNU C version 3.2. as -u -mcom -o t.o t.s How-To-Repeat: g++ -v -save-temps -c -std=iso9899:199409 t.cpp Note: This is a diagnostic test case. Compilation failure is expected. However the compilation is successful and no error or warning messages are produced. According to C++ ANSI Standard the test cases should produces an error. Therefore, in the strict mode compiler should produce a server error and in the extended mode it should at least produces a warning. C++ ANSI Standard: new-expression that creates object of class type or array thereof must check ambiguity for allocation function, deallocation function, and constructor this checks access for operator delete AIX, MACOS and LINUX all have a similar behaviors. -- Summary: request for member `operator delete' is ambiguous Product: gcc Version: 3.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: msadoghi at ca dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20041
[Bug c++/20013] New: Can't apply + to pointer to member.
Sourc code for t.cpp: struct X { int i; }; int mymain() { X x = { 1 }; int X::*pm = X::i; if (x.*(+pm) == 0) return 0; } Expected Behaviour: t.cpp, line 10.17: 1540-0201 (S) The unary + operator is not allowed for type int X::*. Actual Behaviour: None. t.ii generated with -save-temps option # 1 t.cpp # 1 built-in # 1 command line # 1 t.cpp struct X { int i; }; int mymain() { X x = { 1 }; int X::*pm = X::i; if (x.*(+pm) == 0) return 0; } Release: GCC Version: 3.2.0 Environment: System Type: Reading specs from /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/specs Configured with: /scratch/gcc-3.2/configure --prefix=/usr/local/gcc.3.2.0 --enable-threads=aix --disable-nls Thread model: aix gcc version 3.2 /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -v -iprefix /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -Asystem=unix -Asystem=aix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED=1 -D_LARGE_FILE_API -D_ALL_SOURCE -D__WCHAR_TYPE__=short unsigned int -D_ARCH_COM /home/msadoghi/scenario/common/t.cpp t.ii GNU CPP version 3.2 (cpplib) ignoring nonexistent directory /usr/local/lib/gcc-lib/../../powerpc-ibm-aix5.1.0.0/include ignoring nonexistent directory /usr/local/gcc.3.2.0/powerpc-ibm-aix5.1.0.0/include ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2 ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2/powerpc-ibm-aix5.1.0.0 ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2/backward ignoring duplicate directory /usr/local/gcc.3.2.0/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include #include ... search starts here: #include ... search starts here: /usr/local/lib/gcc-lib/../../include/c++/3.2 /usr/local/lib/gcc-lib/../../include/c++/3.2/powerpc-ibm-aix5.1.0.0 /usr/local/lib/gcc-lib/../../include/c++/3.2/backward /usr/local/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include /usr/local/include /usr/local/gcc.3.2.0/include /usr/include End of search list. /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cc1plus -fpreprocessed t.ii -quiet -dumpbase t.cpp -version -o t.s GNU CPP version 3.2 (cpplib) GNU C++ version 3.2 (powerpc-ibm-aix5.1.0.0) compiled by GNU C version 3.2. as -u -mcom -o t.o t.s gcc version 3.2 How-To-Repeat: g++ -v -save-temps -c t.cpp Note: This is a diagnostic test case. Compilation failure is expected. However it does not produces any error messages on AIX. This test case should fail the compilation because: can't apply + to pointer to member. -- Summary: Can't apply + to pointer to member. Product: gcc Version: 3.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: msadoghi at ca dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20013
[Bug c++/19982] New: The left side of the = operator must be an lvalue.
Sourc code for t.cpp: int mymain() { int i = 1; int j = 2; const volatile int ri = i; const_castint *(ri) = j; // error - lvalue required for = return 0; } Expected Behaviour: t.cpp, line 8.25: 1540-2410 (S) The left side of the = operator must be an lvalue. Actual Behaviour: t.cpp:6: ISO C++ forbids cast to non-reference type used as lvalue t.cpp:6: ISO C++ forbids cast to non-reference type used as lvalue t.cpp:6: confused by earlier errors, bailing out t.ii generated with -save-temps option # 1 t.cpp # 1 built-in # 1 command line # 1 t.cpp int mymain() { int i = 1; int j = 2; const volatile int ri = i; const_castint *(ri) = j; return 0; } Release: GCC Version: 3.2.0 Environment: System Type: Reading specs from /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/specs Configured with: /scratch/gcc-3.2/configure --prefix=/usr/local/gcc.3.2.0 --enable-threads=aix --disable-nls Thread model: aix gcc version 3.2 /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -v -iprefix /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -Asystem=unix -Asystem=aix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED=1 -D_LARGE_FILE_API -D_ALL_SOURCE -D__WCHAR_TYPE__=short unsigned int -D_ARCH_COM /home/msadoghi/scenario/common/t.cpp t.ii GNU CPP version 3.2 (cpplib) ignoring nonexistent directory /usr/local/lib/gcc-lib/../../powerpc-ibm-aix5.1.0.0/include ignoring nonexistent directory /usr/local/gcc.3.2.0/powerpc-ibm-aix5.1.0.0/include ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2 ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2/powerpc-ibm-aix5.1.0.0 ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2/backward ignoring duplicate directory /usr/local/gcc.3.2.0/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include #include ... search starts here: #include ... search starts here: /usr/local/lib/gcc-lib/../../include/c++/3.2 /usr/local/lib/gcc-lib/../../include/c++/3.2/powerpc-ibm-aix5.1.0.0 /usr/local/lib/gcc-lib/../../include/c++/3.2/backward /usr/local/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include /usr/local/include /usr/local/gcc.3.2.0/include /usr/include End of search list. /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cc1plus -fpreprocessed t.ii -quiet -dumpbase t.cpp -version -o t.s GNU CPP version 3.2 (cpplib) GNU C++ version 3.2 (powerpc-ibm-aix5.1.0.0) compiled by GNU C version 3.2. /home/msadoghi/scenario/common/t.cpp: In function `int mymain()': /home/msadoghi/scenario/common/t.cpp:6: ISO C++ forbids cast to non-reference type used as lvalue /home/msadoghi/scenario/common/t.cpp:6: ISO C++ forbids cast to non-reference type used as lvalue /home/msadoghi/scenario/common/t.cpp:6: confused by earlier errors, bailing out How-To-Repeat: gcc -v -save-temps -c t.cpp Notes: Compilation failure is expected for this test case. However the gcc produces an Internal compiler error on AIX which leads to termination of the compilation process. -- Summary: The left side of the = operator must be an lvalue. Product: gcc Version: 3.2 Status: UNCONFIRMED Severity: critical Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: msadoghi at ca dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19982
[Bug c++/19914] New: The left side of the = operator must be an lvalue.
Sourc code for t.cpp: int mymain() { int i = 0; static_castlong int(i) = 1; return i; } Expected Behaviour: t.cpp, line 4.9: 1540-2410 (S) The left side of the = operator must be an lvalue. Actual Behaviour: None. t.ii generated with -save-temps option # 1 t.cpp # 1 built-in # 1 command line # 1 t.cpp int mymain() { int i = 0; static_castlong int(i) = 1; return i; } Release: GCC Version: 3.2.0 Environment: System Type: Reading specs from /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/specs Configured with: /scratch/gcc-3.2/configure --prefix=/usr/local/gcc.3.2.0 --enable-threads=aix --disable-nls Thread model: aix gcc version 3.2 /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -D__STRICT_ANSI__ -trigraphs -$ -v -iprefix /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -Asystem=unix -Asystem=aix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED=1 -D_LARGE_FILE_API -D_ALL_SOURCE -D__WCHAR_TYPE__=short unsigned int -D_ARCH_COM t.cpp -std=iso9899:199409 -Wall -pedantic t.ii GNU CPP version 3.2 (cpplib) ignoring nonexistent directory /usr/local/lib/gcc-lib/../../powerpc-ibm-aix5.1.0.0/include ignoring nonexistent directory /usr/local/gcc.3.2.0/powerpc-ibm-aix5.1.0.0/include ignoring duplicate directory /usr/local/gcc.3.2.0/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include #include ... search starts here: #include ... search starts here: /usr/local/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include /usr/local/include /usr/local/gcc.3.2.0/include /usr/include End of search list. /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cc1plus -fpreprocessed t.ii -trigraphs -$ -quiet -dumpbase t.cpp -ansi -Wall -pedantic -std=iso9899:199409 -ansi -version -o t.s GNU CPP version 3.2 (cpplib) GNU C++ version 3.2 (powerpc-ibm-aix5.1.0.0) compiled by GNU C version 3.2. as -u -mcom -o t.o t.s How-To-Repeat: g++ -v -save-temps -std=iso9899:199409 -ansi -Wall -pedantic -c t.cpp -- Summary: The left side of the = operator must be an lvalue. Product: gcc Version: 3.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: msadoghi at ca dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19914
[Bug c++/19915] The left side of the = operator must be an lvalue.
--- Additional Comments From msadoghi at ca dot ibm dot com 2005-02-11 22:51 --- *** This bug has been marked as a duplicate of 19914 *** -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19915
[Bug c++/19915] New: The left side of the = operator must be an lvalue.
Sourc code for t.cpp: int mymain() { int i = 0; static_castlong int(i) = 1; return i; } Expected Behaviour: t.cpp, line 4.9: 1540-2410 (S) The left side of the = operator must be an lvalue. Actual Behaviour: None. t.ii generated with -save-temps option # 1 t.cpp # 1 built-in # 1 command line # 1 t.cpp int mymain() { int i = 0; static_castlong int(i) = 1; return i; } Release: GCC Version: 3.2.0 Environment: System Type: Reading specs from /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/specs Configured with: /scratch/gcc-3.2/configure --prefix=/usr/local/gcc.3.2.0 --enable-threads=aix --disable-nls Thread model: aix gcc version 3.2 /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -D__STRICT_ANSI__ -trigraphs -$ -v -iprefix /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -Asystem=unix -Asystem=aix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED=1 -D_LARGE_FILE_API -D_ALL_SOURCE -D__WCHAR_TYPE__=short unsigned int -D_ARCH_COM t.cpp -std=iso9899:199409 -Wall -pedantic t.ii GNU CPP version 3.2 (cpplib) ignoring nonexistent directory /usr/local/lib/gcc-lib/../../powerpc-ibm-aix5.1.0.0/include ignoring nonexistent directory /usr/local/gcc.3.2.0/powerpc-ibm-aix5.1.0.0/include ignoring duplicate directory /usr/local/gcc.3.2.0/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include #include ... search starts here: #include ... search starts here: /usr/local/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include /usr/local/include /usr/local/gcc.3.2.0/include /usr/include End of search list. /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cc1plus -fpreprocessed t.ii -trigraphs -$ -quiet -dumpbase t.cpp -ansi -Wall -pedantic -std=iso9899:199409 -ansi -version -o t.s GNU CPP version 3.2 (cpplib) GNU C++ version 3.2 (powerpc-ibm-aix5.1.0.0) compiled by GNU C version 3.2. as -u -mcom -o t.o t.s How-To-Repeat: g++ -v -save-temps -std=iso9899:199409 -ansi -Wall -pedantic -c t.cpp -- Summary: The left side of the = operator must be an lvalue. Product: gcc Version: 3.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: msadoghi at ca dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19915
[Bug c++/19914] The left side of the = operator must be an lvalue.
--- Additional Comments From msadoghi at ca dot ibm dot com 2005-02-11 22:51 --- *** Bug 19915 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19914
[Bug c++/19913] New: The wrong number of arguments have been specified for destructor.
Sourc code for t.cpp: int main() { typedef int I; I x = 1; I *p = x; p-I::~I(0); return 0; } Expected Behaviour: t.cpp, line 6.17: 1540-0215 (S) The wrong number of arguments have been specified for ~I Actual Behaviour: None. t.ii generated with -save-temps option # 1 t.cpp # 1 built-in # 1 command line # 1 t.cpp int main() { typedef int I; I x = 1; I *p = x; p-I::~I(0); return 0; } Release: GCC Version: 3.2.0 Environment: System Type: Reading specs from /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/specs Configured with: /scratch/gcc-3.2/configure --prefix=/usr/local/gcc.3.2.0 --enable-threads=aix --disable-nls Thread model: aix gcc version 3.2 /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -v -iprefix /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_IBMR2 -D_POWER -D_LONG_LONG -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -Asystem=unix -Asystem=aix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED=1 -D_LARGE_FILE_API -D_ALL_SOURCE -D__WCHAR_TYPE__=short unsigned int -D_ARCH_COM t.cpp t.ii GNU CPP version 3.2 (cpplib) ignoring nonexistent directory /usr/local/lib/gcc-lib/../../powerpc-ibm-aix5.1.0.0/include ignoring nonexistent directory /usr/local/gcc.3.2.0/powerpc-ibm-aix5.1.0.0/include ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2 ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2/powerpc-ibm-aix5.1.0.0 ignoring duplicate directory /usr/local/gcc.3.2.0/include/c++/3.2/backward ignoring duplicate directory /usr/local/gcc.3.2.0/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include #include ... search starts here: #include ... search starts here: /usr/local/lib/gcc-lib/../../include/c++/3.2 /usr/local/lib/gcc-lib/../../include/c++/3.2/powerpc-ibm-aix5.1.0.0 /usr/local/lib/gcc-lib/../../include/c++/3.2/backward /usr/local/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/include /usr/local/include /usr/local/gcc.3.2.0/include /usr/include End of search list. /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/cc1plus -fpreprocessed t.ii -quiet -dumpbase t.cpp -version -o t.s GNU CPP version 3.2 (cpplib) GNU C++ version 3.2 (powerpc-ibm-aix5.1.0.0) compiled by GNU C version 3.2. as -u -mcom -o t.o t.s /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/collect2 -bpT:0x1000 -bpD:0x2000 -btextro -bnodelcsect /lib/crt0.o -L/usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2 -L/usr/local/bin/../lib/gcc-lib -L/usr/local/gcc.3.2.0/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2 -L/usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/../../.. -L/usr/local/gcc.3.2.0/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/../../.. t.o /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/libgcc.a /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/libgcc_eh.a -lc /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/libgcc.a /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2/libgcc_eh.a How-To-Repeat: gcc -v -save-temps t.cpp -- Summary: The wrong number of arguments have been specified for destructor. Product: gcc Version: 3.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: msadoghi at ca dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19913