forked from OSchip/llvm-project
Generalize two diagnostic messages to take function name as parameter.
llvm-svn: 303753
This commit is contained in:
parent
29ff638cbf
commit
edc7849b1b
|
@ -8012,10 +8012,10 @@ def err_block_on_nonlocal : Error<
|
|||
def err_block_on_vm : Error<
|
||||
"__block attribute not allowed on declaration with a variably modified type">;
|
||||
|
||||
def err_shufflevector_non_vector : Error<
|
||||
"first two arguments to __builtin_shufflevector must be vectors">;
|
||||
def err_shufflevector_incompatible_vector : Error<
|
||||
"first two arguments to __builtin_shufflevector must have the same type">;
|
||||
def err_vec_builtin_non_vector : Error<
|
||||
"first two arguments to %0 must be vectors">;
|
||||
def err_vec_builtin_incompatible_vector : Error<
|
||||
"first two arguments to %0 must have the same type">;
|
||||
def err_shufflevector_nonconstant_argument : Error<
|
||||
"index for __builtin_shufflevector must be a constant integer">;
|
||||
def err_shufflevector_argument_too_large : Error<
|
||||
|
|
|
@ -3914,7 +3914,8 @@ ExprResult Sema::SemaBuiltinShuffleVector(CallExpr *TheCall) {
|
|||
|
||||
if (!LHSType->isVectorType() || !RHSType->isVectorType())
|
||||
return ExprError(Diag(TheCall->getLocStart(),
|
||||
diag::err_shufflevector_non_vector)
|
||||
diag::err_vec_builtin_non_vector)
|
||||
<< TheCall->getDirectCallee()
|
||||
<< SourceRange(TheCall->getArg(0)->getLocStart(),
|
||||
TheCall->getArg(1)->getLocEnd()));
|
||||
|
||||
|
@ -3928,12 +3929,14 @@ ExprResult Sema::SemaBuiltinShuffleVector(CallExpr *TheCall) {
|
|||
if (!RHSType->hasIntegerRepresentation() ||
|
||||
RHSType->getAs<VectorType>()->getNumElements() != numElements)
|
||||
return ExprError(Diag(TheCall->getLocStart(),
|
||||
diag::err_shufflevector_incompatible_vector)
|
||||
diag::err_vec_builtin_incompatible_vector)
|
||||
<< TheCall->getDirectCallee()
|
||||
<< SourceRange(TheCall->getArg(1)->getLocStart(),
|
||||
TheCall->getArg(1)->getLocEnd()));
|
||||
} else if (!Context.hasSameUnqualifiedType(LHSType, RHSType)) {
|
||||
return ExprError(Diag(TheCall->getLocStart(),
|
||||
diag::err_shufflevector_incompatible_vector)
|
||||
diag::err_vec_builtin_incompatible_vector)
|
||||
<< TheCall->getDirectCallee()
|
||||
<< SourceRange(TheCall->getArg(0)->getLocStart(),
|
||||
TheCall->getArg(1)->getLocEnd()));
|
||||
} else if (numElements != numResElements) {
|
||||
|
|
Loading…
Reference in New Issue