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 |
|---|---|---|
| .. | ||
| 64bit.pnacl.ll | Loading commit data... | |
| alloc.ll | Loading commit data... | |
| arith-opt.ll | Loading commit data... | |
| arithmetic-chain.ll | Loading commit data... | |
| bitcast.ll | Loading commit data... | |
| bool-opt.ll | Loading commit data... | |
| branch-simple.ll | Loading commit data... | |
| call.ll | Loading commit data... | |
| callindirect.pnacl.ll | Loading commit data... | |
| casts.ll | Loading commit data... | |
| cmp-opt.ll | Loading commit data... | |
| convert.ll | Loading commit data... | |
| div_legalization.ll | Loading commit data... | |
| ebp_args.ll | Loading commit data... | |
| empty-func.ll | Loading commit data... | |
| fp.pnacl.ll | Loading commit data... | |
| fpconst.pnacl.ll | Loading commit data... | |
| global.ll | Loading commit data... | |
| globalinit.pnacl.ll | Loading commit data... | |
| icmp-simple.ll | Loading commit data... | |
| load.ll | Loading commit data... | |
| mangle.ll | Loading commit data... | |
| nacl-atomic-errors.ll | Loading commit data... | |
| nacl-atomic-fence-all.ll | Loading commit data... | |
| nacl-atomic-intrinsics.ll | Loading commit data... | |
| nacl-other-intrinsics.ll | Loading commit data... | |
| return-int-arg.ll | Loading commit data... | |
| select-opt.ll | Loading commit data... | |
| shift.ll | Loading commit data... | |
| simple-loop.ll | Loading commit data... | |
| store.ll | Loading commit data... | |
| struct-arith.pnacl.ll | Loading commit data... | |
| switch-opt.ll | Loading commit data... | |
| undef.ll | Loading commit data... | |
| unreachable.ll | Loading commit data... | |
| vector-arg.ll | Loading commit data... |