aboutsummaryrefslogtreecommitdiff
path: root/gcc/dumpfile.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2022-09-01 11:07:44 +0200
committerJakub Jelinek <jakub@redhat.com>2022-09-01 11:07:44 +0200
commit953e08fde44a596e4ec2491efd15cd645e1ddc48 (patch)
tree978c44847ebc9811142a32797471006809171c07 /gcc/dumpfile.h
parent0b8c57ed40f19086e30ce54faec3222ac21cc0df (diff)
downloadgcc-953e08fde44a596e4ec2491efd15cd645e1ddc48.zip
gcc-953e08fde44a596e4ec2491efd15cd645e1ddc48.tar.gz
gcc-953e08fde44a596e4ec2491efd15cd645e1ddc48.tar.bz2
Fix up dump_printf_loc format attribute and adjust uses [PR106782]
As discussed on IRC, the r13-2299-g68c61c2daa1f bug only got missed because dump_printf_loc had incorrect format attribute and therefore almost no -Wformat=* checking was performed on it. 3, 0 are suitable for function with (whatever, whatever, const char *, va_list) arguments, not for (whatever, whatever, const char *, ...), that one should use 3, 4. The following patch fixes that and adjusts all spots to fix warnings. In many cases it is just through an ugly cast (for %G casts to gimple * from gassign */gphi * and the like and for %p casts to void * from slp_node etc.). There are 3 spots where the mismatch was worse though, two using %u or %d for unsigned HOST_WIDE_INT argument and one %T for enum argument (promoted to int). 2022-09-01 Jakub Jelinek <jakub@redhat.com> PR other/106782 * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4) instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0). * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to derived types of gimple to gimple * to avoid -Wformat warnings. * tree-vect-loop-manip.cc (vect_set_loop_condition, vect_update_ivs_after_vectorizer): Likewise. * tree-vect-stmts.cc (vectorizable_load): Likewise. * tree-vect-patterns.cc (vect_split_statement, vect_recog_mulhs_pattern, vect_recog_average_pattern, vect_determine_precisions_from_range, vect_determine_precisions_from_users): Likewise. * gimple-loop-versioning.cc (loop_versioning::analyze_term_using_scevs): Likewise. * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise. (vect_build_slp_tree): Cast slp_tree to void * to avoid -Wformat warnings. (optimize_load_redistribution_1, vect_match_slp_patterns, vect_build_slp_instance, vect_optimize_slp_pass::materialize, vect_optimize_slp_pass::dump, vect_slp_convert_to_external, vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise. (vect_print_slp_tree): Likewise. Also use HOST_WIDE_INT_PRINT_UNSIGNED instead of %u. * tree-vect-loop.cc (vect_determine_vectorization_factor, vect_analyze_scalar_cycles_1, vect_analyze_loop_operations, vectorizable_induction, vect_transform_loop): Cast pointers to derived types of gimple to gimple * to avoid -Wformat warnings. (vect_analyze_loop_2): Cast slp_tree to void * to avoid -Wformat warnings. (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED instead of %d. * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node)) instead of SLP_TREE_DEF_TYPE (node).
Diffstat (limited to 'gcc/dumpfile.h')
-rw-r--r--gcc/dumpfile.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/dumpfile.h b/gcc/dumpfile.h
index 3c47f09..b2219c5 100644
--- a/gcc/dumpfile.h
+++ b/gcc/dumpfile.h
@@ -574,7 +574,7 @@ extern void dump_printf (const dump_metadata_t &, const char *, ...)
extern void dump_printf_loc (const dump_metadata_t &, const dump_user_location_t &,
const char *, ...)
- ATTRIBUTE_GCC_DUMP_PRINTF (3, 0);
+ ATTRIBUTE_GCC_DUMP_PRINTF (3, 4);
extern void dump_function (int phase, tree fn);
extern void dump_basic_block (dump_flags_t, basic_block, int);
extern void dump_generic_expr_loc (const dump_metadata_t &,