summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaChecking.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-05-15 19:03:04 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-05-15 19:03:04 +0000
commit2cb4a957c6eb96d8d34f77250b06d802d71af5d8 (patch)
tree608c33bc6492d2c6dd0fd19762205675480dce5a /clang/lib/Sema/SemaChecking.cpp
parente8bdd1f5c05fb617354bca8ce3c8bc933b00d350 (diff)
downloadbcm5719-llvm-2cb4a957c6eb96d8d34f77250b06d802d71af5d8.tar.gz
bcm5719-llvm-2cb4a957c6eb96d8d34f77250b06d802d71af5d8.zip
Objective-C: patch to issue the conversion
warning when property-dot syntax is used with -Wsign-conversion. // rdar://13855394 llvm-svn: 181914
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r--clang/lib/Sema/SemaChecking.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
index a0998a46c66..e8d84f604eb 100644
--- a/clang/lib/Sema/SemaChecking.cpp
+++ b/clang/lib/Sema/SemaChecking.cpp
@@ -5133,7 +5133,13 @@ void AnalyzeImplicitConversions(Sema &S, Expr *OrigE, SourceLocation CC) {
CheckImplicitConversion(S, E, T, CC);
// Now continue drilling into this expression.
-
+
+ if (PseudoObjectExpr * POE = dyn_cast<PseudoObjectExpr>(E)) {
+ Expr *Result = POE->getResultExpr();
+ if (const OpaqueValueExpr *OVE = dyn_cast_or_null<OpaqueValueExpr>(Result))
+ return AnalyzeImplicitConversions(S, OVE->getSourceExpr(), CC);
+ }
+
// Skip past explicit casts.
if (isa<ExplicitCastExpr>(E)) {
E = cast<ExplicitCastExpr>(E)->getSubExpr()->IgnoreParenImpCasts();
OpenPOWER on IntegriCloud