diff options
author | Chris Lattner <sabre@nondot.org> | 2009-02-04 06:25:26 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-02-04 06:25:26 +0000 |
commit | 1c967784f35df5552f30786cc814e6663997a874 (patch) | |
tree | c78f1bc611adc3fb8ba517374cbaf9aa994ac83b /clang/include | |
parent | e7bfe520460ec63f90d186b7e429d6f522f58d9d (diff) | |
download | bcm5719-llvm-1c967784f35df5552f30786cc814e6663997a874.tar.gz bcm5719-llvm-1c967784f35df5552f30786cc814e6663997a874.zip |
Implement handling of file entry/exit notifications from GNU
line markers, including maintenance of the virtual include stack.
For something like this:
# 42 "bar.c" 1
# 142 "bar2.c" 1
#warning zappa
# 92 "bar.c" 2
#warning gonzo
# 102 "foo.c" 2
#warning bonkta
we now produce these three warnings:
#1:
In file included from foo.c:3:
In file included from bar.c:42:
bar2.c:143:2: warning: #warning zappa
#warning zappa
^
#2:
In file included from foo.c:3:
bar.c:92:2: warning: #warning gonzo
#warning gonzo
^
#3:
foo.c:102:2: warning: #warning bonkta
#warning bonkta
^
llvm-svn: 63722
Diffstat (limited to 'clang/include')
-rw-r--r-- | clang/include/clang/Basic/DiagnosticLexKinds.def | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/include/clang/Basic/DiagnosticLexKinds.def b/clang/include/clang/Basic/DiagnosticLexKinds.def index 8c9a82688a7..ad08ba976cb 100644 --- a/clang/include/clang/Basic/DiagnosticLexKinds.def +++ b/clang/include/clang/Basic/DiagnosticLexKinds.def @@ -274,6 +274,8 @@ DIAG(err_pp_linemarker_invalid_filename, ERROR, "invalid filename for line marker directive") DIAG(err_pp_linemarker_invalid_flag, ERROR, "invalid flag line marker directive") +DIAG(err_pp_linemarker_invalid_pop, ERROR, + "invalid line marker flag '2': cannot pop empty include stack") DIAG(ext_pp_line_too_big, EXTENSION, "C requires #line number to be less than %0, allowed as extension") |