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

problem with resolve_dependency!(dag::ExprDAG, node::ExprNode{<:AbstractMacroNodeType, options) #376

Closed
jkozdon opened this issue Feb 16, 2022 · 2 comments

Comments

@jkozdon
Copy link

jkozdon commented Feb 16, 2022

I've been trying to revive some PETSc wrappers I started a long time ago, and upon updating Clang.jl to the latest release I ran into a problem caused by e6022d2.

When this commit is applied, the RemoveCircularReference pass just loops forever.

If I revert these changes, even with the latest master branch, the code will at least complete for a simple test case.

I've tried to strip things down pretty minimally in this gist for what I am running.

@Gnimuc
Copy link
Member

Gnimuc commented Feb 17, 2022

cc @melonedo

melonedo added a commit to melonedo/Clang.jl that referenced this issue Feb 17, 2022
- Correct macro dependency detection.
- Warn about inability to remove circular references.
@melonedo
Copy link
Contributor

This is because PETSc_jll/include/pestclog.h defines macros that "hide" the implementation, which looks like circular reference.

#define foo(a,b,c) log(a,b,c); foo(a,b,c)

@Gnimuc Gnimuc closed this as completed in 6b4247c Feb 20, 2022
Gnimuc added a commit that referenced this issue Feb 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants