]> granicus.if.org Git - clang/log
clang
15 years agoAdd mangling for thunks.
Mike Stump [Wed, 2 Sep 2009 00:25:38 +0000 (00:25 +0000)]
Add mangling for thunks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80743 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest for my last patch.
Fariborz Jahanian [Wed, 2 Sep 2009 00:05:10 +0000 (00:05 +0000)]
Test for my last patch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80740 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIt is illegal to derefrercne to an interface in
Fariborz Jahanian [Wed, 2 Sep 2009 00:00:05 +0000 (00:00 +0000)]
It is illegal to derefrercne to an interface in
objc's non-fragile ABI.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80739 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMore overriding base work and some cleanups. WIP.
Mike Stump [Tue, 1 Sep 2009 23:22:44 +0000 (23:22 +0000)]
More overriding base work and some cleanups.  WIP.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80737 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAfter a conversation with Doug. I added a fix me to
Fariborz Jahanian [Tue, 1 Sep 2009 23:08:16 +0000 (23:08 +0000)]
After a conversation with Doug. I added a fix me to
where we build the constructor's initializer list.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80735 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSplit out overriding. WIP.
Mike Stump [Tue, 1 Sep 2009 22:20:28 +0000 (22:20 +0000)]
Split out overriding.  WIP.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80732 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTestcase for recent checkin.
Mike Stump [Tue, 1 Sep 2009 22:01:25 +0000 (22:01 +0000)]
Testcase for recent checkin.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80725 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoHandle member expressions that return references correctly.
Anders Carlsson [Tue, 1 Sep 2009 21:18:52 +0000 (21:18 +0000)]
Handle member expressions that return references correctly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80723 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAssert that we don't have any virtual bases. We can emit dtors for polymorphics class...
Anders Carlsson [Tue, 1 Sep 2009 21:12:16 +0000 (21:12 +0000)]
Assert that we don't have any virtual bases. We can emit dtors for polymorphics classes just fune.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80722 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIn CXXBaseOrMemberInitializer, don't confuse CtorTocall with
Douglas Gregor [Tue, 1 Sep 2009 21:04:42 +0000 (21:04 +0000)]
In CXXBaseOrMemberInitializer, don't confuse CtorTocall with
AnonUnionMember. Fixes PR4826.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80721 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse the correct cast kinds for bit casts and function to pointer decay. Fixes PR4827.
Anders Carlsson [Tue, 1 Sep 2009 20:52:42 +0000 (20:52 +0000)]
Use the correct cast kinds for bit casts and function to pointer decay. Fixes PR4827.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80720 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a CK_FunctionToPointerDecay cast kind.
Anders Carlsson [Tue, 1 Sep 2009 20:37:18 +0000 (20:37 +0000)]
Add a CK_FunctionToPointerDecay cast kind.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80719 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWe can generate constructors/destructors with base classes and non-trivial fields...
Anders Carlsson [Tue, 1 Sep 2009 18:33:46 +0000 (18:33 +0000)]
We can generate constructors/destructors with base classes and non-trivial fields just fine now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80701 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd test case from <rdar://problem/7184450>.
Ted Kremenek [Tue, 1 Sep 2009 18:33:16 +0000 (18:33 +0000)]
Add test case from <rdar://problem/7184450>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80700 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement proper substitution for OverloadedFunctionDecls, but substituting each...
Douglas Gregor [Tue, 1 Sep 2009 17:53:10 +0000 (17:53 +0000)]
Implement proper substitution for OverloadedFunctionDecls, but substituting each of the functions in the overload set

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80692 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd DeclContext::Equals to compare declaration contexts based on their primary contex...
Douglas Gregor [Tue, 1 Sep 2009 17:22:34 +0000 (17:22 +0000)]
Add DeclContext::Equals to compare declaration contexts based on their primary context. Use this instead of pointer comparisons

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80690 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTweak comment based on Daniel's recently added '-emit-ast' option.
Steve Naroff [Tue, 1 Sep 2009 17:13:31 +0000 (17:13 +0000)]
Tweak comment based on Daniel's recently added '-emit-ast' option.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80684 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago"The attached patch moves AttributeList::addAttributeList outside the
Douglas Gregor [Tue, 1 Sep 2009 17:10:19 +0000 (17:10 +0000)]
"The attached patch moves AttributeList::addAttributeList outside the
class so as to accomodate one or both parameters being NULL, " from Sean Hunt!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80683 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFixed a property getter ir-gen crash.
Fariborz Jahanian [Tue, 1 Sep 2009 17:02:21 +0000 (17:02 +0000)]
Fixed a property getter ir-gen crash.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80681 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a crasher involving template instantiation of non-dependent
Douglas Gregor [Tue, 1 Sep 2009 16:58:52 +0000 (16:58 +0000)]
Fix a crasher involving template instantiation of non-dependent
expressions making use of an overloaded operator. Thanks for the test
case, Anders!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80679 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd driver support for -emit-ast and AST compilation steps.
Daniel Dunbar [Tue, 1 Sep 2009 16:57:46 +0000 (16:57 +0000)]
Add driver support for -emit-ast and AST compilation steps.
 - <rdar://problem/7185031> Add 'clang' option '-emit-ast'

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80678 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTip-toe around strict-aliasing violation. Fixes PR4061.
Douglas Gregor [Tue, 1 Sep 2009 16:13:00 +0000 (16:13 +0000)]
Tip-toe around strict-aliasing violation. Fixes PR4061.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80674 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd explicit "blind" client data to callback function (since we aren't using blocks).
Steve Naroff [Tue, 1 Sep 2009 15:55:40 +0000 (15:55 +0000)]
Add explicit "blind" client data to callback function (since we aren't using blocks).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80673 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMove C++ test over to CodeGenCXX, since it requires CodeGen to reproduce
Douglas Gregor [Tue, 1 Sep 2009 15:39:05 +0000 (15:39 +0000)]
Move C++ test over to CodeGenCXX, since it requires CodeGen to reproduce

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80672 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't assume that a base is always a RecordType, it can also be a TemplateSpecializat...
Anders Carlsson [Tue, 1 Sep 2009 06:22:14 +0000 (06:22 +0000)]
Don't assume that a base is always a RecordType, it can also be a TemplateSpecializationType. Also, make sure to get the instantiated union member.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80662 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd pretty stack traces when instantiating functions and static data members.
Anders Carlsson [Tue, 1 Sep 2009 05:12:24 +0000 (05:12 +0000)]
Add pretty stack traces when instantiating functions and static data members.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80661 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoHandle member initializers that point to fields in anonymous structs.
Anders Carlsson [Tue, 1 Sep 2009 04:31:02 +0000 (04:31 +0000)]
Handle member initializers that point to fields in anonymous structs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80659 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't assert when instantiating member references to fields in anonymous structs.
Anders Carlsson [Tue, 1 Sep 2009 04:26:58 +0000 (04:26 +0000)]
Don't assert when instantiating member references to fields in anonymous structs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80657 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPR4836, part 2: CodeGen for __builtin_isnan.
Eli Friedman [Tue, 1 Sep 2009 04:19:44 +0000 (04:19 +0000)]
PR4836, part 2: CodeGen for __builtin_isnan.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80655 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPreliminary AST representation and semantic analysis for
Douglas Gregor [Tue, 1 Sep 2009 00:37:14 +0000 (00:37 +0000)]
Preliminary AST representation and semantic analysis for
explicitly-specified template argument lists in member reference
expressions, e.g.,

  x->f<int>()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80646 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoForce triple for this test (non-fragile ABI is default on x86_64-apple-darwin9).
Daniel Dunbar [Tue, 1 Sep 2009 00:36:20 +0000 (00:36 +0000)]
Force triple for this test (non-fragile ABI is default on x86_64-apple-darwin9).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80645 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSentence-case bug category.
Ted Kremenek [Tue, 1 Sep 2009 00:17:12 +0000 (00:17 +0000)]
Sentence-case bug category.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80644 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemember to write the qualifier of a MemberExpr to the PCH file when we get to C...
Douglas Gregor [Mon, 31 Aug 2009 23:44:04 +0000 (23:44 +0000)]
Remember to write the qualifier of a MemberExpr to the PCH file when we get to C++ PCH

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80643 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEliminate CXXAdornedMemberExpr entirely. Instead, optionally allocate
Douglas Gregor [Mon, 31 Aug 2009 23:41:50 +0000 (23:41 +0000)]
Eliminate CXXAdornedMemberExpr entirely. Instead, optionally allocate
space within the MemberExpr for the nested-name-specifier and its
source range. We'll do the same thing with explicitly-specified
template arguments, assuming I don't flip-flop again.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80642 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix bug 4784 and allow friend declarations to properly extend
John McCall [Mon, 31 Aug 2009 22:39:49 +0000 (22:39 +0000)]
Fix bug 4784 and allow friend declarations to properly extend
existing declaration chains.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80636 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename DIBlock as DILexicalBlock.
Devang Patel [Mon, 31 Aug 2009 22:00:32 +0000 (22:00 +0000)]
Rename DIBlock as DILexicalBlock.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80634 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we will
Douglas Gregor [Mon, 31 Aug 2009 21:41:48 +0000 (21:41 +0000)]
Rename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we will
also be adding explicit template arguments as an additional
"adornment". No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80628 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd parsing for references to member function templates with explicit
Douglas Gregor [Mon, 31 Aug 2009 21:16:32 +0000 (21:16 +0000)]
Add parsing for references to member function templates with explicit
template argument lists, e.g., x.f<int>().

Semantic analysis will be a separate commit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80624 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPR4836, part 1: add Sema support for __builtin_isnan and friends; they
Eli Friedman [Mon, 31 Aug 2009 20:06:00 +0000 (20:06 +0000)]
PR4836, part 1: add Sema support for __builtin_isnan and friends; they
are apparently used by Solaris libc despite the fact that clang claims
to be compatible with gcc 4.2, which doesn't support them.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80610 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement template instantiation for member operator access.
Douglas Gregor [Mon, 31 Aug 2009 20:00:26 +0000 (20:00 +0000)]
Implement template instantiation for member operator access.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80609 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSupport explicit C++ member operator syntax, from James Porter!
Douglas Gregor [Mon, 31 Aug 2009 19:52:13 +0000 (19:52 +0000)]
Support explicit C++ member operator syntax, from James Porter!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80608 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRe-implemented generation of objc_memmove_collectable
Fariborz Jahanian [Mon, 31 Aug 2009 19:33:16 +0000 (19:33 +0000)]
Re-implemented generation of objc_memmove_collectable
API for copying GC'able aggregates (Next runtime only).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80607 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a -Asserts warning.
Daniel Dunbar [Mon, 31 Aug 2009 19:16:38 +0000 (19:16 +0000)]
Fix a -Asserts warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80606 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdded test cases for presence and absence of __has_feature(objc_nonfragile_abi) with...
David Chisnall [Mon, 31 Aug 2009 16:53:06 +0000 (16:53 +0000)]
Added test cases for presence and absence of __has_feature(objc_nonfragile_abi) with and without -fobjc-nonfragile-abi.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80593 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdated GNU runtime non-fragile ABI.
David Chisnall [Mon, 31 Aug 2009 16:41:57 +0000 (16:41 +0000)]
Updated GNU runtime non-fragile ABI.
Added -fconstant-string-class= option.
Added __has_feature() test for non-fragile ABI.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80591 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement source/line/column hooks.
Steve Naroff [Mon, 31 Aug 2009 14:26:51 +0000 (14:26 +0000)]
Implement source/line/column hooks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80585 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMore fleshing out the C-based indexing API (under construction).
Steve Naroff [Mon, 31 Aug 2009 00:59:03 +0000 (00:59 +0000)]
More fleshing out the C-based indexing API (under construction).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80529 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMore missing member goodness.
Anders Carlsson [Sun, 30 Aug 2009 07:09:50 +0000 (07:09 +0000)]
More missing member goodness.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80491 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove missing error messages as suggested by Doug.
Anders Carlsson [Sun, 30 Aug 2009 06:49:43 +0000 (06:49 +0000)]
Improve missing error messages as suggested by Doug.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80489 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse DiagnoseMissingMember for UsingDecls.
Anders Carlsson [Sun, 30 Aug 2009 00:58:45 +0000 (00:58 +0000)]
Use DiagnoseMissingMember for UsingDecls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80470 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove diagnostics for missing members. This renames the err_typecheck_no_member...
Anders Carlsson [Sun, 30 Aug 2009 00:54:35 +0000 (00:54 +0000)]
Improve diagnostics for missing members. This renames the err_typecheck_no_member to err_typecheck_no_member_deprecated. The idea is that err_typecheck_no_member_deprecated should be phased out and any call sites that reference it should call DiagnoseMissingMember instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80469 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUnbreak tests. I'll look into why this is necessary later.
Eli Friedman [Sun, 30 Aug 2009 00:53:54 +0000 (00:53 +0000)]
Unbreak tests.  I'll look into why this is necessary later.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80468 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the start source location for type-specs like long, short, etc.
Argyrios Kyrtzidis [Sat, 29 Aug 2009 22:39:34 +0000 (22:39 +0000)]
Fix the start source location for type-specs like long, short, etc.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80448 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix TypeLoc::operator bool().
Argyrios Kyrtzidis [Sat, 29 Aug 2009 22:39:19 +0000 (22:39 +0000)]
Fix TypeLoc::operator bool().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80447 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake instantiating initializers for classes with a dependent base type
Eli Friedman [Sat, 29 Aug 2009 22:22:07 +0000 (22:22 +0000)]
Make instantiating initializers for classes with a dependent base type
work correctly.

The change in lib/AST/DeclCXX.cpp is mostly a large reindentation; I
couldn't figure out a good way to avoid it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80446 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake IRGen for initializing a member reference work correctly.
Eli Friedman [Sat, 29 Aug 2009 20:58:20 +0000 (20:58 +0000)]
Make IRGen for initializing a member reference work correctly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80439 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a workaround for decls that come from friend decls pointing to undeclared classes.
Anders Carlsson [Sat, 29 Aug 2009 20:47:47 +0000 (20:47 +0000)]
Add a workaround for decls that come from friend decls pointing to undeclared classes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80438 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIn DeclPrinter, assert when asked to print AS_None.
Anders Carlsson [Sat, 29 Aug 2009 20:36:12 +0000 (20:36 +0000)]
In DeclPrinter, assert when asked to print AS_None.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80437 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPatch to ir-gen user-defined conversions used in expressions
Fariborz Jahanian [Sat, 29 Aug 2009 20:33:32 +0000 (20:33 +0000)]
Patch to ir-gen user-defined conversions used in expressions
[12.3.2-p3]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80436 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSet the access specifier for using decls.
Anders Carlsson [Sat, 29 Aug 2009 19:54:19 +0000 (19:54 +0000)]
Set the access specifier for using decls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80435 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove instantiation of UnresolvedUsingDecls.
Anders Carlsson [Sat, 29 Aug 2009 19:37:28 +0000 (19:37 +0000)]
Improve instantiation of UnresolvedUsingDecls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80434 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPatch for code gen. for c-style cast which ends in
Fariborz Jahanian [Sat, 29 Aug 2009 19:15:16 +0000 (19:15 +0000)]
Patch for code gen. for c-style cast which ends in
using class's conversion functions [12.3.2-p2]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80433 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGet rid of mostly-unused, buggy method.
Eli Friedman [Sat, 29 Aug 2009 19:09:59 +0000 (19:09 +0000)]
Get rid of mostly-unused, buggy method.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80432 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agogcc 4.4 needs cstdio for printf. Reorder includes while at it.
Benjamin Kramer [Sat, 29 Aug 2009 12:56:35 +0000 (12:56 +0000)]
gcc 4.4 needs cstdio for printf. Reorder includes while at it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80430 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest case.
John McCall [Sat, 29 Aug 2009 08:20:44 +0000 (08:20 +0000)]
Test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80426 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the breakage by handling indirect instantiations. This would be much
John McCall [Sat, 29 Aug 2009 08:11:13 +0000 (08:11 +0000)]
Fix the breakage by handling indirect instantiations.  This would be much
improved if there were a consistent name for getInstantiatedFromMemberX()
across all classes.  Cheap refactor if someone wants to do it, but let's get the
buildbots happy first.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80425 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoInstantiate member and base initializers. Patch by Anders Johnsen! (tweaked slightly...
Anders Carlsson [Sat, 29 Aug 2009 05:16:22 +0000 (05:16 +0000)]
Instantiate member and base initializers. Patch by Anders Johnsen! (tweaked slightly by me)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80422 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a couple issues with parsing invalid nested-name-specifiers.
Eli Friedman [Sat, 29 Aug 2009 04:08:08 +0000 (04:08 +0000)]
Fix a couple issues with parsing invalid nested-name-specifiers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80421 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFor consistency, just make friend declarations AS_public.
John McCall [Sat, 29 Aug 2009 03:50:18 +0000 (03:50 +0000)]
For consistency, just make friend declarations AS_public.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80420 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a last-minute typo and make the test not emit temporaries.
John McCall [Sat, 29 Aug 2009 03:28:20 +0000 (03:28 +0000)]
Fix a last-minute typo and make the test not emit temporaries.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80419 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEnsure code generation for friend declarations in class templates.
John McCall [Sat, 29 Aug 2009 03:16:09 +0000 (03:16 +0000)]
Ensure code generation for friend declarations in class templates.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80418 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRefactor undefined argument checking into a Checker.
Zhongxing Xu [Sat, 29 Aug 2009 02:11:01 +0000 (02:11 +0000)]
Refactor undefined argument checking into a Checker.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80417 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoStore the SourceLocation of right parentheses in member initializers. Patch by Anders...
Anders Carlsson [Sat, 29 Aug 2009 01:31:33 +0000 (01:31 +0000)]
Store the SourceLocation of right parentheses in member initializers. Patch by Anders Johnsen!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80416 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't assert that friend declarations must have access specifiers for now.
Anders Carlsson [Sat, 29 Aug 2009 01:13:02 +0000 (01:13 +0000)]
Don't assert that friend declarations must have access specifiers for now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80415 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCreateDeclRefExprs that point to UnresolvedUsingDecls.
Anders Carlsson [Sat, 29 Aug 2009 01:06:32 +0000 (01:06 +0000)]
CreateDeclRefExprs that point to UnresolvedUsingDecls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80413 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd another check for UnresolvedUsingDecl.
Anders Carlsson [Sat, 29 Aug 2009 00:56:38 +0000 (00:56 +0000)]
Add another check for UnresolvedUsingDecl.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80412 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoiGenerate vcalls as we build up the methods. WIP.
Mike Stump [Fri, 28 Aug 2009 23:22:54 +0000 (23:22 +0000)]
iGenerate vcalls as we build up the methods.  WIP.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80405 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake sure we actually found a redeclaration before complaining about attributes added...
Douglas Gregor [Fri, 28 Aug 2009 22:54:55 +0000 (22:54 +0000)]
Make sure we actually found a redeclaration before complaining about attributes added to a redeclaration in C++

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80403 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd printing of access specifiers to DeclPrinter. The formatting is pretty bad but...
Anders Carlsson [Fri, 28 Aug 2009 22:39:52 +0000 (22:39 +0000)]
Add printing of access specifiers to DeclPrinter. The formatting is pretty bad but it works :)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80402 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove #if 0'd code that is clearly not needed
Douglas Gregor [Fri, 28 Aug 2009 22:06:43 +0000 (22:06 +0000)]
Remove #if 0'd code that is clearly not needed

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80399 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agopath to ir-gen 12.3.1 Conversion by constructor
Fariborz Jahanian [Fri, 28 Aug 2009 22:04:50 +0000 (22:04 +0000)]
path to ir-gen 12.3.1 Conversion by constructor

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80398 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't crash when instantiating templates containing anonymous structs/unions
Douglas Gregor [Fri, 28 Aug 2009 22:03:51 +0000 (22:03 +0000)]
Don't crash when instantiating templates containing anonymous structs/unions

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80397 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest instantiation of static data members that live within nested
Douglas Gregor [Fri, 28 Aug 2009 21:41:19 +0000 (21:41 +0000)]
Test instantiation of static data members that live within nested
member templates.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80396 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest instantiations of out-of-line member definitions of nested templates.
Douglas Gregor [Fri, 28 Aug 2009 21:15:08 +0000 (21:15 +0000)]
Test instantiations of out-of-line member definitions of nested templates.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80395 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix and test template instantiation for nested member templates.
Douglas Gregor [Fri, 28 Aug 2009 21:09:48 +0000 (21:09 +0000)]
Fix and test template instantiation for nested member templates.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80394 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTighten up the conversion from a single-level template argument list
Douglas Gregor [Fri, 28 Aug 2009 20:50:45 +0000 (20:50 +0000)]
Tighten up the conversion from a single-level template argument list
to a multi-level template argument list by making it explicit. The
forced auditing of callers found a bug in the instantiation of member
classes inside member templates.

I *love* static type systems.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80391 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove the conversion from a multi-level template argument list back to a single...
Douglas Gregor [Fri, 28 Aug 2009 20:33:09 +0000 (20:33 +0000)]
Remove the conversion from a multi-level template argument list back to a single template argument list. We no longer need this crutch

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80390 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement template instantiation for member class templates.
Douglas Gregor [Fri, 28 Aug 2009 20:31:08 +0000 (20:31 +0000)]
Implement template instantiation for member class templates.

When performing template instantiation of the definitions of member
templates (or members thereof),  we build a data structure containing
the template arguments from each "level" of template
instantiation. During template instantiation, we substitute all levels
of template arguments simultaneously.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80389 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd uninitialized values test case.
Ted Kremenek [Fri, 28 Aug 2009 20:25:33 +0000 (20:25 +0000)]
Add uninitialized values test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80388 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoretain/release checker: [CIContext createCGImage...] and friends returned CF
Ted Kremenek [Fri, 28 Aug 2009 19:52:12 +0000 (19:52 +0000)]
retain/release checker: [CIContext createCGImage...] and friends returned CF
objects that are not automatically garbage collected. This fixes
<rdar://problem/7174400>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80387 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove support for using decls in the decl printer.
Anders Carlsson [Fri, 28 Aug 2009 19:16:39 +0000 (19:16 +0000)]
Improve support for using decls in the decl printer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80386 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd CIndex dependencies: libLLVMC and libclangSema (for IdentifierResolver).
Ted Kremenek [Fri, 28 Aug 2009 18:33:53 +0000 (18:33 +0000)]
Add CIndex dependencies: libLLVMC and libclangSema (for IdentifierResolver).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80385 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTweak CIndex file to resolve to linking issues with the clang libraries. In
Ted Kremenek [Fri, 28 Aug 2009 18:29:48 +0000 (18:29 +0000)]
Tweak CIndex file to resolve to linking issues with the clang libraries. In
particular, clangFrontend was not being linked in.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80384 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCheck for UnresolvedUsingDecl when determining if a declaration is a redeclaration...
Anders Carlsson [Fri, 28 Aug 2009 17:57:07 +0000 (17:57 +0000)]
Check for UnresolvedUsingDecl when determining if a declaration is a redeclaration or not.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80383 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agotest case for my last patch.
Fariborz Jahanian [Fri, 28 Aug 2009 17:53:05 +0000 (17:53 +0000)]
test case for my last patch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80382 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agopatch to prevent crash in hopelessly incorrect
Fariborz Jahanian [Fri, 28 Aug 2009 17:52:37 +0000 (17:52 +0000)]
patch to prevent crash in hopelessly incorrect
method definition with labels.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80381 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCollect multiple levels of template arguments into a new type,
Douglas Gregor [Fri, 28 Aug 2009 17:37:35 +0000 (17:37 +0000)]
Collect multiple levels of template arguments into a new type,
MultiLevelTemplateArgumentList. This is a baby step toward
instantiating member templates; no intended functionality change yet.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80380 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix this for real.
Anders Carlsson [Fri, 28 Aug 2009 16:57:08 +0000 (16:57 +0000)]
Fix this for real.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80377 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoHide IdxVisitor and remove unimplemented method (causing link errors on x86_64
Daniel Dunbar [Fri, 28 Aug 2009 16:30:07 +0000 (16:30 +0000)]
Hide IdxVisitor and remove unimplemented method (causing link errors on x86_64
linux builder).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80376 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest case for conversion type method call ir-gen.
Fariborz Jahanian [Fri, 28 Aug 2009 16:23:54 +0000 (16:23 +0000)]
Test case for conversion type method call ir-gen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80375 91177308-0d34-0410-b5e6-96231b3b80d8