[clang] ba566ff - [NFC][AST] Return void from setUseQualifiedLookup

Vitaly Buka via cfe-commits cfe-commits at lists.llvm.org
Thu May 11 17:13:31 PDT 2023


Author: Vitaly Buka
Date: 2023-05-11T17:13:19-07:00
New Revision: ba566fffb205a338c0a6e382b64d84b3a1e21fb6

URL: https://github.com/llvm/llvm-project/commit/ba566fffb205a338c0a6e382b64d84b3a1e21fb6
DIFF: https://github.com/llvm/llvm-project/commit/ba566fffb205a338c0a6e382b64d84b3a1e21fb6.diff

LOG: [NFC][AST] Return void from setUseQualifiedLookup

It uses to initialize the class. If so, it returns uninitalized value.
This is UB and msan with -fno-inline will complain.

Added: 
    

Modified: 
    clang/include/clang/AST/DeclBase.h
    clang/lib/Sema/SemaLookup.cpp

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/AST/DeclBase.h b/clang/include/clang/AST/DeclBase.h
index 65215dbf70551..f7d5b3a83141a 100644
--- a/clang/include/clang/AST/DeclBase.h
+++ b/clang/include/clang/AST/DeclBase.h
@@ -2540,10 +2540,8 @@ class DeclContext {
                  D == LastDecl);
   }
 
-  bool setUseQualifiedLookup(bool use = true) const {
-    bool old_value = DeclContextBits.UseQualifiedLookup;
+  void setUseQualifiedLookup(bool use = true) const {
     DeclContextBits.UseQualifiedLookup = use;
-    return old_value;
   }
 
   bool shouldUseQualifiedLookup() const {

diff  --git a/clang/lib/Sema/SemaLookup.cpp b/clang/lib/Sema/SemaLookup.cpp
index 537c09723919d..5a2a3616d1136 100644
--- a/clang/lib/Sema/SemaLookup.cpp
+++ b/clang/lib/Sema/SemaLookup.cpp
@@ -2424,8 +2424,9 @@ bool Sema::LookupQualifiedName(LookupResult &R, DeclContext *LookupCtx,
     bool oldVal;
     DeclContext *Context;
     // Set flag in DeclContext informing debugger that we're looking for qualified name
-    QualifiedLookupInScope(DeclContext *ctx) : Context(ctx) {
-      oldVal = ctx->setUseQualifiedLookup();
+    QualifiedLookupInScope(DeclContext *ctx)
+        : oldVal(ctx->shouldUseQualifiedLookup()), Context(ctx) {
+      ctx->setUseQualifiedLookup();
     }
     ~QualifiedLookupInScope() {
       Context->setUseQualifiedLookup(oldVal);


        


More information about the cfe-commits mailing list