| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarations (in addition to macros). Each kind of declaration maps to
a certain set of completion contexts, and the ASTUnit completion logic
introduces the completion strings for those declarations if the actual
code-completion occurs in one of the contexts where it matters.
There are a few new code-completion-context kinds. Without these,
certain completions (e.g., after "using namespace") would need to
suppress all global completions, which would be unfortunate.
Note that we don't get the priorities right for global completions,
because we don't have enough type information. We'll need a way to
compare types in an ASTContext-agnostic way before this can be
implemented.
llvm-svn: 111093
|
|
|
|
|
|
| |
will apply all fixes even when there were other errors in the file.
llvm-svn: 111020
|
|
|
|
|
|
|
|
| |
a -cc1 option. The Darwin linker complains about mixed visibility when linking
gcc-built objects with clang-built objects, and the optimization isn't really
that valuable. Platforms with less ornery linkers can feel free to enable this.
llvm-svn: 110979
|
|
|
|
|
|
| |
linker in use.
llvm-svn: 110871
|
|
|
|
|
|
| |
of just ignoring it.
llvm-svn: 110525
|
|
|
|
|
|
|
|
|
| |
to a flag (-analyzer-check-idempotent-operations)
- Added IdempotentOperationChecker to experimental analyses for testing purposes
- Updated test cases to explictly call the checker
llvm-svn: 110482
|
|
|
|
|
|
| |
analysis) that doesn't prune CFG edges.
llvm-svn: 110087
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the usual consistency checks used to determine when a precompiled
header is incompatible with the translation unit it's being loaded
into.
Enable this option when loading a precompiled preamble, because the
preamble loader will be performing all of this checking itself. Enable
the preamble-based test now that it's working.
This option is also useful for debugging Clang's PCH
(<rdar://problem/7532213>).
llvm-svn: 109475
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reparsing an ASTUnit. When saving a preamble, create a buffer larger
than the actual file we're working with but fill everything from the
end of the preamble to the end of the file with spaces (so the lexer
will quickly skip them). When we load the file, create a buffer of the
same size, filling it with the file and then spaces. Then, instruct
the lexer to start lexing after the preamble, therefore continuing the
parse from the spot where the preamble left off.
It's now possible to perform a simple preamble build + parse (+
reparse) with ASTUnit. However, one has to disable a bunch of checking
in the PCH reader to do so. That part isn't committed; it will likely
be handled with some other kind of flag (e.g., -fno-validate-pch).
As part of this, fix some issues with null termination of the memory
buffers created for the preamble; we were trying to explicitly
NULL-terminate them, even though they were also getting implicitly
NULL terminated, leading to excess warnings about NULL characters in
source files.
llvm-svn: 109445
|
|
|
|
|
|
|
| |
worked for C anyway. Also kills the -cc1 options -parse-noop and
-parse-print-callbacks.
llvm-svn: 109392
|
|
|
|
|
|
|
|
|
| |
which is the part of the file that contains all of the initial
comments, includes, and preprocessor directives that occur before any
of the actual code. Added a new -print-preamble cc1 action that is
only used for testing.
llvm-svn: 108913
|
|
|
|
|
|
|
|
|
|
| |
it into the default path-sensitive analysis options.
- Added checks for static local variables, self assigned parameters, and truncating/extending self assignments
- Removed command line option (now default with --analyze)
- Updated test cases to pass with idempotent operation warnings
llvm-svn: 108550
|
|
|
|
|
|
|
| |
spell-checking. By default, spell-checking is enabled for Clang
(obviously) but disabled in CIndex for performance reasons.
llvm-svn: 107992
|
|
|
|
|
|
| |
the PCH writer if it is not set, preventing creation of chained PCH files. Since the reader is so far unused, effectively no functionality change.
llvm-svn: 107936
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(-analyzer-idempotent-operation). Finds idempotent and/or tautological operations in a path sensitive context, flagging operations that have no effect or a predictable effect.
Example:
{
int a = 1;
int b = 5;
int c = b / a; // a is 1 on all paths
}
- New IdempotentOperationChecker class
- Moved recursive Stmt functions in r107675 to IdempotentOperationChecker
- Minor refactoring of SVal to allow checking for any integer
- Added command line option for check
- Added basic test cases
llvm-svn: 107706
|
|
|
|
| |
llvm-svn: 107367
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of this, pull together trapv handling into the same enum.
This also add support for NSW multiplies.
This also makes PCH disagreement on overflow behavior silent, since it
really doesn't matter except for warnings and codegen (no macros get
defined etc).
llvm-svn: 106956
|
|
|
|
|
|
| |
Elhage!
llvm-svn: 106507
|
|
|
|
|
|
| |
Straszheim!
llvm-svn: 106113
|
|
|
|
| |
llvm-svn: 106003
|
|
|
|
|
|
| |
over Arg*s.
llvm-svn: 105838
|
|
|
|
|
|
|
| |
candidates printed. We default to 'all'. At the moment, 'best' prints only
the first 4 overloads, but we'll improve that over time.
llvm-svn: 105815
|
|
|
|
|
|
| |
select either the default Itanium ABI or the new, experimental Microsoft ABI.
llvm-svn: 105804
|
|
|
|
| |
llvm-svn: 105759
|
|
|
|
|
|
| |
- These inputs follow an abbreviated execution path, but are still worth handling by FrontendAction so they reuse all the other clang -cc1 features.
llvm-svn: 105582
|
|
|
|
| |
llvm-svn: 105577
|
|
|
|
|
|
| |
argument to BackendConsumer.
llvm-svn: 105574
|
|
|
|
|
|
| |
instructions when using -integrated-as.
llvm-svn: 104807
|
|
|
|
|
|
| |
statements }) in the code-completion results if explicitly requested.
llvm-svn: 104637
|
|
|
|
|
|
| |
.s printer or .o writer.
llvm-svn: 104623
|
|
|
|
| |
llvm-svn: 104237
|
|
|
|
|
|
| |
number of times the analyzer will go through a loop.
llvm-svn: 104007
|
|
|
|
| |
llvm-svn: 103258
|
|
|
|
|
|
|
| |
flag now, and can be used with other analyses. Only turned it on for C++
methods for now.
llvm-svn: 103160
|
|
|
|
|
|
|
|
|
|
|
|
| |
over choice of:
t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat]
t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat,1]
t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat,Format String]
dox to come.
llvm-svn: 103056
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
printed in a diagnostic, similar to the limit we already have on the
depth of the template instantiation backtrace. The macro instantiation
backtrace is limited to 10 "instantiated from:" diagnostics; when it's
longer than that, we'll show the first half, then say how many were
suppressed, then show the second half. The limit can be changed with
-fmacro-instantiation-limit=N, and turned off with N=0.
This eliminates a lot of note spew with libraries making use of the
Boost.Preprocess library.
llvm-svn: 103014
|
|
|
|
| |
llvm-svn: 102847
|
|
|
|
|
|
| |
instead of NDEBUG.
llvm-svn: 102622
|
|
|
|
|
|
|
|
|
|
| |
- Replace -cc1 level -fobjc-legacy-dispatch with -fobjc-dispatch-method={legacy,non-legacy,mixed}.
- Lift "mixed" vs "non-mixed" policy choice up to driver level, instead of being buried in CGObjCMac.cpp.
- No intended functionality change.
llvm-svn: 102255
|
|
|
|
|
|
| |
files with the additional suffix in the middle.
llvm-svn: 102230
|
|
|
|
| |
llvm-svn: 102112
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we will print with each error that occurs during template
instantiation. When the backtrace is longer than that, we will print
N/2 of the innermost backtrace entries and N/2 of the outermost
backtrace entries, then skip the middle entries with a note such as:
note: suppressed 2 template instantiation contexts; use
-ftemplate-backtrace-limit=N to change the number of template
instantiation entries shown
This should eliminate some excessively long backtraces that aren't
providing any value.
llvm-svn: 101882
|
|
|
|
|
|
|
|
| |
implemented precisely the same as GCC, but the distinction GCC makes isn't
useful to represent. This allows parsing code which uses GCC-specific keywords
('asm', etc.) without parsing in a fully GNU mode.
llvm-svn: 101667
|
|
|
|
| |
llvm-svn: 101666
|
|
|
|
| |
llvm-svn: 101370
|
|
|
|
|
|
|
|
| |
option parser.
- Note that this is a behavior change, previously -mllvm at the driver level forwarded to clang -cc1. The driver does a little magic to make sure that '-mllvm -disable-llvm-optzns' works correctly, but other users will need to be updated to use -Xclang.
llvm-svn: 101354
|
|
|
|
| |
llvm-svn: 101215
|
|
|
|
| |
llvm-svn: 101120
|
|
|
|
|
|
| |
patch by Sylvere Teissier!
llvm-svn: 101108
|
|
|
|
|
|
| |
behaves like aa flag.
llvm-svn: 100943
|