Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Clang][ASTMatchers] Add visibility macros to variables declared by macros #110206

Merged
merged 1 commit into from
Oct 21, 2024

Conversation

fsfod
Copy link
Contributor

@fsfod fsfod commented Sep 27, 2024

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.

@llvmbot llvmbot added the clang Clang issues not falling into any other category label Sep 27, 2024
@llvmbot
Copy link
Member

llvmbot commented Sep 27, 2024

@llvm/pr-subscribers-clang

Author: Thomas Fransham (fsfod)

Changes

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.


Full diff: https://github.com/llvm/llvm-project/pull/110206.diff

1 Files Affected:

  • (modified) clang/include/clang/ASTMatchers/ASTMatchersMacros.h (+4-2)
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::                                    \

…acros

This will fix missing symbols for ASTMatchersTests on windows when building with
CLANG_LINK_CLANG and explicit visibility macros are used.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and
LLVM\Clang plugins on window.
@vgvassilev vgvassilev force-pushed the exported-api/clang-ast-matchers branch from dbd8c4a to bf2a9fe Compare October 14, 2024 16:29
Copy link
Collaborator

@AaronBallman AaronBallman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@vgvassilev vgvassilev merged commit d80b9cf into llvm:main Oct 21, 2024
8 checks passed
EricWF pushed a commit to efcs/llvm-project that referenced this pull request Oct 22, 2024
…acros (llvm#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 llvm#108276
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM\Clang
plugins on window.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants