Replace C2C.atom_is_extern
by more robust criterion C2C.atom_is_external
#538
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some ports produce different code to reference a global symbol depending on whether the symbol may be defined in a shared library or is guaranteed to be defined in the same statically-linked unit.
The current
C2C.atom_is_extern
predicate just checks whether the symbol was declaredextern
. But this misses some cases, see #537.This PR introduces and uses a new predicate
C2C.atom_is_external
that also takes into account whether the symbol is defined in the current compilation unit. This should be more robust.Fixes: #537