[Bug c++/94938] New: internal compiler error: in value_dependent_expression_p, at cp/pt.c:26522

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon May 4 02:23:42 GMT 2020


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

            Bug ID: 94938
           Summary: internal compiler error: in
                    value_dependent_expression_p, at cp/pt.c:26522
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

template <typename> struct S { S(); S(bool); };

struct C {
  bool operator()(S<float>);
};

S<float> fn (bool);

template<typename T> void
foo (T)
{
  S<float> s;
  S<float> x = fn(false || C()(s));
}

int main ()
{
  foo(int());
}

$ ./cc1plus -quiet bz.C -std=c++98 
bz.C: In instantiation of ‘void foo(T) [with T = int]’:
bz.C:18:12:   required from here
bz.C:13:25: internal compiler error: in value_dependent_expression_p, at
cp/pt.c:26522
   13 |   S<float> x = fn(false || C()(s));
      |                   ~~~~~~^~~~~~~~~
0xc0d67f value_dependent_expression_p(tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:26522
0xc0dcea value_dependent_expression_p(tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:26627
0xc0e0be value_dependent_expression_p(tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:26691
0xbbf63c uses_template_parms(tree_node*)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:10622
0xbeddd8 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:19421
0xbef8f8 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:19741
0xbeb350 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:18748
0xbdb8ea tsubst_init
        /home/mpolacek/src/gcc/gcc/cp/pt.c:16255
0xbe5278 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:17982
0xbe3b50 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:17830
0xbe6785 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:18149
0xc0a5dc instantiate_decl(tree_node*, bool, bool)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:25709
0xc0af95 instantiate_pending_templates(int)
        /home/mpolacek/src/gcc/gcc/cp/pt.c:25825
0xa6d8e2 c_parse_final_cleanups()
        /home/mpolacek/src/gcc/gcc/cp/decl2.c:4889
0xd4e6e2 c_common_parse_file()
        /home/mpolacek/src/gcc/gcc/c-family/c-opts.c:1212


More information about the Gcc-bugs mailing list