// Exprs are statements, so there is no need to do a conversion here. However,
// diagnose some potentially bad code.
- if (!E->hasLocalSideEffect())
+ if (!E->hasLocalSideEffect() && !E->getType()->isVoidType())
Diag(E->getExprLoc(), diag::warn_unused_expr, E->getSourceRange());
return E;
VP == P; // expected-warning {{expression result unused}} \
expected-warning {{comparison}}
- (void)A; // expected-warning {{expression result unused}}
+ (void)A;
(void)foo(1,2); // no warning.
A == foo(1, 2); // expected-warning {{expression result unused}}
//__real__ VC;
}
+extern void t1();
+extern void t2();
+void t3(int c) {
+ c ? t1() : t2();
+}
+