| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'-fno-unroll-loops'. The option to the backend is even called
'DisableUnrollLoops'. This is precisely the form that Clang *didn't*
support. We didn't recognize the flag, we didn't pass it to the CC1
layer, and even if we did we wouldn't use it. Clang only inspected the
positive form of the flag, and only did so to enable loop unrolling when
the optimization level wasn't high enough. This only occurs for an
optimization level that even has a chance of running the loop unroller
when optimizing for size.
This commit wires up the 'no' variant, and switches the code to actually
follow the standard flag pattern of using the last flag and allowing
a flag in either direction to override the default.
I think this is still wrong. I don't know why we disable the loop
unroller entirely *from Clang* when optimizing for size, as the loop
unrolling pass *already has special logic* for the case where the
function is attributed as optimized for size! We should really be
trusting that. Maybe in a follow-up patch, I don't really want to change
behavior here.
llvm-svn: 187969
|
|
|
|
|
|
|
|
|
|
|
|
| |
These flags set some preprocessor macros and injects a dependency
on the runtime library into the object file, which later is picked up
by the linker.
This also adds a new CC1 flag for adding a dependent library.
Differential Revision: http://llvm-reviews.chandlerc.com/D1315
llvm-svn: 187945
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
enum references.
The problem was that an enum without closing semicolon could be associated as a forward enum
in an erroneous declaration, leading to the identifier being associated with the enum decl but
without a declaration actually referencing it.
This resulted in not having it serialized before serializing the identifier that is associated with.
Also prevent the ASTUnit from querying the serialized DeclID for an invalid top-level decl; it may not
have been serialized.
rdar://14539667
llvm-svn: 187914
|
|
|
|
|
|
| |
fully supported, up to some limitations documented as FIXMEs or TODO. Static data member templates work very partially. Static data member templates of class templates need particular attention...
llvm-svn: 187762
|
|
|
|
|
|
|
| |
This patch was created by Lawrence Crowl and reviewed in:
http://llvm-reviews.chandlerc.com/D963
llvm-svn: 187738
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We already reject flags that don't have the CC1Option flag,
but we would previously do so after parsing the command-line
arguments.
Since the option parser now has a parameter for excluding options,
we should just use that instead.
Differential Revision: http://llvm-reviews.chandlerc.com/D1270
llvm-svn: 187668
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This unifies the unix and windows versions of FileManager::UniqueDirContainer
and FileManager::UniqueFileContainer by using UniqueID.
We cannot just replace "struct stat" with llvm::sys::fs::file_status, since we
want to be able to construct fake ones, and file_status has different members
on unix and windows.
What the patch does is:
* Record only the information that clang is actually using.
* Use llvm::sys::fs::status instead of stat and fstat.
* Use llvm::sys::fs::UniqueID
* Delete the old windows versions of UniqueDirContainer and
UniqueFileContainer since the "unix" one now works on windows too.
llvm-svn: 187619
|
|
|
|
| |
llvm-svn: 187379
|
|
|
|
| |
llvm-svn: 187364
|
|
|
|
|
|
| |
Should fix some of the bots that have assertions disabled.
llvm-svn: 187329
|
|
|
|
| |
llvm-svn: 186899
|
|
|
|
|
|
|
| |
Use CaptureDroppedDiagnostics to make sure that there is a diagnostic
client installed when warning flags are parsed.
llvm-svn: 186582
|
|
|
|
| |
llvm-svn: 186487
|
|
|
|
| |
llvm-svn: 186448
|
|
|
|
|
|
|
| |
migration. Also, fixes an old bug where older migration
flags were not being checked for properly.
llvm-svn: 185948
|
|
|
|
|
|
|
| |
Include a test that clang now produces output files with permissions matching
the umask.
llvm-svn: 185727
|
|
|
|
| |
llvm-svn: 185717
|
|
|
|
| |
llvm-svn: 185715
|
|
|
|
|
|
|
| |
The operator== calls equivalent which calls default_error_condition which
handles windows to posix conversion.
llvm-svn: 185702
|
|
|
|
| |
llvm-svn: 185164
|
|
|
|
| |
llvm-svn: 185127
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
llvm-svn: 184918
|
|
|
|
| |
llvm-svn: 184915
|
|
|
|
| |
llvm-svn: 184913
|
|
|
|
| |
llvm-svn: 184912
|
|
|
|
| |
llvm-svn: 184909
|
|
|
|
| |
llvm-svn: 184908
|
|
|
|
| |
llvm-svn: 184907
|
|
|
|
|
|
| |
usage of clang as a library.
llvm-svn: 184812
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
follow.
llvm-svn: 184678
|
|
|
|
| |
llvm-svn: 184640
|
|
|
|
|
|
| |
given -disable-free. (Reviewed by John McCall over IRC.)
llvm-svn: 184595
|
|
|
|
|
|
|
|
|
| |
a system module.
This prevents -pedantic from causing warnings in the system headers
used to create modules. Fixes <rdar://problem/14201171>.
llvm-svn: 184560
|
|
|
|
|
|
|
| |
headers may be included from within the module, but not from outside
the module.
llvm-svn: 184471
|
|
|
|
| |
llvm-svn: 184432
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 184234
|
|
|
|
| |
llvm-svn: 184218
|
|
|
|
| |
llvm-svn: 184166
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 183945
|
|
|
|
| |
llvm-svn: 183944
|
|
|
|
| |
llvm-svn: 183903
|
|
|
|
| |
llvm-svn: 183861
|
|
|
|
|
|
| |
This is preparation for replacing Path.h with PathV2.h.
llvm-svn: 183781
|
|
|
|
| |
llvm-svn: 183751
|
|
|
|
|
|
|
|
| |
PrecompilePreambleConsumer.
Actions outlive consumers. PR16295. Found by AddressSanitizer.
llvm-svn: 183741
|
|
|
|
|
|
|
|
|
|
|
| |
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
|