| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 97166
|
| |
|
|
| |
llvm-svn: 97113
|
| |
|
|
| |
llvm-svn: 97111
|
| |
|
|
|
|
|
|
|
|
| |
This is the way I would like to move the frontend function towards -- distinct
pieces of functionality should be exposed only via FrontendAction
implementations which have clean and relatively-stable APIs.
This also isolates the surface area in clang which depends on LLVM CodeGen.
llvm-svn: 97110
|
| |
|
|
|
|
| |
messages with.
llvm-svn: 97101
|
| |
|
|
|
|
|
| |
blocks use variables not used in any of the outer blocks.
(Fixes radar 7682149).
llvm-svn: 97073
|
| |
|
|
|
|
| |
a block pointer type. Fixes radar 7682149.
llvm-svn: 97008
|
| |
|
|
|
|
| |
llvm-gcc does, but are more strict on what uses of weakref we accept.
llvm-svn: 96992
|
| |
|
|
|
|
| |
rewriting problem. Fixes radar 7680953.
llvm-svn: 96987
|
| |
|
|
|
|
| |
itself rewritten. Radar 7669784.
llvm-svn: 96798
|
| |
|
|
|
|
|
|
| |
fixing up a few callers that thought they were propagating NoReturn
information but were in fact saying something about exception
specifications.
llvm-svn: 96766
|
| |
|
|
| |
llvm-svn: 96738
|
| |
|
|
|
|
|
|
| |
This was causing buildbot breakage.
This reverts commit d46e952cc8cb8d9eed8657d9a0b267910a0f745a.
llvm-svn: 96652
|
| |
|
|
|
|
| |
command-line option which defaults off.
llvm-svn: 96649
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to initializer expressions in an array allocated using ASTContext.
This plugs a memory leak when ASTContext uses a BumpPtrAllocator to
allocate memory for AST nodes.
In my mind this isn't an ideal solution; it would be nice to have
a general "vector"-like class that allocates memory using ASTContext,
but whose guts could be separated from the methods of InitListExpr
itself. I haven't gone and taken this approach yet because it isn't
clear yet if we'll eventually want an alternate solution for recylcing
memory using by InitListExprs as we are constructing the ASTs.
llvm-svn: 96642
|
| |
|
|
|
|
| |
instead relies on their DeclContext for iteration, etc.
llvm-svn: 96638
|
| |
|
|
|
|
| |
the ASTUnit itself is destroyed. Fixes <rdar://problem/7649385>.
llvm-svn: 96628
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we attach diagnostics to translation units and code-completion
results, so they can be queried at any time.
To facilitate this, the new StoredDiagnostic class stores a diagnostic
in a serializable/deserializable form, and ASTUnit knows how to
capture diagnostics in this stored form. CIndex's CXDiagnostic is a
thin wrapper around StoredDiagnostic, providing a C interface to
stored or de-serialized diagnostics.
I've XFAIL'd one test case temporarily, because currently we end up
storing diagnostics in an ASTUnit that's never returned to the user
(because it contains errors). I'll introduce a temporary fix for this
soon; the real fix will be to allow us to return and query invalid ASTs.
llvm-svn: 96592
|
| |
|
|
|
|
| |
rewriting. Fixes radar 7659483.
llvm-svn: 96549
|
| |
|
|
| |
llvm-svn: 96536
|
| |
|
|
|
|
|
| |
match 'ns_returns_retained' and 'cf_returns_retained' respectively. These
are not yet hooked up to the static analyzer.
llvm-svn: 96535
|
| |
|
|
| |
llvm-svn: 96447
|
| |
|
|
|
|
|
|
|
|
|
|
| |
indicate that it was enabled with -pedantic so people know
why they're getting them:
$ printf "int x;" | clang -xc - -pedantic
<stdin>:1:7: warning: no newline at end of file [-pedantic]
int x;
^
llvm-svn: 96365
|
| |
|
|
| |
llvm-svn: 96361
|
| |
|
|
|
|
| |
causes C++ compile error (radar 7651312).
llvm-svn: 96352
|
| |
|
|
|
|
| |
this as an argument.
llvm-svn: 96316
|
| |
|
|
| |
llvm-svn: 96315
|
| |
|
|
| |
llvm-svn: 96314
|
| |
|
|
| |
llvm-svn: 96299
|
| |
|
|
|
|
| |
those declarations that we know will work.
llvm-svn: 96280
|
| |
|
|
|
|
| |
(fixes radar 7649577).
llvm-svn: 96270
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of operating on each code decl. This exposes two flaws in AnalysisConsumer
that should eventually be fixed:
(1) It is not possible to associate multiple "actions" with a single
command line argument. This will require the notion of an
"analysis" group, and possibly tablegen support. (although eventually
we want to support dynamically loading analyses as well)
(2) AnalysisConsumer may not actually be scanning the declarations in namespaces.
We'll experiment first in LLVMConventionsChecker before changing the
behavior in AnalysisConsumer.
llvm-svn: 96183
|
| |
|
|
|
|
| |
as imput.
llvm-svn: 96182
|
| |
|
|
|
|
| |
unnecessary length arguments.
llvm-svn: 96164
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
-analyzer-check-llvm-conventions
Currently these checks are intended to be largely syntactical, but may get more
sophisticated over time.
As an initial foray into this brave new world, emit a static analyzer warning
when binding a temporary 'std::string' to an 'llvm::StringRef' where the
lifetime of the 'std::string' does not outlive the 'llvm::StringRef'.
llvm-svn: 96147
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(1) Since CXXMethodDecl subclasses FunctionDecl (and CXXDestructorDecl
and CXXConversion subclass CXXMethodDecl), refactor switch statement
to handle them all in one spot.
(2) Use 'DeclarationName::getAsString()' to handle all functions that
don't have simple identifiers (fixing a null dereference when scanning
for specific functions).
llvm-svn: 96146
|
| |
|
|
|
|
| |
Dyachenko Dmitry. Our system is "not so elegant" here.
llvm-svn: 96111
|
| |
|
|
|
|
|
| |
to the driver, and support it in CodeGenOptsToArgs(). Note that this changes
the default behavior of clang -cc1 to always run the verifier.
llvm-svn: 96077
|
| |
|
|
|
|
|
| |
disabled in NDEBUG builds). The option applies only to -cc1 invocations and is:
-disable_llvm_verifier
llvm-svn: 96046
|
| |
|
|
| |
llvm-svn: 96041
|
| |
|
|
|
|
|
|
|
|
|
|
| |
worth asserting about in this code: 1) if the source range
is bogus (begin loc after end loc), and 2) if the client
is trying to highlight a range that is purely whitespace.
It is possible to just silently ignore #2, but it seems like
it is always a bug, so lets keep asserting on this condition,
but with a better assert message.
llvm-svn: 95998
|
| |
|
|
|
|
|
| |
with block-pointer-type as one or more of its
arguments. Fixes radar 7638400.
llvm-svn: 95992
|
| |
|
|
|
|
| |
within the declarator of another declaration, from Enea Zaffanella!
llvm-svn: 95991
|
| |
|
|
| |
llvm-svn: 95940
|
| |
|
|
|
|
|
|
|
|
| |
not match
order of constructor arguments (all block API specific). This was exposed only in
a large block literal expression in a large file where PtrSet container size
execceded its limit and required reallocation. Fixes radar 7638294
llvm-svn: 95936
|
| |
|
|
|
|
| |
associated with ASTContext. This fixes yet another leak (<rdar://problem/7639260>).
llvm-svn: 95930
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
incompatibility and show where the structural differences are. For
example:
struct1.c:36:8: warning: type 'struct S7' has incompatible definitions
in different translation units
struct S7 { int i : 8; unsigned j : 8; } x7;
^
struct1.c:36:33: note: bit-field 'j' with type 'unsigned int' and length 8 here
struct S7 { int i : 8; unsigned j : 8; } x7;
^
struct2.c:33:33: note: bit-field 'j' with type 'unsigned int' and length 16 here
struct S7 { int i : 8; unsigned j : 16; } x7;
^
There are a few changes to make this work:
- ASTImporter now has only a single Diagnostic object, not multiple
diagnostic objects. Otherwise, having a warning/error printed via
one Diagnostic and its note printed on the other Diagnostic could
cause the note to be suppressed.
- Implemented import functionality for IntegerLiteral (along with
general support for statements and expressions)
llvm-svn: 95900
|
| |
|
|
|
|
|
|
| |
Right now, it's off by default but can be tested by passing -fdump-vtable-layouts to clang -cc1. This option will cause all vtables that will normally be emitted as part of codegen to also be dumped using the new layout code.
I've also added a very simple new vtable layout test case.
llvm-svn: 95865
|
| |
|
|
|
|
|
|
| |
array associated with NonNullAttr. This fixes yet another leak when
ASTContext uses a BumpPtrAllocator.
Fixes: <rdar://problem/7637150>
llvm-svn: 95863
|
| |
|
|
|
|
|
|
|
| |
array allocated using the allocator in ASTContext. This addresses
these strings getting leaked when using a BumpPtrAllocator (in
ASTContext).
Fixes: <rdar://problem/7636765>
llvm-svn: 95853
|