This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 2/3] Replace error with internal_error_cont in cgraph.c (PR ipa/79857).
- From: marxin <mliska at suse dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 13 Mar 2017 13:47:13 +0100
- Subject: [PATCH 2/3] Replace error with internal_error_cont in cgraph.c (PR ipa/79857).
- Authentication-results: sourceware.org; auth=none
- References: <cover.1489585509.git.mliska@suse.cz>
- Resent-user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1
gcc/ChangeLog:
2017-03-13 Martin Liska <mliska@suse.cz>
PR ipa/79857
* cgraph.c (cgraph_edge::verify_count_and_frequency):
Replace error with internal_error_cont.
(cgraph_node::verify_node): Likewise.
---
gcc/cgraph.c | 139 ++++++++++++++++++++++++++++++++---------------------------
1 file changed, 76 insertions(+), 63 deletions(-)
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 839388496ee..f30a280de8c 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -2981,17 +2981,17 @@ cgraph_edge::verify_count_and_frequency ()
bool error_found = false;
if (count < 0)
{
- error ("caller edge count is negative");
+ internal_error_cont ("caller edge count is negative");
error_found = true;
}
if (frequency < 0)
{
- error ("caller edge frequency is negative");
+ internal_error_cont ("caller edge frequency is negative");
error_found = true;
}
if (frequency > CGRAPH_FREQ_MAX)
{
- error ("caller edge frequency is too large");
+ internal_error_cont ("caller edge frequency is too large");
error_found = true;
}
return error_found;
@@ -3075,55 +3075,56 @@ cgraph_node::verify_node (void)
for (e = callees; e; e = e->next_callee)
if (e->aux)
{
- error ("aux field set for edge %s->%s",
- identifier_to_locale (e->caller->name ()),
- identifier_to_locale (e->callee->name ()));
+ internal_error_cont ("aux field set for edge %s->%s",
+ identifier_to_locale (e->caller->name ()),
+ identifier_to_locale (e->callee->name ()));
error_found = true;
}
if (count < 0)
{
- error ("execution count is negative");
+ internal_error_cont ("execution count is negative");
error_found = true;
}
if (global.inlined_to && same_comdat_group)
{
- error ("inline clone in same comdat group list");
+ internal_error_cont ("inline clone in same comdat group list");
error_found = true;
}
if (!definition && !in_other_partition && local.local)
{
- error ("local symbols must be defined");
+ internal_error_cont ("local symbols must be defined");
error_found = true;
}
if (global.inlined_to && externally_visible)
{
- error ("externally visible inline clone");
+ internal_error_cont ("externally visible inline clone");
error_found = true;
}
if (global.inlined_to && address_taken)
{
- error ("inline clone with address taken");
+ internal_error_cont ("inline clone with address taken");
error_found = true;
}
if (global.inlined_to && force_output)
{
- error ("inline clone is forced to output");
+ internal_error_cont ("inline clone is forced to output");
error_found = true;
}
for (e = indirect_calls; e; e = e->next_callee)
{
if (e->aux)
{
- error ("aux field set for indirect edge from %s",
+ internal_error_cont ("aux field set for indirect edge from %s",
identifier_to_locale (e->caller->name ()));
error_found = true;
}
if (!e->indirect_unknown_callee
|| !e->indirect_info)
{
- error ("An indirect edge from %s is not marked as indirect or has "
- "associated indirect_info, the corresponding statement is: ",
- identifier_to_locale (e->caller->name ()));
+ internal_error_cont ("An indirect edge from %s is not marked as "
+ "indirect or has associated indirect_info, "
+ "the corresponding statement is: ",
+ identifier_to_locale (e->caller->name ()));
cgraph_debug_gimple_stmt (this_cfun, e->call_stmt);
error_found = true;
}
@@ -3136,8 +3137,9 @@ cgraph_node::verify_node (void)
if (check_comdat
&& !in_same_comdat_group_p (e->caller))
{
- error ("comdat-local function called by %s outside its comdat",
- identifier_to_locale (e->caller->name ()));
+ internal_error_cont ("comdat-local function called by %s outside "
+ "its comdat",
+ identifier_to_locale (e->caller->name ()));
error_found = true;
}
if (!e->inline_failed)
@@ -3146,19 +3148,20 @@ cgraph_node::verify_node (void)
!= (e->caller->global.inlined_to
? e->caller->global.inlined_to : e->caller))
{
- error ("inlined_to pointer is wrong");
+ internal_error_cont ("inlined_to pointer is wrong");
error_found = true;
}
if (callers->next_caller)
{
- error ("multiple inline callers");
+ internal_error_cont ("multiple inline callers");
error_found = true;
}
}
else
if (global.inlined_to)
{
- error ("inlined_to pointer set for noninline callers");
+ internal_error_cont ("inlined_to pointer set for noninline "
+ "callers");
error_found = true;
}
}
@@ -3178,10 +3181,10 @@ cgraph_node::verify_node (void)
!= compute_call_stmt_bb_frequency (e->caller->decl,
gimple_bb (e->call_stmt))))
{
- error ("caller edge frequency %i does not match BB frequency %i",
- e->frequency,
- compute_call_stmt_bb_frequency (e->caller->decl,
- gimple_bb (e->call_stmt)));
+ int freq = compute_call_stmt_bb_frequency (e->caller->decl,
+ gimple_bb (e->call_stmt));
+ internal_error_cont ("caller edge frequency %i does not match BB "
+ "frequency %i", e->frequency, freq);
error_found = true;
}
}
@@ -3196,21 +3199,22 @@ cgraph_node::verify_node (void)
!= compute_call_stmt_bb_frequency (e->caller->decl,
gimple_bb (e->call_stmt))))
{
- error ("indirect call frequency %i does not match BB frequency %i",
- e->frequency,
- compute_call_stmt_bb_frequency (e->caller->decl,
- gimple_bb (e->call_stmt)));
+ int freq = compute_call_stmt_bb_frequency (e->caller->decl,
+ gimple_bb (e->call_stmt));
+ internal_error_cont ("indirect call frequency %i does not match BB "
+ "frequency %i", e->frequency, freq);
error_found = true;
}
}
if (!callers && global.inlined_to)
{
- error ("inlined_to pointer is set but no predecessors found");
+ internal_error_cont ("inlined_to pointer is set but no predecessors "
+ "found");
error_found = true;
}
if (global.inlined_to == this)
{
- error ("inlined_to pointer refers to itself");
+ internal_error_cont ("inlined_to pointer refers to itself");
error_found = true;
}
@@ -3222,7 +3226,7 @@ cgraph_node::verify_node (void)
break;
if (!n)
{
- error ("cgraph_node has wrong clone_of");
+ internal_error_cont ("cgraph_node has wrong clone_of");
error_found = true;
}
}
@@ -3234,23 +3238,23 @@ cgraph_node::verify_node (void)
break;
if (n)
{
- error ("cgraph_node has wrong clone list");
+ internal_error_cont ("cgraph_node has wrong clone list");
error_found = true;
}
}
if ((prev_sibling_clone || next_sibling_clone) && !clone_of)
{
- error ("cgraph_node is in clone list but it is not clone");
+ internal_error_cont ("cgraph_node is in clone list but it is not clone");
error_found = true;
}
if (!prev_sibling_clone && clone_of && clone_of->clones != this)
{
- error ("cgraph_node has wrong prev_clone pointer");
+ internal_error_cont ("cgraph_node has wrong prev_clone pointer");
error_found = true;
}
if (prev_sibling_clone && prev_sibling_clone->next_sibling_clone != this)
{
- error ("double linked list of clones corrupted");
+ internal_error_cont ("double linked list of clones corrupted");
error_found = true;
}
@@ -3262,7 +3266,7 @@ cgraph_node::verify_node (void)
if (callees)
{
- error ("Alias has call edges");
+ internal_error_cont ("Alias has call edges");
error_found = true;
}
for (i = 0; iterate_reference (i, ref); i++)
@@ -3270,19 +3274,19 @@ cgraph_node::verify_node (void)
;
else if (ref->use != IPA_REF_ALIAS)
{
- error ("Alias has non-alias reference");
+ internal_error_cont ("Alias has non-alias reference");
error_found = true;
}
else if (ref_found)
{
- error ("Alias has more than one alias reference");
+ internal_error_cont ("Alias has more than one alias reference");
error_found = true;
}
else
ref_found = true;
if (!ref_found)
{
- error ("Analyzed alias has no reference");
+ internal_error_cont ("Analyzed alias has no reference");
error_found = true;
}
}
@@ -3291,14 +3295,16 @@ cgraph_node::verify_node (void)
if (instrumented_version
&& instrumented_version->instrumented_version != this)
{
- error ("Instrumentation clone does not reference original node");
+ internal_error_cont ("Instrumentation clone does not reference original "
+ "node");
error_found = true;
}
/* Cannot have orig_decl for not instrumented nodes. */
if (!instrumentation_clone && orig_decl)
{
- error ("Not instrumented node has non-NULL original declaration");
+ internal_error_cont ("Not instrumented node has non-NULL original "
+ "declaration");
error_found = true;
}
@@ -3308,7 +3314,7 @@ cgraph_node::verify_node (void)
&& orig_decl
&& orig_decl != instrumented_version->decl)
{
- error ("Instrumented node has wrong original declaration");
+ internal_error_cont ("Instrumented node has wrong original declaration");
error_found = true;
}
@@ -3326,12 +3332,13 @@ cgraph_node::verify_node (void)
{
if (ref_found)
{
- error ("Node has more than one chkp reference");
+ internal_error_cont ("Node has more than one chkp reference");
error_found = true;
}
if (ref->referred != instrumented_version)
{
- error ("Wrong node is referenced with chkp reference");
+ internal_error_cont ("Wrong node is referenced with chkp "
+ "reference");
error_found = true;
}
ref_found = true;
@@ -3339,7 +3346,8 @@ cgraph_node::verify_node (void)
if (!ref_found)
{
- error ("Analyzed node has no reference to instrumented version");
+ internal_error_cont ("Analyzed node has no reference to "
+ "instrumented version");
error_found = true;
}
}
@@ -3353,7 +3361,7 @@ cgraph_node::verify_node (void)
if (!IDENTIFIER_TRANSPARENT_ALIAS (name)
|| TREE_CHAIN (name) != orig_name)
{
- error ("Alias chain for instrumented node is broken");
+ internal_error_cont ("Alias chain for instrumented node is broken");
error_found = true;
}
}
@@ -3362,23 +3370,23 @@ cgraph_node::verify_node (void)
{
if (!callees)
{
- error ("No edge out of thunk node");
+ internal_error_cont ("No edge out of thunk node");
error_found = true;
}
else if (callees->next_callee)
{
- error ("More than one edge out of thunk node");
+ internal_error_cont ("More than one edge out of thunk node");
error_found = true;
}
if (gimple_has_body_p (decl) && !global.inlined_to)
{
- error ("Thunk is not supposed to have body");
+ internal_error_cont ("Thunk is not supposed to have body");
error_found = true;
}
if (thunk.add_pointer_bounds_args
&& !instrumented_version->semantically_equivalent_p (callees->callee))
{
- error ("Instrumentation thunk has wrong edge callee");
+ internal_error_cont ("Instrumentation thunk has wrong edge callee");
error_found = true;
}
}
@@ -3414,7 +3422,7 @@ cgraph_node::verify_node (void)
{
if (e->aux)
{
- error ("shared call_stmt:");
+ internal_error_cont ("shared call_stmt:");
cgraph_debug_gimple_stmt (this_cfun, stmt);
error_found = true;
}
@@ -3422,7 +3430,8 @@ cgraph_node::verify_node (void)
{
if (e->verify_corresponds_to_fndecl (decl))
{
- error ("edge points to wrong declaration:");
+ internal_error_cont ("edge points to wrong "
+ "declaration:");
debug_tree (e->callee->decl);
fprintf (stderr," Instead of:");
debug_tree (decl);
@@ -3431,9 +3440,11 @@ cgraph_node::verify_node (void)
}
else if (decl)
{
- error ("an indirect edge with unknown callee "
- "corresponding to a call_stmt with "
- "a known declaration:");
+ internal_error_cont ("an indirect edge with "
+ "unknown callee "
+ "corresponding to a "
+ "call_stmt with a known "
+ "declaration:");
error_found = true;
cgraph_debug_gimple_stmt (this_cfun, e->call_stmt);
}
@@ -3441,7 +3452,8 @@ cgraph_node::verify_node (void)
}
else if (decl)
{
- error ("missing callgraph edge for call stmt:");
+ internal_error_cont ("missing callgraph edge for "
+ "call stmt:");
cgraph_debug_gimple_stmt (this_cfun, stmt);
error_found = true;
}
@@ -3451,7 +3463,7 @@ cgraph_node::verify_node (void)
for (i = 0; iterate_reference (i, ref); i++)
if (ref->stmt && !stmts.contains (ref->stmt))
{
- error ("reference to dead statement");
+ internal_error_cont ("reference to dead statement");
cgraph_debug_gimple_stmt (this_cfun, ref->stmt);
error_found = true;
}
@@ -3464,9 +3476,9 @@ cgraph_node::verify_node (void)
{
if (!e->aux)
{
- error ("edge %s->%s has no corresponding call_stmt",
- identifier_to_locale (e->caller->name ()),
- identifier_to_locale (e->callee->name ()));
+ internal_error_cont ("edge %s->%s has no corresponding call_stmt",
+ identifier_to_locale (e->caller->name ()),
+ identifier_to_locale (e->callee->name ()));
cgraph_debug_gimple_stmt (this_cfun, e->call_stmt);
error_found = true;
}
@@ -3476,8 +3488,9 @@ cgraph_node::verify_node (void)
{
if (!e->aux && !e->speculative)
{
- error ("an indirect edge from %s has no corresponding call_stmt",
- identifier_to_locale (e->caller->name ()));
+ internal_error_cont ("an indirect edge from %s has no "
+ "corresponding call_stmt",
+ identifier_to_locale (e->caller->name ()));
cgraph_debug_gimple_stmt (this_cfun, e->call_stmt);
error_found = true;
}
--
2.11.1