Commit Graph

107722 Commits

Author SHA1 Message Date
Alexis Hunt c0a2ab6421 Revert "-fexceptions does not, in fact, enable C++ exceptions"
In fact it does. For the driver anyway, and not cc1 which I'm supposed
to pretend doesn't exist.

llvm-svn: 133673
2011-06-23 00:42:53 +00:00
Argyrios Kyrtzidis ab72b6792b Allow unavailable function calls inside unavailable functions in C++/ObjC++ as well. rdar://9660196
llvm-svn: 133672
2011-06-23 00:41:50 +00:00
Alexis Hunt 080709f82d Clean up the heart of the caching code and miss fewer edge cases.
llvm-svn: 133671
2011-06-23 00:26:20 +00:00
Bill Wendling 9421c056fb Allow the AsmInfo to query for the compact unwind section.
llvm-svn: 133670
2011-06-23 00:23:04 +00:00
Bill Wendling a5eee745ac Allow the AsmInfo to query the TLOF to see if it supports compact unwind.
llvm-svn: 133669
2011-06-23 00:12:58 +00:00
Bill Wendling 21162219b4 80-column violations.
llvm-svn: 133668
2011-06-23 00:09:43 +00:00
Howard Hinnant 878e035ea1 test for pair piecewise construction
llvm-svn: 133667
2011-06-22 23:51:19 +00:00
Alexis Hunt 6d756895a9 -fexceptions does not, in fact, enable C++ exceptions
llvm-svn: 133666
2011-06-22 23:49:12 +00:00
Andrew Trick 1d4b176cd5 lit support for REQUIRES: asserts.
Take #2. Don't piggyback on the existing config.build_mode. Instead,
define a new lit feature for each build feature we need (currently
just "asserts"). Teach both autoconf'd and cmake'd Makefiles to define
this feature within test/lit.site.cfg. This doesn't require any lit
harness changes and should be more robust across build systems.

llvm-svn: 133665
2011-06-22 23:23:49 +00:00
Andrew Trick 67ff0718a4 lit support for REQUIRES: asserts.
Take #2. Don't piggyback on the existing config.build_mode. Instead,
define a new lit feature for each build feature we need (currently
just "asserts"). Teach both autoconf'd and cmake'd Makefiles to define
this feature within test/lit.site.cfg. This doesn't require any lit
harness changes and should be more robust across build systems.

llvm-svn: 133664
2011-06-22 23:23:19 +00:00
Douglas Gregor 835af98597 Check for placeholders early on in
Sema::CreateUnaryExprOrTypeTraitExpr() rather than recursing in some
cases. Fixes <rdar://problem/9659191>.

llvm-svn: 133663
2011-06-22 23:21:00 +00:00
Bill Wendling f942585dae Add a flag that indicates whether a target supports compact unwind info or not.
llvm-svn: 133662
2011-06-22 23:16:51 +00:00
Peter Collingbourne 09aff6bcad Remove -MT options from SWIG invocation
SWIG on Darwin does not support -MT, and it only means that we lose
the .d target, which doesn't seem to be used or needed.

Pointed out by Charles Davis.

llvm-svn: 133660
2011-06-22 22:39:02 +00:00
Rafael Espindola 2496c1f1f8 Reenable tail duplication of bb with just an unconditional jump, but
don't remove blocks that have their address taken.

llvm-svn: 133659
2011-06-22 22:31:57 +00:00
Bill Wendling d346304373 Add a __LD,__compact_unwind section.
If the linker supports it, this will hold the CIE and FDE information in a
compact format. The implementation of the compact unwinding emission is coming
soon.

llvm-svn: 133658
2011-06-22 22:22:24 +00:00
Douglas Gregor 64ec101eb6 Teach libc++ about the addressof() overloads it needs to work with
Objective-C Automatic Reference Counting, where Objective-C object
pointers can have several different qualifiers (__strong, __weak,
__autoreleasing, __unsafe_unretained). These addressof() overloads are
only provided in ARC mode, and the __weak variant is conditionalized
on having weak-reference support in the ARC runtime.

