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

drtwox at tpg dot com.au changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |drtwox at tpg dot com.au

--- Comment #1 from drtwox at tpg dot com.au 2012-09-07 21:34:57 UTC ---
The failing example can be simplified somewhat.

class base
{
    protected:
        base()
        {}
};

class derived : public base
{
    public:
        derived()
            : base{} // <-- Note the c++11 curly brace syntax
        {}
};

int main()
{
    derived d1;
    return 0;
}

Output:
$ g++-4.7 -std=c++11 -Wall -Wextra -pedantic curly.cpp -o curly
curly.cpp: In constructor ‘derived::derived()’:
curly.cpp:4:13: error: ‘base::base()’ is protected
curly.cpp:19:24: error: within this context

Replace g++4.7 with g++4.6 or clang++3.1 and it compiles without warnings or
errors.

Reply via email to