[clang] d80b9cf - [Clang][ASTMatchers] Add visibility macros to variables declared by macros (#110206)

via cfe-commits cfe-commits at lists.llvm.org
Sun Oct 20 22:14:55 PDT 2024


Author: Thomas Fransham
Date: 2024-10-21T08:14:52+03:00
New Revision: d80b9cf713fd1698641c5b265de6b66618991476

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

LOG: [Clang][ASTMatchers] Add visibility macros to variables declared by macros (#110206)

This will fix missing symbols for ASTMatchersTests on windows when
building with CLANG_LINK_CLANG and explicit visibility macros are used.
This PR depends on macros that will be be added in #108276
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM\Clang
plugins on window.

Added: 
    

Modified: 
    clang/include/clang/ASTMatchers/ASTMatchersMacros.h

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/ASTMatchers/ASTMatchersMacros.h b/clang/include/clang/ASTMatchers/ASTMatchersMacros.h
index 592a3898a29591..f781e0a565eb36 100644
--- a/clang/include/clang/ASTMatchers/ASTMatchersMacros.h
+++ b/clang/include/clang/ASTMatchers/ASTMatchersMacros.h
@@ -49,6 +49,8 @@
 #ifndef LLVM_CLANG_ASTMATCHERS_ASTMATCHERSMACROS_H
 #define LLVM_CLANG_ASTMATCHERS_ASTMATCHERSMACROS_H
 
+#include "clang/Support/Compiler.h"
+
 /// AST_MATCHER_FUNCTION(ReturnType, DefineMatcher) { ... }
 /// defines a zero parameter function named DefineMatcher() that returns a
 /// ReturnType object.
@@ -367,7 +369,7 @@
     static QualType (T::*value())() const { return &T::FunctionName; }         \
   };                                                                           \
   }                                                                            \
-  extern const ::clang::ast_matchers::internal::                               \
+  CLANG_ABI extern const ::clang::ast_matchers::internal::                     \
       TypeTraversePolymorphicMatcher<                                          \
           QualType,                                                            \
           ::clang::ast_matchers::internal::TypeMatcher##MatcherName##Getter,   \
@@ -407,7 +409,7 @@
     static TypeLoc (T::*value())() const { return &T::FunctionName##Loc; }     \
   };                                                                           \
   }                                                                            \
-  extern const ::clang::ast_matchers::internal::                               \
+  CLANG_ABI extern const ::clang::ast_matchers::internal::                     \
       TypeTraversePolymorphicMatcher<                                          \
           TypeLoc,                                                             \
           ::clang::ast_matchers::internal::                                    \


        


More information about the cfe-commits mailing list