mirror of git://gcc.gnu.org/git/gcc.git
decl.c (start_decl): Improve permerror location.
/cp 2019-01-08 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (start_decl): Improve permerror location. /testsuite 2019-01-08 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/diagnostic/out-of-class-redeclaration.C: New. From-SVN: r267675
This commit is contained in:
parent
e32ba3f7ab
commit
30fa2068a3
|
|
@ -1,3 +1,7 @@
|
||||||
|
2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
|
* decl.c (start_decl): Improve permerror location.
|
||||||
|
|
||||||
2019-01-08 Jonathan Wakely <jwakely@redhat.com>
|
2019-01-08 Jonathan Wakely <jwakely@redhat.com>
|
||||||
Jakub Jelinek <jakub@redhat.com>
|
Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5202,7 +5202,8 @@ start_decl (const cp_declarator *declarator,
|
||||||
if (DECL_EXTERNAL (decl) && ! DECL_TEMPLATE_SPECIALIZATION (decl)
|
if (DECL_EXTERNAL (decl) && ! DECL_TEMPLATE_SPECIALIZATION (decl)
|
||||||
/* Aliases are definitions. */
|
/* Aliases are definitions. */
|
||||||
&& !alias)
|
&& !alias)
|
||||||
permerror (input_location, "declaration of %q#D outside of class is not definition",
|
permerror (declarator->id_loc,
|
||||||
|
"declaration of %q#D outside of class is not definition",
|
||||||
decl);
|
decl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
|
* g++.dg/diagnostic/out-of-class-redeclaration.C: New.
|
||||||
|
|
||||||
2019-01-08 Iain Sandoe <iain@sandoe.co.uk>
|
2019-01-08 Iain Sandoe <iain@sandoe.co.uk>
|
||||||
|
|
||||||
* c-c++-common/builtin-has-attribute-3.c: Skip tests requiring symbol
|
* c-c++-common/builtin-has-attribute-3.c: Skip tests requiring symbol
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
// Adapted from g++.old-deja/g++.law/arm8.C
|
||||||
|
|
||||||
|
struct K {
|
||||||
|
void f(int);
|
||||||
|
};
|
||||||
|
|
||||||
|
void K::f(int); // { dg-error "6:declaration of .void K::f\\(int\\). outside of class" }
|
||||||
|
|
||||||
|
struct L {
|
||||||
|
void g(int) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
void L::g(int); // { dg-error "6:declaration of .void L::g\\(int\\). outside of class" }
|
||||||
Loading…
Reference in New Issue