Closed jkozdon closed 2 years ago
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 e6022d2f710563bfb98cd9738932f0c7c01ad885.
PETSc
Clang.jl
When this commit is applied, the RemoveCircularReference pass just loops forever.
RemoveCircularReference
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.
cc @melonedo
This is because PETSc_jll/include/pestclog.h defines macros that "hide" the implementation, which looks like circular reference.
PETSc_jll/include/pestclog.h
#define foo(a,b,c) log(a,b,c); foo(a,b,c)
I've been trying to revive some
PETSc
wrappers I started a long time ago, and upon updatingClang.jl
to the latest release I ran into a problem caused by e6022d2f710563bfb98cd9738932f0c7c01ad885.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.