I get a warning about canonical types like this from one of my codes: tests/bits> /tmp/bangerth/bin/bin/g++ -DHAVE_CONFIG_H -DHAVE_ISNAN -ggdb -DDEBUG -pedantic -Wall -Wpointer-arith -Wwrite-s trings -Winline -Woverloaded-virtual -Wsynth -Wsign-compare -Wconversion -Wswitch -ftemplate-depth-128 -Wno-long-long -fPI C -I/tmp/bangerth/d/deal.II/base/include -I/tmp/bangerth/d/deal.II/lac/include -I/tmp/bangerth/d/deal.II/deal.II/include -I/tmp/bangerth/d/deal.II/contrib/boost/include -I/tmp/bangerth/d/deal.II/contrib -Wno-conversion -c step-13.cc -o step-13 /obj.g.o In file included from /tmp/bangerth/d/deal.II/contrib/boost/include/boost/type_traits.hpp:61, from /tmp/bangerth/d/deal.II/base/include/base/thread_management.h:25, from step-13.cc:29: /tmp/bangerth/d/deal.II/contrib/boost/include/boost/type_traits/extent.hpp:96: warning: canonical types differ for identic al types T [] and T [] <array_type 0xb5f8e410 type <template_type_parm 0xb5f8e340 T type_0 type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xb68c4d00 index 0 level 1 orig_level 1 chain <type_decl 0xb5f8e3a8 T>> type_0 type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xb5f8e478> <array_type 0xb5e44f08 type <template_type_parm 0xb5e44e38 T type_0 type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xb68c4d00 index 0 level 1 orig_level 1 chain <type_decl 0xb5e44ea0 T>> type_0 type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xb5e44f70> /tmp/bangerth/d/deal.II/contrib/boost/include/boost/type_traits/extent.hpp:96: warning: canonical types differ for identic al types T [] and T [] <array_type 0xb5f8e410 type <template_type_parm 0xb5f8e340 T type_0 type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xb68c4d00 index 0 level 1 orig_level 1 chain <type_decl 0xb5f8e3a8 T>> type_0 type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xb5f8e478> <array_type 0xb5e44f08 type <template_type_parm 0xb5e44e38 T type_0 type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xb68c4d00 index 0 level 1 orig_level 1 chain <type_decl 0xb5e44ea0 T>> type_0 type_6 VOID align 8 symtab 0 alias set -1 canonical type 0xb5e44f70>
The problem is: whenever I use -save-temps, or run everything by hand through -E and then use the same compiler with the same flags on the result, the bug goes away. So for the moment, I'm a bit unsure how exactly I can submit the code :-( Doug, is there anything that you can glean from the output above that would help in any way? -- Summary: [4.3 regression] Error with canonical types Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bangerth at dealii dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30602