| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
of c-style arguments. Completes radar 7445205.
llvm-svn: 100813
|
| |
|
|
|
|
|
| |
Declarator that depends on it. This fixes several redundant errors and bad
recoveries.
llvm-svn: 100779
|
| |
|
|
|
|
| |
-dump-record-layouts a bit that Sema honors.
llvm-svn: 100747
|
| |
|
|
| |
llvm-svn: 100746
|
| |
|
|
| |
llvm-svn: 100733
|
| |
|
|
| |
llvm-svn: 100708
|
| |
|
|
| |
llvm-svn: 100687
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of errors and warnings. This allows us to emit something like this:
2 warnings and 1 error generated.
instead of:
3 diagnostics generated.
This also stops counting 'notes' because they are just follow-on information
about the previous diag, not a diagnostic in themselves.
llvm-svn: 100675
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
allowing backend errors to be mapped through clang's
diagnostics subsystem, including the backend location info.
We now get:
$ clang asm.c -c -o t.o -integrated-as
<inline asm>:1:2: error: unrecognized instruction
abc incl %eax
^
1 diagnostic generated.
With colors, and correct "# diagnostics generated".
llvm-svn: 100543
|
| |
|
|
| |
llvm-svn: 100537
|
| |
|
|
|
|
|
|
| |
presence of precompiled headers by forcibly loading all of the
methods we know about from the PCH file before constructing our
code-completion list.
llvm-svn: 100535
|
| |
|
|
|
|
| |
maybe-ownership vs. ownership.
llvm-svn: 100498
|
| |
|
|
| |
llvm-svn: 100484
|
| |
|
|
|
|
|
|
|
| |
ASTUnit. Previously, we would end up with use-after-free errors
because the Diagnostic object would be creating in one place (say,
CIndex) and its ownership would not be transferred into the
ASTUnit. Fixes <rdar://problem/7818608>.
llvm-svn: 100464
|
| |
|
|
|
|
|
|
| |
- Rename "Diagnostics" and related to "StoredDiagnostics", to better
capture what we're actually storing.
- Move SourceManager and FileManager to the heap.
llvm-svn: 100441
|
| |
|
|
|
|
| |
Clang++ support, even in "Production" mode (for testing purposes).
llvm-svn: 100119
|
| |
|
|
|
|
| |
the C-only "optimization".
llvm-svn: 100022
|
| |
|
|
|
|
| |
refactoring work in this area.
llvm-svn: 100019
|
| |
|
|
| |
llvm-svn: 100018
|
| |
|
|
|
|
|
| |
term "fix-it" everywhere and even *I* get tired of long names
sometimes. No functionality change.
llvm-svn: 100008
|
| |
|
|
|
|
| |
Fixes PR3782.
llvm-svn: 99940
|
| |
|
|
|
|
|
|
| |
This introduces FunctionType::ExtInfo to hold the calling convention and the
noreturn attribute. The next patch will extend it to include the regparm
attribute and fix the bug.
llvm-svn: 99920
|
| |
|
|
| |
llvm-svn: 99894
|
| |
|
|
| |
llvm-svn: 99417
|
| |
|
|
|
|
| |
DependencyFile to not do work in its destructor.
llvm-svn: 99257
|
| |
|
|
|
|
|
| |
entry in a precompiled header, so that we can detect modified files
even when we miss in the stat cache.
llvm-svn: 99149
|
| |
|
|
|
|
|
|
| |
- So much typing, so little gain...
Also, rename the __cxx_global_initialization function just to match llvm-gcc.
llvm-svn: 99039
|
| |
|
|
|
|
|
|
| |
ranges as part of the ASTContext. This code is not and was never used,
but contributes ~250k to the size of the Cocoa.h precompiled
header.
llvm-svn: 99007
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
record (which includes all macro instantiations and definitions). As
with all lay deserialization, this introduces a new external source
(here, an external preprocessing record source) that loads all of the
preprocessed entities prior to iterating over the entities.
The preprocessing record is an optional part of the precompiled header
that is disabled by default (enabled with
-detailed-preprocessing-record). When the preprocessor given to the
PCH writer has a preprocessing record, that record is written into the
PCH file. When the PCH reader is given a PCH file that contains a
preprocessing record, it will be lazily loaded (which, effectively,
implicitly adds -detailed-preprocessing-record). This is the first
case where we have sections of the precompiled header that are
added/removed based on a compilation flag, which is
unfortunate. However, this data consumes ~550k in the PCH file for
Cocoa.h (out of ~9.9MB), and there is a non-trivial cost to gathering
this detailed preprocessing information, so it's too expensive to turn
on by default. In the future, we should investigate a better encoding
of this information.
llvm-svn: 99002
|
| |
|
|
|
|
|
|
| |
actual action.
- This is easier to use, and more reliable for timing the thing this was
actually meant to be useful for.
llvm-svn: 98978
|
| |
|
|
|
|
| |
tie its creation to a CC1 flag -detailed-preprocessing-record.
llvm-svn: 98963
|
| |
|
|
| |
llvm-svn: 98873
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the macro definitions and macro instantiations that are found
during preprocessing. Preprocessing records are *not* generated by
default; rather, we provide a PPCallbacks subclass that hooks into the
existing callback mechanism to record this activity.
The only client of preprocessing records is CIndex, which keeps track
of macro definitions and instantations so that they can be exposed via
cursors. At present, only token annotation uses these facilities, and
only for macro instantiations; both will change in the near
future. However, with this change, token annotation properly annotates
macro instantiations that do not produce any tokens and instantiations
of macros that are later undef'd, improving our consistency.
Preprocessing directives that are not macro definitions are still
handled by clang_annotateTokens() via re-lexing, so that we don't have
to track every preprocessing directive in the preprocessing record.
Performance impact of preprocessing records is still TBD, although it
is limited to CIndex and therefore out of the path of the main compiler.
llvm-svn: 98836
|
| |
|
|
| |
llvm-svn: 98817
|
| |
|
|
| |
llvm-svn: 98816
|
| |
|
|
|
|
| |
the PCHReader more robust to corrupt or invalid PCH files.
llvm-svn: 98788
|
| |
|
|
|
|
| |
source file has been changed. Handle that failure more gracefully.
llvm-svn: 98727
|
| |
|
|
| |
llvm-svn: 98722
|
| |
|
|
| |
llvm-svn: 98721
|
| |
|
|
| |
llvm-svn: 98719
|
| |
|
|
|
|
|
| |
ASTUnit::LoadFromCompilerInvocation() fails to create target
information.
llvm-svn: 98697
|
| |
|
|
| |
llvm-svn: 98655
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
presence or absence of header map arguments when using the precompiled
header would cause Clang to get confused about which headers had
already been included/imported, along with their controlling
macros. The fundamental problem is that the serialization of the
header search information was relying on the UIDs of FileEntry objects
at PCH generation time and PCH load time to be equivalent, which
effectively means that we had to probe the same files in the same
order. Differing header map arguments caused an extra FileEntry
lookup, but it's easy to imagine other minor command-line arguments
triggering this problem.
Header-search information is now encoded along with the
source-location entry for a file, so that we register information
about a file's properties as a header at the same time we create the
FileEntry for that file.
Fixes <rdar://problem/7743243>.
llvm-svn: 98636
|
| |
|
|
| |
llvm-svn: 98631
|
| |
|
|
|
|
| |
const char*.
llvm-svn: 98630
|
| |
|
|
|
|
| |
<rdar://problem/7735566>.
llvm-svn: 98613
|
| |
|
|
|
|
| |
simplifying the SourceManager interfaces somewhat.
llvm-svn: 98598
|
| |
|
|
|
|
| |
and start simplifying the interfaces in SourceManager that can fail.
llvm-svn: 98594
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
SourceManager's getBuffer() (and similar) operations. This abstract
can be used to force callers to cope with errors in getBuffer(), such
as missing files and changed files. Fix a bunch of callers to use the
new interface.
Add some very basic checks for file consistency (file size,
modification time) into ContentCache::getBuffer(), although these
checks don't help much until we've updated the main callers (e.g.,
SourceManager::getSpelling()).
llvm-svn: 98585
|
| |
|
|
| |
llvm-svn: 98541
|