[Bug c++/12343] New: class "index" can be declared but can not be used as a type

emre at ld dot homeip dot net gcc-bugzilla@gcc.gnu.org
Fri Sep 19 20:50:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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

           Summary: class "index" can be declared but can not be used as a
                    type
           Product: gcc
           Version: 3.3.1
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: emre at ld dot homeip dot net
                CC: gcc-bugs at gcc dot gnu dot org

I found a strange bug. "class index" can be declared without errors,  
but can not be used as a type. See below example source. 
 
I have full report below. In addition to that I triggered two more tests on  
different platforms. only v2.95 gcc compiles: 
 
Falied on windows: gcc (GCC) 3.2 (mingw special 20020817-1) (xp) 
Succeeded on Solaris 2.7: Reading specs from /usr/local/lib/gcc-lib/ 
sparc-sun-solaris2.7/2.95.2/specs 
gcc version 2.95.2 19991024 (release) 
 
Linux details below. 
 
Good luck, 
Emre Celebi 
 
============ bug.cpp ============= 
class index {}; index global; int main(void){return 0;} 
-- 
=========== bug.ii =============== 
 
# 1 "bug.cpp" 
# 1 "<built-in>" 
# 1 "<command line>" 
# 1 "bug.cpp" 
class index {}; 
index global; 
int main(void){return 0;} 
-- 
 
=========== bug.s ============== 
        .file   "bug.cpp" 
        .section        .note.GNU-stack,"",@progbits 
        .ident  "GCC: (GNU) 3.3.1 20030904 (Gentoo Linux 3.3.1-r1, propolice)" 
-- 
 
========== output ============== 
g++ -v -save-temps bug.cpp 
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/specs 
Configured with: /files/portage/tmpdir/portage/gcc-3.3.1-r1/work/gcc-3.3.1/ 
configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3  
--includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include --datadir=/usr/ 
share/gcc-data/i686-pc-linux-gnu/3.3 --mandir=/usr/share/gcc-data/ 
i686-pc-linux-gnu/3.3/man --infodir=/usr/share/gcc-data/ 
i686-pc-linux-gnu/3.3/info --enable-shared --host=i686-pc-linux-gnu  
--target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c+ 
+,f77,objc,java --enable-threads=posix --enable-long-long --disable-checking  
--enable-cstdio=stdio --enable-clocale=generic --enable-__cxa_atexit  
--enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/ 
gcc-lib/i686-pc-linux-gnu/3.3.1/include/g++-v3 --with-local-prefix=/usr/local  
--enable-shared --enable-nls --without-included-gettext --x-includes=/usr/ 
X11R6/include --x-libraries=/usr/X11R6/lib --enable-interpreter  
--enable-java-awt=xlib --with-x --disable-multilib 
Thread model: posix 
gcc version 3.3.1 20030904 (Gentoo Linux 3.3.1-r1, propolice) 
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/cc1plus -E -D__GNUG__=3 -quiet -v  
-D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=1 
-D_GNU_SOURCE bug.cpp  
bug.ii 
ignoring nonexistent directory "/usr/i686-pc-linux-gnu/include" 
#include "..." search starts here: 
#include <...> search starts here: 
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/g++-v3 
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/g++-v3/i686-pc-linux-gnu 
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/g++-v3/backward 
 /usr/local/include 
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include 
 /usr/include 
End of search list. 
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/cc1plus -fpreprocessed bug.ii -quiet  
-dumpbase bug.cpp -auxbase bug -version -o bug.s 
GNU C++ version 3.3.1 20030904 (Gentoo Linux 3.3.1-r1, propolice)  
(i686-pc-linux-gnu) 
        compiled by GNU C version 3.3.1 20030904 (Gentoo Linux 3.3.1-r1,  
propolice). 
GGC heuristics: --param ggc-min-expand=72 --param ggc-min-heapsize=80469 
bug.cpp:2: error: 'index' is used as a type, but is not defined as a type.



More information about the Gcc-bugs mailing list