With mainline, it now gives the interesting error: ice.cxx:3: error: abstract declarator `<anonymous class>' used as declaration ice.cxx:3: error: namespace-scope anonymous aggregates must be static I leave it to wiser people to verify that this example is really legal (given that it's stupid) and that the errors are wrong.