[analyzer] Fix varargs helper to only use POD types even for named arguments. Thanks, Joerg.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138875 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp b/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
index f713bc6..80c4d33 100644
--- a/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
+++ b/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
@@ -79,14 +79,14 @@
C.generateSink(CE);
}
-static bool END_WITH_NULL isMultiArgSelector(Selector Sel, ...) {
+static bool END_WITH_NULL isMultiArgSelector(const Selector *Sel, ...) {
va_list argp;
va_start(argp, Sel);
unsigned Slot = 0;
const char *Arg;
while ((Arg = va_arg(argp, const char *))) {
- if (!Sel.getNameForSlot(Slot).equals(Arg))
+ if (!Sel->getNameForSlot(Slot).equals(Arg))
break; // still need to va_end!
++Slot;
}
@@ -124,12 +124,12 @@
default:
return;
case 4:
- if (!isMultiArgSelector(Sel, "handleFailureInFunction", "file",
+ if (!isMultiArgSelector(&Sel, "handleFailureInFunction", "file",
"lineNumber", "description", NULL))
return;
break;
case 5:
- if (!isMultiArgSelector(Sel, "handleFailureInMethod", "object", "file",
+ if (!isMultiArgSelector(&Sel, "handleFailureInMethod", "object", "file",
"lineNumber", "description", NULL))
return;
break;