diff options
Diffstat (limited to 'lib/Analysis/UninitializedValues.cpp')
-rw-r--r-- | lib/Analysis/UninitializedValues.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Analysis/UninitializedValues.cpp b/lib/Analysis/UninitializedValues.cpp index 8d48fffe9f..9e98560b65 100644 --- a/lib/Analysis/UninitializedValues.cpp +++ b/lib/Analysis/UninitializedValues.cpp @@ -484,11 +484,17 @@ void TransferFunctions::VisitDeclStmt(DeclStmt *ds) { vals[vd] = Uninitialized; lastLoad = 0; lastDR = 0; + if (handler) + handler->handleSelfInit(vd); return; } } // All other cases: treat the new variable as initialized. + // This is a minor optimization to reduce the propagation + // of the analysis, since we will have already reported + // the use of the uninitialized value (which visiting the + // initializer). vals[vd] = Initialized; } } |