http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57905

            Bug ID: 57905
           Summary: braced-init-list allowed in default template-argument
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: potswa at mac dot com

[dcl.fct.default] 8.3.6/3 says

A default argument shall be specified … in a template-parameter (14.1); in the
latter case, the initializer-clause shall be an assignment-expression.

So a default template-argument cannot be a braced-init-list, yet this is
accepted without warning when using -Wall:

template< int i = {} > struct s;

Clang rejects it outright. I thought it was their bug but just happened to be
reading now about default arguments.

Reply via email to