forked from OSchip/llvm-project
[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
This commit is contained in:
parent
13be27482e
commit
d608fee839
|
@ -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";
|
||||
|
|
Loading…
Reference in New Issue