Author: Simon Tatham Date: 2020-03-12T11:13:50Z New Revision: d608fee8399a9fa6f2819076131c6ac30cc16eef
URL: https://github.com/llvm/llvm-project/commit/d608fee8399a9fa6f2819076131c6ac30cc16eef DIFF: https://github.com/llvm/llvm-project/commit/d608fee8399a9fa6f2819076131c6ac30cc16eef.diff LOG: [ARM,MVE] Fix user-namespace violation in arm_mve.h. Summary: We were generating the declarations of polymorphic intrinsics using `__attribute__((overloadable))`. But `overloadable` is a valid identifier for an end user to define as a macro in a C program, and if they do that before including `<arm_mve.h>`, then we shouldn't cause a compile error. Fixed to spell the attribute name `__overloadable__` instead. Reviewers: miyuki, MarkMurrayARM, ostannard Reviewed By: miyuki Subscribers: kristof.beyls, dmgreen, danielkiss, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75997 Added: Modified: clang/utils/TableGen/MveEmitter.cpp Removed: ################################################################################ diff --git a/clang/utils/TableGen/MveEmitter.cpp b/clang/utils/TableGen/MveEmitter.cpp index 9a9fe00eed74..f75f5000f0f6 100644 --- a/clang/utils/TableGen/MveEmitter.cpp +++ b/clang/utils/TableGen/MveEmitter.cpp @@ -1874,7 +1874,7 @@ void MveEmitter::EmitHeader(raw_ostream &OS) { // match your call". OS << "static __inline__ __attribute__((" - << (Polymorphic ? "overloadable, " : "") + << (Polymorphic ? "__overloadable__, " : "") << "__clang_arm_builtin_alias(__builtin_arm_mve_" << Int.fullName() << ")))\n" << RetTypeName << FunctionName << "(" << ArgTypesString << ");\n"; @@ -2041,7 +2041,7 @@ void CdeEmitter::EmitHeader(raw_ostream &OS) { // Emit the actual declaration. See MveEmitter::EmitHeader for detailed // comments OS << "static __inline__ __attribute__((" - << (Polymorphic ? "overloadable, " : "") + << (Polymorphic ? "__overloadable__, " : "") << "__clang_arm_builtin_alias(__builtin_arm_" << Int.builtinExtension() << "_" << Int.fullName() << ")))\n" << RetTypeName << FunctionName << "(" << ArgTypesString << ");\n"; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits