blitzpp / blitz

Blitz++ Multi-Dimensional Array Library for C++
https://github.com/blitzpp/blitz/wiki
Other
406 stars 84 forks source link

Compilation issue with GCC8 #33

Closed MatthewHambley closed 6 years ago

MatthewHambley commented 6 years ago

It looks like there is a bug in GCC8.1.0 which causes it to crash when compiling blitz. The error message is:


                 from ../../blitz-1.0.1/testsuite/expression-slicing.cpp:3:
../../blitz-1.0.1/blitz/array/stencil-classes.cc:227:73: internal compiler error: in cp_tree_equal, at cp/tree.c:3896
                                                              rank_> >::type i) const
                                                                     ^

0x5ce766 cp_tree_equal(tree_node*, tree_node*)
    ../../gcc-8.1.0/gcc/cp/tree.c:3896
0x6e6179 template_args_equal(tree_node*, tree_node*, bool)
    ../../gcc-8.1.0/gcc/cp/pt.c:8688
0x6e5ff9 comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**, bool)
    ../../gcc-8.1.0/gcc/cp/pt.c:8717
0x73e8af structural_comptypes
    ../../gcc-8.1.0/gcc/cp/typeck.c:1337
0x6e62ec template_args_equal(tree_node*, tree_node*, bool)
    ../../gcc-8.1.0/gcc/cp/pt.c:8669
0x6e5ff9 comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**, bool)
    ../../gcc-8.1.0/gcc/cp/pt.c:8717
0x6ebcf9 spec_hasher::equal(spec_entry*, spec_entry*)
    ../../gcc-8.1.0/gcc/cp/pt.c:1668
0x71301d hash_table<spec_hasher, xcallocator>::find_with_hash(spec_entry* const&, unsigned int)
    ../../gcc-8.1.0/gcc/hash-table.h:850
0x6fb2c4 lookup_template_class_1
    ../../gcc-8.1.0/gcc/cp/pt.c:9331
0x6fb2c4 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int)
    ../../gcc-8.1.0/gcc/cp/pt.c:9650
0x71eced finish_template_type(tree_node*, tree_node*, int)
    ../../gcc-8.1.0/gcc/cp/semantics.c:3228
0x6c3b14 cp_parser_template_id
    ../../gcc-8.1.0/gcc/cp/parser.c:15861
0x6c3c2e cp_parser_class_name
    ../../gcc-8.1.0/gcc/cp/parser.c:22396
0x6cf507 cp_parser_qualifying_entity
    ../../gcc-8.1.0/gcc/cp/parser.c:6570
0x6cf507 cp_parser_nested_name_specifier_opt
    ../../gcc-8.1.0/gcc/cp/parser.c:6256
0x6cfb41 cp_parser_nested_name_specifier
    ../../gcc-8.1.0/gcc/cp/parser.c:6496
0x6cfc4e cp_parser_elaborated_type_specifier
    ../../gcc-8.1.0/gcc/cp/parser.c:17667
0x6cb579 cp_parser_type_specifier
    ../../gcc-8.1.0/gcc/cp/parser.c:16811
0x6d7755 cp_parser_decl_specifier_seq
    ../../gcc-8.1.0/gcc/cp/parser.c:13623
0x6d7dbb cp_parser_parameter_declaration
    ../../gcc-8.1.0/gcc/cp/parser.c:21512
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.```

I believe this is GCC's problem to fix, not blitz's but I'm putting this issue here so others having the same problem will find it mentioned.
slayoo commented 6 years ago

Could you please post here (or at GCC bugzilla https://gcc.gnu.org/bugzilla/enter_bug.cgi) the full preprocessed file that triggers this error (see https://gcc.gnu.org/bugs/#detailed). Thanks!

MatthewHambley commented 6 years ago

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85976

slayoo commented 6 years ago

Thank you!!!

slayoo commented 6 years ago

Closing as this was just fixed in GCC thanks to your report! https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85976