summaryrefslogtreecommitdiffstats
path: root/libcxxabi
Commit message (Collapse)AuthorAgeFilesLines
...
* Enable/silence -Wshadow.Howard Hinnant2012-03-082-4/+1
| | | | llvm-svn: 152325
* Enable/silence -Wsign-conversion.Howard Hinnant2012-03-084-243/+324
| | | | llvm-svn: 152323
* First attempt at arm support.Howard Hinnant2012-02-292-8/+51
| | | | llvm-svn: 151765
* Insert a couple of dummy virtual functions to ease low level binary ↵Howard Hinnant2012-02-232-0/+5
| | | | | | compatibility with other low level tools. llvm-svn: 151282
* And the handlers should be extern C.Howard Hinnant2012-02-231-0/+5
| | | | llvm-svn: 151261
* I had originally made the handler function pointers a static internal ↵Howard Hinnant2012-02-233-50/+26
| | | | | | detail, not accessible to the outside world. I did this because they must be accessed in a thread-safe manner, and the library provides thread-safe getters and setters for these. However I am at least temporarily making them public and giving them the Apple-extension names. In the future these may disappear again, and I think that would probably be a good idea. llvm-svn: 151256
* Pedantic fix: missing newline at EOFDave Zarzycki2012-02-222-2/+2
| | | | llvm-svn: 151132
* Move typeinfos for exceptions in <stdexcept> to the abiHoward Hinnant2012-02-171-0/+122
| | | | llvm-svn: 150834
* Add (reluctantly) a namespace alias for __cxxabiv1.Howard Hinnant2012-02-171-0/+1
| | | | llvm-svn: 150828
* Remove outdated information from comment.Howard Hinnant2012-02-171-7/+0
| | | | llvm-svn: 150827
* __gxx_personality_v0 and __cxa_call_unexpected are complete on darwin and I ↵Howard Hinnant2012-02-031-5/+5
| | | | | | *think* linux (not positive), but still unimplemented on arm. llvm-svn: 149711
* Pushed optimization back up. Crash disappeared with compiler upgrade. ↵Howard Hinnant2012-02-031-1/+1
| | | | | | Assumed to be due to compiler bug. llvm-svn: 149702
* corrected namespace in testHoward Hinnant2012-02-021-1/+1
| | | | llvm-svn: 149635
* Work on restricting symbol visibility.Howard Hinnant2012-02-029-57/+86
| | | | llvm-svn: 149633
* Add version number to this library so we can recognize when we're using it.Howard Hinnant2012-02-021-2/+1
| | | | llvm-svn: 149632
* There's a crasher I need to track down, occurring at -O0.Howard Hinnant2012-02-021-1/+1
| | | | llvm-svn: 149631
* added const nullptr testsMarshall Clow2012-02-011-0/+133
| | | | llvm-svn: 149552
* removed duplicated tests - Howard was quicker than me.Marshall Clow2012-02-011-64/+0
| | | | llvm-svn: 149545
* Added tests for catching const/non-const nullptrMarshall Clow2012-02-011-0/+64
| | | | llvm-svn: 149542
* Add test for pointer qualification conversion.Howard Hinnant2012-02-011-0/+86
| | | | llvm-svn: 149541
* Changed a TODO to a 'maybe some time in the future'.Howard Hinnant2012-02-011-1/+2
| | | | llvm-svn: 149539
* Removed DEBUG statements.Howard Hinnant2012-02-012-138/+0
| | | | llvm-svn: 149538
* Remove a TODO regarding where some can_catch are implemented. I opted to ↵Howard Hinnant2012-02-012-10/+1
| | | | | | make can_catch pure virtual in the top __shim_type_info, and have each sub-class implement its own. There are some repeated definitions, but they are trivial. llvm-svn: 149537
* Add some tests to test catching nullptr with pointers and member pointers. ↵Howard Hinnant2012-02-012-0/+135
| | | | | | Tests are only activated if #if __has_feature(cxx_nullptr). llvm-svn: 149536
* Quash a TODO related to catching pointer-to-member. These tests fail on my ↵Howard Hinnant2012-02-013-2/+115
| | | | | | copy of gcc-4.2. But I believe the tests to be correct (and they pass for libc++abi). I've enquired on the C++ standards mailing list for a clarification in case I'm wrong. So far I've gotten one response that agrees with me. llvm-svn: 149534
* Quash TODO regarding catch by function type. Add tests to back it up.Howard Hinnant2012-02-013-1/+66
| | | | llvm-svn: 149530
* Quash TODO regarding catch by array type. Add tests to back it up.Howard Hinnant2012-02-013-1/+64
| | | | llvm-svn: 149527
* Removing a TODO: can_catch is fundamentally different than ↵Howard Hinnant2012-02-011-2/+0
| | | | | | search_above_dst. can_catch is looking for an unamiguous public base class of a specific type, but at any address. search_above_dst is looking for an unambiguous public base class of a specific type, *and* at a specific address. Additionally can_catch is run for all types. search_above_dst is only run on class types. So these are only superficially similar. Not similar enough for resuse, at least without making the code unreadable. llvm-svn: 149522
* Teach exception_cleanup_func about dependent exceptions.Howard Hinnant2012-02-011-6/+3
| | | | llvm-svn: 149520
* Treat all exceptions except that the ones that this library throws as ↵Howard Hinnant2012-02-014-13/+16
| | | | | | foreign. Even other C++ exceptions. llvm-svn: 149518
* Nothing but polishing comments.Howard Hinnant2012-02-011-8/+27
| | | | llvm-svn: 149515
* Move an error detector to a better place.Howard Hinnant2012-02-011-5/+2
| | | | llvm-svn: 149513
* Here's a test for catching pointers.Howard Hinnant2012-02-011-0/+181
| | | | llvm-svn: 149459
* More test cases concentrating on catching class types.Howard Hinnant2012-01-315-2/+546
| | | | llvm-svn: 149453
* Some unwinding test casesHoward Hinnant2012-01-316-2/+514
| | | | llvm-svn: 149436
* Back the optimization down from -O3 to -Os. I'm getting an unexplained ↵Howard Hinnant2012-01-312-3/+5
| | | | | | crasher on -O3. I've looked for a libc++abi bug and can't find one. I'm suspecting clang optimizer bug. But I don't have a good test case at the moment. Deferring investigation on this for now as I will soon be developing more and smaller tests. llvm-svn: 149414
* Drop the stress a notch on dynamic_cast_stress.cpp. Otherwise it ↵Howard Hinnant2012-01-313-2/+137
| | | | | | occasionally causes clang to crash. Put a noexcept(false) on a throwing destructor in test_vector1.cpp. The test now passes for both C++03 and C++11 modes. Add testit script. All tests are now PASSING :-) llvm-svn: 149413
* Correct test bug.Howard Hinnant2012-01-311-2/+2
| | | | llvm-svn: 149412
* Have the default unexpected/terminate handler output *demangled* names for ↵Howard Hinnant2012-01-311-3/+10
| | | | | | the type of exception instead of the mangled name. llvm-svn: 149409
* Fix type-o in the comment of the last commitHoward Hinnant2012-01-311-1/+1
| | | | llvm-svn: 149403
* Found and fixed a bug in __cxa_call_unexpected. If the unexpected_handler ↵Howard Hinnant2012-01-311-3/+16
| | | | | | rethrows the same exception then needed information gets overwritten in the original exception header. Therefore save it locally before executing the unexpected_handler. llvm-svn: 149400
* Found and fixed bug in personality function: Don't dive into the action ↵Howard Hinnant2012-01-312-7/+23
| | | | | | table if the action entry is zero. llvm-svn: 149389
* Minor bug fix in __cxa_call_unexpected. Changed std::terminate to detect a ↵Howard Hinnant2012-01-312-1/+20
| | | | | | caught-but-unhandled exception, and choose the handler out of that if found. llvm-svn: 149329
* Refactored personality function. Found one bug in scanning exception spec ↵Howard Hinnant2012-01-301-779/+361
| | | | | | lists. llvm-svn: 149272
* Removed debugging print statementsHoward Hinnant2012-01-301-9/+0
| | | | llvm-svn: 149271
* Add a descriptive name for a constant. Also I'm at least temporarily waging ↵Howard Hinnant2012-01-307-181/+1123
| | | | | | war on throw specs, both old and new style. Except where we have already publicly exposed the throw spec, I'm getting rid of them. They may come back later. But they seem somewhat prone to cyclic dependencies here. The throw spec implies compiler generated code that this library has to jump to during stack unwinding. I'd like to minimize the possiblity that the code used to properly make that jump is itself creating such jumps. llvm-svn: 149251
* Add -fstrict-aliasing -Wstrict-aliasing and change optimization from -Os to -O3Howard Hinnant2012-01-301-2/+2
| | | | llvm-svn: 149250
* Put throw() clauses back on these functions in cxxabi.h. This header must ↵Howard Hinnant2012-01-301-8/+8
| | | | | | be C++03 compatible and these throw specs are consistent with the current cxxabi.h that Apple ships. llvm-svn: 149249
* Minor updates to a couple of comments.Howard Hinnant2012-01-281-1/+3
| | | | llvm-svn: 149158
* Add a little paranoia for testing purposes.Howard Hinnant2012-01-281-3/+11
| | | | llvm-svn: 149157
OpenPOWER on IntegriCloud