diff --git a/lib/Analysis/Lint.cpp b/lib/Analysis/Lint.cpp index 691b9342957..4b9f284c9dc 100644 --- a/lib/Analysis/Lint.cpp +++ b/lib/Analysis/Lint.cpp @@ -232,9 +232,9 @@ void Lint::visitCallSite(CallSite CS) { for (CallSite::arg_iterator AI = CS.arg_begin(), AE = CS.arg_end(); AI != AE; ++AI) { Value *Obj = findValue(*AI, /*OffsetOk=*/true); - Assert1(!isa(Obj) && !isa(Obj), + Assert1(!isa(Obj), "Undefined behavior: Call with \"tail\" keyword references " - "alloca or va_arg", &I); + "alloca", &I); } @@ -323,8 +323,8 @@ void Lint::visitReturnInst(ReturnInst &I) { if (Value *V = I.getReturnValue()) { Value *Obj = findValue(V, /*OffsetOk=*/true); - Assert1(!isa(Obj) && !isa(Obj), - "Unusual: Returning alloca or va_arg value", &I); + Assert1(!isa(Obj), + "Unusual: Returning alloca value", &I); } } diff --git a/test/Other/lint.ll b/test/Other/lint.ll index eb6a656f7d0..1187eb7b29f 100644 --- a/test/Other/lint.ll +++ b/test/Other/lint.ll @@ -87,8 +87,8 @@ block: unreachable } -; CHECK: Undefined behavior: Call with "tail" keyword references alloca or va_arg -; CHECK: Undefined behavior: Call with "tail" keyword references alloca or va_arg +; CHECK: Undefined behavior: Call with "tail" keyword references alloca +; CHECK: Undefined behavior: Call with "tail" keyword references alloca declare void @tailcallee(i8*) define void @use_tail(i8* %valist) { %t = alloca i8 @@ -98,14 +98,14 @@ define void @use_tail(i8* %valist) { ret void } -; CHECK: Unusual: Returning alloca or va_arg value +; CHECK: Unusual: Returning alloca value define i8* @return_local(i32 %n, i32 %m) { %t = alloca i8, i32 %n %s = getelementptr i8* %t, i32 %m ret i8* %s } -; CHECK: Unusual: Returning alloca or va_arg value +; CHECK: Unusual: Returning alloca value define i32* @return_obscured_local() { entry: %retval = alloca i32*