| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
This allows code indexing, etc. to use the VFS in the same way as the
compiler.
llvm-svn: 206309
|
|
|
|
| |
llvm-svn: 206217
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To differentiate between two modules with the same name, we will
consider the path the module map file that they are defined by* part of
the ‘key’ for looking up the precompiled module (pcm file).
Specifically, this patch renames the precompiled module (pcm) files from
cache-path/<module hash>/Foo.pcm
to
cache-path/<module hash>/Foo-<hash of module map path>.pcm
In addition, I’ve taught the ASTReader to re-resolve the names of
imported modules during module loading so that if the header search
context changes between when a module was originally built and when it
is loaded we can rebuild it if necessary. For example, if module A
imports module B
first time:
clang -I /path/to/A -I /path/to/B ...
second time:
clang -I /path/to/A -I /different/path/to/B ...
will now rebuild A as expected.
* in the case of inferred modules, we use the module map file that
allowed the inference, not the __inferred_module.map file, since the
inferred file path is the same for every inferred module.
llvm-svn: 206201
|
|
|
|
|
| |
Review: http://reviews.llvm.org/D3335
llvm-svn: 206027
|
|
|
|
|
|
| |
directory in module B, don't include it in module B!
llvm-svn: 205762
|
|
|
|
|
|
|
| |
This reverts r90596 from 2009. Having this macro definition makes Clang
strictly less useful with -fms-extensions.
llvm-svn: 205729
|
|
|
|
|
|
| |
again. Needs llvm r205683.
llvm-svn: 205684
|
|
|
|
|
|
|
|
|
|
|
| |
This adds Clang support for the ARM64 backend. There are definitely
still some rough edges, so please bring up any issues you see with
this patch.
As with the LLVM commit though, we think it'll be more useful for
merging with AArch64 from within the tree.
llvm-svn: 205100
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Committed this by accident before it was done last time.
Original message:
Rather than rolling our own functions to write little endian data
to an ostream, we can use the support in llvm's EndianStream.h.
No functional change.
llvm-svn: 205061
|
|
|
|
|
|
| |
This reverts commit r205044.
llvm-svn: 205047
|
|
|
|
|
|
|
|
|
| |
Rather than rolling our own functions to write little endian data to
an ostream, we can use the support in llvm's EndianStream.h.
No functional change.
llvm-svn: 205044
|
|
|
|
|
|
|
|
|
| |
This follows the LLVM change to canonicalise the Windows target triple
spellings. Rather than treating each Windows environment as a single entity,
the environments are now modelled properly as an environment. This is a
mechanical change to convert the triple use to reflect that change.
llvm-svn: 204978
|
|
|
|
|
|
| |
Also, while I'm here, support -nocompress-debug-sections too.
llvm-svn: 204959
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This allows them to be used without -cc1 the same way as -I and -isystem.
Renamed the options to --system-header-prefix=/--no-system-header-prefix to avoid interference with -isystem and make the intent of the option cleaner.
Reviewers: rsmith
Reviewed By: rsmith
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D3185
llvm-svn: 204775
|
|
|
|
|
|
|
|
|
| |
This change turns -fsanitize-memory-track-origins into
-fsanitize-memory-track-origins=[level] flag (keeping the old one for
compatibility). Possible levels are 0 (off), 1 (default) and 2 (incredibly
detailed). See docs (part of this patch) for more info.
llvm-svn: 204346
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since "half" is an OpenCL keyword and clang accepts __fp16 as an extension for
other languages, error messages and metadata (and hence debug info) should refer
to the half-precision floating point as "__fp16" instead of "half" when
compiling for non-OpenCL languages. This patch creates a new printing policy for
half in a similar manner to what is done for bool and wchar_t.
Differential Revision: http://llvm-reviews.chandlerc.com/D2952
llvm-svn: 204164
|
|
|
|
|
|
| |
its keywordliness.
llvm-svn: 203987
|
|
|
|
|
|
|
|
|
|
|
| |
building one.
This is because the PCH is tied to the module files, if one of the module files changes or gets removed
the build system should re-build the PCH file.
rdar://16321245
llvm-svn: 203885
|
|
|
|
|
|
|
|
| |
doesn't show up as dependency of a module file.
Follow-up for rdar://15459210
llvm-svn: 203882
|
|
|
|
|
|
| |
override anything.
llvm-svn: 203764
|
|
|
|
| |
llvm-svn: 203759
|
|
|
|
|
|
| |
class.
llvm-svn: 203758
|
|
|
|
|
|
| |
Newer FreeBSD doesnt ship with gcc and defaults to using libc++.
llvm-svn: 203700
|
|
|
|
|
|
| |
This is a follow-up to r203624 to address Anton's comment.
llvm-svn: 203668
|
|
|
|
|
|
|
|
| |
When enabled, always validate the system headers when loading a module.
The end result of this is that when these headers change, we will notice
and rebuild the module.
llvm-svn: 203630
|
|
|
|
|
|
|
|
| |
to absolute paths when building the includes file for the module. Without this,
the module build would fail, because the relative paths we were using are not
necessarily relative to a directory in our include path.
llvm-svn: 203528
|
|
|
|
| |
llvm-svn: 203455
|
|
|
|
| |
llvm-svn: 203389
|
|
|
|
|
|
|
|
|
| |
Padding does not seem to be useful currently, and it leads to bogus location if an error
points to the end of the file.
rdar://15836513
llvm-svn: 203370
|
|
|
|
|
|
| |
with iterator_range enumerators(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203353
|
|
|
|
|
|
| |
blocks when building in C mode, and serialize and deserialize the attribute.
llvm-svn: 203317
|
|
|
|
|
|
| |
Looks like GCC implements the lambda->function pointer conversion differently.
llvm-svn: 203293
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 203289
|
|
|
|
|
|
| |
This compiles cleanly with lldb/lld/clang-tools-extra/llvm.
llvm-svn: 203279
|
|
|
|
|
|
| |
iterator_range decls(). The same is true for the noload versions of these APIs. Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203278
|
|
|
|
|
|
| |
This is a precursor to moving to std::unique_ptr.
llvm-svn: 203275
|
|
|
|
|
|
| |
iterator_range params(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203248
|
|
|
|
|
|
|
|
|
|
| |
TU_Prefix
avoid warning for unused macros.
rdar://15034698
llvm-svn: 203213
|
|
|
|
|
|
|
|
| |
Add module dependencies to the dependency files created by -MD/-MMD/etc.
by attaching an ASTReaderListener that will call into the dependency
file generator when a module input file is seen in the serialized AST.
llvm-svn: 203208
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the clang diagnostic has to report a column number one less than the correct
value in order for the IDE to move the cursor to the expected location. This
behavior is changed in VS2012 and VS2013 so that the IDE is now expecting the
column number to match the actual source location.
Before: source(line, column-1): type: message
After: source(line, column): type: message
This patch changes -fdiagnostics-format=msvc to match the new VS2012 and VS2013
when fmsc-version is 1700 or greater.
Differential Revision: http://llvm-reviews.chandlerc.com/D2949
llvm-svn: 203183
|
|
|
|
|
|
| |
simd' support)
llvm-svn: 203114
|
|
|
|
| |
llvm-svn: 203081
|
|
|
|
|
|
|
| |
the module build stack for the module being built, so we can correctly detect
recursive module builds.
llvm-svn: 203006
|
|
|
|
| |
llvm-svn: 202897
|
|
|
|
|
|
|
|
|
| |
Serialized diagnostics were accidentally using the AST diagnostic level values
rather than a dedicated stable enum, so the addition of "remark" broke the
reading of existing serialized diagnostics files. I've added a .dia file
generated from Xcode 5's Clang to make sure we don't break this in the future.
llvm-svn: 202733
|
|
|
|
|
|
|
|
|
|
| |
a user workspace build.
This is used to avoid conflicts with user modules with the same name from different workspaces.
rdar://16042513
llvm-svn: 202683
|
|
|
|
|
|
|
| |
This commit reverts r201037, it's functionality is not needed given the
definition of std::max_align_t in libcxx circa r201843.
llvm-svn: 202667
|
|
|
|
|
|
| |
No intended functionality change.
llvm-svn: 202652
|
|
|
|
| |
llvm-svn: 202639
|
|
|
|
| |
llvm-svn: 202625
|