transpile: const macros: skip fn ptr types, as they don't work with portable types#1386
transpile: const macros: skip fn ptr types, as they don't work with portable types#1386
Conversation
…ortable types The workaround for non-portable types for const macros is to insert a use-site cast to the portable type, but this works differently for fn ptrs, so while #1321 is fixed, just skip fn ptr const macros. This should get #1384 to pass CI by working around this issue there, and it should also workaround #1366, although #1366 in `libxml2` appears to have been fixed/worked around from some other change, as #1385 now passes CI.
8979d07 to
8b47edc
Compare
|
I don't think this commit alters the behavior of the |
kkysen
left a comment
There was a problem hiding this comment.
Ah, this PR used to before the DeclRef PR. I'm pretty sure we had tested that and it fixed that issue. Should we still merge this?
I think the motivation behind this is still sound, but a test case for this would need to involve function pointer types without mentioning any decls, which is probably tricky while avoiding casts that are forbidden during const execution. |
The workaround for non-portable types for const macros is to insert a use-site cast to the portable type, but this works differently for fn ptrs, so while #1321 is fixed, just skip fn ptr const macros.
This should get #1384 to pass CI by working around this issue there, and it should also workaround #1366, although #1366 in
libxml2appears to have been fixed/worked around from some other change, as #1385 now passes CI.