Age | Commit message (Collapse) | Author | Files | Lines |
|
state so that all of the various clones end up rendering their
diagnostics into the same serialized-diagnostics file. This is
important when we actually want failures during module build to be
reported back to the translation unit that tried to import the
not-yet-built or out-of-date module. <rdar://problem/12565727>
llvm-svn: 169057
|
|
llvm-svn: 169045
|
|
module, provide a module import stack similar to what we would get for
an include stack, e.g.,
In module 'DependsOnModule' imported from build-fail-notes.m:4:
In module 'Module' imported from DependsOnModule.framework/Headers/DependsOnModule.h:1:
Inputs/Module.framework/Headers/Module.h:15:12: note: previous definition is here
@interface Module
<rdar://problem/12696425>
llvm-svn: 169042
|
|
building module 'Foo' imported from..." notes (the same we we provide
"In file included from..." notes) in the diagnostic, so that we know
how this module got included in the first place. This is part of
<rdar://problem/12696425>.
llvm-svn: 169021
|
|
the beginning and end of the range are in different macro arguments.
PR14399.
llvm-svn: 168984
|
|
import of that module elsewhere, don't try to build the module again:
it won't work, and the experience is quite dreadful. We track this
information somewhat globally, shared among all of the related
CompilerInvocations used to build modules on-the-fly, so that a
particular Clang instance will only try to build a given module once.
Fixes <rdar://problem/12552849>.
llvm-svn: 168961
|
|
'getPointerWidth(0) >= 64' test to be a method on TargetInfo, ready to be
properly cleaned up.
llvm-svn: 168856
|
|
is not used in any #ifdef.
llvm-svn: 168703
|
|
- This ensures we see the right buffer size for the file.
llvm-svn: 168636
|
|
llvm-svn: 168510
|
|
Patch by Philip Craig.
llvm-svn: 168420
|
|
it as a pointer.
llvm-svn: 168136
|
|
CachedCompletionAllocator
to the CodeCompletionTUInfo that is going to be used to get the results.
Previously we would use ASTUnit's CodeCompletionTUInfo which has its own allocator
that will go away when we reparse. That could result in a use-after-free bug when
getting the parent context name from a CodeCompletionString.
Addresses rdar://12568377.
llvm-svn: 168133
|
|
- This diverges from gcc, and confuses tools (like dtrace) which track # line
markers as a way to determine which content is in the context of the main
file.
llvm-svn: 168128
|
|
to a cc1 -fencode-extended-block-signature and pass it
to cc1 and recognize this option to produce extended block
type signature. // rdar://12109031
llvm-svn: 168063
|
|
instead of messing with virtual files.
llvm-svn: 168062
|
|
as the include location of the main file of an imported module.
llvm-svn: 168061
|
|
llvm-svn: 168041
|
|
more sense anyway - it determines how expressions are codegen'd. It also ensures
that -ffp-contract=fast has the intended effect when compiling LLVM IR.
llvm-svn: 168027
|
|
working with preprocessed testcases. This causes source locations in
diagnostics to point at the spelling location instead of the presumed location,
while still keeping the semantic effects of the line directives (entering and
leaving system-header mode, primarily).
llvm-svn: 168004
|
|
generate expanded signature encoding to include types as we
already do this for protocol method lists.
// rdar://12109031
llvm-svn: 167997
|
|
llvm-svn: 167690
|
|
double/double/etc. have the same format. PR14285.
Based on patch by Jeroen Dobbelaere.
llvm-svn: 167649
|
|
for completeness and use it in CompilerInstance::InitializeSourceManager if
the input is a memory buffer.
llvm-svn: 167628
|
|
a memory buffer instead of only a filename.
llvm-svn: 167627
|
|
no functionality change.
llvm-svn: 167626
|
|
us from having to make any backend changes.
llvm-svn: 167623
|
|
rdar://12340498
llvm-svn: 167619
|
|
More cleanups to follow in separate commits....
llvm-svn: 167566
|
|
module in place. <rdar://problem/10138913>
llvm-svn: 167539
|
|
that we can model them as separate submodules.
llvm-svn: 167420
|
|
- The whole {File,Source}Manager is built around wanting to pre-determine the
size of files, so we can't fit this in naturally. Instead, we handle it like
we do STDIN, where we just replace the main file contents upfront.
llvm-svn: 167419
|
|
checks to enable. Remove frontend support for -fcatch-undefined-behavior,
-faddress-sanitizer and -fthread-sanitizer now that they don't do anything.
llvm-svn: 167413
|
|
-fno-sanitize=<sanitizers> argument to driver. These allow ASan, TSan, and the
various UBSan checks to be enabled and disabled separately. Right now, the
different modes can't be combined, but the intention is that combining UBSan
and the other sanitizers will be permitted in the near future.
Currently, the UBSan checks will all be enabled if any of them is; that will be
fixed by the next patch.
llvm-svn: 167411
|
|
*Sanitizer to Sanitize* in preparation for later patches.
llvm-svn: 167405
|
|
header-search options into the module hash. We're just using
ADT/Hashing.hpp for this, which isn't as cryptographically strong as
I'd like, but it'll do. If someone contributes (say) and MD4
implementation, we'd happily switch to that.
llvm-svn: 167397
|
|
the ellipsis is shorter than the text it replaces
llvm-svn: 167364
|
|
llvm-svn: 167361
|
|
llvm-svn: 167360
|
|
caret locations and source ranges in macros. Makes ranges more accurate
in some cases, and fixes an assertion failure.
Fixes <rdar://problem/12472249>.
llvm-svn: 167353
|
|
enabled.
llvm-svn: 167325
|
|
llvm-svn: 167211
|
|
and apparently unused (and since they are untested, they're presumably also
broken).
llvm-svn: 167210
|
|
The stat cache became essentially useless ever since we started
validating all file entries in the PCH.
But the motivating reason for removing it now is that it also affected
correctness in this situation:
-You have a header without include guards (using "#pragma once" or #import)
-When creating the PCH:
-The same header is referenced in an #include with different filename cases.
-In the PCH, of course, we record only one file entry for the header file
-But we cache in the PCH file the stat info for both filename cases
-Then the source files are updated and the header file is updated in a way that
its size and modification time are the same but its inode changes
-When using the PCH:
-We validate the headers, we check that header file and we create a file entry with its current inode
-There's another #include with a filename with different case than the previously created file entry
-In order to get its stat info we go through the cached stat info of the PCH and we receive the old inode
-because of the different inodes, we think they are different files so we go ahead and include its contents.
Removing the stat cache will potentially break clients that are attempting to use the stat cache
as a way of avoiding having the actual input files available. If that use case is important, patches are welcome
to bring it back in a way that will actually work correctly (i.e., emit a PCH that is self-contained, coping with
literal strings, line/column computations, etc.).
This fixes rdar://5502805
llvm-svn: 167172
|
|
Summary:
-ast-dump-filter implementation used to stop AST traversal after traversing a NULL Decl node.
Added test and fixed.
Reviewers: djasper, klimek, rsmith
Reviewed By: djasper
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D93
llvm-svn: 167155
|
|
add a test to make sure code-completion skips bodies.
llvm-svn: 167141
|
|
llvm-svn: 167007
|
|
llvm-svn: 167006
|
|
llvm-svn: 166981
|
|
llvm-svn: 166915
|