summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* A base subobject type doesn't make sense for unions; don't try to compute ↵Eli Friedman2012-01-132-7/+4
| | | | | | it. Based on patch by Yin Ma. Fixes PR11751. llvm-svn: 148093
* Delete CodeInit and CodeRecTy from TableGen.Jakob Stoklund Olesen2012-01-135-124/+7
| | | | | | | The code type was always identical to a string anyway. Now it is simply a synonym. The code literal syntax [{...}] is still valid. llvm-svn: 148092
* Use uniqued StringInit pointers for lookups.Jakob Stoklund Olesen2012-01-133-31/+22
| | | | | | | This avoids a gazillion StringMap and dynamic_cast calls, making TableGen run 3x faster. llvm-svn: 148091
* constexpr is allowed on static member functions of non-literal classes. Per ↵Eli Friedman2012-01-132-1/+7
| | | | | | report on cfe-dev. llvm-svn: 148090
* A few minor improvements to error recovery trying to access member of a ↵Eli Friedman2012-01-133-8/+16
| | | | | | function. In particular, this restores the cool error recovery for the example from http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html , which regressed a few months back. llvm-svn: 148089
* Don't crash while trying to diagnose a function declared at block scope with anRichard Smith2012-01-133-3/+10
| | | | | | incomplete return type. llvm-svn: 148088
* Don't set breakpoints independently comp unit by comp unit, but look over ↵Jim Ingham2012-01-131-42/+108
| | | | | | | | | all the file & line matches and only pick the "best" ones. <rdar://problem/10685990> llvm-svn: 148087
* DAGCombine's logic for forming pre- and post- indexed loads / stores were beingEvan Cheng2012-01-133-13/+143
| | | | | | | | | | | | | | | | overly conservative. It was concerned about cases where it would prohibit folding simple [r, c] addressing modes. e.g. ldr r0, [r2] ldr r1, [r2, #4] => ldr r0, [r2], #4 ldr r1, [r2] Change the logic to look for such cases which allows it to form indexed memory ops more aggressively. rdar://10674430 llvm-svn: 148086
* Fix up the calls to CorrectTypo in Sema*ObjC.cpp to use callbackKaelyn Uhrain2012-01-133-50/+99
| | | | | | | objects, and add a basic CorrectionCandidateCallback template class to simplify the fixups. llvm-svn: 148085
* Revert previous commit. Something has gone wonky with my local configurationDouglas Gregor2012-01-131-1/+0
| | | | llvm-svn: 148084
* Enclosed is a stress test for dynamic_cast. It stresses both libc++abi, and ↵Howard Hinnant2012-01-131-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
* When inferring a module map for a framework, add the 'private'Douglas Gregor2012-01-131-0/+1
| | | | | | | requirement to headers under PrivateHeaders. We don't want to build them as part of the module (yet). llvm-svn: 148082
* [analyzer] Unwrap the pointers when ignoring the const cast.Anna Zaks2012-01-132-1/+31
| | | | | | radar://10686991 llvm-svn: 148081
* [analyzer] Taint: when looking up a binding, provide the type.Anna Zaks2012-01-131-1/+4
| | | | llvm-svn: 148080
* [analyzer] RegionStoreManager::getBinding() should not crash whenAnna Zaks2012-01-132-2/+10
| | | | | | looking up value at a CodeTextRegion even when the type is not provided. llvm-svn: 148079
* [analyzer] Fix a typo in a warning message.Anna Zaks2012-01-131-1/+1
| | | | llvm-svn: 148078
* Fix off-by-one error.Bill Wendling2012-01-131-1/+1
| | | | llvm-svn: 148077
* Implement proper ObjC ARC objc_retainBlock "escape" analysis, so thatDan Gohman2012-01-133-47/+218
| | | | | | | | the optimizer doesn't eliminate objc_retainBlock calls which are needed for their side effect of copying blocks onto the heap. This implements rdar://10361249. llvm-svn: 148076
* Add some description for this test directory.Johnny Chen2012-01-131-0/+62
| | | | llvm-svn: 148075
* objc parsing. Fixes a crash when parsing array initializationFariborz Jahanian2012-01-132-5/+29
| | | | | | inside a class implementation with parse errors. // rdar://10633434 llvm-svn: 148074
* rdar://problem/10684459Johnny Chen2012-01-130-0/+0
| | | | | | | | test_move_and_then_display_source (TestSourceManager.py) never works in LLDB test suite Forgot to svn ci the "hidden" directory. :-( llvm-svn: 148073
* Improve 0-argument -Wvexing-parse diagnostic by adding notes with fix-its:Richard Smith2012-01-1215-54/+204
| | | | | | | | | | | | | | | | | | | | | | | - If the declarator is at the start of a line, and the previous line contained another declarator and ended with a comma, then that comma was probably a typo for a semicolon: int n = 0, m = 1, l = 2, // k = 5; myImportantFunctionCall(); // oops! - If removing the parentheses would correctly initialize the object, then produce a note suggesting that fix. - Otherwise, if there is a simple initializer we can suggest which performs value-initialization, then provide a note suggesting a correction to that initializer. Sema::Declarator now tracks the location of the comma prior to the declarator in the declaration, if there is one, to facilitate providing the note. The code to determine an appropriate initializer from the -Wuninitialized warning has been factored out to allow use in both that and -Wvexing-parse. llvm-svn: 148072
* Modify a couple of Makefiles to use clang instead of gcc, since gcc is being ↵Johnny Chen2012-01-122-8/+2
| | | | | | deprecated. llvm-svn: 148071
* Recommit r148056 with fixes to deal with weirdness with bitfields in unions.Eli Friedman2012-01-122-4/+15
| | | | | | Original message: Make sure adding a field to a struct never reduces its size. PR11745. llvm-svn: 148070
* Fix http://llvm.org/bugs/show_bug.cgi?id=11752Howard Hinnant2012-01-122-3/+3
| | | | llvm-svn: 148069
* Revert r148056 while I investigate failures.Eli Friedman2012-01-122-15/+5
| | | | llvm-svn: 148068
* Added MVT::v2f16Pete Cooper2012-01-124-20/+31
| | | | llvm-svn: 148067
* rdar://problem/10680957Johnny Chen2012-01-126-6/+186
| | | | | | | | | | | | | | | | | | Need a test case that tests DWARF with .o in .a files test/functionalities/archives: Produces libfoo.a from a.o and b.o. Test breaking inside functions defined inside the libfoo.a BSD Archive. test/make/makefile.rules: Some additional rules to sepcify archive building. For example: ARCHIVE_NAME := libfoo.a ARCHIVE_C_SOURCES := a.c b.c llvm-svn: 148066
* Revert accidental commit.Bill Wendling2012-01-122-202/+0
| | | | llvm-svn: 148065
* Fix the code that was WRONG.Bill Wendling2012-01-123-13/+208
| | | | | | | The registers are placed into the saved registers list in the reverse order, which is why the original loop was written to loop backwards. llvm-svn: 148064
* Discriminate between the lldb_private::Type's for ObjC Classes that come ↵Jim Ingham2012-01-124-3/+21
| | | | | | | | | from debug info, and those that are made up from the ObjC runtime symbols. For now the latter contain nothing but the fact that the name describes an ObjC class, and so are not useful for things like dynamic types. llvm-svn: 148059
* Revert accidental commit.Eli Friedman2012-01-121-2/+0
| | | | llvm-svn: 148058
* Fix a comment typo.Jim Ingham2012-01-121-1/+1
| | | | llvm-svn: 148057
* Make sure adding a field to a struct never reduces its size. PR11745.Eli Friedman2012-01-123-5/+17
| | | | llvm-svn: 148056
* Adjust set of default checkers.Ted Kremenek2012-01-122-3/+0
| | | | llvm-svn: 148055
* Let the Module FindType do the stripping of namespace components, that's not ↵Jim Ingham2012-01-123-45/+8
| | | | | | | | | | expensive and doing it both at the ModuleList and Module levels means we look 4 times for a negative search. Also, don't do the search for the stripped name if that is the same as the original one. llvm-svn: 148054
* If an ObjCMessageExpr is implicit, there are no source locations for theArgyrios Kyrtzidis2012-01-121-3/+5
| | | | | | | | selector identifiers. It was difficult to form a test case for it unfortunately. llvm-svn: 148053
* Convert SemaCXXScopeSpec.cpp to pass a callback object to CorrectTypo,Kaelyn Uhrain2012-01-122-3/+30
| | | | | | improvng the typo correction results in certain situations. llvm-svn: 148052
* objc: do not warn when converting to a const id qualfied by itsFariborz Jahanian2012-01-122-1/+24
| | | | | | list of protools. // rdar://10669694 llvm-svn: 148051
* Added FPOW, FEXP, FLOG to PromoteNode so that custom actions can be set to ↵Pete Cooper2012-01-121-0/+18
| | | | | | | | Promote for those operations. Sorry, no test case yet llvm-svn: 148050
* Revert 148045 to fix the bots.Rafael Espindola2012-01-121-2/+0
| | | | llvm-svn: 148049
* Add some basic mingw support.Anton Korobeynikov2012-01-123-9/+48
| | | | | | Patch by Ruben Van Boxem! llvm-svn: 148048
* Oops, forgot to svn add the new test.Howard Hinnant2012-01-121-0/+304
| | | | llvm-svn: 148047
* Put debug print statments under a flag so that I can get a first glimpse at ↵Howard Hinnant2012-01-123-126/+145
| | | | | | 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
* Add a SONAME to the libclang library.Rafael Espindola2012-01-121-0/+2
| | | | | | Patch by Sylvestre Ledru. llvm-svn: 148045
* Fixed a bug in LowerVECTOR_SHUFFLE caused assertion failureElena Demikhovsky2012-01-122-2/+14
| | | | | | | lc: X86ISelLowering.cpp:6480: llvm::SDValue llvm::X86TargetLowering::LowerVECTOR_SHUFFLE(llvm::SDValue, llvm::SelectionDAG&) const: Assertion `V1.getOpcode() != ISD::UNDEF&& "Op 1 of shuffle should not be undef"' failed. Added a test. llvm-svn: 148044
* When hoisting common code, watch out for uses which are marked "kill". If theEvan Cheng2012-01-121-0/+5
| | | | | | | | | | | killed registers are needed below the insertion point, then unset the kill marker. Sorry I'm not able to find a reduced test case. rdar://10660944 llvm-svn: 148043
* Add error-reporting tests for platforms that don't support segmented stacks.Rafael Espindola2012-01-121-0/+11
| | | | | | Patch by Brian Anderson. llvm-svn: 148042
* Support segmented stacks on 64-bit FreeBSD.Rafael Espindola2012-01-122-2/+60
| | | | | | | This patch uses tcb_spare field in the tcb structure to store info. Patch by Jyun-Yan You. llvm-svn: 148041
* Support segmented stacks on win32.Rafael Espindola2012-01-122-7/+67
| | | | | | | Uses the pvArbitrary slot of the TIB, which is reserved for applications. We only support frames with a static size. llvm-svn: 148040
OpenPOWER on IntegriCloud