For historical reasons, Clang provides these definitions itself, and
defines the macro _LIBCPP_PREDEFINED_OBJC_ARC_ADDRESSOF to note when
it as done so. The code belongs here, and this redundancy will be
eliminated in the future.

Addresses <rdar://problem/9658274>.

llvm-svn: 133656
2011-06-22 22:17:44 +00:00
Alexis Hunt 46d1ce23a7 Fix a think-o that amazingly didn't show up until I started writing
implicit move tests.

llvm-svn: 133655
2011-06-22 22:13:13 +00:00
Fariborz Jahanian 33e022650a Issue warning if weak_import attribute is added to an already
declared variable and ignore it. // rdar://9538608

llvm-svn: 133654
2011-06-22 22:08:50 +00:00
Daniel Dunbar a60a269e67 test/Unit: Fixup lit.cfg to allow running inside test/Unit (with llvm-config in
path).

llvm-svn: 133653
2011-06-22 21:46:43 +00:00
Johnny Chen bfae99cf29 Modify the test cases (there are a bunch of them) under test/types so that they
employ different executable names when creating the target for lldb to debug.
Comparing the log files for the same test case with success/failure results show
that the failed one was setting the breakpoint on some different address than the
succeeded one, leading us to suspect that the file system maybe think it knows better
and caches the wrong executable file (they were all named 'a.out' before) which lldb
subsequently reads from.

Now './dotest.py -v types' passes without specifying the '-w' option.

rdar://problem/9644488
rdar://problem/9649573

llvm-svn: 133649
2011-06-22 21:15:10 +00:00
Nick Lewycky 5dc6b794b1 Fix the implementation of ConstantRange::sub(ConstantRange). Patch by Xi Wang!
llvm-svn: 133648
2011-06-22 21:13:46 +00:00
Jim Ingham 6cffdd2fd3 Trivial fix - insert a space between the frame name and the instruction output.
llvm-svn: 133647
2011-06-22 21:13:28 +00:00
Chad Rosier cb7cfa4954 Revert r133607. This is causing failures in the Clang gccTestSuite.
Specifically, gcc.c-torture/compile/pr21356.c.

llvm-svn: 133646
2011-06-22 21:13:23 +00:00
Bill Wendling eb872e0471 Move class methods out-of-line. This reduces the indentation, and is more in
line with LLVM's general coding style.
No functionality change.

llvm-svn: 133645
2011-06-22 21:07:27 +00:00
Johnny Chen fdfa26fba0 Add docstring to test_SBSymbolContextList(self) explaining that upon default construction, the API object is valid.
llvm-svn: 133644
2011-06-22 20:57:52 +00:00
Devang Patel ccf8dbf885 New binops need debug loc.
llvm-svn: 133642
2011-06-22 20:56:56 +00:00
Daniel Dunbar 40904c0977 test/Unit: Fix enable shared test to follow check that we have actually loaded
the site config.

llvm-svn: 133641
2011-06-22 20:41:53 +00:00
Jim Grosbach 51897047da Add missing header.
llvm-svn: 133640
2011-06-22 20:40:30 +00:00
Fariborz Jahanian 0a3cfcc87f Alloa catching Objective-C id's being thrown with C++ throw
in Darwin's fragile abi mode.  // rdar://8940528

llvm-svn: 133639
2011-06-22 20:21:51 +00:00
Jim Grosbach 2354f87a9d Move ARMMachObjectWriter to its own file.
Just tidy up a bit. No functional change.

llvm-svn: 133638
2011-06-22 20:14:52 +00:00
Manuel Klimek f2b4b69346 Changes ParenListExpr to always require a type.
Removes dead code found in the process.
Adds a test to verify that ParenListExprs do not have NULL types.

