summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
Commit message (Collapse)AuthorAgeFilesLines
* Update for llvm::sys::fs::unique_file not creating directories.Rafael Espindola2013-06-281-13/+21
| | | | llvm-svn: 185127
* Small improvements to createOutputFile.Rafael Espindola2013-06-271-25/+41
| | | | | | | | * 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
* Remove PathV1.h from CompilerInvocation.cpp.Rafael Espindola2013-06-261-8/+7
| | | | llvm-svn: 184918
* Use llvm::sys::fs::getMainExecutable.Rafael Espindola2013-06-261-1/+2
| | | | llvm-svn: 184915
* Remove PathV1.h from CompilerInstance.cpp.Rafael Espindola2013-06-261-8/+6
| | | | llvm-svn: 184913
* Don't use PathV1.h in ASTUnit.cpp.Rafael Espindola2013-06-261-5/+3
| | | | llvm-svn: 184912
* Remove the last use of PathWithStatus.Rafael Espindola2013-06-261-4/+4
| | | | llvm-svn: 184909
* Use llvm::sys::fs::unique_file.Rafael Espindola2013-06-261-26/+7
| | | | llvm-svn: 184908
* Remove some uses of llvm::sys::Path.Rafael Espindola2013-06-261-6/+6
| | | | llvm-svn: 184907
* Make -vectorize-... proper cc1 flags instead of abusing -backend-option. FixesNick Lewycky2013-06-251-0/+4
| | | | | | usage of clang as a library. llvm-svn: 184812
* [libclang/codecompletion] Make sure the top-level decl hash takes into ↵Argyrios Kyrtzidis2013-06-241-1/+9
| | | | | | | | | | | account ImportDecls. The top-level hash is used to determine if we need to update the global code-completion results. ImportDecls did not affect the hash so a newly introduced ImportDecl would not trigger an update of the global results. rdar://14202797 llvm-svn: 184782
* Add -ast-dump-lookups switch to -cc1 to dump DeclContext lookup maps. Test toRichard Smith2013-06-243-16/+22
| | | | | | follow. llvm-svn: 184678
* Remove duplicated case.Benjamin Kramer2013-06-221-1/+0
| | | | llvm-svn: 184640
* Fix a leak of TargetMachine in clang. We'll continue to leak it on purpose ifNick Lewycky2013-06-211-0/+1
| | | | | | given -disable-free. (Reviewed by John McCall over IRC.) llvm-svn: 184595
* [Modules] If a module map resides in a system header directory, treat it as ↵Douglas Gregor2013-06-212-2/+2
| | | | | | | | | a system module. This prevents -pedantic from causing warnings in the system headers used to create modules. Fixes <rdar://problem/14201171>. llvm-svn: 184560
* This patch adds new private headers to the module map. PrivateLawrence Crowl2013-06-202-3/+4
| | | | | | | headers may be included from within the module, but not from outside the module. llvm-svn: 184471
* Use the new name of getUniqueID.Rafael Espindola2013-06-201-5/+5
| | | | llvm-svn: 184432
* Debug Info: support for gdwarf-2 gdwarf-3 gdwarf-4Manman Ren2013-06-191-1/+11
| | | | | | | | These options will add a module flag with name "Dwarf Version". The behavior flag is currently set to Warning, so when two values disagree, a warning will be emitted. llvm-svn: 184276
* Use llvm::sys::fs::can_write.Rafael Espindola2013-06-181-1/+2
| | | | llvm-svn: 184234
* Use llvm::sys::fs::GetUniqueID.Rafael Espindola2013-06-181-15/+22
| | | | llvm-svn: 184218
* Add support for -fpcc-struct-return. Patch by Arthur O'Dwyer!John McCall2013-06-181-0/+9
| | | | llvm-svn: 184166
* [Driver] Refactor clang driver to use LLVM's Option libraryReid Kleckner2013-06-142-44/+67
| | | | | | | | | | | | | | | | | | The big changes are: - Deleting Driver/(Arg|Opt)* - Rewriting includes to llvm/Option/ and re-sorting - 'using namespace llvm::opt' in clang::driver - Fixing the autoconf build by adding option everywhere As discussed in the review, this change includes using directives in header files. I'll make follow up changes to remove those in favor of name specifiers. Reviewers: espindola Differential Revision: http://llvm-reviews.chandlerc.com/D975 llvm-svn: 183989
* Don't depend on the transitive inclusion of PathV1.h.Rafael Espindola2013-06-131-0/+1
| | | | llvm-svn: 183945
* Use the sys::RemoveFileOnSignal that takes a StringRef.Rafael Espindola2013-06-131-1/+1
| | | | llvm-svn: 183944
* Modernize some low-hanging PathV1 uses.Benjamin Kramer2013-06-132-19/+24
| | | | llvm-svn: 183903
* Use the global functions instead of the Program methods.Rafael Espindola2013-06-121-1/+1
| | | | llvm-svn: 183861
* Include PathV1.h in files that use it.Rafael Espindola2013-06-114-0/+4
| | | | | | This is preparation for replacing Path.h with PathV2.h. llvm-svn: 183781
* Modify a comment to reflect changes of r183717.Argyrios Kyrtzidis2013-06-111-2/+2
| | | | llvm-svn: 183751
* ASTUnit: Invert the dependency of PrecompilePreambleAction on ↵Benjamin Kramer2013-06-111-40/+43
| | | | | | | | PrecompilePreambleConsumer. Actions outlive consumers. PR16295. Found by AddressSanitizer. llvm-svn: 183741
* [libclang] Allow building a precompiled preamble with compiler errorsArgyrios Kyrtzidis2013-06-112-10/+22
| | | | | | | | | | | A while ago we allowed libclang to build a PCH that had compiler errors; this was to retain the performance afforded by a PCH even if the user's code is in an intermediate state. Extend this for the precompiled preamble as well. rdar://14109828 llvm-svn: 183717
* Handle Unicode characters in fix-it replacement strings.Jordan Rose2013-06-071-19/+17
| | | | | | Patch by Sukolsak Sakshuwong! llvm-svn: 183535
* Adding support for MSVC #pragma detect_mismatch functionality by emitting a ↵Aaron Ballman2013-06-041-19/+30
| | | | | | FAILIFMISMATCH linker command into the object file. llvm-svn: 183178
* [modules] If we hit a failure while loading a PCH/module, abort parsing ↵Argyrios Kyrtzidis2013-05-242-1/+8
| | | | | | | | | | 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
* Revert r182331, these checks should be based on the target not the host.Richard Smith2013-05-201-2/+0
| | | | llvm-svn: 182333
* Move two Darwin-specific hacks into #ifdef __APPLE__. These were stat'ingRichard Smith2013-05-201-0/+2
| | | | | | nonexistent Darwin-specific files on every module build. llvm-svn: 182331
* C++1y deduced return types: when we deduce a return type for a function whichRichard Smith2013-05-111-0/+6
| | | | | | | we loaded from PCH, if we're building another PCH, create an update record to patch the return type of the earlier declaration. llvm-svn: 181659
* [Modules] Extend Darwin hack to include the modification time of ↵Douglas Gregor2013-05-101-1/+7
| | | | | | | | SystemVersion.plist. Fixes <rdar://problem/13856838>. llvm-svn: 181635
* [libclang] When parsing with CXTranslationUnit_ForSerialization, make sure ↵Argyrios Kyrtzidis2013-05-101-0/+10
| | | | | | | | to install the ASTWriter that we create as an ASTMutationListener. Fixes rdar://13833268 llvm-svn: 181575
* [PCH] Remove the ASTReaderListener::ReadHeaderFileInfo callback.Argyrios Kyrtzidis2013-05-081-11/+3
| | | | | | | | This made sense in pre-module era, before merging of HeaderFileInfos was introduced. Final part of rdar://13840148. llvm-svn: 181490
* C++1y: Add a step limit to constexpr evaluation, to catch runaway loops.Richard Smith2013-05-081-0/+2
| | | | llvm-svn: 181388
* C++1y: Update __cplusplus to temporary value 201305L to allow detection of ↵Richard Smith2013-05-071-3/+4
| | | | | | | | | provisional C++1y support. Add __has_feature and __has_extension checks for C++1y features (based on the provisional names from the C++ features study group), and update documentation to match. llvm-svn: 181342
* Use remove_if to erase parts of a vector. Avoids O(n^2) worst cases.Benjamin Kramer2013-05-051-8/+9
| | | | llvm-svn: 181150
* Replace ArrayRef<T>() with None, now that we have an implicit ArrayRef ↵Dmitri Gribenko2013-05-051-3/+2
| | | | | | | | constructor from None Patch by Robert Wilhelm. llvm-svn: 181139
* Revert r177218.Argyrios Kyrtzidis2013-05-032-2/+0
| | | | | | Per discussion in cfe-commits, asserting may be a better way than introducing a special test flag. llvm-svn: 181073
* Remove DiagnosticConsumer::clone(), a bad idea that is now unused.Douglas Gregor2013-05-037-47/+5
| | | | llvm-svn: 181070
* When building a module, forward diagnostics to the outer diagnostic consumer.Douglas Gregor2013-05-034-10/+44
| | | | | | | | | | | | | | | 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
* Add support for -stdlib=libc++ in the NetBSD toolchain.Joerg Sonnenberger2013-04-301-3/+0
| | | | llvm-svn: 180766
* When emitting a preprocessed file with implicit module imports, make sure ↵Argyrios Kyrtzidis2013-04-291-0/+1
| | | | | | | | line directives are emitted in the next line. rdar://13722737 llvm-svn: 180718
* [frontend] Make -chain-include work when used with modules.Argyrios Kyrtzidis2013-04-262-0/+3
| | | | llvm-svn: 180633
* [driver] Improve the implementation of the -Ofast option.Chad Rosier2013-04-241-11/+2
| | | | | | | | | | | | Specifically, allow the flags that fall under this umbrella (i.e., -O3, -ffast-math, and -fstrict-aliasing) to be overridden/disabled with the individual -O[0|1|2|s|z]/-fno- flags. This also fixes the handling of various floating point optimization flags that are modified by -ffast-math (and thus -Ofast as well). Part of rdar://13622687 llvm-svn: 180204
OpenPOWER on IntegriCloud