rsmith added a comment.

LGTM

I've not checked all the types are correct (someone should double-check that 
prior to commit), but it looks like GCC provides these `__builtin_*` functions, 
so we should too. The addition of the non-`__builtin_` versions should improve 
our diagnostics but otherwise have no effect.



================
Comment at: clang/lib/Lex/PPMacroExpansion.cpp:348
   // C++ Standing Document Extensions.
-  if (LangOpts.CPlusPlus)
+  if (getLangOpts().CPlusPlus)
     Ident__has_cpp_attribute =
----------------
The changes to this file appear to be independent of the rest of the patch. 
Please go ahead and land this cleanup separately.


================
Comment at: clang/test/CXX/over/over.oper/over.literal/p7.cpp:10
 
-void puts(const char *);
+int puts(const char *);
 static inline void operator "" _puts(const char *c) {
----------------
Doesn't this also need to be `extern "C"` to be recognized as the builtin?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D86508

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to