diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-10-04 17:51:05 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-10-04 17:51:05 +0000 |
commit | d170c4b57a91adc74ca89c6d4af616a00323b12c (patch) | |
tree | bd60d6ac58deaccfba05e60cae9bd94f6aeff62b /clang/lib/Basic/IdentifierTable.cpp | |
parent | f9d71a54391fe07a2f5b308428fa243a228346aa (diff) | |
download | bcm5719-llvm-d170c4b57a91adc74ca89c6d4af616a00323b12c.tar.gz bcm5719-llvm-d170c4b57a91adc74ca89c6d4af616a00323b12c.zip |
Add -f[no-]declspec to control recognition of __declspec as a keyword
In versions of clang prior to r238238, __declspec was recognized as a keyword in
all modes. It was then changed to only be enabled when Microsoft or Borland
extensions were enabled (and for CUDA, as a temporary measure). There is a
desire to support __declspec in Playstation code, and possibly other
environments. This commit adds a command-line switch to allow explicit
enabling/disabling of the recognition of __declspec as a keyword. Recognition
is enabled by default in Microsoft, Borland, CUDA, and PS4 environments, and
disabled in all other environments.
Patch by Warren Ristow!
llvm-svn: 249279
Diffstat (limited to 'clang/lib/Basic/IdentifierTable.cpp')
-rw-r--r-- | clang/lib/Basic/IdentifierTable.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp index 7705834d91a..199815aa891 100644 --- a/clang/lib/Basic/IdentifierTable.cpp +++ b/clang/lib/Basic/IdentifierTable.cpp @@ -220,10 +220,7 @@ void IdentifierTable::AddKeywords(const LangOptions &LangOpts) { AddKeyword("__unknown_anytype", tok::kw___unknown_anytype, KEYALL, LangOpts, *this); - // FIXME: __declspec isn't really a CUDA extension, however it is required for - // supporting cuda_builtin_vars.h, which uses __declspec(property). Once that - // has been rewritten in terms of something more generic, remove this code. - if (LangOpts.CUDA) + if (LangOpts.DeclSpecKeyword) AddKeyword("__declspec", tok::kw___declspec, KEYALL, LangOpts, *this); } |