summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseDecl.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2015-05-26 19:44:52 +0000
committerAaron Ballman <aaron@aaronballman.com>2015-05-26 19:44:52 +0000
commit674cf26892a724ffff202d3e48ff6b25b3a46a6d (patch)
treecff5c26ee68a79ef6b9e83e35aaa7dc06710733a /clang/lib/Parse/ParseDecl.cpp
parent74df0df135e17963761e4771755ed091a4f99c96 (diff)
downloadbcm5719-llvm-674cf26892a724ffff202d3e48ff6b25b3a46a6d.tar.gz
bcm5719-llvm-674cf26892a724ffff202d3e48ff6b25b3a46a6d.zip
__declspec is not a core Clang language extension. Instead, require -fms-extensions or -fborland to enable the language extension.
Note: __declspec is also temporarily enabled when compiling for a CUDA target because there are implementation details relying on __declspec(property) support currently. When those details change, __declspec should be disabled for CUDA targets. llvm-svn: 238238
Diffstat (limited to 'clang/lib/Parse/ParseDecl.cpp')
-rw-r--r--clang/lib/Parse/ParseDecl.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp
index d0df7d7ed29..bd114d7e34a 100644
--- a/clang/lib/Parse/ParseDecl.cpp
+++ b/clang/lib/Parse/ParseDecl.cpp
@@ -531,6 +531,9 @@ bool Parser::ParseMicrosoftDeclSpecArgs(IdentifierInfo *AttrName,
/// extended-decl-modifier extended-decl-modifier-seq
void Parser::ParseMicrosoftDeclSpecs(ParsedAttributes &Attrs,
SourceLocation *End) {
+ assert((getLangOpts().MicrosoftExt || getLangOpts().Borland ||
+ getLangOpts().CUDA) &&
+ "Incorrect language options for parsing __declspec");
assert(Tok.is(tok::kw___declspec) && "Not a declspec!");
while (Tok.is(tok::kw___declspec)) {
OpenPOWER on IntegriCloud