[Bug c++/53094] constexpr vector subscripting

vincenzo.innocente at cern dot ch gcc-bugzilla@gcc.gnu.org
Mon Dec 3 22:05:00 GMT 2012


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

--- Comment #12 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 2012-12-03 22:05:29 UTC ---
about subscripting I get an ICE (set fault)
with
constexpr V4 v = {1,1,1,0};
constexpr V4 m[3] = { (V4){1,0,0,0}, (V4){0,1,0,0}, (V4){0,0,1,0}};
constexpr V4 r = v[0]*m[0] +  v[1]*m[1] + v[2]*m[2];



constexpr V4 r = v[0]*m[0] +  v[1]*m[1] + v[2]*m[2];
                                                   ^

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
cxx_eval_constant_expression (call=0x0, t=0x1425961b0,
allow_non_constant=<value temporarily unavailable, due to optimizations>,
addr=<value temporarily unavailable, due to optimizations>,
non_constant_p=0x7fff5fbff31e, overflow_p=0x7fff5fbff31f) at
../.././gcc/cp/semantics.c:7122
7122          if (TREE_CODE (ce->index) == COMPONENT_REF)
(gdb) were
Undefined command: "were".  Try "help".
(gdb) where
#0  cxx_eval_constant_expression (call=0x0, t=0x1425961b0,
allow_non_constant=<value temporarily unavailable, due to optimizations>,
addr=<value temporarily unavailable, due to optimizations>,
non_constant_p=0x7fff5fbff31e, overflow_p=0x7fff5fbff31f) at
../.././gcc/cp/semantics.c:7122
#1  0x00000001001bdbb2 in cxx_eval_constant_expression (call=0x0, t=0x0,
allow_non_constant=<value temporarily unavailable, due to optimizations>,
addr=<value temporarily unavailable, due to optimizations>,
non_constant_p=0x14242fee8, overflow_p=0x14258dc40) at
../.././gcc/cp/semantics.c:6791



More information about the Gcc-bugs mailing list