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

--- Comment #2 from anlauf at gcc dot gnu.org ---
Looking at the tree-dump before and after r14-8947, I see:

- a change in the main program that seems to be desirable:

   bitsizetype D.4340;
   sizetype D.4341;

+  *_c6 = 0;
   D.4339 = *_c6;
   D.4340 = (bitsizetype) (sizetype) NON_LVALUE_EXPR <*_c6> * 8;
   D.4341 = (sizetype) NON_LVALUE_EXPR <*_c6>;

- a change in the subroutine that kills the length:

  __attribute__((fn spec (". w w ")))
  void deferred (character(kind=1)[1:*_c5] * & restrict c5, struct
array01_character(kind=1) & restrict c6, integer(kind=8) * _c5, integer(kind=8)
* _c6)
  {
    integer(kind=8) D.4339;
    bitsizetype D.4340;
    sizetype D.4341;

+   *_c6 = 0;
    D.4339 = *_c6;
    D.4340 = (bitsizetype) (sizetype) NON_LVALUE_EXPR <*_c6> * 8;
    D.4341 = (sizetype) NON_LVALUE_EXPR <*_c6>;

Reply via email to