John McCall
3f4138c5d0
In debugger mode, make ObjC message sends to unknown selectors return
...
__unknown_anytype, and rewrite such message sends correctly.
I had to bite the bullet and actually add a debugger support mode for this
one, which is a bit unfortunate, but there really isn't anything else
I could imagine doing; this is clearly just debugger-specific behavior.
llvm-svn: 135051
2011-07-13 17:56:40 +00:00
Fariborz Jahanian
17585e7940
objc++: Some level of covariance is allowed in ObjC properties.
...
Make it also available in ObjC++ propeties. Use common code for
objc and objc++ so they don't diverge. // rdar://9740328
llvm-svn: 135050
2011-07-13 17:55:01 +00:00
Jim Grosbach
7dcd1354f1
Flesh out ARM Parser support for shifted-register operands.
...
Now works for parsing register shifted register and register shifted
immediate arithmetic instructions, including the 'rrx' rotate with extend.
llvm-svn: 135049
2011-07-13 17:50:29 +00:00
Ted Kremenek
cc47e0fad1
Re-relax conversion specifier checking for printf format strings and conversion specifiers. My recent change was a mistake.
...
llvm-svn: 135048
2011-07-13 17:35:14 +00:00
Jim Grosbach
06210a28de
80 columns.
...
llvm-svn: 135047
2011-07-13 17:25:55 +00:00
Ted Kremenek
1d3fb8af68
Fix inversion in argument type checking for format strings with conversion specifiers for character types.
...
llvm-svn: 135046
2011-07-13 17:25:47 +00:00
Howard Hinnant
88410049fa
http://llvm.org/bugs/show_bug.cgi?id=10346
...
llvm-svn: 135045
2011-07-13 16:00:50 +00:00
Howard Hinnant
f6b7e20bc8
Reverted to 134947. Once I got into it, I discovered there were too many problems to fix in 135035.
...
llvm-svn: 135044
2011-07-13 15:48:16 +00:00
Jim Grosbach
602aa90ab8
Update MCParsedAsmOperand debug methods.
...
Update the debug output interface for MCParsedAsmOperand to have a print()
method which takes an output stream argument, an << operator which invokes
the print method using the given stream, and a dump() method which prints
the operand to the dbgs() stream. This makes the interface more consistent
with the rest of LLVM, and more convenient to use at the debugger command
line.
llvm-svn: 135043
2011-07-13 15:34:57 +00:00
Jay Foad
e732a7d62a
Really cache function types and anonymous struct types.
...
llvm-svn: 135042
2011-07-13 10:39:49 +00:00
Jay Foad
57aa636794
Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef.
...
llvm-svn: 135040
2011-07-13 10:26:04 +00:00
Jay Foad
00e887b96f
Add some bits that I found useful when converting InsertValueInst and
...
ExtractValueInst APIs to use ArrayRef: a new constructor taking a
(begin, end) range, and operators == and != for element-wise comparison.
llvm-svn: 135039
2011-07-13 09:15:05 +00:00
John McCall
97eab0a271
Okay, that rule about zero-length arrays applies to destroying
...
them, too.
llvm-svn: 135038
2011-07-13 08:09:46 +00:00
Danil Malyshev
72510f22b4
Add to RuntimeDyld support different object formats
...
llvm-svn: 135037
2011-07-13 07:57:58 +00:00
John McCall
6549b31fe9
Arrays are permitted to be zero-length in some situations.
...
llvm-svn: 135036
2011-07-13 07:37:11 +00:00
Alexis Hunt
8a02a632be
Implement the __nolocale functions properly so that they will work on
...
all platforms. Unfortunately a lot of this remains conditionally
compiled so as not to break Apple's ABI.
The new _LIBCPP_LOCALE__L_EXTENSIONS macro can be defined on other
platforms that support _l suffixes for all functions in order to use
them.
llvm-svn: 135035
2011-07-13 06:40:50 +00:00
John McCall
c368838b20
Make the integer-range analysis recognize ^= correctly,
...
and (while I'm at it) teach it to grok the results of simple
assignments.
The first is PR10336.
llvm-svn: 135034
2011-07-13 06:35:24 +00:00
John McCall
f677a8e99e
Convert the standard default-construction loops to use phis and
...
partial destruction.
llvm-svn: 135033
2011-07-13 06:10:41 +00:00
Chris Lattner
46ca3272e4
per john's advice, speculatively lower uses of forward-declared enums to
...
i32. They almost always end up this way in the end anyway, and if we get
lucky, this avoids generating some bitcasts.
llvm-svn: 135032
2011-07-13 05:31:19 +00:00
Chris Lattner
68ef694382
stop leaking all named struct types with an empty name. Thanks
...
to Benjamin Kramer for steering me in the right direction here.
llvm-svn: 135031
2011-07-13 04:22:39 +00:00
Chris Lattner
3517f14219
PR10337 reminds me that calls return values, lets handle them just
...
like arguments. Thanks PR10337! :)
llvm-svn: 135030
2011-07-13 03:59:32 +00:00
John McCall
f47c069162
Aggressive dead code elimination.
...
llvm-svn: 135029
2011-07-13 03:03:51 +00:00
John McCall
98de3d74d2
Generalize the routine for destroying an object with static
...
storage duration, then explicitly exempt ownership-qualified
types from it.
llvm-svn: 135028
2011-07-13 03:01:35 +00:00
Douglas Gregor
d29fde248e
Eliminate an incomplete/incorrect attempt to provide support for C++0x
...
unrestricted unions, which ended up attempting to initialize objects
in a union (which CodeGen isn't prepared for). Fixes PR9683.
llvm-svn: 135027
2011-07-13 02:14:02 +00:00
Eli Friedman
609ada27ce
Silliness with commas, as reported at http://blog.regehr.org/archives/558 . As it turns out, this is my fault for not noticing this was an issue when I was looking at this a long time ago. :(
...
llvm-svn: 135026
2011-07-13 02:05:57 +00:00
John McCall
ca2c56f20b
Switch delete[] IR-generation over to the destroy framework,
...
which implicitly makes it EH-safe as well.
llvm-svn: 135025
2011-07-13 01:41:37 +00:00
Evan Cheng
21e9051922
Add an entry.
...
llvm-svn: 135024
2011-07-13 01:33:00 +00:00
Bruno Cardoso Lopes
1021b4a9dd
AVX Codegen support for 256-bit versions of vandps, vandpd, vorps, vorpd, vxorps, vxorpd
...
llvm-svn: 135023
2011-07-13 01:15:33 +00:00
Douglas Gregor
1c2e20d73d
When compiling ::delete for a class with a virtual destructor, call
...
the complete destructor and then invoke the global delete
operator. Previously, we would invoke the deleting destructor, which
calls the wrong delete operator. Fixes PR10341.
llvm-svn: 135021
2011-07-13 00:54:47 +00:00
Bill Wendling
ee6e776be2
Don't emit the FDE end label if the last thing emitted was a compact unwind and
...
not the FDE
llvm-svn: 135020
2011-07-13 00:49:09 +00:00
Johnny Chen
4c9c3ee08a
Update docstrings for SBModeule/SBTarget::FindGlobalVariables().
...
llvm-svn: 135019
2011-07-13 00:46:49 +00:00
Eli Friedman
16323380cd
Add an assert (which should never trigger) that triggers on a testcase I'm looking at.
...
llvm-svn: 135018
2011-07-13 00:44:29 +00:00
Evan Cheng
f863e3fb73
Improve codegen for select's:
...
if (x != 0) x = 1
if (x == 1) x = 1
Previous codegen looks like this:
mov r1, r0
cmp r1, #1
mov r0, #0
moveq r0, #1
The naive lowering select between two different values. It should recognize the
test is equality test so it's more a conditional move rather than a select:
cmp r0, #1
movne r0, #0
rdar://9758317
llvm-svn: 135017
2011-07-13 00:42:17 +00:00
Johnny Chen
0d0dff4398
Add display of a static int variable to the test scenario.
...
llvm-svn: 135016
2011-07-13 00:31:31 +00:00
Bill Wendling
0402e8fe4b
Assign variable before we test it.
...
llvm-svn: 135015
2011-07-13 00:23:39 +00:00
Bill Wendling
ed3c44224b
Fix obvious think-o.
...
llvm-svn: 135014
2011-07-13 00:20:09 +00:00
Bill Wendling
929b90ff32
Clean up the handling of an EBP/RBP unwind frame pointer. In particular, don't
...
assert when the frame pointer is -1 (i.e., the function is "frameless").
Still to do: "frameless" unwind information.
llvm-svn: 135013
2011-07-13 00:16:14 +00:00
Enrico Granata
79dce0a66e
fixing missing RefCounter class
...
llvm-svn: 135012
2011-07-13 00:00:57 +00:00
Richard Smith
26935e60b6
Correctly set up the list of virtual base classes for a CXXRecordDecl. Previously we got the source range wrong for everything in the virtual bases list.
...
llvm-svn: 135011
2011-07-12 23:49:11 +00:00
Fariborz Jahanian
c87c8799ec
revert fix for // rdar://9740328
...
llvm-svn: 135010
2011-07-12 23:20:13 +00:00
Johnny Chen
af6e82f611
Add a test case to exercise 'target variable' command before and after running the inferior.
...
Currently it fails after the inferior is run.
rdar://problem/9763907
llvm-svn: 135009
2011-07-12 23:18:03 +00:00
Enrico Granata
10bc1e5452
test cases
...
llvm-svn: 135008
2011-07-12 22:57:47 +00:00
Enrico Granata
f4efecd958
smarter summary strings:
...
- formats %s %char[] %c and %a now work to print 0-terminated c-strings if they are applied to a char* or char[] even without the [] operator (e.g. ${var%s})
- array formats (char[], intN[], ..) now work when applied to an array of a scalar type even without the [] operator (e.g. ${var%int32_t[]})
LLDB will not crash because of endless loop when trying to obtain a summary for an object that has no value and references itself in its summary string
In many cases, a wrong summary string will now display an "<error>" message instead of giving out an empty string
llvm-svn: 135007
2011-07-12 22:56:10 +00:00
Bill Wendling
5d11676eef
There is a cyclic dependency between MC and Target if this method is out-of-line.
...
llvm-svn: 135006
2011-07-12 22:35:01 +00:00
Johnny Chen
ef1c6845ae
Fix short description of 'target variable' command.
...
llvm-svn: 135005
2011-07-12 22:34:30 +00:00
Bruno Cardoso Lopes
0aadf83f80
Revert r134946
...
llvm-svn: 135004
2011-07-12 22:30:58 +00:00
Argyrios Kyrtzidis
a200973ead
[arcmt] Also avoid 'weak' for forward references to objc classes.
...
llvm-svn: 135003
2011-07-12 22:16:25 +00:00
Argyrios Kyrtzidis
ce9b739999
[arcmt] Before applying '__weak' check whether the objc class is annotated with objc_arc_weak_reference_unavailable
...
or is in a list of classes not supporting 'weak'.
rdar://9489367.
llvm-svn: 135002
2011-07-12 22:05:17 +00:00
Fariborz Jahanian
c0f6af2103
objc++: Some level of covariance is allowed in ObjC properties.
...
Make it also available in ObjC++ propeties. // rdar://9740328
llvm-svn: 135001
2011-07-12 22:05:16 +00:00
Francois Pichet
ce206000d3
Remove the const from Type after of Jay deconstify work.
...
llvm-svn: 135000
2011-07-12 22:04:11 +00:00