[PATCH] [modules] PR20507: Avoid silent textual inclusion.
Ben Langmuir
blangmuir at apple.com
Tue Jun 16 14:13:37 PDT 2015
================
Comment at: include/clang/Basic/DiagnosticCommonKinds.td:89-90
@@ -87,1 +88,4 @@
+ "module '%0' %select{is incompatible with|requires}1 feature '%2'">;
+def err_module_header_missing : Error<
+ "%select{|umbrella }0header '%1' not found">;
def err_module_lock_failure : Error<
----------------
benlangmuir wrote:
> When this diag was only used for @import it was okay because you get a separate diagnostic telling you that the module build failed, so it was clear what happened.
>
> @import Foo; // error: header 'bar.h' not found
> // error: could not build module 'Foo'
>
> But now it's odd to get an error about a different header than the one you included with no indication that it's because of a module:
>
> #include <foo.h> // error: header 'bar.h' not found
>
> We could shoehorn the module name into the diagnostic, or perhaps emit a note on the header decl in the module map file.
>
Err, reading fail on my part, you're already emitting this at the header decl location. Maybe we should have a note for the module import location though.
http://reviews.llvm.org/D10423
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the cfe-commits
mailing list