[PATCH] D56773: [llvm-symbolizer] Add -no-demangle as alias for -demangle=false
Dmitry Venikov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 18 04:42:06 PST 2019
Quolyk marked 4 inline comments as done.
Quolyk added inline comments.
================
Comment at: test/DebugInfo/llvm-symbolizer.test:221
SHORT_FUNCTION_NAME-NOT: _Z1cv
+DEMANGLED_FUNCTION_NAME: c
----------------
jhenderson wrote:
> Sorry, I realised that I misread the test. The existing --demangle=false tests are testing that the "short" name is NOT matched (that's what the -NOT suffix is for on the line above, so this isn't testing what you think it is testing.
>
> Instead, you'll want some new tests below this and the corresponding checks. The --functions=short means that it is printing the short version of the function name, taken from the debug information, I think. In the new tests you write, you don't want the --functions switch at all, I believe.
>
> Try experimenting with running llvm-symbolizer on %t.input7 and look at the output. You should see a function name c() appear somewhere, if I'm not mistaken. Assuming you do, double-check that --no-demangle turns it into _Z1cv, and then add something like the following tests at the end of the file:
>
> ```
> ; Check that the last of --demangle and --no-demangle wins.
> RUN: llvm-symbolizer --demangle < %t.input7 \
> RUN: | FileCheck %s --check-prefix=DEMANGLED_FUNCTION_NAME
> RUN: llvm-symbolizer --no-demangle < %t.input7 \
> RUN: | FileCheck %s --check-prefix=MANGLED_FUNCTION_NAME
> RUN: llvm-symbolizer --demangle --no-demangle < %t.input7 \
> RUN: | FileCheck %s --check-prefix=MANGLED_FUNCTION_NAME
> RUN: llvm-symbolizer --no-demangle --demangle < %t.input7 \
> RUN: | FileCheck %s --check-prefix=DEMANGLED_FUNCTION_NAME
>
> MANGLED_FUNCTION_NAME: _Z1cv
> DEMANGLED_FUNCTION_NAME: c()
> ```
Thanks for detailed explanation, now it becomes clear to me.
================
Comment at: tools/llvm-symbolizer/llvm-symbolizer.cpp:209
+
+ if (ClNoDemangle.getPosition() > ClDemangle.getPosition())
+ ClDemangle = !ClNoDemangle;
----------------
jhenderson wrote:
> Did you mean to remove the comment you had here before?
It's back. Wasn't sure it's necessary.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D56773/new/
https://reviews.llvm.org/D56773
More information about the llvm-commits
mailing list