[GCC] Attribute ifunc support in clang
authorDmitry Polukhin <dmitry.polukhin@gmail.com>
Mon, 11 Apr 2016 07:48:59 +0000 (07:48 +0000)
committerDmitry Polukhin <dmitry.polukhin@gmail.com>
Mon, 11 Apr 2016 07:48:59 +0000 (07:48 +0000)
commit85eda12d093714bfc9f266d50254e82888c9e8c3
tree9216c6a571a665d295ab1d8f783c27e121c349a4
parentbbffeac569e89a61201ce159790f68b8493042b6
[GCC] Attribute ifunc support in clang

This patch add support for GCC attribute((ifunc("resolver"))) for
targets that use ELF as object file format. In general ifunc is a
special kind of function alias with type @gnu_indirect_function. LLVM
patch http://reviews.llvm.org/D15525

Differential Revision: http://reviews.llvm.org/D15524

llvm-svn: 265917
13 files changed:
clang/include/clang/AST/DeclBase.h
clang/include/clang/Basic/Attr.td
clang/include/clang/Basic/AttrDocs.td
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/lib/AST/Decl.cpp
clang/lib/AST/DeclBase.cpp
clang/lib/CodeGen/CodeGenModule.cpp
clang/lib/CodeGen/CodeGenModule.h
clang/lib/Sema/SemaDecl.cpp
clang/lib/Sema/SemaDeclAttr.cpp
clang/test/CodeGen/ifunc.c [new file with mode: 0644]
clang/test/Sema/attr-alias-elf.c
clang/test/Sema/attr-ifunc.c [new file with mode: 0644]