[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:
Simon Tatham 2020-03-12 09:57:40 +00:00
parent 13be27482e
commit d608fee839
1 changed files with 2 additions and 2 deletions

View File

@ -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";