[cfe-commits] r166296 - in /cfe/trunk: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaExpr.cpp test/Sema/parentheses.cpp
David Blaikie
dblaikie at gmail.com
Fri Oct 19 11:26:06 PDT 2012
Author: dblaikie
Date: Fri Oct 19 13:26:06 2012
New Revision: 166296
URL: http://llvm.org/viewvc/llvm-project?rev=166296&view=rev
Log:
Clarify wording of -Wshift-op-parentheses.
Suggestion from Matt Beaumont-Gay reviewing r165283.
Modified:
cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
cfe/trunk/lib/Sema/SemaExpr.cpp
cfe/trunk/test/Sema/parentheses.cpp
Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=166296&r1=166295&r2=166296&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Fri Oct 19 13:26:06 2012
@@ -3865,7 +3865,8 @@
"'&&' within '||'">, InGroup<LogicalOpParentheses>;
def warn_addition_in_bitshift : Warning<
- "'%0' within '%1'">, InGroup<ShiftOpParentheses>;
+ "operator '%0' has lower precedence than '%1'; "
+ "'%1' will be evaluated first">, InGroup<ShiftOpParentheses>;
def warn_self_assignment : Warning<
"explicitly assigning a variable of type %0 to itself">,
Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=166296&r1=166295&r2=166296&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExpr.cpp Fri Oct 19 13:26:06 2012
@@ -8586,12 +8586,12 @@
}
static void DiagnoseAdditionInShift(Sema &S, SourceLocation OpLoc,
- Expr *SubExpr, StringRef shift) {
+ Expr *SubExpr, StringRef Shift) {
if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(SubExpr)) {
if (Bop->getOpcode() == BO_Add || Bop->getOpcode() == BO_Sub) {
StringRef Op = Bop->getOpcodeStr();
S.Diag(Bop->getOperatorLoc(), diag::warn_addition_in_bitshift)
- << Bop->getSourceRange() << OpLoc << Op << shift;
+ << Bop->getSourceRange() << OpLoc << Shift << Op;
SuggestParentheses(S, Bop->getOperatorLoc(),
S.PDiag(diag::note_precedence_silence) << Op,
Bop->getSourceRange());
@@ -8623,9 +8623,9 @@
if ((Opc == BO_Shl && LHSExpr->getType()->isIntegralType(Self.getASTContext()))
|| Opc == BO_Shr) {
- StringRef shift = BinaryOperator::getOpcodeStr(Opc);
- DiagnoseAdditionInShift(Self, OpLoc, LHSExpr, shift);
- DiagnoseAdditionInShift(Self, OpLoc, RHSExpr, shift);
+ StringRef Shift = BinaryOperator::getOpcodeStr(Opc);
+ DiagnoseAdditionInShift(Self, OpLoc, LHSExpr, Shift);
+ DiagnoseAdditionInShift(Self, OpLoc, RHSExpr, Shift);
}
}
Modified: cfe/trunk/test/Sema/parentheses.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/parentheses.cpp?rev=166296&r1=166295&r2=166296&view=diff
==============================================================================
--- cfe/trunk/test/Sema/parentheses.cpp (original)
+++ cfe/trunk/test/Sema/parentheses.cpp Fri Oct 19 13:26:06 2012
@@ -49,11 +49,11 @@
}
void test(int a, int b, int c) {
- (void)(a >> b + c); // expected-warning {{'+' within '>>'}} \
+ (void)(a >> b + c); // expected-warning {{operator '>>' has lower precedence than '+'; '+' will be evaluated first}} \
expected-note {{place parentheses around the '+' expression to silence this warning}}
- (void)(a - b << c); // expected-warning {{'-' within '<<'}} \
+ (void)(a - b << c); // expected-warning {{operator '<<' has lower precedence than '-'; '-' will be evaluated first}} \
expected-note {{place parentheses around the '-' expression to silence this warning}}
Stream() << b + c;
- Stream() >> b + c; // expected-warning {{'+' within '>>'}} \
+ Stream() >> b + c; // expected-warning {{operator '>>' has lower precedence than '+'; '+' will be evaluated first}} \
expected-note {{place parentheses around the '+' expression to silence this warning}}
}
More information about the cfe-commits
mailing list