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