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 c++/84263] New: [8 Regression] ICE in lookup_page_table_entry at gcc/ggc-page.c:646 on valid C++ code


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

            Bug ID: 84263
           Summary: [8 Regression] ICE in lookup_page_table_entry at
                    gcc/ggc-page.c:646 on valid C++ code
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: nathan at gcc dot gnu.org
  Target Milestone: ---
              Host: i686-linux-gnu

Starting from r248826 we ICE on:

$ cat /tmp/ice.ii
namespace std {
template <typename a> struct b {
  int c;
  a d;
};
template <typename> class g;
template <class> class initializer_list {
  int *e;
  unsigned f;
};
class h;
class j {
  typedef b<h> i;

public:
  j();
  j(initializer_list<i>);
};
template <typename> struct m;
template <int k> struct m<char[k]> {};
class h {
public:
  template <typename l> h(l &);
};
class G {
  G();
  j n;
};
G::G() { n = decltype(n){{0, ""}, {1, ".unoLineArrowEnd"}}; }
}

$ ./gcc/xg++ -Bgcc /tmp/ice.ii  --param ggc-min-expand=0 --param
ggc-min-heapsize=0 -c
/tmp/ice.ii:29:61: internal compiler error: Segmentation fault
 G::G() { n = decltype(n){{0, ""}, {1, ".unoLineArrowEnd"}}; }
                                                             ^
0x8c82124 crash_signal
        ../../gcc/toplev.c:338
0x870f9d6 lookup_page_table_entry
        ../../gcc/ggc-page.c:646
0x87106f6 ggc_set_mark(void const*)
        ../../gcc/ggc-page.c:1536
0x864b7de gt_ggc_mx_lang_tree_node(void*)
        ./gt-cp-tree.h:138
0x857f789 gt_ggc_mx(deferred_access_check&)
        ./gt-cp-parser.h:45
0x8581ab4 void gt_ggc_mx<deferred_access_check>(vec<deferred_access_check,
va_gc, vl_embed>*)
        ../../gcc/vec.h:1107
0x857f760 gt_ggc_mx_vec_deferred_access_check_va_gc_(void*)
        ./gt-cp-parser.h:37
0x857f838 gt_ggc_mx_tree_check(void*)
        ./gt-cp-parser.h:57
0x857f907 gt_ggc_mx(cp_token&)
        ./gt-cp-parser.h:79
0x8581aff void gt_ggc_mx<cp_token>(vec<cp_token, va_gc, vl_embed>*)
        ../../gcc/vec.h:1107
0x857f8a4 gt_ggc_mx_vec_cp_token_va_gc_(void*)
        ./gt-cp-parser.h:68
0x857f986 gt_ggc_mx_cp_lexer(void*)
        ./gt-cp-parser.h:95
0x857fbdc gt_ggc_mx_cp_parser(void*)
        ./gt-cp-parser.h:155
0x892e005 ggc_mark_root_tab
        ../../gcc/ggc-common.c:77
0x892e082 ggc_mark_roots()
        ../../gcc/ggc-common.c:94
0x871167b ggc_collect()
        ../../gcc/ggc-page.c:2206
0x87b0a77 cgraph_node::finalize_function(tree_node*, bool)
        ../../gcc/cgraphunit.c:488
0x861b497 expand_or_defer_fn(tree_node*)
        ../../gcc/cp/semantics.c:4299
0x852f409 maybe_clone_body(tree_node*)
        ../../gcc/cp/optimize.c:670
0x861b378 expand_or_defer_fn_1(tree_node*)
        ../../gcc/cp/semantics.c:4272

I can repeat that only on i686 target.

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