From Sema::CheckForConstantInitializer: // FIXME: Need strict checking. In C89, we need to check for // any assignment, increment, decrement, function-calls, or // commas outside of a sizeof. In C99, it's the same list, // except that the aforementioned are allowed in unevaluated // expressions. Everything else falls under the // "may accept other forms of constant expressions" exception. // (We never end up here for C++, so the constant expression // rules there don't matter.) Filing here for completeness. This is relatively low-priority because it's a non-trivial amount of work, and it's a warning nobody would care about outside of -pedantic mode.
*** Bug 4306 has been marked as a duplicate of this bug. ***
*** Bug 49581 has been marked as a duplicate of this bug. ***