Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | revert my previous patch, it is breaking something and I don't have time | Chris Lattner | 2009-12-06 | 10 | -111/+18 |
| | | | | | | to fix it ATM. llvm-svn: 90717 | ||||
* | Move helper onto CXXMethodDecl. | Eli Friedman | 2009-12-06 | 3 | -17/+23 |
| | | | | llvm-svn: 90716 | ||||
* | Switch the std::multimap shadow map used in code completion to an | Douglas Gregor | 2009-12-06 | 1 | -16/+179 |
| | | | | | | | llvm::DenseMap, for a 20% performance improvement in the Cocoa-big-list performance benchmark. llvm-svn: 90715 | ||||
* | this is really about both PR's, 4452 is "don't crash", 4451 is "recover nicely". | Chris Lattner | 2009-12-06 | 1 | -1/+1 |
| | | | | llvm-svn: 90714 | ||||
* | implement PR4451, improving error recovery for a mistaken : where a :: was | Chris Lattner | 2009-12-06 | 10 | -18/+111 |
| | | | | | | | | | | | | | | | | | | | | | | | | intended. On the first testcase in the bug, we now produce: cxx-decl.cpp:12:2: error: unexpected ':' in nested name specifier y:a a2; ^ :: instead of: t.cc:8:1: error: C++ requires a type specifier for all declarations x:a a2; ^ t.cc:8:2: error: invalid token after top level declarator x:a a2; ^ ; t.cc:9:11: error: use of undeclared identifier 'a2' x::a a3 = a2; ^ llvm-svn: 90713 | ||||
* | simplify logic. | Chris Lattner | 2009-12-06 | 1 | -6/+7 |
| | | | | llvm-svn: 90712 | ||||
* | Add rudimentary support for member pointers to CGDebugInfo. | Anders Carlsson | 2009-12-06 | 5 | -132/+179 |
| | | | | llvm-svn: 90711 | ||||
* | remove some extraneous syntax: sourceloc implicitly converts to sourcerange. | Chris Lattner | 2009-12-06 | 7 | -14/+13 |
| | | | | llvm-svn: 90710 | ||||
* | use new helpers to simplify code. | Chris Lattner | 2009-12-06 | 1 | -8/+4 |
| | | | | llvm-svn: 90709 | ||||
* | fix PR5698 | Chris Lattner | 2009-12-06 | 2 | -0/+27 |
| | | | | llvm-svn: 90708 | ||||
* | remove extraneous comma clang warns about | Chris Lattner | 2009-12-06 | 1 | -1/+1 |
| | | | | llvm-svn: 90707 | ||||
* | Add test case for mktemp. Patch by Lei Zhang. | Zhongxing Xu | 2009-12-06 | 1 | -0/+6 |
| | | | | llvm-svn: 90706 | ||||
* | Drop Preprocessor/open-failure test, it breaks running the test suite as root, | Daniel Dunbar | 2009-12-06 | 1 | -11/+0 |
| | | | | | | and I can't figure out how to write it more portably. llvm-svn: 90705 | ||||
* | Document that CompilerInvocation::createDiagnostics keeps a reference to the ↵ | Daniel Dunbar | 2009-12-06 | 4 | -4/+11 |
| | | | | | | DiagnosticOptions, and update callers to make sure they don't pass in a temporary. llvm-svn: 90704 | ||||
* | Fix an off by one in findEndOfWord, which could scan past the end of the ↵ | Daniel Dunbar | 2009-12-06 | 1 | -4/+9 |
| | | | | | | string in a corner case. llvm-svn: 90703 | ||||
* | Fix a slight oversight in computing whether a copy constructor is elidable. | Eli Friedman | 2009-12-06 | 2 | -2/+15 |
| | | | | | | Fixes PR5695. llvm-svn: 90702 | ||||
* | Unbreak and add test case for r90276, a situation in which getBuffer is ↵ | Daniel Dunbar | 2009-12-06 | 3 | -7/+17 |
| | | | | | | | | expected to fail. Also, update SourceManager.h doxyments for getBuffer() to reflect reality. llvm-svn: 90701 | ||||
* | Change Preprocessor::EnterSourceFile to make ErrorStr non-optional, clients ↵ | Daniel Dunbar | 2009-12-06 | 4 | -6/+9 |
| | | | | | | should be forced to deal with error conditions. llvm-svn: 90700 | ||||
* | Add a pretty horrible hack to prevent clang from crashing with inconsistent PCH | Daniel Dunbar | 2009-12-06 | 2 | -2/+33 |
| | | | | | | | | | | | | | files. - The issue is that PCH uses a stat cache, which may reference files which have been deleted or moved. In such cases ContentCache::getBuffer was returning 0 but most clients are incapable of dealing with this (i.e., they don't). For the time being, resolve this issue by just making up some invalid file contents and. Eventually we should detect that we are in an inconsistent situation and error out with a nice message that the PCH is out of date. llvm-svn: 90699 | ||||
* | constant fold loads from memcpy's from global constants. This is important | Chris Lattner | 2009-12-06 | 2 | -6/+62 |
| | | | | | | | because clang lowers nontrivial automatic struct/array inits to memcpy from a global array. llvm-svn: 90698 | ||||
* | add support for forwarding mem intrinsic values to non-local loads. | Chris Lattner | 2009-12-06 | 2 | -33/+97 |
| | | | | llvm-svn: 90697 | ||||
* | gvn is optimizing this better now. | Chris Lattner | 2009-12-06 | 1 | -2/+2 |
| | | | | llvm-svn: 90696 | ||||
* | Handle forwarding local memsets to loads. For example, we optimize this: | Chris Lattner | 2009-12-06 | 2 | -43/+173 |
| | | | | | | | | | | | short x(short *A) { memset(A, 1, sizeof(*A)*100); return A[42]; } to 'return 257' instead of doing the load. llvm-svn: 90695 | ||||
* | Add helper methods for forming shift operations with a constant | Chris Lattner | 2009-12-06 | 1 | -0/+21 |
| | | | | | | shift amount. llvm-svn: 90694 | ||||
* | Integrate the following from the 'objective-rewrite' branch: | Steve Naroff | 2009-12-06 | 1 | -1/+1 |
| | | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=86026 Note: The 'improved debugging' changes weren't integrated (since they were later reverted, since they didn't improve debugging). llvm-svn: 90693 | ||||
* | Integrate the following from the 'objective-rewrite' branch: | Steve Naroff | 2009-12-06 | 1 | -2/+1 |
| | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=82174 llvm-svn: 90692 | ||||
* | merge two tests. | Chris Lattner | 2009-12-06 | 2 | -20/+25 |
| | | | | llvm-svn: 90691 | ||||
* | Integrate the following from the 'objective-rewrite' branch: | Steve Naroff | 2009-12-06 | 1 | -4/+11 |
| | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=72893 llvm-svn: 90690 | ||||
* | Set the correct linkage for VTTs as well. | Anders Carlsson | 2009-12-06 | 3 | -61/+42 |
| | | | | llvm-svn: 90689 | ||||
* | Integrate the following from the 'objective-rewrite' branch: | Steve Naroff | 2009-12-06 | 1 | -7/+13 |
| | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=71473 llvm-svn: 90688 | ||||
* | More linkage improvements. | Anders Carlsson | 2009-12-06 | 3 | -15/+42 |
| | | | | llvm-svn: 90687 | ||||
* | Pass the desired vtable linkage to GenerateVtable directly. Only call ↵ | Anders Carlsson | 2009-12-06 | 3 | -27/+16 |
| | | | | | | MaybeMarkVirtualImplicitMembersReferenced for non-inline functions. llvm-svn: 90686 | ||||
* | CheckAtomic.cmake: Put all C++ code inside CHECK_CXX_SOURCE_COMPILES. | Oscar Fuentes | 2009-12-06 | 1 | -2/+1 |
| | | | | llvm-svn: 90685 | ||||
* | Make GenerateVtable a private member function of CGVtableInfo. | Anders Carlsson | 2009-12-06 | 3 | -36/+35 |
| | | | | llvm-svn: 90684 | ||||
* | Fix for atomic intrinsics detection when using MSVC. | Oscar Fuentes | 2009-12-05 | 1 | -0/+12 |
| | | | | | | Patch by Michael Beck! llvm-svn: 90683 | ||||
* | Fix for PR5693: shift some code into SetClassDeclAttributesFromBase so that | Eli Friedman | 2009-12-05 | 2 | -5/+23 |
| | | | | | | it gets called during template instantiation. llvm-svn: 90682 | ||||
* | Only emit the vtable definition if the class has a key function and we're ↵ | Anders Carlsson | 2009-12-05 | 1 | -32/+22 |
| | | | | | | emitting it, or if the class doesn't have a key function and we are emitting the complete constructor. llvm-svn: 90681 | ||||
* | If a class does not have a key function, its linkage should be weak_odr. | Anders Carlsson | 2009-12-05 | 3 | -3/+13 |
| | | | | llvm-svn: 90680 | ||||
* | Use createGlobalVariable for creating vtable variables too. | Anders Carlsson | 2009-12-05 | 2 | -52/+52 |
| | | | | llvm-svn: 90679 | ||||
* | Don't call back() on an empty vector. | Benjamin Kramer | 2009-12-05 | 1 | -2/+1 |
| | | | | llvm-svn: 90678 | ||||
* | Integrate the following from the 'objective-rewrite' branch: | Steve Naroff | 2009-12-05 | 2 | -11/+110 |
| | | | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=71225 http://llvm.org/viewvc/llvm-project?view=rev&revision=73207 http://llvm.org/viewvc/llvm-project?view=rev&revision=73414 llvm-svn: 90677 | ||||
* | CodeGenModule::GenerateVtable now returns a pointer directly to the vtable ↵ | Anders Carlsson | 2009-12-05 | 2 | -34/+34 |
| | | | | | | and not to the address point. llvm-svn: 90676 | ||||
* | Make sure that hte vtable always has an i8* array type. | Anders Carlsson | 2009-12-05 | 1 | -5/+4 |
| | | | | llvm-svn: 90675 | ||||
* | Add a function for getting the vtable address point of a class. | Anders Carlsson | 2009-12-05 | 2 | -0/+12 |
| | | | | llvm-svn: 90674 | ||||
* | Simplify BuildVTT. | Anders Carlsson | 2009-12-05 | 1 | -11/+10 |
| | | | | llvm-svn: 90673 | ||||
* | Let the VTT builder pretend that getVtable returns a pointer to the vtable ↵ | Anders Carlsson | 2009-12-05 | 1 | -4/+4 |
| | | | | | | and not to the vtable address point. llvm-svn: 90672 | ||||
* | Change getCtorVtable to not return the address point offset, but the global ↵ | Anders Carlsson | 2009-12-05 | 1 | -2/+10 |
| | | | | | | variable. llvm-svn: 90671 | ||||
* | Simplify some code. | Anders Carlsson | 2009-12-05 | 1 | -11/+11 |
| | | | | llvm-svn: 90670 | ||||
* | Remove old DBG_LABEL code. | Dan Gohman | 2009-12-05 | 2 | -9/+0 |
| | | | | llvm-svn: 90669 | ||||
* | Remove the unused DisableLegalizeTypes option and related code. | Dan Gohman | 2009-12-05 | 3 | -53/+48 |
| | | | | llvm-svn: 90668 |