c++: Treat in-class default/delete as definitions.
We were complaining about a constrained defaulted non-template friend in a
template class because funcdef_flag wasn't set. grokdeclarator would set it
for default/delete, but grokfield wasn't passing the 'initialized' values
needed. Fixing that revealed some errors in existing tests that we weren't
diagnosing. Since we accepted them for so long, I'm reducing the error to a
pedwarn to ease compiler upgrade.
gcc/cp/ChangeLog:
* decl2.c (grokfield): Pass SD_DEFAULTED and SD_DELETED.
* decl.c (duplicate_decls): Reduce error for delete
after earlier declaration to pedwarn.
gcc/testsuite/ChangeLog:
* g++.dg/cpp0x/pr62101.C: Expect error.
* g++.dg/cpp0x/pr80259.C: Expect error.
* g++.dg/cpp2a/concepts-friend8.C: New test.