| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
This reduces duplication across the Basic and Range constraint managers, and
keeps their internals free of dealing with the semantics of C++. It's still
a little unfortunate that the constraint manager is dealing with this at all,
but this is pretty much the only place to put it so that it will apply to all
symbolic values, even when embedded in larger expressions.
llvm-svn: 162313
|
| |
|
|
| |
llvm-svn: 162307
|
| |
|
|
|
|
| |
for structure valued method messaging. // rdar://12142241
llvm-svn: 162303
|
| |
|
|
|
|
| |
(from a todo mentioned in r159469 & originally suggested by Chandler Carruth)
llvm-svn: 162302
|
| |
|
|
|
|
| |
OptTable::Info.
llvm-svn: 162299
|
| |
|
|
| |
llvm-svn: 162297
|
| |
|
|
|
|
| |
this is the index of the operand that failed to match.
llvm-svn: 162296
|
| |
|
|
| |
llvm-svn: 162294
|
| |
|
|
|
|
| |
to reflect the intention, not the implementation.
llvm-svn: 162293
|
| |
|
|
| |
llvm-svn: 162289
|
| |
|
|
| |
llvm-svn: 162288
|
| |
|
|
|
|
| |
PR9673
llvm-svn: 162285
|
| |
|
|
|
|
| |
initialized globals. Patch by Reid Watson, reviewed by Richard Smith
llvm-svn: 162259
|
| |
|
|
| |
llvm-svn: 162255
|
| |
|
|
|
|
|
|
|
|
|
| |
to overwrite objects that might have been allocated into the type's
tail padding. This patch is missing some potential optimizations where
the destination is provably a complete object, but it's necessary for
correctness.
Patch by Jonathan Sauer.
llvm-svn: 162254
|
| |
|
|
|
|
|
|
|
|
|
| |
if a diagnostic is emitted outside of any source file. The fix mirrors the
corresponding code in TextDiagnosticPrinter. This required moving the
functional parts of SDiagRenderer into SDiagWriter so they can be reused in the
non-rendering codepath.
No functionality change.
llvm-svn: 162253
|
| |
|
|
|
|
|
|
| |
diagnostics for bad deployment targets and adding a few
more predicates. Includes a patch by Jonathan Schleifer
to enable ARC for ObjFW.
llvm-svn: 162252
|
| |
|
|
| |
llvm-svn: 162251
|
| |
|
|
|
|
|
|
|
| |
just trying to show it did not crash and burn.
This patch checks that the resultant .ll contents
are correct.
llvm-svn: 162249
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The old error message stating that 'begin' was an undeclared identifier
is replaced with a new message explaining that the error is in the range
expression, along with which of the begin() and end() functions was
problematic if relevant.
Additionally, if the range was a pointer type or defines operator*,
attempt to dereference the range, and offer a FixIt if the modified range
works.
llvm-svn: 162248
|
| |
|
|
|
|
|
|
| |
By doing this in the constraint managers, we can ensure that ANY reference
whose value we don't know gets the effect, even if it's not a top-level
parameter.
llvm-svn: 162246
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a flag PrintingPolicy::DontRecurseInDeclContext to provide "terse" output
from DeclPrinter. The motivation is to use DeclPrinter to print declarations
in user-friendly format, without overwhelming user with inner detail of the
declaration being printed.
Also add many tests for DeclPrinter. There are quite a few things that we
print incorrectly: search for WRONG in DeclPrinterTest.cpp -- and these tests
check our output against incorrect output, so that we can fix/refactor/rewrite
the DeclPrinter later.
llvm-svn: 162245
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, when synthesizing an explicitly strong/retain/copy property
of Class type, don't pretend during compatibility checking that the
property is actually assign. Instead, resolve incompatibilities
by secretly changing the type of *implicitly* __unsafe_unretained
Class ivars to be strong. This is moderately evil but better than
what we were doing.
Second, when synthesizing the setter for a strong property of
non-retainable type, be sure to use objc_setProperty. This is
possible when the property is decorated with the NSObject
attribute. This is an ugly, ugly corner of the language, and
we probably ought to deprecate it.
The first is rdar://problem/12039404; the second was noticed by
inspection while fixing the first.
llvm-svn: 162244
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Author: Eric Christopher <echristo@apple.com>
Date: Thu Aug 16 23:50:46 2012 +0000
Add some caching here for the builtin types.
rdar://12117935
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162066 91177308-0d34-0410-b5e6-96231b3b80d8
after fixing a thinko.
llvm-svn: 162243
|
| |
|
|
|
|
|
|
| |
does not return true for all implicit decls currently.
This should fix PR13634 for now, but Decl::isImplicit() should be fixed, too.
llvm-svn: 162238
|
| |
|
|
| |
llvm-svn: 162236
|
| |
|
|
| |
llvm-svn: 162235
|
| |
|
|
|
|
|
|
| |
Under GC, a release message is ignored, so "release and stop tracking" just
becomes "stop tracking". But CFRelease is still honored. This is the main
difference between ns_consumed and cf_consumed.
llvm-svn: 162234
|
| |
|
|
|
|
| |
This should unbreak the buildbots (r162220).
llvm-svn: 162232
|
| |
|
|
| |
llvm-svn: 162231
|
| |
|
|
|
|
| |
ICE in friend functions.
llvm-svn: 162229
|
| |
|
|
|
|
| |
correctly. PR13643.
llvm-svn: 162226
|
| |
|
|
|
|
|
|
|
|
| |
of matchers, categorized by type and fully expanded for the
context in which they can be used.
I used a script to generate this documentation which I'll want
to be scrunitized by a code review before checking it in.
llvm-svn: 162225
|
| |
|
|
|
|
|
|
|
| |
This is used to handle functions and methods that consume an argument
(annotated with the ns_consumed or cf_consumed attribute), but then the
argument's retain count may be further modified in a callback. We want
to warn about over-releasing, but we can't really track the object afterwards.
llvm-svn: 162221
|
| |
|
|
|
|
|
|
|
|
| |
Also, suggest 'readonly' even if the property has been given an ownership
attribute ('strong', 'weak', etc). This is used when properties are declared
readonly in the public interface but readwrite in a class extension.
<rdar://problem/11500004&11932285>
llvm-svn: 162220
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 162216
|
| |
|
|
|
|
|
|
|
|
|
| |
Generating a sink is significantly different behavior from generating a
normal node, and a simple boolean parameter can be rather opaque. Per
offline discussion with Anna, adding new generation methods is the
clearest way to communicate intent.
No functionality change.
llvm-svn: 162215
|
| |
|
|
| |
llvm-svn: 162212
|
| |
|
|
| |
llvm-svn: 162210
|
| |
|
|
|
|
|
|
|
|
|
| |
Forgetting to at least cast the result was giving us Loc/NonLoc problems
in SValBuilder (hitting an assertion). But the standard (both C and C++)
does actually guarantee that && and || will result in the actual values
1 and 0, typed as 'int' in C and 'bool' in C++, and we can easily model that.
PR13461
llvm-svn: 162209
|
| |
|
|
| |
llvm-svn: 162206
|
| |
|
|
|
|
|
|
|
| |
- use InnerMatcher consistently, fix style violations on the way
- doxygenify code snippets across all comments
- start doxygenifying code references in text
- addeed missing Usable as: sections
llvm-svn: 162205
|
| |
|
|
|
|
|
|
| |
Without this patch, lib.clang_getNumCompletionChunks is called at
each _iteration_ of a 'for chunk in CompletionString' loop. Now we
call it just once.
llvm-svn: 162200
|
| |
|
|
| |
llvm-svn: 162198
|
| |
|
|
|
|
| |
Suggested by: Francisco Lopes <oblita@gmail.com>
llvm-svn: 162191
|
| |
|
|
|
|
| |
It isn't used anywhere yet.
llvm-svn: 162190
|
| |
|
|
|
|
| |
Reported by: Francisco Lopes <oblita@gmail.com>
llvm-svn: 162182
|
| |
|
|
| |
llvm-svn: 162181
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Debug builds, VerifyDiagnosticConsumer checks any files with diagnostics
to make sure we got the chance to parse them for directives (expected-warning
and friends). This check previously relied on every parsed file having a
FileEntry, which broke the cling interpreter's test suite.
This commit changes the extra debug checking to mark a file as unparsed
as soon as we see a diagnostic from that file. At the very end, any files
that are still marked as unparsed are checked for directives, and a fatal
error is emitted (as before) if we find out that there were directives we
missed. -verify directives should always live in actual parsed files, not
in PCH or AST files.
Patch by Andy Gibbs, with slight modifications by me.
llvm-svn: 162171
|
| |
|
|
| |
llvm-svn: 162168
|