llvm-project/clang/lib/Frontend
Bruno Cardoso Lopes 22d97065d3 [Modules] Allow @import to reach submodules in private module maps
A @import targeting a top level module from a private module map file
(@import Foo_Private), would fail if there's any submodule declaration
around (module Foo.SomeSub) in the same private module map.

This happens because compileModuleImpl, when building Foo_Private, will
start with the private module map and will not parse the public one,
which leads to unsuccessful parsing of Foo.SomeSub, since top level Foo
was never parsed.

Declaring other submodules in the private module map is not common and
should usually be avoided, but it shouldn't fail to build. Canonicalize
compileModuleImpl to always look at the public module first, so that all
necessary information is available when parsing the private one.

rdar://problem/39822328

llvm-svn: 331322
2018-05-02 02:25:03 +00:00
..
Rewrite Fix evaluation of `__has_include_next` during -frewrite-includes. 2018-04-13 17:43:15 +00:00
ASTConsumers.cpp Allow the creation of human-friendly ASTDumper to arbitrary output stream 2018-04-06 13:01:12 +00:00
ASTMerge.cpp Revert r329684 (and follow-ups 329693, 329714). See discussion on https://reviews.llvm.org/D43578. 2018-04-10 18:53:28 +00:00
ASTUnit.cpp [vfs] Don't bail out after a missing -ivfsoverlay file 2018-03-23 17:37:27 +00:00
CMakeLists.txt Use special new Clang flag 'FrontendTimesIsEnabled' instead of 'llvm::TimePassesIsEnabled' inside -ftime-report feature. 2018-04-23 09:22:30 +00:00
CacheTokens.cpp Re-land: "[Support] Replace HashString with djbHash." 2018-02-26 15:16:42 +00:00
ChainedDiagnosticConsumer.cpp
ChainedIncludesSource.cpp Teach ASTReader how to read only the Preprocessor state from an AST file, not the ASTContext state. 2017-06-29 23:23:46 +00:00
CodeGenOptions.cpp Use an enum value instead of a string. 2018-01-18 00:20:03 +00:00
CompilerInstance.cpp [Modules] Allow @import to reach submodules in private module maps 2018-05-02 02:25:03 +00:00
CompilerInvocation.cpp Implement P0482R2, support for char8_t type. 2018-05-01 05:02:45 +00:00
CreateInvocationFromCommandLine.cpp Use vfs::FileSystem in ASTUnit when creating CompilerInvocation. 2017-06-28 15:06:34 +00:00
DependencyFile.cpp Track skipped files in dependency scanning. 2018-05-01 23:59:33 +00:00
DependencyGraph.cpp
DiagnosticRenderer.cpp PR37189 Fix incorrect end source location and spelling for a split '>>' token. 2018-04-30 05:25:48 +00:00
FrontendAction.cpp Revert r329684 (and follow-ups 329693, 329714). See discussion on https://reviews.llvm.org/D43578. 2018-04-10 18:53:28 +00:00
FrontendActions.cpp [HIP] Add hip input kind and codegen for kernel launching 2018-04-25 01:10:37 +00:00
FrontendOptions.cpp [Frontend] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-26 21:45:04 +00:00
FrontendTiming.cpp Use special new Clang flag 'FrontendTimesIsEnabled' instead of 'llvm::TimePassesIsEnabled' inside -ftime-report feature. 2018-04-23 09:22:30 +00:00
HeaderIncludeGen.cpp [Frontend] StringRefize and fix bad indentation. 2016-05-27 12:52:19 +00:00
InitHeaderSearch.cpp s/LLVM_ON_WIN32/_WIN32/, clang 2018-04-27 19:11:14 +00:00
InitPreprocessor.cpp Implement P0482R2, support for char8_t type. 2018-05-01 05:02:45 +00:00
LangStandards.cpp Don't accept -std= values that would switch us to a different source language. 2017-04-26 23:44:33 +00:00
LayoutOverrideSource.cpp Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 19:38:18 +00:00
LogDiagnosticPrinter.cpp
ModuleDependencyCollector.cpp IWYU for llvm-config.h in clang. See r331124 for details. 2018-04-30 13:52:15 +00:00
MultiplexConsumer.cpp Make MultiplexASTDeserializationListener part of the API [NFC] 2018-04-27 07:05:40 +00:00
PCHContainerOperations.cpp Bitcode: Decouple block info block state from reader. 2016-11-08 04:17:11 +00:00
PrecompiledPreamble.cpp s/LLVM_ON_WIN32/_WIN32/, clang 2018-04-27 19:11:14 +00:00
PrintPreprocessedOutput.cpp Calculate size of buffer instead of using a magic value. 2018-01-03 20:29:49 +00:00
SerializedDiagnosticPrinter.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
SerializedDiagnosticReader.cpp [Frontend] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-26 21:45:04 +00:00
TestModuleFileExtension.cpp Fix for LLVM Bitcode API change (to use std::shared_ptr) 2017-01-04 22:36:43 +00:00
TestModuleFileExtension.h Module file extensions: pass a Sema through to the extension writer. 2015-12-08 22:43:32 +00:00
TextDiagnostic.cpp PR37189 Fix incorrect end source location and spelling for a split '>>' token. 2018-04-30 05:25:48 +00:00
TextDiagnosticBuffer.cpp [Frontend] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-22 00:53:26 +00:00
TextDiagnosticPrinter.cpp Revert "Revert "[NFC] Refactor DiagnosticRenderer to use FullSourceLoc"" 2017-06-27 09:50:38 +00:00
VerifyDiagnosticConsumer.cpp [Frontend] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-22 00:53:26 +00:00