[clang] [OpenMP] Fix infinite recursion on global initializers (PR #126269)
Joseph Huber via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 7 09:32:19 PST 2025
================
@@ -22819,8 +22819,12 @@ class GlobalDeclRefChecker final : public StmtVisitor<GlobalDeclRefChecker> {
void declareTargetInitializer(Decl *TD) {
A = TD->getAttr<OMPDeclareTargetDeclAttr>();
DeclVector.push_back(cast<VarDecl>(TD));
+ llvm::DenseSet<Decl *> Visited;
while (!DeclVector.empty()) {
VarDecl *TargetVarDecl = DeclVector.pop_back_val();
----------------
jhuber6 wrote:
It gets added back in `Visit`.
https://github.com/llvm/llvm-project/pull/126269
More information about the cfe-commits
mailing list