summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorGeorge Burgess IV <george.burgess.iv@gmail.com>2018-01-16 03:01:50 +0000
committerGeorge Burgess IV <george.burgess.iv@gmail.com>2018-01-16 03:01:50 +0000
commitd74b6a8f64fc88cb33eeecc60d7bf30b31f17fa3 (patch)
tree4d75340b21261357897f8c3ac2241924add1c89e /clang/lib/Sema
parentd57c03ddca1cc2d8ceb8c299f58e70f97a60102c (diff)
downloadbcm5719-llvm-d74b6a8f64fc88cb33eeecc60d7bf30b31f17fa3.tar.gz
bcm5719-llvm-d74b6a8f64fc88cb33eeecc60d7bf30b31f17fa3.zip
[Sema] Fix a crash on invalid features in multiversioning
We were trying to emit a diag::err_bad_multiversion_option diagnostic, which expects an int as its first argument, with a string argument. As it happens, the string `Feature` that was causing this was shadowing an int `Feature` from the surrounding scope. :) llvm-svn: 322530
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 23fcfb4ec7c..1a7d9a84306 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -9175,9 +9175,9 @@ static bool CheckMultiVersionValue(Sema &S, const FunctionDecl *FD) {
return true;
}
- for (const auto &Feature : ParseInfo.Features) {
- auto BareFeat = StringRef{Feature}.substr(1);
- if (Feature[0] == '-') {
+ for (const auto &Feat : ParseInfo.Features) {
+ auto BareFeat = StringRef{Feat}.substr(1);
+ if (Feat[0] == '-') {
S.Diag(FD->getLocation(), diag::err_bad_multiversion_option)
<< Feature << ("no-" + BareFeat).str();
return true;
OpenPOWER on IntegriCloud