[PATCH] D78162: [CodeGen] Mark inline definitions of builtins as nobuiltin only if we plan to emit them.

Martin Storsjö via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 16 01:34:09 PDT 2020


mstorsjo added a comment.

This triggers failed asserts:

  $ cat dcpdecrypt.cpp
  extern "C" __inline__ __attribute__((__gnu_inline__)) void *
  memcpy(void *, const void *, unsigned) {}
  void *memcpy(void *, const void *, unsigned);
  void a() { memcpy; }
  $ clang++ -c dcpdecrypt.cpp -target i686-linux-gnu
  clang++: ../tools/clang/lib/AST/Decl.cpp:3436: bool clang::FunctionDecl::isInlineDefinitionExternallyVisible() const: Assertion `(doesThisDeclarationHaveABody() || willHaveBody() || hasAttr<AliasAttr>()) && "Must be
  a function definition"' failed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78162/new/

https://reviews.llvm.org/D78162





More information about the cfe-commits mailing list