https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67876
Bug ID: 67876 Summary: ICE when compiling Firefox 38 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gk at torproject dot org Target Milestone: --- I get an internal compiler error when compiling Firefox 38 with GCC master. This is not happening with GCC 5.1.0: c++ -o Unified_cpp_certverifier0.o -c -I../../dist/stl_wrappers -I../../dist/system_wrappers -include /home/ubuntu/build/tor-browser/config/gcc_hidden.h -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DMOZ_GLUE_IN_PROGRAM -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/home/ubuntu/build/tor-browser/security/certverifier -I. -I/home/ubuntu/build/tor-browser/security/certverifier/../manager/boot/src -I/home/ubuntu/build/tor-browser/security/certverifier/../manager/ssl/src -I/home/ubuntu/build/tor-browser/security/certverifier/../pkix/include -I../../dist/include -I/home/ubuntu/build/tor-browser/obj-x86_64-unknown-linux-gnu/dist/include/nspr -I/home/ubuntu/build/tor-browser/obj-x86_64-unknown-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/Unified_cpp_certverifier0.o.pp -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fsanitize=address -Dxmalloc=myxmalloc -fsanitize=undefined -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -g -freorder-blocks -Os -fno-omit-frame-pointer -Wall /home/ubuntu/build/tor-browser/obj-x86_64-unknown-linux-gnu/security/certverifier/Unified_cpp_certverifier0.cpp In file included from /home/ubuntu/build/tor-browser/security/certverifier/NSSCertDBTrustDomain.cpp:21:0, from /home/ubuntu/build/tor-browser/obj-x86_64-unknown-linux-gnu/security/certverifier/Unified_cpp_certverifier0.cpp:20: /home/ubuntu/build/tor-browser/security/certverifier/../pkix/include/pkix/ScopedPtr.h:78:46: internal compiler error: tree check: expected class 'expression', have 'exceptional' (template_parm_index) in tree_operand_check, at tree.h:3383 operator==(T* a, const ScopedPtr<T, Destroyer>& b) ^ 0xf00f37 tree_class_check_failed(tree_node const*, tree_code_class, char const*, int, char const*) ../.././gcc/tree.c:9573 0x65c1f0 expr_check(tree_node const*, char const*, int, char const*) ../.././gcc/tree.h:3287 0x65c1f0 tree_operand_check(tree_node const*, int, char const*, int, char const*) ../.././gcc/tree.h:3383 0x65c1f0 convert_template_argument ../.././gcc/cp/pt.c:7219 0x63161a coerce_template_parms ../.././gcc/cp/pt.c:7658 0x63358a lookup_template_class_1 ../.././gcc/cp/pt.c:8251 0x63358a lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) ../.././gcc/cp/pt.c:8595 0x767b8d finish_template_type(tree_node*, tree_node*, int) ../.././gcc/cp/semantics.c:3051 0x6ee777 cp_parser_template_id ../.././gcc/cp/parser.c:14477 0x6eeac2 cp_parser_class_name ../.././gcc/cp/parser.c:20670 0x6ef336 cp_parser_qualifying_entity ../.././gcc/cp/parser.c:5984 0x6ef336 cp_parser_nested_name_specifier_opt ../.././gcc/cp/parser.c:5670 0x6e4210 cp_parser_simple_type_specifier ../.././gcc/cp/parser.c:15751 0x6e0525 cp_parser_type_specifier ../.././gcc/cp/parser.c:15448 0x6f14bb cp_parser_decl_specifier_seq ../.././gcc/cp/parser.c:12336 0x6f42f7 cp_parser_parameter_declaration ../.././gcc/cp/parser.c:19916 0x6f4c73 cp_parser_parameter_declaration_list ../.././gcc/cp/parser.c:19731 0x6f5279 cp_parser_parameter_declaration_clause ../.././gcc/cp/parser.c:19652 0x6ebd31 cp_parser_direct_declarator ../.././gcc/cp/parser.c:18438 0x6ebd31 cp_parser_declarator ../.././gcc/cp/parser.c:18316 GCC is configured just with ./configure --prefix=$INSTDIR/gcc --disable-multilib --enable-languages=c,c++ and Firefox is basically built with DEB_BUILD_HARDENING=1 and CFLAGS/CXXFLAGS="-fsanitize=address -Dxmalloc=myxmalloc -fsanitize=undefined" + LDFLAGS="-fsanitize=address -fsanitize=undefined