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