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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|tree-optimization           |c++

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
So we're inlining a released SSA name:

#2  0x00000000014e8383 in remap_ssa_name (name=<ssa_name 0x7ffff69ed048>, 
    id=0x7fffffffd6c0) at /space/rguenther/src/svn/trunk2/gcc/tree-inline.c:245
245           new_tree = make_ssa_name (remap_type (TREE_TYPE (name), id));
(gdb) p debug_tree (name)
 <ssa_name 0x7ffff69ed048 nothrow
    def_stmt 
    version:10 in-free-list>
$2 = void

from

# VUSE <.MEM_14(D)>
_13 = MEM[(int[0:(sizetype) D.2308][0:(sizetype) D.2307] *)foo.2_12][0]{lb: 0
sz: _6 * 4}[0];

where you can see not properly gimplified VLA stuff and thus missing
DECL_EXPRs.

FE issue.

;; Function void f2(int) (null)
;; enabled by -tree-original


<<cleanup_point <<< Unknown tree: expr_stmt
  (void) (res = (*(((sizetype) (SAVE_EXPR <(ssizetype) b + -1>) + 1) *
((sizetype) (SAVE_EXPR <(ssizetype) arg + -1>) + 1);, (int[0:(sizetype)
(SAVE_EXPR <(ssizetype) arg + -1>)][0:(sizetype) (SAVE_EXPR <(ssizetype) b +
-1>)] *) foo;))[0][0]) >>>>>;

nowhere is the VLA type we cast to instantiated.

Reply via email to