[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cfe-commits
Subject:    Re: [PATCH] D10423: [modules] PR20507: Avoid silent textual inclusion.
From:       Richard Smith <richard () metafoo ! co ! uk>
Date:       2015-07-08 21:05:10
Message-ID: 152cb232ff7b2fa235d26602d004d958 () localhost ! localdomain
[Download RAW message or body]

rsmith added inline comments.

================
Comment at: lib/Lex/PPDirectives.cpp:1665
@@ +1664,3 @@
+  // unavailable, diagnose the situation and bail out.
+  if (SuggestedModule && !SuggestedModule.getModule()->isAvailable()) {
+    clang::Module::Requirement Requirement;
----------------
I think this whole block should be moved down to line 1761 or so:

 1. The code currently ensures that it always calls InclusionDirective on the \
callback object for every `#include`, even if that include fails.  2. We don't yet \
know that the file is actually part of `SuggestedModule`; it could be in the \
directory of an umbrella header whose module is unavailable, but it might not be part \
of that module.  3. If we somehow got a suggested module but no file, we should not \
produce additional spurious diagnostics beyond the "file not found" diagnostic we \
already produced.

================
Comment at: test/Modules/Inputs/auto-import-unavailable/module.modulemap:9
@@ +8,3 @@
+    requires nonexistent_feature
+    header "nonrequired_missing_header/missing.h"
+  }
----------------
Please add some content to the empty files (even if just a comment) or this test will \
misbehave on content-addressed file systems, where all the empty files will be \
treated as the same file.


http://reviews.llvm.org/D10423




_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic