* Fix an egregious comma usage.
* Remove the `static` keyword in the example since the variables should have
external linkage.
* Use C++11 attributes in the example.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281712
91177308-0d34-0410-b5e6-
96231b3b80d8
to have a `constant initializer <http://en.cppreference.com/w/cpp/language/constant_initialization>`_
according to the rules of [basic.start.static]. The variable is required to
have static or thread storage duration. If the initialization of the variable
-is not a constant initializer, an error will be produced. This attribute may
+is not a constant initializer an error will be produced. This attribute may
only be used in C++.
Note that in C++03 strict constant expression checking is not done. Instead
.. code-block:: c++
// -std=c++14
- #define SAFE_STATIC __attribute__((require_constant_initialization)) static
+ #define SAFE_STATIC [[clang::require_constant_initialization]]
struct T {
constexpr T(int) {}
~T(); // non-trivial