Allow submodule inferrences with a missing umbrella when the module is unavailableIf the module is unavailable because of a missing header, don't diagnosea "module * {}" declaration for having a m
Allow submodule inferrences with a missing umbrella when the module is unavailableIf the module is unavailable because of a missing header, don't diagnosea "module * {}" declaration for having a missing umbrella.llvm-svn: 206776
show more ...
Fix a hole with nested unavailable submodules from r206664If a module doesn't meet a requirement, neither do its submodules. If wedon't propogate that, we might think it's an error to be missing a
Fix a hole with nested unavailable submodules from r206664If a module doesn't meet a requirement, neither do its submodules. If wedon't propogate that, we might think it's an error to be missing aheader in one of those submodules.llvm-svn: 206673
Don't build modules with (submodules with) missing headersUnless they are in submodules that aren't available anyway, due torequirements not being met. Also, mark children as unavailable when the
Don't build modules with (submodules with) missing headersUnless they are in submodules that aren't available anyway, due torequirements not being met. Also, mark children as unavailable when theparent is.llvm-svn: 206664
Fix comment typo in test.llvm-svn: 200584
Add missing file from r197485.(Yes, the irony is not lost on me :-) ).llvm-svn: 197486
Modules: Don't warn upon missing headers while reading the module map.Instead, mark the module as unavailable so that clang errors as soon assomeone tries to build this module.This works towards
Modules: Don't warn upon missing headers while reading the module map.Instead, mark the module as unavailable so that clang errors as soon assomeone tries to build this module.This works towards the long-term goal of not stat'ing the header files at allwhile reading the module map and instead read them only when the module isbeing built (there is a corresponding FIXME in parseHeaderDecl()). However, itseems non-trivial to get there and this unblock us and moves us into the rightdirection.Also changed the implementation to reuse the same DiagnosticsEngine.llvm-svn: 197485
Fix crash if a submodule @imports another submodule from the same module. Thetest also adds FIXMEs for a number of places where imports and includes ofsubmodules don't work very well.llvm-svn: 19
Fix crash if a submodule @imports another submodule from the same module. Thetest also adds FIXMEs for a number of places where imports and includes ofsubmodules don't work very well.llvm-svn: 193005
Implement name hiding for macro definitions within modules, such thatonly the macro definitions from visible (sub)modules will actually bevisible. This provides the same behavior for macros that r1
Implement name hiding for macro definitions within modules, such thatonly the macro definitions from visible (sub)modules will actually bevisible. This provides the same behavior for macros that r145640provided for declarations.llvm-svn: 145683
Implement name hiding for declarations deserialized from a non-visiblemodule. When that module becomes visible, so do those declarations.llvm-svn: 145640
When loading a module that involves submodules (e.g., std.vector),check whether the named submodules themselves are actuallyvalid, and drill down to the named submodule (although we don't doanythi
When loading a module that involves submodules (e.g., std.vector),check whether the named submodules themselves are actuallyvalid, and drill down to the named submodule (although we don't doanything with it yet). Perform typo correction on the submodule nameswhen possible.llvm-svn: 145477