diff options
author | Joel E. Denny <jdenny.ornl@gmail.com> | 2018-05-14 18:41:44 +0000 |
---|---|---|
committer | Joel E. Denny <jdenny.ornl@gmail.com> | 2018-05-14 18:41:44 +0000 |
commit | 7bcc21027d3b3697611de48261f0fa562bd2ed37 (patch) | |
tree | 1eea1450a959694fc1e709ac54542c99305063a4 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 215ce4a1cadd10d2533efe601c0e1e665df6bba4 (diff) | |
download | llvm-7bcc21027d3b3697611de48261f0fa562bd2ed37.zip llvm-7bcc21027d3b3697611de48261f0fa562bd2ed37.tar.gz llvm-7bcc21027d3b3697611de48261f0fa562bd2ed37.tar.bz2 |
[AST] Fix -ast-print for _Bool when have diagnostics
For example, given:
#define bool _Bool
_Bool i;
void fn() { 1; }
-ast-print produced:
tmp.c:3:13: warning: expression result unused
void fn() { 1; }
^
bool i;
void fn() {
1;
}
That fails to compile because bool is undefined.
Details:
Diagnostics print _Bool as bool when the latter is defined as the
former. However, diagnostics were altering the printing policy for
-ast-print as well. The printed source was then invalid because the
preprocessor eats the bool definition.
Problematic diagnostics included suppressed warnings (e.g., add
-Wno-unused-value to the above example), including those that are
suppressed by default.
This patch fixes this bug and cleans up some related comments.
Reviewed by: aaron.ballman, rsmith
Differential Revision: https://reviews.llvm.org/D45093
llvm-svn: 332275
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions