erichkeane added a comment.
To continue my point... an ifunc/resolver is just like a function, in that a
non-defined declaration is completely valid, since it refers to a definition in
a separate TU. It makes sense to me that a resolver could do the same.
Actually... I question the diagnostic changes in this patch now. Why SHOULDN'T
this work:
TU A:
void *resolver(void);
void *ifunc(void) __attribute__((ifunc("resolver")));
TU B:
int impl(void) { return 42; }
void *resolver(void) { return impl; }
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D112349/new/
https://reviews.llvm.org/D112349
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits