The file below causes "internal compiler error: tree check: expected class
'type', have 'exceptional' (error_mark) in finish_struct, at c-decl.c:5350"
with a checking=all build of GCC 4.1.0 on both Ubuntu Linux 5.04 and Mac OSX
10.4.5.  This is a Delta-reduced preprocessed version of the Linux kernel file
arch/x86_64/kernel/time.c; it was originally compiled by a test script outside
of the kernel tree, so it was presumably invalid C.

struct acpi_table_rsdt {
        struct acpi_table_header header;
} __attribute__ ((packed));


    A checking=all build of GCC 4.0.2 correctly reports an error with no
problem:
/opt/gcc402-chk-all/bin/gcc 
../cpp/bugfiles/GCC_bugfiles/error/122582_time_min.i
../cpp/bugfiles/GCC_bugfiles/error/122582_time_min.i:2: error: field ‘header’
has incomplete type
    This sounds somewhat like PR 22028, but that's marked as fixed in 4.1.0,
and its testcase doesn't cause a problem on my builds of 4.1.0.


Here's the session; I'll upload the file, though its complete contents are
above.

78> /opt/gcc410-chk-all/bin/gcc -v 
../cpp/bugfiles/GCC_bugfiles/error/122582_time_min.i
Using built-in specs.
Target: powerpc-apple-darwin8.5.0
Configured with: /opt/Gcc-4.1.0-dist/configure --enable-checking=all
--prefix=/opt/gcc410-chk-all --enable-languages=c,c++ --with-comment=PalmSource
checking=all build by Flash Sheridan 3/17/06
Thread model: posix
gcc version 4.1.0
 /opt/gcc410-chk-all/libexec/gcc/powerpc-apple-darwin8.5.0/4.1.0/cc1
-fpreprocessed ../cpp/bugfiles/GCC_bugfiles/error/122582_time_min.i -fPIC
-quiet -dumpbase 122582_time_min.i -auxbase 122582_time_min -version -o
/var/tmp//ccRoo730.s
GNU C version 4.1.0 (powerpc-apple-darwin8.5.0)
        compiled by GNU C version 4.0.1 (Apple Computer, Inc. build 5247).
GGC heuristics: --param ggc-min-expand=0 --param ggc-min-heapsize=0
Compiler executable checksum: 1116648296470812f723ca4bff2463c0
../cpp/bugfiles/GCC_bugfiles/error/122582_time_min.i:2: error: field 'header'
has incomplete type
../cpp/bugfiles/GCC_bugfiles/error/122582_time_min.i:3: internal compiler
error: tree check: expected class 'type', have 'exceptional' (error_mark) in
finish_struct, at c-decl.c:5350
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.


---
PalmSource bug 122582
http://pobox.com/~flash
Quality Lead for Compilers and Debuggers
PalmSource, Inc. Tools Quality Management


-- 
           Summary: tree check: expected class ‘type’, have ‘exceptional’
                    (error_mark) in finish_struct, at c-decl.c:5350 (time.c)
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: flash at pobox dot com


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

Reply via email to