Richard Smith
fdc33cbecd
Name mangling of late-specified return types doesn't work if the return type references the argument types:
...
template<typename T> auto f(T a) -> decltype(a.foo());
Since this is the primary reason for the introduction of this feature, downgrade implementation status to "Some examples work".
llvm-svn: 129533
2011-04-14 19:57:19 +00:00
Richard Smith
13f68cf53e
clang has had full and tested support for C++0x trailing-return-type and auto type deduction since r126166. Update the website to reflect this, and add a __has_feature test.
...
trailing-return-type codegen is not tested yet (name mangling in particular).
llvm-svn: 128787
2011-04-03 14:12:46 +00:00
Jeffrey Yasskin
cb40757195
Add a libstdc++-4.4 patch for C++0x to the website.
...
llvm-svn: 128498
2011-03-29 22:27:50 +00:00
Douglas Gregor
0a1650feae
Clang supports __STDC_HOSTED__. Patch by Jonathan Sauer
...
llvm-svn: 128377
2011-03-27 09:49:38 +00:00
Richard Smith
bb7dcf59a0
Update the www to indicate that auto is now implemented.
...
llvm-svn: 126280
2011-02-23 00:41:16 +00:00
Douglas Gregor
9636753d39
Update C++0x status web page
...
llvm-svn: 124326
2011-01-26 21:35:14 +00:00
Douglas Gregor
eecc6bc388
Variadic templates are fully implemented.
...
Turn on the __has_feature switch for variadic templates, document
their completion, and put the ExtWarn into the c++0x-extensions
warning group.
llvm-svn: 123854
2011-01-19 22:11:50 +00:00
Douglas Gregor
cf082adeca
Add back the late-specified return type paper
...
llvm-svn: 122317
2010-12-21 05:54:22 +00:00
Douglas Gregor
6b6e08228c
Updates to the C++ status page for C++0x features, from Michael Price
...
llvm-svn: 122315
2010-12-21 05:43:31 +00:00
Chris Lattner
a45ebd2fd1
be less threatening.
...
llvm-svn: 116187
2010-10-11 05:20:49 +00:00
Douglas Gregor
21fd023d44
Update C++0x status
...
llvm-svn: 114217
2010-09-17 21:37:49 +00:00
Gabor Greif
e4d36a2415
mark boost's tracking bug as fixed
...
llvm-svn: 112183
2010-08-26 14:20:18 +00:00
Chris Lattner
b9ea2c29a1
down with export.
...
llvm-svn: 104383
2010-05-21 21:16:21 +00:00
Chris Lattner
da9e3287f9
another unneeded line.
...
llvm-svn: 104379
2010-05-21 21:02:17 +00:00
Chris Lattner
6fe3748de4
major update to the C++ status page. C++ support is
...
now done and no more patches to it will be accepted.
llvm-svn: 104378
2010-05-21 20:59:40 +00:00
Douglas Gregor
61c1ac2e5c
Remove the blanket statement about Clang not supporting access control. It does now
...
llvm-svn: 101041
2010-04-12 16:01:38 +00:00
Anton Korobeynikov
c5c905e772
Fix typo
...
llvm-svn: 95664
2010-02-09 16:50:54 +00:00
Anton Korobeynikov
55496d736b
Clearify Qt status a bit
...
llvm-svn: 95663
2010-02-09 16:46:25 +00:00
Douglas Gregor
fa186e9e19
Add Qt, CMake projects to the list of C++ projects we're working on compiling
...
llvm-svn: 95662
2010-02-09 16:36:17 +00:00
Douglas Gregor
bb26a92239
Update Clang C++ status, with a more project-centric focus.
...
llvm-svn: 95455
2010-02-05 23:51:14 +00:00
Chris Lattner
f0b0cb2dcb
comments shouldn't go in the AST, and we already make it easy
...
to go from a decl to the doc comments for it.
llvm-svn: 91785
2009-12-19 20:59:13 +00:00
Douglas Gregor
4044489d69
Update C++ status page to reflect reality
...
llvm-svn: 91541
2009-12-16 16:23:48 +00:00
Douglas Gregor
09177b2b7f
Update C++ status
...
llvm-svn: 89492
2009-11-20 22:00:06 +00:00
Benjamin Kramer
53ba5f21ff
Doug says this is medium done.
...
llvm-svn: 85592
2009-10-30 14:54:38 +00:00
Benjamin Kramer
c1dea5dded
cxx_status: fix some missing/wrong cells.
...
llvm-svn: 85591
2009-10-30 14:41:58 +00:00
Fariborz Jahanian
370606afee
Restored note on pointer to members with a pointer
...
to issue involved.
llvm-svn: 85409
2009-10-28 18:06:53 +00:00
Fariborz Jahanian
7e4e44f5fa
Removed a Note related to pointer to member functions which
...
does not seem to exist any longer.
llvm-svn: 85405
2009-10-28 17:25:01 +00:00
Douglas Gregor
19f3d70149
Test
...
explicit-instantiation-declaration-after-explicit-instantiation-definition
errors. This wraps up explicit template instantiation for now.
llvm-svn: 85347
2009-10-27 23:55:05 +00:00
Fariborz Jahanian
9559ced10b
Updated, we support == and != builtins for member pointers.
...
llvm-svn: 84679
2009-10-20 21:10:15 +00:00
Fariborz Jahanian
00c6d13dce
Changes to reflect more pointer-to-member support.
...
llvm-svn: 84670
2009-10-20 20:31:50 +00:00
Douglas Gregor
054060c4ec
Give ourselves an A- on ASTs for explicit specializations, since they
...
aren't rich enough to reproduce the source accurately.
llvm-svn: 84012
2009-10-13 19:41:44 +00:00
Douglas Gregor
62e10f0bdc
Diagnose attempts to add default function arguments to a
...
specialization. This completes C++ [temp.expl.spec]!
llvm-svn: 83980
2009-10-13 17:02:54 +00:00
Sebastian Redl
8046049942
This ought to complete exception spec support. Man, am I glad.
...
llvm-svn: 83767
2009-10-11 09:14:57 +00:00
Douglas Gregor
1245e6ff69
Tests for C++ [expr], from James Porter!
...
llvm-svn: 83588
2009-10-08 22:38:14 +00:00
Benjamin Kramer
d8e06611eb
Fix typo.
...
llvm-svn: 83246
2009-10-02 12:19:16 +00:00
Douglas Gregor
49663d2a23
Update C++ status page
...
llvm-svn: 83157
2009-09-30 18:32:57 +00:00
Fariborz Jahanian
774cf79987
Patch for AST representation for the implicit conversion to a function
...
reference/pointer. And a test case for code gen.
llvm-svn: 83000
2009-09-28 18:35:46 +00:00
Fariborz Jahanian
44dfbbb69f
Update for inherited conversion function support.
...
llvm-svn: 81865
2009-09-15 16:15:23 +00:00
Fariborz Jahanian
3df0459149
Status update related to code gen for type conversion
...
functions.
llvm-svn: 81373
2009-09-09 20:00:07 +00:00
Douglas Gregor
d94105a1c2
Don't generate any code for an explicit call to a trivial destructor.
...
Now that parsing, semantic analysis, and (I think) code generation of
pseudo-destructor expressions and explicit destructor calls works,
update the example-dynarray.cpp test to destroy the objects it
allocates and update the test to actually compile + link.
The code seems correct, but the Clang-compiled version dies with a
malloc error. Time to debug!
llvm-svn: 81025
2009-09-04 19:04:08 +00:00
Douglas Gregor
7a0f1105ce
Update C++ status, since a bunch of the comments were out-of-date
...
llvm-svn: 80954
2009-09-03 21:51:43 +00:00
Douglas Gregor
2b6ca46c6b
Improve template instantiation for member access expressions that
...
involve qualified names, e.g., x->Base::f. We now maintain enough
information in the AST to compare the results of the name lookup of
"Base" in the scope of the postfix-expression (determined at template
definition time) and in the type of the object expression.
llvm-svn: 80953
2009-09-03 21:38:09 +00:00
Douglas Gregor
b00b10eb2e
Implement support for equality comparisons (!=, ==) of member
...
pointers, by extending the "composite pointer type" logic to include
member pointer types.
Introduce test cases for member pointer comparisons, including those
that involve the builtin operator candidates implemented earlier.
llvm-svn: 79925
2009-08-24 17:42:35 +00:00
Fariborz Jahanian
8ba39c04ae
Updated statuc page to reflect recent implementations
...
of section 12 [special member functions]
llvm-svn: 79704
2009-08-22 00:18:52 +00:00
Douglas Gregor
1d08135537
Update Clang C++ status to better reflect what is implemented.
...
llvm-svn: 79695
2009-08-21 23:27:46 +00:00
Douglas Gregor
05155d8d7b
Implement conversion function templates, along with the ability to use
...
template argument deduction from a conversion function (C++
[temp.deduct.conv]) with implicit conversions.
llvm-svn: 79693
2009-08-21 23:19:43 +00:00
Douglas Gregor
cc17ac0cf2
We have fairly good support for namespaces, now. Namespace aliases are parsed correctly
...
llvm-svn: 77900
2009-08-02 18:22:38 +00:00
Sebastian Redl
9f831dbbcd
Implement C++ semantics for C-style and functional-style casts. This regresses Clang extension conversions, like vectors, but allows conversions via constructors and conversion operators.
...
Add custom conversions to static_cast.
llvm-svn: 77076
2009-07-25 15:41:38 +00:00
Douglas Gregor
c04e2d9bd6
We now do complete semantic checking for unions
...
llvm-svn: 76918
2009-07-24 00:05:42 +00:00
Douglas Gregor
020e4a9bbb
Update C++ status to reflect progress on out-of-line definitions of class template members
...
llvm-svn: 76917
2009-07-23 23:58:15 +00:00