[PATCH] D112349: [Verifier] Add verification logic for GlobalIFuncs

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 4 06:47:29 PDT 2021


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



More information about the cfe-commits mailing list