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

Reply via email to