mirror of git://gcc.gnu.org/git/gcc.git
decl.c (cp_finish_decl): Improve error location.
/cp 2019-01-12 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (cp_finish_decl): Improve error location. * decl2.c (grokfield): Likewise, improve two locations. /testsuite 2019-01-12 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/pr62101.C: Test locations too. * g++.dg/inherit/pure1.C: Likewise. From-SVN: r267887
This commit is contained in:
parent
8d5d3edddf
commit
062ab4596d
|
|
@ -1,3 +1,8 @@
|
|||
2019-01-12 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* decl.c (cp_finish_decl): Improve error location.
|
||||
* decl2.c (grokfield): Likewise, improve two locations.
|
||||
|
||||
2019-01-11 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/88692, c++/87882 - -Wredundant-move false positive with *this.
|
||||
|
|
|
|||
|
|
@ -7293,7 +7293,10 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
|
|||
synthesize_method (decl);
|
||||
}
|
||||
else
|
||||
error ("function %q#D is initialized like a variable", decl);
|
||||
error_at (cp_expr_loc_or_loc (init,
|
||||
DECL_SOURCE_LOCATION (decl)),
|
||||
"function %q#D is initialized like a variable",
|
||||
decl);
|
||||
}
|
||||
/* else no initialization required. */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -924,12 +924,14 @@ grokfield (const cp_declarator *declarator,
|
|||
else
|
||||
{
|
||||
gcc_assert (TREE_CODE (TREE_TYPE (value)) == FUNCTION_TYPE);
|
||||
location_t iloc
|
||||
= cp_expr_loc_or_loc (init, DECL_SOURCE_LOCATION (value));
|
||||
if (friendp)
|
||||
error ("initializer specified for friend function %qD",
|
||||
value);
|
||||
error_at (iloc, "initializer specified for friend "
|
||||
"function %qD", value);
|
||||
else
|
||||
error ("initializer specified for static member function %qD",
|
||||
value);
|
||||
error_at (iloc, "initializer specified for static "
|
||||
"member function %qD", value);
|
||||
}
|
||||
}
|
||||
else if (TREE_CODE (value) == FIELD_DECL)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
2019-01-12 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* g++.dg/cpp0x/pr62101.C: Test locations too.
|
||||
* g++.dg/inherit/pure1.C: Likewise.
|
||||
|
||||
2019-01-12 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
* gfortran.dg/ISO_Fortran_binding_2.f90 : Remove because of
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
struct X
|
||||
{
|
||||
friend void g(X, int) = 0; // { dg-error "initializer specified for friend function" }
|
||||
friend void g(X, int) = 0; // { dg-error "15:initializer specified for friend function" }
|
||||
friend void g(X, int) = default; // { dg-error "cannot be defaulted" }
|
||||
// { dg-prune-output "note" }
|
||||
friend void f(X, int) = delete;
|
||||
|
|
|
|||
Loading…
Reference in New Issue