diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-09-13 17:31:48 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-09-13 17:31:48 +0000 |
| commit | a9dfa9280e83782fe755cdb4456dc63433e6d134 (patch) | |
| tree | 6da17c87f365e48143806b30cf99fb3b14f0a922 /clang/lib/Sema | |
| parent | 5c81ca460e4048e3ad188a3716a59359ff6a5a1e (diff) | |
| download | bcm5719-llvm-a9dfa9280e83782fe755cdb4456dc63433e6d134.tar.gz bcm5719-llvm-a9dfa9280e83782fe755cdb4456dc63433e6d134.zip | |
As Aaron pointed out it's simpler to reject wide string availability attr messages in the parser.
llvm-svn: 190706
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaDeclAttr.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 8d01d638d38..8530c8bd158 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -2267,16 +2267,9 @@ static void handleAvailabilityAttr(Sema &S, Decl *D, AvailabilityChange Obsoleted = Attr.getAvailabilityObsoleted(); bool IsUnavailable = Attr.getUnavailableLoc().isValid(); StringRef Str; - if (Attr.getMessageExpr()) { - const StringLiteral *SE = dyn_cast<StringLiteral>(Attr.getMessageExpr()); - if (!SE || !SE->isAscii()) { - S.Diag(Attr.getMessageExpr()->getLocStart(), - diag::err_attribute_argument_type) - << Attr.getName() << AANT_ArgumentString; - return; - } + if (const StringLiteral *SE = + dyn_cast_or_null<StringLiteral>(Attr.getMessageExpr())) Str = SE->getString(); - } AvailabilityAttr *NewAttr = S.mergeAvailabilityAttr(ND, Attr.getRange(), II, Introduced.Version, |

