https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83187
Bug ID: 83187 Summary: [8 regression] internal compiler error: in get_alias_set, at alias.c:923 Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: skpgkp1 at gmail dot com Target Milestone: --- This issue appear in GCC 8. GCC 7 works fine. Following are steps to reproduce. $cat OFDM.i.cpp extern "C" { double cos(double); double sin(double); } template <typename> class a; template <> struct a<double> { typedef __complex__ b; a(double c, double p2) : k{c, p2} {} b k; }; typedef double d; d e; class f { a<d> g; void h(); }; void f::h() { const d i = e; g = a<d>(cos(e), sin(e)); } $g++ --version g++ (GCC) 8.0.0 20171127 (experimental) Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $g++ -O1 -c -o OFDM.i.cpp.o OFDM.i.cpp during RTL pass: expand OFDM.i.cpp: In member function ‘void f::h()’: OFDM.i.cpp:19:5: internal compiler error: in get_alias_set, at alias.c:923 g = a<d>(cos(e), sin(e)); ~~^~~~~~~~~~~~~~~~~~~~~~ 0x6653a7 get_alias_set(tree_node*) ../../gcc-main.3O1J/gcc/alias.c:923 0xb2dc4e component_uses_parent_alias_set_from(tree_node const*) ../../gcc-main.3O1J/gcc/alias.c:657 0xc38693 set_mem_attributes_minus_bitpos(rtx_def*, tree_node*, int, long) ../../gcc-main.3O1J/gcc/emit-rtl.c:1920 0xc7185d expand_assignment(tree_node*, tree_node*, bool) ../../gcc-main.3O1J/gcc/expr.c:5181 0xb6a2f8 expand_gimple_stmt_1 ../../gcc-main.3O1J/gcc/cfgexpand.c:3675 0xb6a2f8 expand_gimple_stmt ../../gcc-main.3O1J/gcc/cfgexpand.c:3773 0xb6b637 expand_gimple_basic_block ../../gcc-main.3O1J/gcc/cfgexpand.c:5772 0xb704c6 execute ../../gcc-main.3O1J/gcc/cfgexpand.c:6373 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. ### GCC 7 works fine. $g++ --version g++ (GCC) 7.2.1 20171127 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $g++ -O1 -c -o OFDM.i.cpp.o OFDM.i.cpp $echo $? 0