]> granicus.if.org Git - clang/commitdiff
tighten up some code and some wording on diagnostics.
authorChris Lattner <sabre@nondot.org>
Sun, 10 Aug 2008 02:05:13 +0000 (02:05 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 10 Aug 2008 02:05:13 +0000 (02:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54607 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticKinds.def
lib/Sema/SemaChecking.cpp

index 886b2970d1861456c92bc42b7666646ee3244efd..9552c332ac9e277541ce7531ce195265c2fdb206 100644 (file)
@@ -1139,13 +1139,13 @@ DIAG(err_shufflevector_non_vector, ERROR,
 DIAG(err_shufflevector_incompatible_vector, ERROR,
      "first two arguments to __builtin_shufflevector must have the same type")
 DIAG(err_shufflevector_nonconstant_argument, ERROR,
-     "indexes for __builtin_shufflevector must be constant integers")
+     "index for __builtin_shufflevector must be a constant integer")
 DIAG(err_shufflevector_argument_too_large, ERROR,
-     "indexes for __builtin_shufflevector must be less than the total number"
+     "index for __builtin_shufflevector must be less than the total number"
      " of vector elements")
 
 DIAG(err_stack_const_level, ERROR,
-     "the level argument for a stack address builtin must be constant")
+     "level argument for a stack address builtin must be constant")
 
 DIAG(err_prefetch_invalid_argument, ERROR,
      "argument to __builtin_prefetch must be a constant integer")
index 2f2fe7dab65e5c20b9b11f0e28023ead6dfa8c4a..dfd8f92cdc55630fe99cdac870722f573adde5b6 100644 (file)
@@ -224,9 +224,9 @@ bool Sema::SemaBuiltinStackAddress(CallExpr *TheCall) {
   // The signature for these builtins is exact; the only thing we need
   // to check is that the argument is a constant.
   SourceLocation Loc;
-  if (!TheCall->getArg(0)->isIntegerConstantExpr(Context, &Loc)) {
+  if (!TheCall->getArg(0)->isIntegerConstantExpr(Context, &Loc))
     return Diag(Loc, diag::err_stack_const_level, TheCall->getSourceRange());
-  }
+  
   return false;
 }
 
@@ -258,43 +258,35 @@ Action::ExprResult Sema::SemaBuiltinShuffleVector(CallExpr *TheCall) {
   unsigned numElements = FAType->getAsVectorType()->getNumElements();
   if (TheCall->getNumArgs() != numElements+2) {
     if (TheCall->getNumArgs() < numElements+2)
-      Diag(TheCall->getLocEnd(), diag::err_typecheck_call_too_few_args,
-           TheCall->getSourceRange());
-    else
-      Diag(TheCall->getLocEnd(), diag::err_typecheck_call_too_many_args,
-           TheCall->getSourceRange());
-    return true;
+      return Diag(TheCall->getLocEnd(), diag::err_typecheck_call_too_few_args,
+                  TheCall->getSourceRange());
+    return Diag(TheCall->getLocEnd(), diag::err_typecheck_call_too_many_args,
+                TheCall->getSourceRange());
   }
 
   for (unsigned i = 2; i < TheCall->getNumArgs(); i++) {
     llvm::APSInt Result(32);
-    if (!TheCall->getArg(i)->isIntegerConstantExpr(Result, Context)) {
-      Diag(TheCall->getLocStart(),
-           diag::err_shufflevector_nonconstant_argument,
-           TheCall->getArg(i)->getSourceRange());
-      return true;
-    }
-    if (Result.getActiveBits() > 64 || Result.getZExtValue() >= numElements*2) {
-      Diag(TheCall->getLocStart(),
-           diag::err_shufflevector_argument_too_large,
-           TheCall->getArg(i)->getSourceRange());
-      return true;
-    }
+    if (!TheCall->getArg(i)->isIntegerConstantExpr(Result, Context))
+      return Diag(TheCall->getLocStart(),
+                  diag::err_shufflevector_nonconstant_argument,
+                  TheCall->getArg(i)->getSourceRange());
+    
+    if (Result.getActiveBits() > 64 || Result.getZExtValue() >= numElements*2)
+      return Diag(TheCall->getLocStart(),
+                  diag::err_shufflevector_argument_too_large,
+                  TheCall->getArg(i)->getSourceRange());
   }
 
   llvm::SmallVector<Expr*, 32> exprs;
 
-  for (unsigned i = 0; i < TheCall->getNumArgs(); i++) {
+  for (unsigned i = 0, e = TheCall->getNumArgs(); i != e; i++) {
     exprs.push_back(TheCall->getArg(i));
     TheCall->setArg(i, 0);
   }
 
-  ShuffleVectorExpr* E = new ShuffleVectorExpr(
-      exprs.begin(), numElements+2, FAType,
-      TheCall->getCallee()->getLocStart(),
-      TheCall->getRParenLoc());
-  
-  return E;
+  return new ShuffleVectorExpr(exprs.begin(), numElements+2, FAType,
+                               TheCall->getCallee()->getLocStart(),
+                               TheCall->getRParenLoc());
 }
 
 /// SemaBuiltinPrefetch - Handle __builtin_prefetch.