aboutsummaryrefslogtreecommitdiff
path: root/libcxxabi/test
AgeCommit message (Collapse)AuthorFilesLines
2012-10-08Move TargetData to DataLayout.Micah Villmow1-156/+156
llvm-svn: 165397
2012-08-03Fixes apple: #12020687. This was a problem in the demangler with templateHoward Hinnant1-0/+1
substitution forward references. That is, sometimes a mangled name refers to a substitution that hasn't yet been defined. The demangler was derferencing a null pointer in this case because it wasn't properly guarded against a forward reference. Test case added to catch this problem. llvm-svn: 161267
2012-08-01Erik Olofsson: This patch adds support for lambda demangling. I fixed this ↵Howard Hinnant1-0/+2
because it crashed lldb when it tried to demangle the added test. Not sure how it should identify the lambda so that might need changing from the current 'lambdax':: Howard: Please patch CREDITS.TXT. llvm-svn: 161125
2012-07-11Add missing #include <stdlib.h> into test which uses ::exit.Richard Smith1-1/+2
llvm-svn: 160039
2012-05-02Fix bug in cxa_demangle involving template substitution.Howard Hinnant1-0/+1
llvm-svn: 155994
2012-02-02corrected namespace in testHoward Hinnant1-1/+1
llvm-svn: 149635
2012-02-01added const nullptr testsMarshall Clow1-0/+133
llvm-svn: 149552
2012-02-01removed duplicated tests - Howard was quicker than me.Marshall Clow1-64/+0
llvm-svn: 149545
2012-02-01Added tests for catching const/non-const nullptrMarshall Clow1-0/+64
llvm-svn: 149542
2012-02-01Add test for pointer qualification conversion.Howard Hinnant1-0/+86
llvm-svn: 149541
2012-02-01Add some tests to test catching nullptr with pointers and member pointers. ↵Howard Hinnant2-0/+135
Tests are only activated if #if __has_feature(cxx_nullptr). llvm-svn: 149536
2012-02-01Quash a TODO related to catching pointer-to-member. These tests fail on my ↵Howard Hinnant2-0/+114
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
2012-02-01Quash TODO regarding catch by function type. Add tests to back it up.Howard Hinnant2-0/+62
llvm-svn: 149530
2012-02-01Quash TODO regarding catch by array type. Add tests to back it up.Howard Hinnant2-0/+60
llvm-svn: 149527
2012-02-01Here's a test for catching pointers.Howard Hinnant1-0/+181
llvm-svn: 149459
2012-01-31More test cases concentrating on catching class types.Howard Hinnant5-2/+546
llvm-svn: 149453
2012-01-31Some unwinding test casesHoward Hinnant6-2/+514
llvm-svn: 149436
2012-01-31Drop the stress a notch on dynamic_cast_stress.cpp. Otherwise it ↵Howard Hinnant3-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
2012-01-31Correct test bug.Howard Hinnant1-2/+2
llvm-svn: 149412
2012-01-28Minor header fixups for test.Howard Hinnant1-1/+2
llvm-svn: 149156
2012-01-28Silence a warning.Howard Hinnant1-1/+1
llvm-svn: 149155
2012-01-24Marshall Clow reminded me that fallback_malloc.cpp was broken out for ↵Howard Hinnant1-1/+1
testing purposes. We've agreed to simply rename fallback_malloc.cpp to fallback_malloc.ipp. Thanks Marshall. llvm-svn: 148863
2012-01-22Change header to generic, instead of implementation specificHoward Hinnant1-1/+1
llvm-svn: 148646
2012-01-16One more small optimization: Where possible, for loops that do a search and ↵Howard Hinnant1-4/+4
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. llvm-svn: 148246
2012-01-16Comment smithing. Changed some casts from C-style to C++. And added ↵Howard Hinnant3-0/+27
timings to all of the tests. llvm-svn: 148241
2012-01-16I think this is getting close on __dynamic_cast. There's been quite a bit ↵Howard Hinnant3-4/+3192
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). llvm-svn: 148227
2012-01-13Enclosed is a stress test for dynamic_cast. It stresses both libc++abi, and ↵Howard Hinnant1-0/+81
clang itself. It creates a ridiculously large class hierarchy using variadic templates. You can specify both the width and depth of the class hierarchy. And you can specify whether the cast is to the actual run time type, or to an intermediate layer in the class. About 1/3 of the time I compile this, it crashes the compiler. There seems to be an uninitialized area of memory, and I'm probably blowing past an assumption on class hierarchy size within clang (and understandably so). I can get it work most of the time with a class hierarchy width of 20 and a depth of 7. I'm making timings with both -O3 and -Os, using both cast to root and cast to intermediate, on both libc++abi, and gcc's dynamic_cast. I've put the results in a comment/table at the bottom of the test. llvm-svn: 148083
2012-01-12Oops, forgot to svn add the new test.Howard Hinnant1-0/+304
llvm-svn: 148047
2012-01-12Put debug print statments under a flag so that I can get a first glimpse at ↵Howard Hinnant1-124/+123
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. llvm-svn: 148046
2012-01-12Fixed a couple of bugs, updated many comments, and am including a ↵Howard Hinnant1-0/+2453
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. llvm-svn: 148038
2011-12-15Fixed several bugs, implemented support for vector types, and cleaned out ↵Howard Hinnant1-0/+3
dead code. llvm-svn: 146677
2011-12-13Fix size calculation for pointer to member functionHoward Hinnant1-0/+2
llvm-svn: 146463
2011-12-09Added support for <special-name> ::= TC <first type> <number> _ <second ↵Howard Hinnant1-0/+2
type> # construction vtable for second-in-first, and for <special-name> ::= GR <object name> # reference temporary for object llvm-svn: 146274
2011-12-06Add/update copyright noticesHoward Hinnant3-0/+27
llvm-svn: 145949
2011-12-01Updated heuristic regulating small string bufferHoward Hinnant1-0/+1
llvm-svn: 145543
2011-08-12demangler: Drop preceeding () from function types, but not from pointers and ↵Howard Hinnant1-1/+1
references to function types llvm-svn: 137469
2011-07-20Memory manangement routines for exception objectsMarshall Clow1-0/+180
llvm-svn: 135587
2011-07-20Exception handling stuctures, and thread-local variables for exception handlingMarshall Clow1-0/+64
llvm-svn: 135586
2011-06-22In cxa_demangle.cpp, rewrite __parse_unresolved_name to reflect updated ↵Howard Hinnant1-2/+2
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-13Clean up the vector testsMarshall Clow2-43/+50
llvm-svn: 132921
2011-06-10Implement vector new and delete functionalityMarshall Clow3-0/+380
llvm-svn: 132832
2011-06-07tabs to spacesHoward Hinnant1-6/+6
llvm-svn: 132729
2011-06-04Add more tests for cxa_guard methods. This includes our first two tests usingNick Lewycky1-0/+75
actual threads! There's no build file for libcxxabi, so I'll tell you that I built it with this: $ g++-4.6 -pthread -std=gnu++0x test_guard.cpp ../src/cxa_guard.o -o test_guard llvm-svn: 132644
2011-06-03Tests for bad_typeid and bad_castMarshall Clow1-0/+64
llvm-svn: 132545
2011-05-24Introduce cxa_virtual.cpp and cxa_guard.cpp. Contributed by Nick Lewycky, ↵Howard Hinnant1-0/+59
Howard Hinnant and John McCall llvm-svn: 132009
2011-05-05initial importHoward Hinnant1-0/+29635
llvm-svn: 130921