a4bb99cd0055ba0e1f3107890e5b6cbe31e6d1cc |
|
12-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Move detection of reference members binding to temporaries from building of CXXCtorInitializers to the point where we perform the questionable lifetime extension. This exposed a selection of false negatives in the warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
1d28caf3b5254e60d3e3a1d2d37e5df2e5924111 |
|
11-Dec-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR14558: Compute triviality of special members (etc) at the end of the class definition, rather than at the end of the definition of the set of nested classes. We still defer checking of the user-specified exception specification to the end of the nesting -- we can't check that until we've parsed the in-class initializers for non-static data members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
ac71351acdefc9de0c770c1d717e621ac9e684bf |
|
08-Dec-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Properly compute triviality for explicitly-defaulted or deleted special members. Remove pre-standard restriction on explicitly-defaulted copy constructors with 'incorrect' parameter types, and instead just make those special members non-trivial as the standard requires. This required making CXXRecordDecl correctly handle classes which have both a trivial and a non-trivial special member of the same kind. This also fixes PR13217 by reimplementing DiagnoseNontrivial in terms of the new triviality computation technology. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
a2e76f56c60dbd4de3dc0fed02bb01bea4dcff81 |
|
29-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[class.copy]p23: Fix an assertion caused by incorrect argument numbering in a diagnostic, add a test for this paragraph, and tighten up the diagnostic wording a little. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
5bdaac5454d93d1dcdc2319818497b685be56fcf |
|
02-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Finish PR10217: Ensure we say that a special member was implicitly, not explicitly, deleted in all relevant cases, and explain why. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
6c4c36c4ed1007143f5b8655eb68b313a7e12e76 |
|
30-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR10217: Provide diagnostics explaining why an implicitly-deleted special member function is deleted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
79363f5e612c17cd05e1fa888632ee7860ced1ab |
|
27-Feb-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Ensure that we delete default constructors in the right cases. Don't delete the default constructor of a union if it has a const member with no user-provided default constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
e653ba2f3b6d993b5d410554c12416c03ec7775b |
|
26-Feb-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Special members which are defaulted or deleted on their first declaration are trivial if the implicit declaration would be. Don't forget to set the Trivial flag on the special member as well as on the class. It doesn't seem ideal that we have two separate mechanisms for storing this information, but this patch does not attempt to address that. This leaves us in an interesting position where the has_trivial_X trait for a class says 'yes' for a deleted but trivial X, but is_trivially_Xable says 'no'. This seems to be what the standard requires. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
e4e68d45f89ff4899d30cbd196603d09b7fbc150 |
|
15-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
When overload resolution picks an implicitly-deleted special member function, provide a specialized diagnostic that indicates the kind of special member function (default constructor, copy assignment operator, etc.) and that it was implicitly deleted. Add a hook where we can provide more detailed information later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
3bc451593fa44bfc45753e44e37cb4242e714f82 |
|
15-Nov-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Compute whether a class is trivial correctly for template classes with an explicitly deleted or defaulted special member. PR11387. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
45fa560c72441069d9e4eb1e66efd87349caa552 |
|
07-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
When we notice that a member function is defined with "= delete" or "= default", make a note of which is used when creating the initial declaration. Previously, we would wait until later to handle default/delete as a definition, but this is too late: when adding the declaration, we already treated the declaration as "user-provided" when in fact it was merely "user-declared". Fixes PR10861 and PR10442, along with a bunch of FIXMEs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
762bb9d0ad20320b9f97a841dce57ba5e8e48b07 |
|
14-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Update all tests other than Driver/std.cpp to use -std=c++11 rather than -std=c++0x. Patch by Ahmed Charles! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
e16da07474c376fbbeda2d4238cf35e2bd664d5a |
|
10-Oct-2011 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Begin work consolidating ShouldDelete* functions. Begin with just default constructors. One note is that as a side effect of this, a conformance test was removed on the basis that this is almost certainly a defect as with most of union initialization. As it is, clang does not implement union initialization close to the standard as it's quite broken as written. I hope to write a paper addressing the issues eventually. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|
7a614d8380297fcd2bc23986241905d97222948c |
|
11-Jun-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement support for C++11 in-class initialization of non-static data members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/special/class.ctor/p5-0x.cpp
|