diff options
author | Reid Kleckner <rnk@google.com> | 2018-07-26 23:18:44 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2018-07-26 23:18:44 +0000 |
commit | 3eabc0d428ed870967574f5cca3771d2beb14777 (patch) | |
tree | 2a18594642a543fc7563b702e8e4b05db5cd6e88 /include | |
parent | 034aa09eac02832e77c7dc4fc638e53cf0f8aed3 (diff) | |
download | clang-3eabc0d428ed870967574f5cca3771d2beb14777.tar.gz |
[MS] Add L__FUNCSIG__ for compatibility
Clang already has L__FUNCTION__ as a workaround for dealing with
pre-processor code that expects to be able to do L##__FUNCTION__ in a
macro. This patch implements the same logic for __FUNCSIG__.
Fixes PR38295.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338083 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/clang/AST/Expr.h | 3 | ||||
-rw-r--r-- | include/clang/Basic/TokenKinds.def | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h index a4c4769c1a..ca5bd95160 100644 --- a/include/clang/AST/Expr.h +++ b/include/clang/AST/Expr.h @@ -1206,9 +1206,10 @@ public: enum IdentType { Func, Function, - LFunction, // Same as Function, but as wide string. + LFunction, // Same as Function, but as wide string. FuncDName, FuncSig, + LFuncSig, // Same as FuncSig, but as as wide string PrettyFunction, /// The same as PrettyFunction, except that the /// 'virtual' keyword is omitted for virtual member functions. diff --git a/include/clang/Basic/TokenKinds.def b/include/clang/Basic/TokenKinds.def index 7f363dbcc1..30cb022f1c 100644 --- a/include/clang/Basic/TokenKinds.def +++ b/include/clang/Basic/TokenKinds.def @@ -425,6 +425,7 @@ KEYWORD(typeof , KEYGNU) KEYWORD(__FUNCDNAME__ , KEYMS) KEYWORD(__FUNCSIG__ , KEYMS) KEYWORD(L__FUNCTION__ , KEYMS) +KEYWORD(L__FUNCSIG__ , KEYMS) TYPE_TRAIT_1(__is_interface_class, IsInterfaceClass, KEYMS) TYPE_TRAIT_1(__is_sealed, IsSealed, KEYMS) |