Граф коммитов

17616 Коммитов

Автор SHA1 Сообщение Дата
Anders Carlsson bb27d868ac CodeGenModule::GenerateVtable now returns a pointer directly to the vtable and not to the address point.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90676 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 21:28:12 +00:00
Anders Carlsson e40477cd57 Make sure that hte vtable always has an i8* array type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90675 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 21:09:05 +00:00
Anders Carlsson 9ac95b99ac Add a function for getting the vtable address point of a class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90674 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 21:03:56 +00:00
Anders Carlsson 4282edfe69 Simplify BuildVTT.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90673 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 21:02:25 +00:00
Anders Carlsson 2e32aaef37 Let the VTT builder pretend that getVtable returns a pointer to the vtable and not to the vtable address point.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90672 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 20:58:49 +00:00
Anders Carlsson be58b390eb Change getCtorVtable to not return the address point offset, but the global variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90671 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 20:42:53 +00:00
Anders Carlsson 9428b67b06 Simplify some code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90670 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 18:38:15 +00:00
Anders Carlsson 7ca4643663 Factor vtable related GlobalVariable creation out into a separate function. Add vtable linkage test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90667 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 17:04:47 +00:00
Anders Carlsson 6e2cf8c4d7 Update .xcodeproj file
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90666 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 16:07:02 +00:00
Steve Naroff 3d7e7865bd Integrate the following from the 'objective-rewrite' branch:
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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90665 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 15:55:59 +00:00
Steve Naroff 0304c6cb7f Remove 'LangOpts' from Diagnostic (added in http://llvm.org/viewvc/llvm-project?view=rev&revision=90642).
Simply use the 'LangOpts' member already present in TextDiagnosticPrinter.

Sorry for the confusion!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90664 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 12:23:07 +00:00
Benjamin Kramer 0e7049fc6f Avoid trashing two temporary strings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90663 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 10:22:15 +00:00
Benjamin Kramer f42d4886ae strcasecmp is unportable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90662 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 10:07:04 +00:00
Douglas Gregor 2b0cc12cf1 Improve the performance of code completion by 2.2x when completing for ordinary names with Cocoa.h included, by drastically improving the performance of our results sorting.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90661 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 09:08:56 +00:00
Chris Lattner 7c176fac84 fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90660 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 08:33:21 +00:00
Chris Lattner 36a2be162d consolidate some tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90659 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 08:30:04 +00:00
Chris Lattner 761acc19d9 implement rdar://7346691 by codegen'ing struct/array initializers
to a memset or a memcpy from a global when possible.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90658 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 08:22:11 +00:00
Chris Lattner 10976d99e4 various cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90657 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 08:21:30 +00:00
Chris Lattner ff933b7097 simplify a condition and add a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90652 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 06:49:57 +00:00
Chris Lattner 02dd4b1e27 fix rdar://7446395, a crash on invalid, by fixing a broken assertion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90647 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 05:40:13 +00:00
Eli Friedman 378fe06b93 Tweak "key function" rules so that they work for templates with virtual
inline functions.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90645 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 04:55:55 +00:00
Daniel Dunbar 942209729a CIndex: For the time being, don't return translation units if we encounter an error during parsing.
- We need to be more careful in the rest of CIndex if we are to handle
   possibly-invalid ASTs, and don't have much experience with this yet.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90643 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 02:17:18 +00:00
Steve Naroff e0c4d895ff Integrate the following from the 'objective-rewrite' branch:
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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90642 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 02:14:08 +00:00
Eli Friedman 152b5b1326 Skip actually generating the vtable unless we are defining it. This avoids
the side-effects of generating the methods in the vtable (including PR5676).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 01:05:03 +00:00
Daniel Dunbar f5431e3563 Unbreak -ccc-cxx and -ccc-clang-cxx defaulting.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90629 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 00:13:59 +00:00
Anders Carlsson 1b3171dd6c Don't emit explicit specializations of static member variable declarations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90624 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 23:50:01 +00:00
Mike Stump 6a1e0eb557 Add support for function try blocks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90622 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 23:26:17 +00:00
John McCall ed97649e95 Fix "using typename" and the instantiation of non-dependent using declarations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90614 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 22:46:56 +00:00
Benjamin Kramer cce9fde82a Return bool as a bool instead of a uint64_t.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90610 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 22:45:27 +00:00
Anders Carlsson 48eda2c5d6 Be a little more clever about inline member functions that are marked inline 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).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90607 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 22:35:50 +00:00
Anders Carlsson 9936908144 Forgot this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90606 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 22:34:07 +00:00
Anders Carlsson 5c478cf2d5 Diagnose declarations of implicit member functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90605 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 22:33:25 +00:00
Mike Stump be0ed67bc7 Add an easy accessor for the end of the try/catch statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90604 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 22:22:32 +00:00
Daniel Dunbar 8477ee93c9 Driver: Switch -ccc-* options to using the standard options functionality.
- I still want to get rid of them, but manually handling them isn't adding value.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:55:23 +00:00
John Thompson 6e132aab86 Fix for PR5650 - Revised vector_size attribute handling to be done earlier before declaration is finalized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90600 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:51:28 +00:00
Steve Naroff 17c8778db9 Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=70978



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90597 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:36:32 +00:00
Steve Naroff fdd6aaf162 Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=70926



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90596 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:29:41 +00:00
Steve Naroff e89b8e7946 Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=70922



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:18:19 +00:00
Sean Hunt 5dd6b39fb5 Put in FIXME that this mangling is not official in.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90594 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:11:13 +00:00
Daniel Dunbar 2658f05caf OptTable: Allow option groups to be used to define "help groups", which will
collate the options inside that group.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90592 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:08:40 +00:00
Daniel Dunbar 9a242512a8 OptParser: Add HelpHidden flag.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90591 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:08:25 +00:00
Sean Hunt 2421f66b94 Switch mangling of literal operator names to a string that's
a) legal
 b) likely to be chosen as the official mangling

This will break ABI compatibility with all literal operator names,
so you may need to recompile any such code. Sorry.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90587 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:01:37 +00:00
Mike Stump 1c4269a9d9 Be sure to instantiate rtti for non-polymorphic bases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90586 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 20:55:13 +00:00
Ted Kremenek 30a45344c8 Teach AnalysisContext::getBody() about BlockDecls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90585 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 20:34:55 +00:00
Ted Kremenek 4f1db53772 Teach 'ExecutionContinues' (part of BugReporter's diagnostic generation) about BlockDecls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90584 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 20:34:31 +00:00
Ted Kremenek 224451bf4e Include BlockDeclRefExprs in constructed CFGs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90583 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 20:33:25 +00:00
Ted Kremenek edeb5b6b50 Replace SymbolReaper::isLive(VarDecl) with SymbolReaper::isLive(VarRegion).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90582 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 20:32:20 +00:00
Anders Carlsson fd12649cd5 When generating a virtual destructor, don't try to make a virtual call to the base class destructor because then we'll just re-enter the same destructor!
This was done to fix PR5619, so I went ahead and passed a dummy VTT pointer for now.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90578 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 19:33:17 +00:00
Rafael Espindola 0f4c59c3be Add gcc's -no-canonical-prefixes option to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90577 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 19:31:58 +00:00
Mike Stump b2c9c0b1c5 Fixup nested try blocks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90576 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 19:21:57 +00:00