Message ID | 87pp18w4cj.fsf@kepler.schwinge.homeip.net |
---|---|
State | New |
Headers | show |
On Thu, Sep 24, 2015 at 11:31:40AM +0200, Thomas Schwinge wrote: > Hi! > > On Sat, 19 Sep 2015 20:55:35 -0400, Trevor Saunders <tbsaunde@tbsaunde.org> wrote: > > On Fri, Sep 18, 2015 at 09:32:37AM -0600, Jeff Law wrote: > > > On 09/18/2015 07:32 AM, Trevor Saunders wrote: > > > >On Wed, Sep 16, 2015 at 03:11:14PM -0400, David Malcolm wrote: > > > >>On Wed, 2015-09-16 at 09:16 -0400, Trevor Saunders wrote: > > > >>>I gave changing from gimple to gimple * a shot last week. > > > ok, its committed now :) > > [...]/source-gcc/gcc/tree-object-size.c:62:13: warning: 'bool plus_stmt_object_size(object_size_info*, tree, gimple)' declared 'static' but never defined [-Wunused-function] > static bool plus_stmt_object_size (struct object_size_info *, tree, gimple); > ^ > [...]/source-gcc/gcc/tree-object-size.c:63:13: warning: 'bool cond_expr_object_size(object_size_info*, tree, gimple)' declared 'static' but never defined [-Wunused-function] > static bool cond_expr_object_size (struct object_size_info *, tree, gimple); > ^ > > Not sure why your automation didn't catch these? Anyway, in r228080 I > now committed these additional changes (as obvious): well, it wasn't that automated ;) but this does point out some interesting things. > diff --git gcc/tree-object-size.c gcc/tree-object-size.c > index f76f160..230761b 100644 > --- gcc/tree-object-size.c > +++ gcc/tree-object-size.c > @@ -59,8 +59,8 @@ static void collect_object_sizes_for (struct object_size_info *, tree); > static void expr_object_size (struct object_size_info *, tree, tree); > static bool merge_object_sizes (struct object_size_info *, tree, tree, > unsigned HOST_WIDE_INT); > -static bool plus_stmt_object_size (struct object_size_info *, tree, gimple); > -static bool cond_expr_object_size (struct object_size_info *, tree, gimple); > +static bool plus_stmt_object_size (struct object_size_info *, tree, gimple *); > +static bool cond_expr_object_size (struct object_size_info *, tree, gimple *); so, these forward decls aren't actually needed, and I'd be tempted to just remove them, however I was curious why they didn't generate a warning, and I found we regressed the warning for undefined declared static functions. Consider this C++ test case: static bool bar(int); static bool bar(int *p) { return p; } int main() { int x; bar(&x); return 0; } g++ (Debian 5.2.1-17) 5.2.1 20150911 /tmp/test.cc:1:13: warning: ‘bool bar(int)’ declared ‘static’ but never defined [-Wunused-function] static bool bar(int); ^ xgcc (GCC) 6.0.0 20150920 (experimental) bool bar(int*) int main() Analyzing compilation unit Performing interprocedural optimizations <*free_lang_data> <visibility> <build_ssa_passes> <opt_local_passes> <free-inline-summary> <whole-program> <inline>Assembling functions: bool bar(int*) int main() Execution times (seconds) phase setup : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 (50%) wall 1381 kB (76%) ggc phase parsing : 0.00 ( 0%) usr 0.01 (100%) sys 0.00 ( 0%) wall 330 kB (18%) ggc phase opt and generate : 0.01 (100%) usr 0.00 ( 0%) sys 0.01 (50%) wall 95 kB ( 5%) ggc parser (global) : 0.00 ( 0%) usr 0.01 (100%) sys 0.00 ( 0%) wall 311 kB (17%) ggc initialize rtl : 0.01 (100%) usr 0.00 ( 0%) sys 0.01 (50%) wall 12 kB ( 1%) ggc TOTAL : 0.01 0.01 0.02 1818 kB Extra diagnostic checks enabled; compiler may run slowly. Configure with --enable-checking=release to disable checks. I guess I'll try and file a bug about that soon :) Trev
diff --git gcc/ChangeLog gcc/ChangeLog index 9c2ad9d..7bc8e91 100644 --- gcc/ChangeLog +++ gcc/ChangeLog @@ -1,3 +1,12 @@ +2015-09-24 Thomas Schwinge <thomas@codesourcery.com> + + * tree-object-size.c (plus_stmt_object_size) + (cond_expr_object_size): Change the formal parameters from gimple + to gimple *. + * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise. + * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static. + * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare. + 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris. diff --git gcc/tree-object-size.c gcc/tree-object-size.c index f76f160..230761b 100644 --- gcc/tree-object-size.c +++ gcc/tree-object-size.c @@ -59,8 +59,8 @@ static void collect_object_sizes_for (struct object_size_info *, tree); static void expr_object_size (struct object_size_info *, tree, tree); static bool merge_object_sizes (struct object_size_info *, tree, tree, unsigned HOST_WIDE_INT); -static bool plus_stmt_object_size (struct object_size_info *, tree, gimple); -static bool cond_expr_object_size (struct object_size_info *, tree, gimple); +static bool plus_stmt_object_size (struct object_size_info *, tree, gimple *); +static bool cond_expr_object_size (struct object_size_info *, tree, gimple *); static void init_offset_limit (void); static void check_for_plus_in_loops (struct object_size_info *, tree); static void check_for_plus_in_loops_1 (struct object_size_info *, tree, diff --git gcc/tree-ssa-alias.c gcc/tree-ssa-alias.c index f3674ae..5ff2275 100644 --- gcc/tree-ssa-alias.c +++ gcc/tree-ssa-alias.c @@ -76,12 +76,12 @@ along with GCC; see the file COPYING3. If not see The main alias-oracle entry-points are - bool stmt_may_clobber_ref_p (gimple, tree) + bool stmt_may_clobber_ref_p (gimple *, tree) This function queries if a statement may invalidate (parts of) the memory designated by the reference tree argument. - bool ref_maybe_used_by_stmt_p (gimple, tree) + bool ref_maybe_used_by_stmt_p (gimple *, tree) This function queries if a statement may need (parts of) the memory designated by the reference tree argument. diff --git gcc/tree-ssa-sccvn.c gcc/tree-ssa-sccvn.c index 57c1b55..ce79842 100644 --- gcc/tree-ssa-sccvn.c +++ gcc/tree-ssa-sccvn.c @@ -2684,7 +2684,7 @@ vn_nary_op_insert (tree op, tree result) /* Insert the rhs of STMT into the current hash table with a value number of RESULT. */ -vn_nary_op_t +static vn_nary_op_t vn_nary_op_insert_stmt (gimple *stmt, tree result) { vn_nary_op_t vno1 diff --git gcc/tree-ssa-sccvn.h gcc/tree-ssa-sccvn.h index 92ca85a..d0a911f 100644 --- gcc/tree-ssa-sccvn.h +++ gcc/tree-ssa-sccvn.h @@ -204,7 +204,6 @@ tree vn_nary_op_lookup_stmt (gimple *, vn_nary_op_t *); tree vn_nary_op_lookup_pieces (unsigned int, enum tree_code, tree, tree *, vn_nary_op_t *); vn_nary_op_t vn_nary_op_insert (tree, tree); -vn_nary_op_t vn_nary_op_insert_stmt (gimple, tree); vn_nary_op_t vn_nary_op_insert_pieces (unsigned int, enum tree_code, tree, tree *, tree, unsigned int); bool ao_ref_init_from_vn_reference (ao_ref *, alias_set_type, tree,