Douglas Gregor
2ffd96549d
Implement proper substitution for OverloadedFunctionDecls, but substituting each of the functions in the overload set
...
llvm-svn: 80692
2009-09-01 17:53:10 +00:00
Douglas Gregor
d51896311d
Add DeclContext::Equals to compare declaration contexts based on their primary context. Use this instead of pointer comparisons
...
llvm-svn: 80690
2009-09-01 17:22:34 +00:00
Steve Naroff
95908b373a
Tweak comment based on Daniel's recently added '-emit-ast' option.
...
llvm-svn: 80684
2009-09-01 17:13:31 +00:00
Douglas Gregor
8bce25f2fe
"The attached patch moves AttributeList::addAttributeList outside the
...
class so as to accomodate one or both parameters being NULL, " from Sean Hunt!
llvm-svn: 80683
2009-09-01 17:10:19 +00:00
Fariborz Jahanian
1a50477385
Fixed a property getter ir-gen crash.
...
llvm-svn: 80681
2009-09-01 17:02:21 +00:00
Douglas Gregor
32e2c8472e
Fix a crasher involving template instantiation of non-dependent
...
expressions making use of an overloaded operator. Thanks for the test
case, Anders!
llvm-svn: 80679
2009-09-01 16:58:52 +00:00
Daniel Dunbar
6cdf83c192
Add driver support for -emit-ast and AST compilation steps.
...
- <rdar://problem/7185031> Add 'clang' option '-emit-ast'
llvm-svn: 80678
2009-09-01 16:57:46 +00:00
Douglas Gregor
770a532fa1
Tip-toe around strict-aliasing violation. Fixes PR4061.
...
llvm-svn: 80674
2009-09-01 16:13:00 +00:00
Steve Naroff
69b10fd2c5
Add explicit "blind" client data to callback function (since we aren't using blocks).
...
llvm-svn: 80673
2009-09-01 15:55:40 +00:00
Douglas Gregor
810f7a9d95
Move C++ test over to CodeGenCXX, since it requires CodeGen to reproduce
...
llvm-svn: 80672
2009-09-01 15:39:05 +00:00
Anders Carlsson
bcec05c9fd
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.
...
llvm-svn: 80662
2009-09-01 06:22:14 +00:00
Anders Carlsson
62215c4fb5
Add pretty stack traces when instantiating functions and static data members.
...
llvm-svn: 80661
2009-09-01 05:12:24 +00:00
Anders Carlsson
17dc7e2007
Handle member initializers that point to fields in anonymous structs.
...
llvm-svn: 80659
2009-09-01 04:31:02 +00:00
Anders Carlsson
5da848427a
Don't assert when instantiating member references to fields in anonymous structs.
...
llvm-svn: 80657
2009-09-01 04:26:58 +00:00
Eli Friedman
1c277d0fe8
PR4836, part 2: CodeGen for __builtin_isnan.
...
llvm-svn: 80655
2009-09-01 04:19:44 +00:00
Douglas Gregor
84f14dd674
Preliminary AST representation and semantic analysis for
...
explicitly-specified template argument lists in member reference
expressions, e.g.,
x->f<int>()
llvm-svn: 80646
2009-09-01 00:37:14 +00:00
Daniel Dunbar
b1b2016b83
Force triple for this test (non-fragile ABI is default on x86_64-apple-darwin9).
...
llvm-svn: 80645
2009-09-01 00:36:20 +00:00
Ted Kremenek
3aff920676
Sentence-case bug category.
...
llvm-svn: 80644
2009-09-01 00:17:12 +00:00
Douglas Gregor
f4b34ba326
Remember to write the qualifier of a MemberExpr to the PCH file when we get to C++ PCH
...
llvm-svn: 80643
2009-08-31 23:44:04 +00:00
Douglas Gregor
f405d7e6f1
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.
llvm-svn: 80642
2009-08-31 23:41:50 +00:00
John McCall
759e32bdc6
Fix bug 4784 and allow friend declarations to properly extend
...
existing declaration chains.
llvm-svn: 80636
2009-08-31 22:39:49 +00:00
Devang Patel
124095bb18
Rename DIBlock as DILexicalBlock.
...
llvm-svn: 80634
2009-08-31 22:00:32 +00:00
Douglas Gregor
96ee789d33
Rename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we will
...
also be adding explicit template arguments as an additional
"adornment". No functionality change.
llvm-svn: 80628
2009-08-31 21:41:48 +00:00
Douglas Gregor
fbc1823451
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.
llvm-svn: 80624
2009-08-31 21:16:32 +00:00
Eli Friedman
7e4faaccda
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.
llvm-svn: 80610
2009-08-31 20:06:00 +00:00
Douglas Gregor
f14b46f9a8
Implement template instantiation for member operator access.
...
llvm-svn: 80609
2009-08-31 20:00:26 +00:00
Douglas Gregor
522fbc4969
Support explicit C++ member operator syntax, from James Porter!
...
llvm-svn: 80608
2009-08-31 19:52:13 +00:00
Fariborz Jahanian
879d726608
Re-implemented generation of objc_memmove_collectable
...
API for copying GC'able aggregates (Next runtime only).
llvm-svn: 80607
2009-08-31 19:33:16 +00:00
Daniel Dunbar
6733a7ec15
Fix a -Asserts warning.
...
llvm-svn: 80606
2009-08-31 19:16:38 +00:00
David Chisnall
4dc74a0d9f
Added test cases for presence and absence of __has_feature(objc_nonfragile_abi) with and without -fobjc-nonfragile-abi.
...
llvm-svn: 80593
2009-08-31 16:53:06 +00:00
David Chisnall
5778fce141
Updated GNU runtime non-fragile ABI.
...
Added -fconstant-string-class= option.
Added __has_feature() test for non-fragile ABI.
llvm-svn: 80591
2009-08-31 16:41:57 +00:00
Steve Naroff
772c1a4574
Implement source/line/column hooks.
...
llvm-svn: 80585
2009-08-31 14:26:51 +00:00
Steve Naroff
1054e60334
More fleshing out the C-based indexing API (under construction).
...
llvm-svn: 80529
2009-08-31 00:59:03 +00:00
Anders Carlsson
b533df02b5
More missing member goodness.
...
llvm-svn: 80491
2009-08-30 07:09:50 +00:00
Anders Carlsson
0d2a51b61f
Improve missing error messages as suggested by Doug.
...
llvm-svn: 80489
2009-08-30 06:49:43 +00:00
Anders Carlsson
5167a4644d
Use DiagnoseMissingMember for UsingDecls.
...
llvm-svn: 80470
2009-08-30 00:58:45 +00:00
Anders Carlsson
896c230a19
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.
...
llvm-svn: 80469
2009-08-30 00:54:35 +00:00
Eli Friedman
744a249493
Unbreak tests. I'll look into why this is necessary later.
...
llvm-svn: 80468
2009-08-30 00:53:54 +00:00
Argyrios Kyrtzidis
321995b5e5
Fix the start source location for type-specs like long, short, etc.
...
llvm-svn: 80448
2009-08-29 22:39:34 +00:00
Argyrios Kyrtzidis
9d7ab42eb6
Fix TypeLoc::operator bool().
...
llvm-svn: 80447
2009-08-29 22:39:19 +00:00
Eli Friedman
15e05261d4
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.
llvm-svn: 80446
2009-08-29 22:22:07 +00:00
Eli Friedman
033e8d4ae6
Make IRGen for initializing a member reference work correctly.
...
llvm-svn: 80439
2009-08-29 20:58:20 +00:00
Anders Carlsson
adf36b2379
Add a workaround for decls that come from friend decls pointing to undeclared classes.
...
llvm-svn: 80438
2009-08-29 20:47:47 +00:00
Anders Carlsson
6df9e076ea
In DeclPrinter, assert when asked to print AS_None.
...
llvm-svn: 80437
2009-08-29 20:36:12 +00:00
Fariborz Jahanian
0a484d007b
Patch to ir-gen user-defined conversions used in expressions
...
[12.3.2-p3]
llvm-svn: 80436
2009-08-29 20:33:32 +00:00
Anders Carlsson
7b194b780d
Set the access specifier for using decls.
...
llvm-svn: 80435
2009-08-29 19:54:19 +00:00
Anders Carlsson
4bb87ce33e
Improve instantiation of UnresolvedUsingDecls.
...
llvm-svn: 80434
2009-08-29 19:37:28 +00:00
Fariborz Jahanian
3df8767869
Patch for code gen. for c-style cast which ends in
...
using class's conversion functions [12.3.2-p2]
llvm-svn: 80433
2009-08-29 19:15:16 +00:00
Eli Friedman
9ab0319b2b
Get rid of mostly-unused, buggy method.
...
llvm-svn: 80432
2009-08-29 19:09:59 +00:00
Benjamin Kramer
8b83f5dfb8
gcc 4.4 needs cstdio for printf. Reorder includes while at it.
...
llvm-svn: 80430
2009-08-29 12:56:35 +00:00