llvm-svn: 133637
2011-06-22 20:02:16 +00:00
Devang Patel ea7751bc24 Set debug loc.
llvm-svn: 133636
2011-06-22 19:52:36 +00:00
Nick Lewycky 90e6a4e5d5 Needs a triple.
llvm-svn: 133634
2011-06-22 19:42:14 +00:00
Douglas Gregor 3bde9b15a1 Copy diagnostic pragmas to the preprocessed output, from Richard Osborne!
llvm-svn: 133633
2011-06-22 19:41:48 +00:00
Howard Hinnant 471e111324 In cxa_demangle.cpp, rewrite __parse_unresolved_name to reflect updated understanding and sync with updated clang mangling. Also fix think-o in __parse_encoding enabling the parsing of trailing .eh and .b.
llvm-svn: 133632
2011-06-22 19:27:39 +00:00
Nick Lewycky 6208a2fd66 Emit trailing padding on constant vectors when TargetData says that the vector
is larger than the sum of the elements (including per-element padding).

llvm-svn: 133631
2011-06-22 18:55:03 +00:00
Douglas Gregor bb9a5e6df1 Fix the starting location of the Fix-It note for suspicious precedence
issues between a bitwise operator and a comparison operator. Fixes
<rdar://problem/9637759>.

llvm-svn: 133630
2011-06-22 18:41:08 +00:00
Jim Ingham ad63637f3f Reverting switch to the AsyncOutputStream for the Thread Trace Logger. This change caused the logger to crash. Presumably we're printing at a time the debugger isn't ready to print.
llvm-svn: 133629
2011-06-22 18:23:52 +00:00
Douglas Gregor 1501f16cfe When instantiating a function template declaration that was expressed
via a typedef of a function, make sure to synthesize parameter
declarations. Fixes PR9654 / <rdar://problem/9257497>.

llvm-svn: 133628
2011-06-22 18:16:25 +00:00
Argyrios Kyrtzidis 59b5f356ad [arcmt] Make -Warc-unsafe-retained-assign an error when migrating. rdar://8939557
llvm-svn: 133627
2011-06-22 18:03:59 +00:00
Argyrios Kyrtzidis 92b12187dd Put all ARC-related warnings into the "arc" diagnostic group.
llvm-svn: 133626
2011-06-22 18:03:56 +00:00
Argyrios Kyrtzidis 694f75db13 Change "cannot assign retained object.." warning to "assigning retained object.."
llvm-svn: 133625
2011-06-22 18:03:53 +00:00
Eric Christopher c235d0c635 Build and use libcompiler_rt whenever possible.
Patch by Jean-Daniel Dupas!

llvm-svn: 133624
2011-06-22 17:41:40 +00:00
Douglas Gregor ec793dde8e Try to silence GCC warning
llvm-svn: 133623
2011-06-22 16:43:25 +00:00
Fariborz Jahanian ec667fcc36 objc-arc: Allow unbridged cast of retainable object to
integral as it is not transferring ownership.. 
// rdar://9619861

llvm-svn: 133622
2011-06-22 16:36:45 +00:00
Douglas Gregor 1c8cd7c1a5 Implement the C++0x move optimization for Automatic Reference Counting
objects, so that we steal the retain count of a temporary __strong
pointer (zeroing out that temporary), eliding a retain/release
pair. Addresses <rdar://problem/9364932>.

llvm-svn: 133621
2011-06-22 16:32:26 +00:00
Douglas Gregor 58df509fc0 When binding a reference to an Automatic Reference Counting temporary,
retain/release the temporary object appropriately. Previously, we
would only perform the retain/release operations when the reference
would extend the lifetime of the temporary, but this does the wrong
thing across calls.

llvm-svn: 133620
2011-06-22 16:12:01 +00:00
Justin Holewinski 08d0f3550a PTX: Fix FrameIndex mapping bug
llvm-svn: 133619
2011-06-22 16:07:03 +00:00
Douglas Gregor 2fa40a3a06 Give MaterializeTemporaryExpr the exact type of the lvalue it binds
to, including cv-qualifications.

llvm-svn: 133618
2011-06-22 15:05:02 +00:00
Douglas Gregor b6ea7d2e2d Fix typo in comment
llvm-svn: 133617
2011-06-22 14:41:20 +00:00