Douglas Gregor
c732aba9a9
Cleanup and test C++ default arguments. Improvements include:
...
- Diagnose attempts to add default arguments to templates (or member
functions of templates) after the initial declaration (DR217).
- Improve diagnostics when a default argument is redefined. Now, the
note will always point at the place where the default argument was
previously defined, rather than pointing to the most recent
declaration of the function.
llvm-svn: 81548
2009-09-11 18:44:32 +00:00
Anders Carlsson
faf1ced5ee
Reapply 81096, now with a fix. Spot the bug:
...
for (unsigned i = numargs; i < NumArgs; ++i)
Args[0] = 0;
;)
llvm-svn: 81123
2009-09-06 16:54:02 +00:00
Daniel Dunbar
94bcae46d5
Revert "Initialize default CXXConstructExpr arguments to 0. Fixes a crash when
...
destroying the CXXConstructExpr.", this is causing test failures across the
board.
llvm-svn: 81100
2009-09-06 01:31:23 +00:00
Anders Carlsson
8284d7caa3
Initialize default CXXConstructExpr arguments to 0. Fixes a crash when destroying the CXXConstructExpr.
...
llvm-svn: 81096
2009-09-05 22:51:06 +00:00
Anders Carlsson
dc6d2c3cda
Report errors for member functions correctly.
...
llvm-svn: 81063
2009-09-05 05:38:54 +00:00
Anders Carlsson
657bad441e
Use a separate diagnostic for default function argument expressions.
...
llvm-svn: 81062
2009-09-05 05:14:19 +00:00
Douglas Gregor
7315672a60
Add a little more testing for default arguments of constructors in a class template
...
llvm-svn: 79989
2009-08-25 15:24:38 +00:00
Anders Carlsson
114056f22c
If a parameter has a default argument expression, make sure to instantiate the parameter type before checking that the expression is a valid initializer.
...
llvm-svn: 79986
2009-08-25 13:46:13 +00:00
Anders Carlsson
10ebe78730
Improved support for default arguments in constructors for class templates.
...
llvm-svn: 79984
2009-08-25 13:07:08 +00:00
Anders Carlsson
4562f1f066
Basic support for default argument expressions for function templates.
...
llvm-svn: 79972
2009-08-25 03:18:48 +00:00