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