| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | implement PR4451, improving error recovery for a mistaken : where a :: was | Chris Lattner | 2009-12-06 | 5 | -12/+69 |
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 | 4 | -132/+172 |
| | | | | | 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 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 | 1 | -2/+4 |
| | | | | | | | Fixes PR5695. llvm-svn: 90702 | ||||
| * | Unbreak and add test case for r90276, a situation in which getBuffer is ↵ | Daniel Dunbar | 2009-12-06 | 1 | -1/+1 |
| | | | | | | | | | 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 | 3 | -5/+8 |
| | | | | | | | 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 | 1 | -2/+18 |
| | | | | | | | | | | | | | | 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 | ||||
| * | 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 | ||||
| * | 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 | 2 | -15/+32 |
| | | | | | 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 | ||||
| * | Make GenerateVtable a private member function of CGVtableInfo. | Anders Carlsson | 2009-12-06 | 3 | -36/+35 |
| | | | | | llvm-svn: 90684 | ||||
| * | Fix for PR5693: shift some code into SetClassDeclAttributesFromBase so that | Eli Friedman | 2009-12-05 | 1 | -5/+15 |
| | | | | | | | 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 | 1 | -2/+2 |
| | | | | | llvm-svn: 90680 | ||||
| * | Use createGlobalVariable for creating vtable variables too. | Anders Carlsson | 2009-12-05 | 1 | -42/+36 |
| | | | | | 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 | 1 | -10/+94 |
| | | | | | | | | | 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 | ||||
| * | Factor vtable related GlobalVariable creation out into a separate function. ↵ | Anders Carlsson | 2009-12-05 | 1 | -24/+40 |
| | | | | | | | Add vtable linkage test. llvm-svn: 90667 | ||||
| * | Integrate the following from the 'objective-rewrite' branch: | Steve Naroff | 2009-12-05 | 1 | -9/+37 |
| | | | | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=71086 http://llvm.org/viewvc/llvm-project?view=rev&revision=71107 Note: This fixes <rdar://problem/6845623> from protocol to template. llvm-svn: 90665 | ||||
| * | Remove 'LangOpts' from Diagnostic (added in ↵ | Steve Naroff | 2009-12-05 | 2 | -4/+1 |
| | | | | | | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=90642). Simply use the 'LangOpts' member already present in TextDiagnosticPrinter. Sorry for the confusion! llvm-svn: 90664 | ||||
| * | Avoid trashing two temporary strings. | Benjamin Kramer | 2009-12-05 | 1 | -2/+2 |
| | | | | | llvm-svn: 90663 | ||||
| * | strcasecmp is unportable. | Benjamin Kramer | 2009-12-05 | 1 | -1/+1 |
| | | | | | llvm-svn: 90662 | ||||
| * | Improve the performance of code completion by 2.2x when completing for ↵ | Douglas Gregor | 2009-12-05 | 1 | -6/+46 |
| | | | | | | | ordinary names with Cocoa.h included, by drastically improving the performance of our results sorting. llvm-svn: 90661 | ||||
| * | implement rdar://7346691 by codegen'ing struct/array initializers | Chris Lattner | 2009-12-05 | 2 | -63/+129 |
| | | | | | | | to a memset or a memcpy from a global when possible. llvm-svn: 90658 | ||||
| * | various cleanups. | Chris Lattner | 2009-12-05 | 1 | -9/+11 |
| | | | | | llvm-svn: 90657 | ||||
| * | simplify a condition and add a testcase. | Chris Lattner | 2009-12-05 | 1 | -8/+10 |
| | | | | | llvm-svn: 90652 | ||||
| * | fix rdar://7446395, a crash on invalid, by fixing a broken assertion. | Chris Lattner | 2009-12-05 | 1 | -4/+3 |
| | | | | | llvm-svn: 90647 | ||||
| * | Tweak "key function" rules so that they work for templates with virtual | Eli Friedman | 2009-12-05 | 1 | -1/+15 |
| | | | | | | | inline functions. llvm-svn: 90645 | ||||
| * | Integrate the following from the 'objective-rewrite' branch: | Steve Naroff | 2009-12-05 | 2 | -6/+15 |
| | | | | | | | | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=71086 Note - This commit only includes the fix for: <rdar://problem/6309338> slightly different error message format for Visual Studio. The fix for <rdar://problem/6845623> from protocol to template. is separate/forthcoming. llvm-svn: 90642 | ||||
| * | Skip actually generating the vtable unless we are defining it. This avoids | Eli Friedman | 2009-12-05 | 1 | -24/+38 |
| | | | | | | | the side-effects of generating the methods in the vtable (including PR5676). llvm-svn: 90635 | ||||
| * | Unbreak -ccc-cxx and -ccc-clang-cxx defaulting. | Daniel Dunbar | 2009-12-05 | 1 | -2/+3 |
| | | | | | llvm-svn: 90629 | ||||
| * | Don't emit explicit specializations of static member variable declarations. | Anders Carlsson | 2009-12-04 | 1 | -5/+11 |
| | | | | | llvm-svn: 90624 | ||||
| * | Add support for function try blocks. | Mike Stump | 2009-12-04 | 3 | -2/+51 |
| | | | | | llvm-svn: 90622 | ||||
| * | Fix "using typename" and the instantiation of non-dependent using declarations. | John McCall | 2009-12-04 | 12 | -49/+279 |
| | | | | | llvm-svn: 90614 | ||||
| * | Return bool as a bool instead of a uint64_t. | Benjamin Kramer | 2009-12-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 90610 | ||||
| * | Be a little more clever about inline member functions that are marked inline ↵ | Anders Carlsson | 2009-12-04 | 1 | -1/+13 |
| | | | | | | | | | | | | | | | in the inline class declaration but not in the actual definition: class A { inline void f(); } void A::f() { } This is not the most ideal solution, since it doesn't work 100% with regular functions (as my FIXME comment states). llvm-svn: 90607 | ||||

