#
a36e78ef |
| 05-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use llvm::sys::fs::createTemporaryFile.
llvm-svn: 185717
|
#
1d0912a4 |
| 05-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
We don't need to check for windows' error codes in here.
The operator== calls equivalent which calls default_error_condition which handles windows to posix conversion.
llvm-svn: 185702
|
#
157f34bd |
| 28-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Update for llvm::sys::fs::unique_file not creating directories.
llvm-svn: 185127
|
#
73c23a71 |
| 27-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Small improvements to createOutputFile.
* Use a single stat to find out if the file exists and if it is a regular file. * Use early returns when possible. * Add comments explaining why we have each
Small improvements to createOutputFile.
* Use a single stat to find out if the file exists and if it is a regular file. * Use early returns when possible. * Add comments explaining why we have each check.
llvm-svn: 185091
show more ...
|
#
399ab33a |
| 26-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove PathV1.h from CompilerInstance.cpp.
llvm-svn: 184913
|
#
963c5535 |
| 21-Jun-2013 |
Douglas Gregor <dgregor@apple.com> |
[Modules] If a module map resides in a system header directory, treat it as a system module.
This prevents -pedantic from causing warnings in the system headers used to create modules. Fixes <rdar:/
[Modules] If a module map resides in a system header directory, treat it as a system module.
This prevents -pedantic from causing warnings in the system headers used to create modules. Fixes <rdar://problem/14201171>.
llvm-svn: 184560
show more ...
|
#
fc92e845 |
| 18-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use llvm::sys::fs::can_write.
llvm-svn: 184234
|
#
dcf73d22 |
| 13-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't depend on the transitive inclusion of PathV1.h.
llvm-svn: 183945
|
#
18556de3 |
| 13-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use the sys::RemoveFileOnSignal that takes a StringRef.
llvm-svn: 183944
|
#
a3346d87 |
| 12-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use the global functions instead of the Program methods.
llvm-svn: 183861
|
Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3 |
|
#
dc9fdaf2 |
| 24-May-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[modules] If we hit a failure while loading a PCH/module, abort parsing instead of trying to continue in an invalid state.
Also don't let libclang create a PCH with such an error.
Fixes rdar://1395
[modules] If we hit a failure while loading a PCH/module, abort parsing instead of trying to continue in an invalid state.
Also don't let libclang create a PCH with such an error.
Fixes rdar://13953768
llvm-svn: 182629
show more ...
|
Revision tags: llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
#
30071cea |
| 03-May-2013 |
Douglas Gregor <dgregor@apple.com> |
Remove DiagnosticConsumer::clone(), a bad idea that is now unused.
llvm-svn: 181070
|
#
6b930967 |
| 03-May-2013 |
Douglas Gregor <dgregor@apple.com> |
When building a module, forward diagnostics to the outer diagnostic consumer.
Previously, we would clone the current diagnostic consumer to produce a new diagnostic consumer to use when building a m
When building a module, forward diagnostics to the outer diagnostic consumer.
Previously, we would clone the current diagnostic consumer to produce a new diagnostic consumer to use when building a module. The problem here is that we end up losing diagnostics for important diagnostic consumers, such as serialized diagnostics (where we'd end up with two diagnostic consumers writing the same output file). With forwarding, the diagnostics from all of the different modules being built get forwarded to the one serialized-diagnostic consumer and are emitted in a sane way.
Fixes <rdar://problem/13663996>.
llvm-svn: 181067
show more ...
|
#
3446ee03 |
| 04-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Remove the unused MemoryBuffers, no functionality change.
llvm-svn: 178780
|
#
0c2f30b9 |
| 03-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[preprocessor] Allow comparing two macro definitions syntactically instead of only lexically.
Syntactically means the function macro parameter names do not need to use the same identifiers in order
[preprocessor] Allow comparing two macro definitions syntactically instead of only lexically.
Syntactically means the function macro parameter names do not need to use the same identifiers in order for the definitions to be considered identical.
Syntactic equivalence is a microsoft extension for macro redefinitions and we'll also use this kind of comparison to check for ambiguous macros coming from modules.
rdar://13562254
llvm-svn: 178671
show more ...
|
#
05ba2a05 |
| 03-Apr-2013 |
Douglas Gregor <dgregor@apple.com> |
Use getPredefinesFileID() appropriately.
Thanks to Argyrios for the pointer.
llvm-svn: 178616
|
#
dbcf5037 |
| 29-Mar-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove sign-compare warning on systems that still use 32 bit time_ts.
llvm-svn: 178351
|
#
6c811411 |
| 27-Mar-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[Preprocessor] Remove PPMutationListener.
It's not used anymore.
llvm-svn: 178106
|
#
b6210dff |
| 26-Mar-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[Preprocessor/Modules] Separate the macro directives kinds into their own MacroDirective's subclasses.
For each macro directive (define, undefine, visibility) have a separate object that gets chaine
[Preprocessor/Modules] Separate the macro directives kinds into their own MacroDirective's subclasses.
For each macro directive (define, undefine, visibility) have a separate object that gets chained to the macro directive history. This has several benefits:
-No need to mutate a MacroDirective when there is a undefine/visibility directive. Stuff like PPMutationListener become unnecessary. -No need to keep extra source locations for the undef/visibility locations for the define directive object (which is the majority of the directives) -Much easier to hide/unhide a section in the macro directive history. -Easier to track the effects of the directives across different submodules.
llvm-svn: 178037
show more ...
|
#
37da327c |
| 25-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
Use <time.h> rather than <sys/time.h>
llvm-svn: 177924
|
#
527b1c95 |
| 25-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
<rdar://problem/13434605> Periodically prune the module cache so that it does not grow forever.
llvm-svn: 177918
|
#
11ef0b77 |
| 22-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
<rdar://problem/13479539> Only rebuild the global module cache when we're allowed to.
This eliminates excessive rebuilds of the global module cache.
llvm-svn: 177766
|
#
fb912657 |
| 20-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
<rdar://problem/12368093> Extend module maps with a 'conflict' declaration, and warn when a newly-imported module conflicts with an already-imported module.
llvm-svn: 177577
|
#
35b13ece |
| 20-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
<rdar://problem/10796651> Introduce configuration macros into module maps.
Configuration macros are macros that are intended to alter how a module works, such that we need to build different module
<rdar://problem/10796651> Introduce configuration macros into module maps.
Configuration macros are macros that are intended to alter how a module works, such that we need to build different module variants for different values of these macros. A module can declare its configuration macros, in which case we will complain if the definition of a configation macro on the command line (or lack thereof) differs from the current preprocessor state at the point where the module is imported. This should eliminate some surprises when enabling modules, because "#define CONFIG_MACRO ..." followed by "#include <module/header.h>" would silently ignore the CONFIG_MACRO setting. At least it will no longer be silent about it.
Configuration macros are eventually intended to help reduce the number of module variants that need to be built. When the list of configuration macros for a module is exhaustive, we only need to consider the settings for those macros when building/finding the module, which can help isolate modules for various project-specific -D flags that should never affect how modules are build (but currently do).
llvm-svn: 177466
show more ...
|
#
7029ce1a |
| 19-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
<rdar://problem/13363214> Eliminate race condition between module rebuild and the global module index.
The global module index was querying the file manager for each of the module files it knows abo
<rdar://problem/13363214> Eliminate race condition between module rebuild and the global module index.
The global module index was querying the file manager for each of the module files it knows about at load time, to prune out any out-of-date information. The file manager would then cache the results of the stat() falls used to find that module file.
Later, the same translation unit could end up trying to import one of the module files that had previously been ignored by the module cache, but after some other Clang instance rebuilt the module file to bring it up-to-date. The stale stat() results in the file manager would trigger a second rebuild of the already-up-to-date module, causing failures down the line.
The global module index now lazily resolves its module file references to actual AST reader module files only after the module file has been loaded, eliminating the stat-caching race. Moreover, the AST reader can communicate to its caller that a module file is missing (rather than simply being out-of-date), allowing us to simplify the module-loading logic and allowing the compiler to recover if a dependent module file ends up getting deleted.
llvm-svn: 177367
show more ...
|