llvm-project/clang/test/CXX/dcl.dcl/dcl.spec
Richard Smith 3607ffee5c Update constexpr implementation to match CWG's chosen approach for core issues
1358, 1360, 1452 and 1453.
 - Instantiations of constexpr functions are always constexpr. This removes the
   need for separate declaration/definition checking, which is now gone.
 - This makes it possible for a constexpr function to be virtual, if they are
   only dependently virtual. Virtual calls to such functions are not constant
   expressions.
 - Likewise, it's now possible for a literal type to have virtual base classes.
   A constexpr constructor for such a type cannot actually produce a constant
   expression, though, so add a special-case diagnostic for a constructor call
   to such a type rather than trying to evaluate it.
 - Classes with trivial default constructors (for which value initialization can
   produce a fully-initialized value) are considered literal types.
 - Classes with volatile members are not literal types.
 - constexpr constructors can be members of non-literal types. We do not yet use
   static initialization for global objects constructed in this way.

llvm-svn: 150359
2012-02-13 03:54:03 +00:00
..
dcl.constexpr Update constexpr implementation to match CWG's chosen approach for core issues 2012-02-13 03:54:03 +00:00
dcl.fct.spec Switch diagnostic text from "C++0x" over to "C++11". 2011-10-12 19:26:40 +00:00
dcl.stc Permit auto SCS on parameter declarations, C++03 [dcl.stc]p2 2011-10-21 11:55:09 +00:00
dcl.type Implement the standard decltype() semantics described in C++11 2012-02-12 18:57:57 +00:00
dcl.typedef PR11684, core issue 1417: 2012-02-10 11:05:11 +00:00