aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-09-04 09:04:26 +0000
committerFangrui Song <maskray@google.com>2019-09-04 09:04:26 +0000
commitb4745fad24663ae50a592b57c6e1bf1c7e4d1527 (patch)
treeb4d77144c745aed21d92fcdb0b83e97370b11c82 /clang/lib/Frontend/CompilerInvocation.cpp
parentb8b4fa47971491db63620d75b97d5ea00cd0b0cc (diff)
downloadllvm-b4745fad24663ae50a592b57c6e1bf1c7e4d1527.zip
llvm-b4745fad24663ae50a592b57c6e1bf1c7e4d1527.tar.gz
llvm-b4745fad24663ae50a592b57c6e1bf1c7e4d1527.tar.bz2
[ELF] Add a spell corrector for "undefined symbol" diagnostics
Non-undefined symbols with Levenshtein distance 1 or a transposition are suggestion candidates. This is probably good enough and it can suggest some missing/superfluous qualifiers: const, restrict, volatile, & and && ref-qualifier, e.g. error: undefined symbol: foo(int*) >>> referenced by b.o:(.text+0x1) +>>> did you mean: foo(int const*) +>>> defined in: a.o error: undefined symbol: foo(int*&) >>> referenced by b.o:(.text+0x1) +>>> did you mean: foo(int*) +>>> defined in: b.o Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D67039 llvm-svn: 370853
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions