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

            Bug ID: 108042
           Summary: [10/11/12/13 Regression] weakref on an extern decl is
                    incorrectly ignored
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---

From:
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Common-Function-Attributes.html#index-weakref-function-attribute

Without a target given as an argument to weakref or to alias, weakref is
equivalent to weak (in that case the declaration may be extern).

Testcase:
```
void KNOWNNOTOBEAFUNCTION(void) __attribute__((weakref));

int main() {
    if (KNOWNNOTOBEAFUNCTION)
        __builtin_abort();
    else
        return 0;
}
```

This should pass.

Reply via email to