This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/53209] New: tree check ICE: expected tree_vec, have error_mark in comp_template_args_with_info, at cp/pt.c:7038


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53209

             Bug #: 53209
           Summary: tree check ICE: expected tree_vec, have error_mark in
                    comp_template_args_with_info, at cp/pt.c:7038
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: jamborm@gcc.gnu.org
                CC: tmsriram@google.com
              Host: i686-pc-linux-gnu
            Target: i686-pc-linux-gnu


Created attachment 27302
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27302
Testcase

Hi,

starting with revision 186789, a native i686 compiler ICEs on the
attached testcase with the following message:

--------------------------------------------------
jamborm@gcc45:~/tmp$ ~/gcc/trunk/inst/bin/g++ -g -O2 -D_GNU_SOURCE -c -fPIC
-std=gnu++11 -fno-implicit-templates  functexcept.ii

In file included from
/home/mjambor/gcc/trunk/obj/i686-pc-linux-gnu/libstdc++-v3/include/future:38:0, 
                 from
/home/mjambor/gcc/trunk/src/libstdc++-v3/src/c++11/functexcept.cc:32:
/home/mjambor/gcc/trunk/obj/i686-pc-linux-gnu/libstdc++-v3/include/functional:
In member function âstd::__regex::_StateIdT
std::__regex::_Nfa::_M_insert_accept()â:
/home/mjambor/gcc/trunk/obj/i686-pc-linux-gnu/libstdc++-v3/include/functional:2057:63:
internal compiler error: tree check: expected tree_vec, have error_mark in
comp_template_args_with_info, at cp/pt.c:7038
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
--------------------------------------------------

I'm sorry the testcase is not at all reduced but multidelta has only
managed to produce something that makes GCC run out of memory on my
i686 desktop.  I may try again over the next night.

One particular problem with this ICE is that starting with revision
186948 (a libstdc++ change), I cannot build gcc on my i686 desktop,
(which means that until this is resolved I cannot follow trunk when
doing my work!), although I do not have this problem on a i686 machine
on the compile farm (gcc45).  However, when I take the pre-processed
source to that machine, the trunk compiler ICEs there too (with the
same exact error).

The ICE has started to appear with the following commit (that is the
reason why I filed the component as target):

------------------------------------------------------------------------
r186789 | tmsriram | 2012-04-25 02:08:37 +0200 (Wed, 25 Apr 2012) | 61 lines

2012-04-24  Sriraman Tallam  <tmsriram@google.com>

This patch adds new builtins to check for cpu type and features.

* __builtin_cpu_is ("<CPUNAME>")
* __builtin_cpu_supports ("<FEATURE>")

apart from the cpu init builtin, __builtin_cpu_init.

List of CPU names :

* "amd"
* "intel"
* "atom"
* "core2"
* "corei7"
* "nehalem"                    
* "westmere"                   
* "sandybridge"                
* "amdfam10h"                  
* "barcelona"                  
* "shanghai"                   
* "istanbul"                   
* "bdver1"                     
* "bdver2"                     

List of CPU features :         

* "cmov"                       
* "mmx"                        
* "popcnt"                     
* "sse"                        
* "sse2"                       
* "sse3"                       
* "ssse3"                      
* "sse4.1"                     
* "sse4.2"                     
* "avx"                        

        * config/i386/i386.c (build_processor_model_struct): New function.
        (make_var_decl): New function.
        (fold_builtin_cpu): New function.
        (ix86_fold_builtin): New function.
        (make_cpu_type_builtin): New function.
        (ix86_init_platform_type_builtins): New function.
        (ix86_expand_builtin): Expand new builtins by folding them.
        (ix86_init_builtins): Make new builtins to detect CPU type.
        (TARGET_FOLD_BUILTIN): New macro.
        (IX86_BUILTIN_CPU_INIT): New enum value.
        (IX86_BUILTIN_CPU_IS): New enum value.
        (IX86_BUILTIN_CPU_SUPPORTS): New enum value.
        * config/i386/i386-builtin-types.def: New function type.
        * testsuite/gcc.target/builtin_target.c: New testcase.
        * doc/extend.texi: Document builtins.

        * libgcc/config/i386/i386-cpuinfo.c: New file.
        * libgcc/config/i386/t-cpuinfo: New file.
        * libgcc/config.host: Include t-cpuinfo.
        * libgcc/config/i386/libgcc-glibc.ver: Version symbol __cpu_model.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]