This is the mail archive of the gcc@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]

sjlj-exceptions ICE. simplified test case


This test case, derived from tinfo.cc during bootstrap, shows more
concisely the ICE I reported earlier in the week.  I've verified that
it also fails on i686-pc-linux.  To reproduce, invoke cc1plus with '-O2
-sjlj-exceptions'.

I probably hacked this down too small; I was focusing on reproducing
the error and lost track of producing a piece of code that would still
compile if not for the ICE.  If there is interest, I can install it in
the testsuite in g++.robertl/ice* or another location of your choosing.
(See, Kaveh, I do listen. :-)


RJL

// Build don't link:
// Special g++ Options: -fsjlj-exceptions -O2
struct __mumble{};

struct __class_type_info : public __mumble {
  struct base_info {
    int bletch;
  };
  const base_info *base_list;
  int n_bases;
  __class_type_info (const char *name, const base_info *bl, int bn)
    : __user_type_info (name), base_list (bl), n_bases (bn) {}
};
void
__rtti_class (void *addr, const char *name,
              const __class_type_info::base_info *bl, int bn)
{ new (addr) __class_type_info (name, bl, bn); }






(call_insn 261 278 266 (call_placeholder 256 250 0 0 (call_insn/u 256 0 258 (set (reg:SI 0 eax)
            (call (mem:QI (symbol_ref:SI ("__get_eh_context")) 0)
                (const_int 0 [0x0]))) -1 (nil)
        (insn_list:REG_LIBCALL 258 (expr_list:REG_EH_REGION (const_int -1 [0xffffffff])
                (nil)))
        (nil))) -1 (nil)
    (nil)
    (nil))
x.cc:15: Internal compiler error in `extract_insn', at recog.c:2044


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