aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/parser.c
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2008-06-21 10:36:27 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2008-06-21 11:36:27 +0100
commit37ec60ed2c973aa38044e19e3d16b5fa1e5c0a6b (patch)
treecb7e944c3d3117169e18ab65ba86da1ea5ad04f8 /gcc/cp/parser.c
parent6c813b1005d86bcfc33a4dfdf12cadf425191a30 (diff)
downloadgcc-37ec60ed2c973aa38044e19e3d16b5fa1e5c0a6b.zip
gcc-37ec60ed2c973aa38044e19e3d16b5fa1e5c0a6b.tar.gz
gcc-37ec60ed2c973aa38044e19e3d16b5fa1e5c0a6b.tar.bz2
typeck.c (composite_pointer_type_r, [...]): Change pedwarn to permerror.
* typeck.c (composite_pointer_type_r, cxx_sizeof_expr, cxx_alignof_expr, check_template_keyword, cp_build_binary_op, pointer_diff, cp_build_unary_op, build_x_compound_expr_from_list, build_reinterpret_cast_1, cp_build_c_cast, check_return_expr): Change pedwarn to permerror. * init.c (perform_member_init, build_new_1, build_new): Likewise. * decl.c (warn_extern_redeclared_static, duplicate_decls, * identify_goto, check_previous_goto_1, check_goto, define_label, check_tag_decl, start_decl, check_class_member_definition_namespace, grokfndecl, grokdeclarator): Likewise. * except.c (check_handlers): Likewise. * typeck2.c (digest_init): Likewise. * pt.c (check_specialization_namespace, check_explicit_instantiation_namespace, maybe_process_partial_specialization, check_explicit_specialization, convert_template_argument, do_decl_instantiation, do_type_instantiation, instantiate_decl): Likewise. * semantics.c (finish_template_type_parm): Likewise. * name-lookup.c (pushdecl_maybe_friend, check_for_out_of_scope_variable): Likewise. * decl2.c (finish_static_data_member_decl, build_anon_union_vars, coerce_new_type): Likewise. * parser.c (cp_parser_nested_name_specifier_opt, cp_parser_mem_initializer, cp_parser_elaborated_type_specifier, cp_parser_class_head, cp_parser_check_class_key): Likewise. (cp_parser_parameter_declaration): Check flag_permissive instead of flag_pedantic_errors. * call.c (joust): Change pedwarn to warning. * friend.c (make_friend_class): Likewise. From-SVN: r136999
Diffstat (limited to 'gcc/cp/parser.c')
-rw-r--r--gcc/cp/parser.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index a53c0293..81cd03f 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -4111,10 +4111,10 @@ cp_parser_nested_name_specifier_opt (cp_parser *parser,
&& !(TREE_CODE (new_scope) == TYPENAME_TYPE
&& (TREE_CODE (TYPENAME_TYPE_FULLNAME (new_scope))
== TEMPLATE_ID_EXPR)))
- pedwarn (TYPE_P (new_scope)
- ? "%qT is not a template"
- : "%qD is not a template",
- new_scope);
+ permerror (TYPE_P (new_scope)
+ ? "%qT is not a template"
+ : "%qD is not a template",
+ new_scope);
/* If it is a class scope, try to complete it; we are about to
be looking up names inside the class. */
if (TYPE_P (new_scope)
@@ -8928,7 +8928,7 @@ cp_parser_mem_initializer (cp_parser* parser)
/* Find out what is being initialized. */
if (cp_lexer_next_token_is (parser->lexer, CPP_OPEN_PAREN))
{
- pedwarn ("anachronistic old-style base class initializer");
+ permerror ("anachronistic old-style base class initializer");
mem_initializer_id = NULL_TREE;
}
else
@@ -9845,7 +9845,7 @@ cp_parser_template_id (cp_parser *parser,
static bool hint;
if (!hint)
{
- inform ("(if you use -fpermissive G++ will accept your code)");
+ inform ("(if you use %<-fpermissive%> G++ will accept your code)");
hint = true;
}
}
@@ -11186,7 +11186,7 @@ cp_parser_elaborated_type_specifier (cp_parser* parser,
tag_type = typename_type;
/* The `typename' keyword is only allowed in templates. */
if (!processing_template_decl)
- pedwarn ("using %<typename%> outside of template");
+ permerror ("using %<typename%> outside of template");
}
/* Otherwise it must be a class-key. */
else
@@ -13865,7 +13865,7 @@ cp_parser_parameter_declaration (cp_parser *parser,
if (!parser->default_arg_ok_p)
{
- if (!flag_pedantic_errors)
+ if (flag_permissive)
warning (0, "deprecated use of default argument for parameter of non-function");
else
{
@@ -14758,7 +14758,7 @@ cp_parser_class_head (cp_parser* parser,
class member of a namespace outside of its namespace. */
if (scope == nested_name_specifier)
{
- pedwarn ("extra qualification ignored");
+ permerror ("extra qualification not allowed");
nested_name_specifier = NULL_TREE;
num_templates = 0;
}
@@ -18121,7 +18121,7 @@ static void
cp_parser_check_class_key (enum tag_types class_key, tree type)
{
if ((TREE_CODE (type) == UNION_TYPE) != (class_key == union_type))
- pedwarn ("%qs tag used in naming %q#T",
+ permerror ("%qs tag used in naming %q#T",
class_key == union_type ? "union"
: class_key == record_type ? "struct" : "class",
type);