[LLVMbugs] [Bug 6473] __attribute__ weakref is broken

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Mar 4 11:51:05 PST 2010


http://llvm.org/bugs/show_bug.cgi?id=6473

Rafael Ávila de Espíndola <rafael.espindola at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |

--- Comment #10 from Rafael Ávila de Espíndola <rafael.espindola at gmail.com> 2010-03-04 13:51:04 CST ---
We are still missing static variables that use a weakref :-(

in
----------------------
extern void foo (void);
static void bar (void) __attribute__ ((__weakref__("foo")));

static  void *const zed = (void *) &bar;

int f1(void) {
  return zed != 0;
}

int f2(void) {
  return bar != 0;
}
---------------------

We correctly avoid producing a undef for bar when compiling f2, but zed is
compiled as:

@zed = internal constant i8* bitcast (void ()* @bar to i8*), align 8

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list