summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* implement PR4451, improving error recovery for a mistaken : where a :: wasChris Lattner2009-12-065-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 Lattner2009-12-061-6/+7
| | | | llvm-svn: 90712
* Add rudimentary support for member pointers to CGDebugInfo.Anders Carlsson2009-12-064-132/+172
| | | | llvm-svn: 90711
* remove some extraneous syntax: sourceloc implicitly converts to sourcerange.Chris Lattner2009-12-067-14/+13
| | | | llvm-svn: 90710
* use new helpers to simplify code.Chris Lattner2009-12-061-8/+4
| | | | llvm-svn: 90709
* Fix an off by one in findEndOfWord, which could scan past the end of the ↵Daniel Dunbar2009-12-061-4/+9
| | | | | | string in a corner case. llvm-svn: 90703
* Fix a slight oversight in computing whether a copy constructor is elidable.Eli Friedman2009-12-061-2/+4
| | | | | | Fixes PR5695. llvm-svn: 90702
* Unbreak and add test case for r90276, a situation in which getBuffer is ↵Daniel Dunbar2009-12-061-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 Dunbar2009-12-063-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 PCHDaniel Dunbar2009-12-061-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 Naroff2009-12-061-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 Naroff2009-12-061-2/+1
| | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=82174 llvm-svn: 90692
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-061-4/+11
| | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=72893 llvm-svn: 90690
* Set the correct linkage for VTTs as well.Anders Carlsson2009-12-063-61/+42
| | | | llvm-svn: 90689
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-061-7/+13
| | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=71473 llvm-svn: 90688
* More linkage improvements.Anders Carlsson2009-12-062-15/+32
| | | | llvm-svn: 90687
* Pass the desired vtable linkage to GenerateVtable directly. Only call ↵Anders Carlsson2009-12-063-27/+16
| | | | | | MaybeMarkVirtualImplicitMembersReferenced for non-inline functions. llvm-svn: 90686
* Make GenerateVtable a private member function of CGVtableInfo.Anders Carlsson2009-12-063-36/+35
| | | | llvm-svn: 90684
* Fix for PR5693: shift some code into SetClassDeclAttributesFromBase so thatEli Friedman2009-12-051-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 Carlsson2009-12-051-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 Carlsson2009-12-051-2/+2
| | | | llvm-svn: 90680
* Use createGlobalVariable for creating vtable variables too.Anders Carlsson2009-12-051-42/+36
| | | | llvm-svn: 90679
* Don't call back() on an empty vector.Benjamin Kramer2009-12-051-2/+1
| | | | llvm-svn: 90678
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-051-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 Carlsson2009-12-052-34/+34
| | | | | | and not to the address point. llvm-svn: 90676
* Make sure that hte vtable always has an i8* array type.Anders Carlsson2009-12-051-5/+4
| | | | llvm-svn: 90675
* Add a function for getting the vtable address point of a class.Anders Carlsson2009-12-052-0/+12
| | | | llvm-svn: 90674
* Simplify BuildVTT.Anders Carlsson2009-12-051-11/+10
| | | | llvm-svn: 90673
* Let the VTT builder pretend that getVtable returns a pointer to the vtable ↵Anders Carlsson2009-12-051-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 Carlsson2009-12-051-2/+10
| | | | | | variable. llvm-svn: 90671
* Simplify some code.Anders Carlsson2009-12-051-11/+11
| | | | llvm-svn: 90670
* Factor vtable related GlobalVariable creation out into a separate function. ↵Anders Carlsson2009-12-051-24/+40
| | | | | | Add vtable linkage test. llvm-svn: 90667
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-051-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 Naroff2009-12-052-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 Kramer2009-12-051-2/+2
| | | | llvm-svn: 90663
* strcasecmp is unportable.Benjamin Kramer2009-12-051-1/+1
| | | | llvm-svn: 90662
* Improve the performance of code completion by 2.2x when completing for ↵Douglas Gregor2009-12-051-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 initializersChris Lattner2009-12-052-63/+129
| | | | | | to a memset or a memcpy from a global when possible. llvm-svn: 90658
* various cleanups.Chris Lattner2009-12-051-9/+11
| | | | llvm-svn: 90657
* simplify a condition and add a testcase.Chris Lattner2009-12-051-8/+10
| | | | llvm-svn: 90652
* fix rdar://7446395, a crash on invalid, by fixing a broken assertion.Chris Lattner2009-12-051-4/+3
| | | | llvm-svn: 90647
* Tweak "key function" rules so that they work for templates with virtualEli Friedman2009-12-051-1/+15
| | | | | | inline functions. llvm-svn: 90645
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-052-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 avoidsEli Friedman2009-12-051-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 Dunbar2009-12-051-2/+3
| | | | llvm-svn: 90629
* Don't emit explicit specializations of static member variable declarations.Anders Carlsson2009-12-041-5/+11
| | | | llvm-svn: 90624
* Add support for function try blocks.Mike Stump2009-12-043-2/+51
| | | | llvm-svn: 90622
* Fix "using typename" and the instantiation of non-dependent using declarations.John McCall2009-12-0412-49/+279
| | | | llvm-svn: 90614
* Return bool as a bool instead of a uint64_t.Benjamin Kramer2009-12-041-1/+1
| | | | llvm-svn: 90610
* Be a little more clever about inline member functions that are marked inline ↵Anders Carlsson2009-12-041-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
OpenPOWER on IntegriCloud