Add _BitInt to substitution table for compatibility with clang #306
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.
Followup for #295
_BitInt(e.g.<builtin-type> ::= DB <number> _) substitutable.DB <number> _substrings in the wild (gcc doesn't allow _BitInt in C++). And this behavior is consistent between clang mangler and demangler. So I'm guessing the ABI doc will eventually change to match clang, not the other way around. So it seems to make sense to make this behavior default. If you disagree, I can just add an option instead.<builtin-type>productions withllvm-cxxfilt, _BitInt and vendor extended type are the only ones that are substitutable._after expression inDB <expression> _. Oops. Added a test.signed _BitInt(<n>)" to "_BitInt(<n>)" to matchllvm-cxxfiltoutput.(The code ended up a little weird:
BuiltinTypecan be either inTypeor inTypeHandle; some variants are always inType, others are always inTypeHandle. Maybe there should instead be two different enums: substitutable builtin type (inType) and non-substitutable builtin type (inTypeHandle). Lmk if you would prefer that, and how to name those enums. On the other hand, the current implementation allows easily adding an option to control whether to add _BitInt to substitution table.)