Aaron Ballman
bbc3121301
[C++11] Removing the local_import_begin() and local_import_end() APIs and replacing with a range-only local_imports() API. Privatizes the iterator class as well.
...
llvm-svn: 203970
2014-03-14 20:59:21 +00:00
Aaron Ballman
ba0238fa95
[C++11] Replacing CapturedStmt iterators capture_init_begin() and capture_init_end() with iterator_range capture_inits(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203959
2014-03-14 19:41:04 +00:00
Aaron Ballman
9371dd2287
[C++11] Replacing BlockDecl iterators capture_begin() and capture_end() with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203958
2014-03-14 18:34:04 +00:00
Aaron Ballman
c656303a2c
[C++11] Replacing CapturedStmt iterators capture_begin() and capture_end() with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203953
2014-03-14 18:08:33 +00:00
Hans Wennborg
73945149b7
Fix VS2012 build after r203881
...
llvm-svn: 203951
2014-03-14 17:45:06 +00:00
Aaron Ballman
2205d2a56a
[C++11] Replacing OMPThreadPrivateDecl and OMPClause iterators varlist_begin() and varlist_end() with iterator_range varlists(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203937
2014-03-14 15:55:35 +00:00
Aaron Ballman
a73c85738c
[C++11] Replacing ObjCCategoryDecl iterators protocol_loc_begin() and protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203923
2014-03-14 13:03:32 +00:00
Aaron Ballman
19a417699f
[C++11] Replacing ObjCCategoryDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203922
2014-03-14 12:55:57 +00:00
Aaron Ballman
a964ec1f14
[C++11] Replacing ObjCProtocolDecl iterators protocol_loc_begin() and protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203919
2014-03-14 12:38:50 +00:00
Argyrios Kyrtzidis
6d0753d42a
[Modules] Emit the module file paths as dependencies of the PCH when we are 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
2014-03-14 03:07:38 +00:00
Argyrios Kyrtzidis
68ccbe01b0
[Modules] Make sure that the synthesized file "__inferred_module.map" doesn't show up as dependency of a module file.
...
Follow-up for rdar://15459210
llvm-svn: 203882
2014-03-14 02:26:31 +00:00
Argyrios Kyrtzidis
ce9b49e5ec
Refactor ASTReader::readInputFileInfo to return a struct containing the related information.
...
No functionality change.
llvm-svn: 203881
2014-03-14 02:26:27 +00:00
Aaron Ballman
0f6e64d505
[C++11] Replacing ObjCProtocolDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203863
2014-03-13 22:58:06 +00:00
Aaron Ballman
15063e19c6
[C++11] Replacing ObjCInterfaceDecl iterators known_categories_begin() and known_categories_end() with iterator_range known_categories(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203854
2014-03-13 21:35:02 +00:00
Aaron Ballman
e937888e1c
[C++11] Replacing ObjCInterfaceDecl iterators protocol_loc_begin() and protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203847
2014-03-13 20:34:24 +00:00
Aaron Ballman
a49c5064a1
[C++11] Replacing ObjCInterfaceDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
...
Drive-by fixing some incorrect types where a for loop would be improperly using ObjCInterfaceDecl::protocol_iterator. No functional changes in these cases.
llvm-svn: 203842
2014-03-13 20:29:09 +00:00
Aaron Ballman
aff18c0446
[C++11] Replacing ObjCContainerDecl iterators meth_begin() and meth_end() with iterator_range methods(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203832
2014-03-13 19:03:34 +00:00
Ben Langmuir
d285c50390
Prevent outputting HeaderFileInfos for files not used as headers
...
When building an AST file, we don't want to output HeaderFileInfo
structures for files that are not actually used as headers in the
current context. This can lead to assuming that unrelated files have
include counts of 0, defeating multiple-include prevention.
This is accomplished by adding an IsValid bit to the HFI.
llvm-svn: 203813
2014-03-13 16:46:36 +00:00
Craig Topper
3e89dfee00
[C++11] Add 'override' keyword to virtual methods that override their base class.
...
llvm-svn: 203746
2014-03-13 02:13:41 +00:00
Richard Smith
52e3fbaee8
Revert C++11ification in r203534 and r203536. Apparently our toolchains aren't
...
ready for this yet.
llvm-svn: 203548
2014-03-11 07:17:35 +00:00
Richard Smith
cf91493176
Speculative workaround for apparent libstdc++ bug exposed by r203534.
...
llvm-svn: 203536
2014-03-11 03:30:30 +00:00
Richard Smith
d91747980a
If a visibility update record is found for a DeclContext after that Decl has
...
already been loaded, apply that update record to the Decl immediately, rather
than adding it to a pending list and never applying it.
llvm-svn: 203534
2014-03-11 03:10:46 +00:00
Richard Smith
9bca298f6d
Module [extern_c] attribute: inherit to submodules, don't write 'extern "C"'
...
blocks when building in C mode, and serialize and deserialize the attribute.
llvm-svn: 203317
2014-03-08 00:03:56 +00:00
Ahmed Charles
b89843299a
Replace OwningPtr with std::unique_ptr.
...
This compiles cleanly with lldb/lld/clang-tools-extra/llvm.
llvm-svn: 203279
2014-03-07 20:03:18 +00:00
Aaron Ballman
629afaefe0
[C++11] Replacing DeclBase iterators decls_begin() and decls_end() with 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
2014-03-07 19:56:05 +00:00
Ahmed Charles
9a16beb8bc
Change OwningPtr::take() to OwningPtr::release().
...
This is a precursor to moving to std::unique_ptr.
llvm-svn: 203275
2014-03-07 19:33:25 +00:00
Aaron Ballman
29c9460d3e
Renaming the chains() ranged iterator to chain() per suggestion by Richard Smith.
...
llvm-svn: 203262
2014-03-07 18:36:15 +00:00
Aaron Ballman
1391608234
[C++11] Replacing IndirectFieldDecl iterators chain_begin() and chain_end() with iterator_range chains(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203261
2014-03-07 18:11:58 +00:00
Aaron Ballman
43b68bebe7
[C++11] Replacing ObjCMethodDecl iterators param_begin() and param_end() with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203255
2014-03-07 17:50:17 +00:00
Aaron Ballman
f6bf62e2d0
[C++11] Replacing FunctionDecl iterators param_begin() and param_end() with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203248
2014-03-07 15:12:56 +00:00
Ben Langmuir
198c168518
Add a bunch of missing changes from r203208
...
Somehow lost these in a git operation.
llvm-svn: 203210
2014-03-07 07:27:49 +00:00
Ben Langmuir
cb69b57b2a
Add dependencies from imported modules with -MD
...
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
2014-03-07 06:40:32 +00:00
Aaron Ballman
86c9390673
[C++11] Replacing iterators redecls_begin() and redecls_end() with iterator_range redecls(). Updating all of the usages of the iterators with range-based for loops, which allows the begin/end forms to be removed entirely.
...
llvm-svn: 203179
2014-03-06 23:45:36 +00:00
Alexey Bataev
568a833f68
[OPENMP] Clause 'num_threads'
...
llvm-svn: 203087
2014-03-06 06:15:19 +00:00
Richard Smith
9d100866f2
Fix crash if a submodule overrides one of its own macros, and add support for
...
submodule macro overriding within the same top-level module (necessary for the
testcase to be remotely reasonable). Incidentally reduces the number of libc++
testsuite regressions with modules enabled from 7 to 6.
llvm-svn: 203063
2014-03-06 03:16:27 +00:00
Richard Smith
bb29e518c8
Switch to an idiomatic C++ erase/remove for this loop, and fix a bug in the
...
process (I don't believe it's possible to write a testcase for the bug with
a non-checking STL implementation).
llvm-svn: 203042
2014-03-06 00:33:23 +00:00
Chandler Carruth
b55d0226b7
[C++11] Remove a now unnecessary use of std::function for a remove_if
...
predicate. The wrapper used by SetVector was erroneously requiring an
adaptable predicate. It has been fixed and we really don't want to
require an indirect call for every predicate evaluation.
llvm-svn: 202744
2014-03-03 19:36:27 +00:00
Argyrios Kyrtzidis
1594c15500
Introduce '-fmodules-user-build-path' which accepts the "canonical" path to 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
2014-03-03 08:12:05 +00:00
Benjamin Kramer
867ea1d426
[C++11] Replace llvm::tie with std::tie.
...
llvm-svn: 202639
2014-03-02 13:01:17 +00:00
Benjamin Kramer
bbdd7640e8
[C++11] Replace verbose functors with succinct lambdas
...
No functionality change.
llvm-svn: 202590
2014-03-01 14:48:57 +00:00
Richard Smith
49f906a36f
If a module A exports a macro M, and a module B imports that macro and #undef's
...
it, importers of B should not see the macro. This is complicated by the fact
that A's macro could also be visible through a different path. The rules (as
hashed out on cfe-commits) are included as a documentation update in this
change.
With this, the number of regressions in libc++'s testsuite when modules are
enabled drops from 47 to 7. Those remaining 7 are also macro-related, and are
due to remaining bugs in this change (in particular, the handling of submodules
is imperfect).
llvm-svn: 202560
2014-03-01 00:08:04 +00:00
Alexey Bataev
1b59ab5683
[OPENMP] First changes for Parsing and Sema for 'omp simd' directive support
...
llvm-svn: 202360
2014-02-27 08:29:12 +00:00
NAKAMURA Takumi
9698686505
[CMake] Use LINK_LIBS instead of target_link_libraries().
...
llvm-svn: 202238
2014-02-26 06:41:29 +00:00
Rafael Espindola
4fbd373815
Update for llvm api change.
...
llvm-svn: 202053
2014-02-24 18:20:21 +00:00
Rafael Espindola
04a13befd8
Don't assume that F_None is the default. It is about to change.
...
llvm-svn: 202040
2014-02-24 15:06:52 +00:00
NAKAMURA Takumi
7da9487dd4
[CMake] Get rid of explicit dependencies to include/clang/*.inc and introduce CLANG_TABLEGEN_TARGETS.
...
This does;
- clang_tablegen() adds each tblgen'd target to global property CLANG_TABLEGEN_TARGETS as list.
- List of targets is added to LLVM_COMMON_DEPENDS.
- all clang libraries and targets depend on generated headers.
You might wonder this would be regression, but in fact, this is little loss.
- Almost all of clang libraries depend on tblgen'd files and clang-tblgen.
- clang-tblgen may cause short stall-out but doesn't cause unconditional rebuild.
- Each library's dependencies to tblgen'd files might vary along headers' structure.
It made hard to track and update *really optimal* dependencies.
Each dependency to intrinsics_gen and ClangSACheckers is left as DEPENDS.
llvm-svn: 201842
2014-02-21 07:59:59 +00:00
Ben Langmuir
c8130a74f4
Recommit virtual file system
...
Previously reverted in r201755 due to causing an assertion failure.
I've removed the offending assertion, and taught the CompilerInstance to
create a default virtual file system inside createFileManager. In the
future, we should be able to reach into the CompilerInvocation to
customize this behaviour without breaking clients that don't care.
llvm-svn: 201818
2014-02-20 21:59:23 +00:00
Juergen Ributzka
a32575e4f6
Reverting the virtual file system implementation, because it triggers an assertion
...
in our internal build bots.
This reverts commits 201618, 201635, 201636, 201639, 201685, 201691, and 201696.
llvm-svn: 201755
2014-02-20 05:24:58 +00:00
Reid Kleckner
588c937228
Use llvm::DeleteContainerSeconds when possible
...
llvm-svn: 201739
2014-02-19 23:44:52 +00:00
Ben Langmuir
090610d37a
Initial implementation of virtual file system
...
This adds the minimum virtual file system support to start migrating
FileManager onto the VFS.
Originally discussed here:
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-February/035188.html
Differential Revision: http://llvm-reviews.chandlerc.com/D2745
llvm-svn: 201618
2014-02-19 00:10:30 +00:00