| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
the front end into its own class, FrontendInputFile, to make it easier
to introduce new per-input data. No functionality change.
llvm-svn: 148546
|
|
|
|
|
|
|
|
| |
in the module map. This provides a bit more predictability for the
user, as well as eliminating the need to sort the submodules when
serializing them.
llvm-svn: 147564
|
|
|
|
|
|
|
|
|
| |
features needed for a particular module to be available. This allows
mixed-language modules, where certain headers only work under some
language variants (e.g., in C++, std.tuple might only be available in
C++11 mode).
llvm-svn: 147387
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
hitting a submodule that was never actually created, e.g., because
that header wasn't parsed. In such cases, complain (because the
module's umbrella headers don't cover everything) and fall back to
including the header.
Later, we'll add a warning at module-build time to catch all such
cases. However, this fallback is important to eliminate assertions in
the ASTWriter when this happens.
llvm-svn: 146933
|
|
|
|
|
|
|
|
|
|
| |
gives us comparative diagnostics
to TextDiagnosticPrinter.
This certainly can be cleaned up a bit.
llvm-svn: 146820
|
|
|
|
|
|
|
|
|
| |
file.
Log:
[libclang] Try to unbreak mingw build.
llvm-svn: 146647
|
|
|
|
| |
llvm-svn: 146646
|
|
|
|
|
|
|
| |
that's currently being built. This is important for supporting
transitive dependencies ("export *" in the module map) completely.
llvm-svn: 146156
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
migrator:
-Allow it to be used with multiple BeginSourceFile/EndSourceFile calls; for this introduce
a "finish" callback method in the DiagnosticConsumer. SDiagsWriter finishes up the serialization
file inside this method.
-Make it independent of any particular DiagnosticsEngine; make it use the SourceManager of the
Diagnostic object.
-Ignore null source ranges.
llvm-svn: 146020
|
|
|
|
|
|
| |
module, at least have the decency to complain about it.
llvm-svn: 146002
|
|
|
|
| |
llvm-svn: 145983
|
|
|
|
| |
llvm-svn: 145973
|
|
|
|
|
|
|
| |
implicit ImportDecl in the translation unit to record the presence of
the import.
llvm-svn: 145727
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(sub)module, all of the names may be hidden, just the macro names may
be exposed (for example, after the preprocessor has seen the import of
the module but the parser has not), or all of the names may be
exposed. Importing a module makes its names, and the names in any of
its non-explicit submodules, visible to name lookup (transitively).
This commit only introduces the notion of name visible and marks
modules and submodules as visible when they are imported. The actual
name-hiding logic in the AST reader will follow (along with test cases).
llvm-svn: 145586
|
|
|
|
|
|
|
|
|
| |
library, since modules cut across all of the libraries. Rename
serialization::Module to serialization::ModuleFile to side-step the
annoying naming conflict. Prune a bunch of ModuleMap.h includes that
are no longer needed (most files only needed the Module type).
llvm-svn: 145538
|
|
|
|
| |
llvm-svn: 145515
|
|
|
|
|
|
|
|
|
| |
submodules. This information will eventually be used for name hiding
when dealing with submodules. For now, we only use it to ensure that
the module "key" returned when loading a module will always be a
module (rather than occasionally being a FileEntry).
llvm-svn: 145497
|
|
|
|
|
|
|
| |
involve submodules (e.g., importing std.vector), rather than always
importing the top-level module.
llvm-svn: 145478
|
|
|
|
|
|
|
|
|
| |
check whether the named submodules themselves are actually
valid, and drill down to the named submodule (although we don't do
anything with it yet). Perform typo correction on the submodule names
when possible.
llvm-svn: 145477
|
|
|
|
|
|
|
| |
top-level module name to a module path (e.g., std.vector). We're still
missing a number of pieces for this actually to do something.
llvm-svn: 145462
|
|
|
|
|
|
|
| |
we infer the module map, we'll just print the module map to a
temporary file and generate the module using that.
llvm-svn: 145436
|
|
|
|
|
|
|
| |
module map, rather than assuming that there is an umbrella
header. This allows us to automatically build umbrella-less modules.
llvm-svn: 145415
|
|
|
|
|
|
| |
on-the-fly. No functionality change.
llvm-svn: 145414
|
|
|
|
|
|
|
|
| |
return the module itself (in the module map) rather than returning the
umbrella header used to build the module. While doing this, make sure
that we're inferring modules for frameworks to build that module.
llvm-svn: 145310
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
object. I discovered that llvm::RefCountedBase<T> has
a bug where the reference count is copied in the copy constructor, which means that there were cases when the CompilerInvocation
objects created by ASTUnit were actually leaked. When I fixed that bug locally, it showed that a whole bunch of code assumed
that the LangOptions object that was part of CompilerInvocation was still alive. By making it heap-allocated and reference counted,
we can keep it around after the CompilerInvocation object goes away.
As part of this change, change CompilerInvocation:getLangOptions() to return a pointer, acting as another clue that this
object may outlive the CompilerInvocation object.
This commit doesn't fix the CompilerInvocation leak itself. That will come when I commit the fix to llvm::RefCountedBase<T> to
mainline LLVM.
llvm-svn: 144930
|
|
|
|
|
|
| |
incrementally with a new frontend action.
llvm-svn: 144723
|
|
|
|
|
|
| |
differing from GeneratePCHAction fairly soon.
llvm-svn: 144703
|
|
|
|
|
|
| |
building modules.
llvm-svn: 144680
|
|
|
|
|
|
| |
diagnostics in the future. Make it so.
llvm-svn: 144347
|
|
|
|
| |
llvm-svn: 143503
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
serializes out the diagnostics for a given translation unit to a bit code file. This is a WIP.
The motivation for this new DiagnosticConsumer is to provide a way for tools invoking the compiler
to get its diagnostics via a libclang interface, rather than textually parsing the compiler output.
This gives us flexibility to change the compiler's textual output, but have a structured data format
for clients to use to get the diagnostics via a stable API.
I have no tests for this, but llvm-bcanalyzer so far shows that the emitted file is well-formed.
More work to follow.
llvm-svn: 143259
|
|
|
|
|
|
| |
signed" warning on Cygwin gcc-4.3.4.
llvm-svn: 141488
|
|
|
|
| |
llvm-svn: 141486
|
|
|
|
| |
llvm-svn: 141181
|
|
|
|
| |
llvm-svn: 141180
|
|
|
|
|
|
|
|
|
|
|
| |
creation, so that only a single Clang instance will rebuild a given
module at once (and the others will wait).
We still don't clean up the lock files when we crash, which is a
rather unfortunate problem. I'll handle that next, and there is
certainly a *lot* of room for further improvements.
llvm-svn: 141179
|
|
|
|
|
|
|
| |
separate thread with the "suitably large" stack, so we don't blow the
stack when building modules recursively.
llvm-svn: 141051
|
|
|
|
|
|
| |
from sources.
llvm-svn: 140746
|
|
|
|
|
|
|
|
|
| |
we have the ability to create a new, distict diagnostic consumer when
we go off and build a module. This avoids the currently horribleness
where the same diagnostic consumer sees diagnostics for multiple
translation units (and multiple SourceManagers!) causing all sorts of havok.
llvm-svn: 140743
|
|
|
|
| |
llvm-svn: 140489
|
|
|
|
| |
llvm-svn: 140485
|
|
|
|
| |
llvm-svn: 140479
|
|
|
|
| |
llvm-svn: 140478
|
|
|
|
|
|
|
| |
check whether the requested location points inside the precompiled preamble,
in which case the returned source location will be a "loaded" one.
llvm-svn: 140060
|
|
|
|
|
|
|
| |
#include or #import direcctives of framework headers into module
imports of the corresponding framework module.
llvm-svn: 139860
|
|
|
|
| |
llvm-svn: 139837
|
|
|
|
|
|
| |
graceful than running out of stack space.
llvm-svn: 139833
|
|
|
|
|
|
| |
the newly-created ASTReader. This makes sure that CodeGen sees the declarations it is interested in
llvm-svn: 139824
|
|
|
|
| |
llvm-svn: 139750
|
|
|
|
|
|
| |
options is the same as the module hash before stripping those options.
llvm-svn: 139663
|