On Wed, May 21, 2014 at 3:59 AM, Rich Felker <dal...@libc.org> wrote:
> Bug # 61144 is a regression in 4.9.0 that breaks building of musl libc
> due to aggressive and semantically-incorrect constant folding of weak
> aliases. The attached patch seems to fix the issue. A weak alias
> should never be a candidate for constant folding because it may always
> be replaced by a strong definition from another translation unit.
>
> For details see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61144
>
> I do not have a copyright assignment on file but this patch should be
> sufficiently trivial not to require it.

Please add a testcase.  Also I wonder why it isn't better to generalize

  /* Variables declared 'const' without an initializer
     have zero as the initializer if they may not be
     overridden at link or run time.  */
  if (!DECL_INITIAL (real_decl)
      && (DECL_EXTERNAL (decl) || decl_replaceable_p (decl)))
    return error_mark_node;

Honza?

Thanks,
Richard.



> Rich

Reply via email to