1. 66224e1 Remove excess whitespace from syslog message; NFC by Stephan Bergmann · 7 years ago
  2. ec60ec4 private_typeinfo: add missing field initializers by Saleem Abdulrasool · 7 years ago
  3. 54227ae [libc++abi] Clean up visibility by Shoaib Meenai · 7 years ago
  4. f163620 Update implementation of ABI support for throwing noexcept function pointers by Richard Smith · 7 years ago
  5. c320e4c [p0012] Implement ABI support for throwing a noexcept function pointer and by Richard Smith · 8 years ago
  6. 46eb39a annotate more function visibility by Saleem Abdulrasool · 8 years ago
  7. 081ea86 [libcxxabi] When catching an exception of type nullptr_t with a handler of by Richard Smith · 8 years ago
  8. 91fc04d Recommit r256322: Fix PR25898 - Check for incomplete pointers types in can_catch(...) by Eric Fiselier · 8 years ago
  9. 7dbbe8a Revert r258222 because it's missing files. Will re-commit complete patch by Eric Fiselier · 8 years ago
  10. 39761cb Recommit r256322: Fix PR25898 - Check for incomplete pointers types in can_catch(...) by Eric Fiselier · 8 years ago
  11. def0085 Revert r256322 (and follow-up 256323), the test it added does not pass on OS X. by Nico Weber · 8 years ago
  12. 1a034d7 Fix PR25898 - Check for incomplete pointers types in can_catch(...) by Eric Fiselier · 8 years ago
  13. b979db1 Disallow conversions from function pointers to void*. by Eric Fiselier · 9 years ago
  14. 0f111c2 libc++abi: clear up some -Wqual-cast warnings by Saleem Abdulrasool · 9 years ago
  15. 554d59a [libcxxabi] Disallow Base to Derived conversions for catching pointers to members. by Eric Fiselier · 9 years ago
  16. 0cb62d1 [libcxxabi] Fix multi-level pointer conversions and pointer to member conversion detection. by Eric Fiselier · 9 years ago
  17. faf34fb Fix build with GCC: by Nick Lewycky · 9 years ago
  18. a1fce46 Enable -Wundef. by Dan Albert · 9 years ago
  19. 1b4ddb1 [libcxxabi] Delay adjustment of pointer to prevent referencing invalid memory. by Eric Fiselier · 10 years ago
  20. 6d653d4 Remove an unused typedef from __class_type_info::search_below_dst by Alexander Potapenko · 10 years ago
  21. 98bbf28 Fix PR17221 - can't catch virtual base classes when throwing derived NULL pointers. Specifically, libc++abi would crash when you tried it. by Marshall Clow · 10 years ago
  22. 288859d Fix PR17222 - catching derived classes from thrown null pointer. Adds tests, too by Marshall Clow · 10 years ago
  23. d9eb5fc On Windows, typeids are different between DLLs and EXEs, so comparing by Yaron Keren · 11 years ago
  24. 36fd93f Comment correction. syslog() syntax is: by Yaron Keren · 11 years ago
  25. 6c33e76 Demangler update: This now demangles many more (all?) C++11 symbols. Demangler tests updated. by Howard Hinnant · 11 years ago
  26. 6d00fef Bruce Mitchener: Typo fixes. by Howard Hinnant · 11 years ago
  27. 06bbbdd Remove aborts under __dynamic_cast which were under _LIBCXX_DYNAMIC_FALLBACK. Change all type_info comparisons to use an inlined is_equal helper. However no change in functionality for this latter change at this time. This is just to encapsulate the comparison and make it a little easier to switch back and forth for testing/debugging. by Howard Hinnant · 12 years ago
  28. 326aca3 Set up code under _LIBCXX_DYNAMIC_FALLBACK which is off by default. For a full description of _LIBCXX_DYNAMIC_FALLBACK, see src/private_typeinfo.cpp. by Howard Hinnant · 12 years ago
  29. 552b140 Improve the diagnostic messages on dynamic_cast. by Howard Hinnant · 12 years ago
  30. 1a0d1bc Two changes: 1) I still didn't have the ABI correct to match the gcc-4.2 std::string under the exception classes. I think the changes to stdexcept.cpp have got that down now. 2) On Apple platforms I'm seeing visibility bugs in applications with respect to type_info's being hidden. This is causing dynamic_cast to malfunction because there are multiple type_info's running around for one type within an application, making dynamic_cast believe that one type is actually multiple types. As a stop gap measure I'm trying to detect this error, print out an error message, but continue with the most likely desired result. This is all under __APPLE__. This behavior can be expanded to other platforms if desired. by Howard Hinnant · 12 years ago
  31. 96f0171 Enable / silence -Wunused-parameter. by Howard Hinnant · 12 years ago
  32. 91f198a Enable/silence -Wmissing-field-initializers. by Howard Hinnant · 12 years ago
  33. 8f28628 Insert a couple of dummy virtual functions to ease low level binary compatibility with other low level tools. by Howard Hinnant · 12 years ago
  34. 0240685 Work on restricting symbol visibility. by Howard Hinnant · 12 years ago
  35. 0550d57 Changed a TODO to a 'maybe some time in the future'. by Howard Hinnant · 12 years ago
  36. 9f54f7a Removed DEBUG statements. by Howard Hinnant · 12 years ago
  37. 575160d Remove a TODO regarding where some can_catch are implemented. I opted to 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. by Howard Hinnant · 12 years ago
  38. c649bde Quash a TODO related to catching pointer-to-member. These tests fail on my 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. by Howard Hinnant · 12 years ago
  39. 4b3cb1c Quash TODO regarding catch by function type. Add tests to back it up. by Howard Hinnant · 12 years ago
  40. aafd08a Quash TODO regarding catch by array type. Add tests to back it up. by Howard Hinnant · 12 years ago
  41. 7c73587 Removing a TODO: can_catch is fundamentally different than 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. by Howard Hinnant · 12 years ago
  42. 033016c These commits are intended to be temporary in nature and are to facilitate the testing of libc++abi.dylib at this point in time. by Howard Hinnant · 12 years ago
  43. 35b2c2a Add some needed symbols to cxa_new_delete.cpp and put the display() stuff under #DEBUG (again). by Howard Hinnant · 12 years ago
  44. 73fd45b Add new file for public type_info-related signatures by Howard Hinnant · 12 years ago
  45. a1919d2 I'm beginning to be able to throw/catch a wide variety of objects. by Howard Hinnant · 12 years ago
  46. c30bfdc Getting started on matching a thrown exception to a catch clause, and setting the adjusted pointer to the caught object appearing in the catch clause. by Howard Hinnant · 12 years ago
  47. facfc46 Add __shim_type_info which fits below std::type_info and above all of the other type_info-derived classes. This is where all of the virtual functions that serve as details of the inner-workings of type_info will live (safely hidden from public view). All type_info objects will be safely down-castable to __shim_type_info, so as to access implementation detail virtual functions. Also temporarily add some print/display statements to each type_info-derived class. This is in support of the continuing development on the personality function. by Howard Hinnant · 12 years ago
  48. 6525563 One more small optimization: Where possible, for loops that do a search and then try to break out of the loop early, eliminate the attempt to break out of the loop after the last search. And with that, I'm declaring __dynamic_cast done. Though if anyone sees any problems, has suggestions for improvements, or wants to contribute some test cases, that is certainly welcome feedback. by Howard Hinnant · 12 years ago
  49. cc614df Comment smithing. Changed some casts from C-style to C++. And added timings to all of the tests. by Howard Hinnant · 12 years ago
  50. 1309366 I think this is getting close on __dynamic_cast. There's been quite a bit of code rearrangement, renaming, and better commenting. This exercise has exposed and fixed a few more bugs. I've also added several more tests (there's definitely a need for more tests here). by Howard Hinnant · 12 years ago
  51. 481fe05 Two bug fixes, several clarifications, and a few comment updates. by Howard Hinnant · 12 years ago
  52. 271f1ac A bug fix involving the updating of path_dst_ptr_to_static_ptr. Some minor code rearrangement optimizations (putting most likely 'if' first in an if-else series. And some major optimizations which involve stopping the search prior to an exhaustive walk over the entire tree. Some of these stops are because an ambiguity is detected earlier. And some of the short circuiting is due to the information from the bits __diamond_shaped_mask and __non_diamond_repeat_mask. The stress test checked in last night is now about 28% faster for the B<Width/2, Depth> -O3 case. I'm still playing with some more optimization possibilities but I'm not sure they will play out. by Howard Hinnant · 12 years ago
  53. 9a1aad5 Put debug print statments under a flag so that I can get a first glimpse at performance. So far I haven't noticed any performance difference between this new __dynamic_cast and gcc's implementation. But I've barely started looking. Also adding a couple of tests which come straight out of the standard. by Howard Hinnant · 12 years ago
  54. 185dc7d Fixed a couple of bugs, updated many comments, and am including a comprehensive test for when there are only 3 types in place. I need to do something similar for 4 and maybe more types, but I'm not sure how comprehensive I can make the test at 4 and above types. by Howard Hinnant · 12 years ago
  55. f877d21 Initial implementaiton of __dynamic_cast. There is still lots of debugging code in here that needs to be stripped out. And many, many unit tests need to be written. And comments and probably code cleanliness needs to be improved. But I *think* the basic algorithm is sound. There also may still be some oportunities for algorithm optimization, I'm not positive. by Howard Hinnant · 12 years ago
  56. 16650b5 This is a transitory commit for __dynamic_cast. It contains debugging statements that are not intended to be in the finished product. However some of the dubbing statements themselves contain important documentation such as how to navigate a __class_type_info hierarchy, documenting object offset and inheritance access. The intention is that this debugging code will migrate into both actual code and comments. And capturing it here so that there is no chance this stuff will be lost. by Howard Hinnant · 12 years ago
  57. 152beb7 Getting a start on the typeinfo infrastructure. by Howard Hinnant · 12 years ago