diff options
author | Chris Lattner <sabre@nondot.org> | 2008-05-05 06:45:50 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-05-05 06:45:50 +0000 |
commit | 3565c8e343cb753ac446fe43d09b334ca2caf442 (patch) | |
tree | e8533713470358b3e3617b70dbb7a6d497c69da4 /llvm/lib/Support/StringExtras.cpp | |
parent | 3c57f7ebab610ee09a95fa3665c68d217b733ff6 (diff) | |
download | llvm-3565c8e343cb753ac446fe43d09b334ca2caf442.zip llvm-3565c8e343cb753ac446fe43d09b334ca2caf442.tar.gz llvm-3565c8e343cb753ac446fe43d09b334ca2caf442.tar.bz2 |
Neil pointed out that clang doesn't generate ranges from diagnostics
related to pp-expressions. Doing so is pretty simple and this
patch implements it, yielding nice diagnostics like:
t.c:2:7: error: division by zero in preprocessor expression
#if 1 / (0 + 0)
~ ^ ~~~~~~~
t.c:5:14: error: expected ')' in preprocessor expression
#if (412 + 42
~~~~~~~~^
t.c:5:5: error: to match this '('
#if (412 + 42
^
t.c:10:10: warning: left side of operator converted from negative value to unsigned: -42 to 18446744073709551574
#if (-42 + 0U) / -2
~~~ ^ ~~
t.c:10:16: warning: right side of operator converted from negative value to unsigned: -2 to 18446744073709551614
#if (-42 + 0U) / -2
~~~~~~~~~~ ^ ~~
5 diagnostics generated.
llvm-svn: 50638
Diffstat (limited to 'llvm/lib/Support/StringExtras.cpp')
0 files changed, 0 insertions, 0 deletions