| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 162394
|
|
|
|
| |
llvm-svn: 162393
|
|
|
|
| |
llvm-svn: 162392
|
|
|
|
|
|
| |
static variables.
llvm-svn: 162391
|
|
|
|
|
|
|
| |
Eventually, we'll need a way of mapping tokens (and their IdentifierInfo*) to
the operands computed by buildMSAsmPieces().
llvm-svn: 162388
|
|
|
|
|
|
| |
another way to whitelist these special cases. This is an intermediate patch.
llvm-svn: 162386
|
|
|
|
| |
llvm-svn: 162385
|
|
|
|
|
|
|
|
| |
As part of this change, I discovered that a few of our tests were not testing
the RangeConstraintManager. Luckily all of those passed when I moved them
over to use that constraint manager.
llvm-svn: 162384
|
|
|
|
|
|
|
| |
The parser still can't handle all cases, so fall back to emitting a simple
MSAsmStmt if we get into trouble.
llvm-svn: 162382
|
|
|
|
| |
llvm-svn: 162374
|
|
|
|
|
|
| |
implicit instantiation, look for documentation attached to the template.
llvm-svn: 162371
|
|
|
|
| |
llvm-svn: 162361
|
|
|
|
|
|
|
| |
declarations.
Fixes pr13662.
llvm-svn: 162360
|
|
|
|
| |
llvm-svn: 162352
|
|
|
|
|
|
|
|
|
| |
'killBinding()'. The name is more specific, and one just forwarded
to the other.
Add some doxygen comments along the way.
llvm-svn: 162350
|
|
|
|
|
|
|
|
|
| |
Also rename 'getCurrentBlockCounter()' to 'blockCount()'.
This ripples a bunch of code simplifications; mostly aesthetic,
but makes the code a bit tighter.
llvm-svn: 162349
|
|
|
|
|
|
|
|
|
|
| |
No need to have the "get", the word "conjure" is a verb too!
Getting a conjured symbol is the same as conjuring one up.
This shortening is largely cosmetic, but just this simple changed
cleaned up a handful of lines, making them less verbose.
llvm-svn: 162348
|
|
|
|
|
|
|
|
| |
all forwarding methods.
This functionality is already covered by bindLoc().
llvm-svn: 162346
|
|
|
|
|
|
| |
add doxygen comments.
llvm-svn: 162345
|
|
|
|
| |
llvm-svn: 162341
|
|
|
|
| |
llvm-svn: 162330
|
|
|
|
|
|
|
| |
between Bob, Jim, Eric and I, we've decided to take a slightly different
approach.
llvm-svn: 162327
|
|
|
|
| |
llvm-svn: 162325
|
|
|
|
|
|
|
|
|
|
| |
Add a new static function, buildMSAsmPieces, that will break these strings down
into mnemonic and operands. Upon a match failure, the idea is to use the
ErrorInfo from MatchInstructionImpl to inspect the mnemonic/operand and
decide a course of action. Unfortunately, there's no easy way to test this at
the moment.
llvm-svn: 162321
|
|
|
|
|
|
| |
// rdar://12103400
llvm-svn: 162320
|
|
|
|
|
|
|
|
|
| |
class extensions a little. clang now allows readonly property
with no ownership rule (assign, unsafe_unretained, weak, retain,
strong, or copy) with a readwrite property with an ownership rule.
// rdar://12103400
llvm-svn: 162319
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Under -analyzer-ipa=basic-inlining, only C functions, blocks, and C++ static
member functions are inlined -- essentially, the calls that behave like simple
C function calls. This is essentially the behavior in Xcode 4.4.
C++ support still has some rough edges, and we don't want users to be worried
about them if they download and run their own checker. (In particular, the
massive number of false positives for analyzing LLVM comes from inlining
defensively-written code in contexts where more aggressive assumptions are
implicitly made. This problem is not unique to C++, but it is exacerbated by
the higher proportion of code that lives in header files in C++.)
The eventual goal is to be comfortable enough with C++ support (and simple
Objective-C support) to advance to -analyzer-ipa=inlining as the default
behavior. See the IPA design notes for more details.
llvm-svn: 162318
|
|
|
|
|
|
| |
Skip paragraphs that contain only whitespace.
llvm-svn: 162315
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|