[Bug c++/20060] New: Ambiguous MSG in array initialization when expression is not integral constant.

2005-02-18 Thread msadoghi at ca dot ibm dot com
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.

2005-02-18 Thread msadoghi at ca dot ibm dot com
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

2005-02-17 Thread msadoghi at ca dot ibm dot com
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

2005-02-17 Thread msadoghi at ca dot ibm dot com
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.

2005-02-16 Thread msadoghi at ca dot ibm dot com
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.

2005-02-15 Thread msadoghi at ca dot ibm dot com
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.

2005-02-12 Thread msadoghi at ca dot ibm dot com
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.

2005-02-12 Thread msadoghi at ca dot ibm dot com

--- 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.

2005-02-12 Thread msadoghi at ca dot ibm dot com
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.

2005-02-12 Thread msadoghi at ca dot ibm dot com

--- 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.

2005-02-11 Thread msadoghi at ca dot ibm dot com
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