| Name |
Last commit
|
Last update |
|---|---|---|
| crosstest | ||
| pydir | ||
| src | ||
| tests_lit | ||
| .gitignore | ||
| LICENSE.TXT | ||
| LOWERING.rst | ||
| Makefile | ||
| Makefile.standalone | ||
| OWNERS | ||
| README.rst | ||
| codereview.settings | ||
| llvm2iceinsts.py | ||
| szdiff.py |
https://refspecs.linuxbase.org/cxxabi-1.75.html#mangling-compression describes the mechanism for compressing mangled strings by using substitutions of the form S[0-9A-Z]*_ to represent repeated components. When the prefix is handled as wrapping inside a namespace, the base-36 substitution numbers all have to be incremented. This is implemented in a very simple way by scanning the string only for instances of the substitution pattern. Unfortunately, false matches are possible because the S[0-9A-Z]*_ pattern can be a substring of the type name, or can span other components of the mangled name. Getting this completely right would essentially require a full demangling parser - see the ~4000 lines of code in cxa_demangle.cpp and ItaniumMangle.cpp. Since this is just for testing, any false matches will likely cause a linking error and the test can be rewritten to avoid false matches. BUG= none R=jvoung@chromium.org Review URL: https://codereview.chromium.org/385273002
| Name |
Last commit
|
Last update |
|---|---|---|
| crosstest | Loading commit data... | |
| pydir | Loading commit data... | |
| src | Loading commit data... | |
| tests_lit | Loading commit data... | |
| .gitignore | Loading commit data... | |
| LICENSE.TXT | Loading commit data... | |
| LOWERING.rst | Loading commit data... | |
| Makefile | Loading commit data... | |
| Makefile.standalone | Loading commit data... | |
| OWNERS | Loading commit data... | |
| README.rst | Loading commit data... | |
| codereview.settings | Loading commit data... | |
| llvm2iceinsts.py | Loading commit data... | |
| szdiff.py | Loading commit data... |