This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: (patch,rfc) s/gimple/gimple */
- From: Trevor Saunders <tbsaunde at tbsaunde dot org>
- To: Thomas Schwinge <thomas at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org, David Malcolm <dmalcolm at redhat dot com>, Jeff Law <law at redhat dot com>, Andrew MacLeod <amacleod at redhat dot com>
- Date: Sat, 26 Sep 2015 01:41:31 -0400
- Subject: Re: (patch,rfc) s/gimple/gimple */
- Authentication-results: sourceware.org; auth=none
- References: <20150916131510 dot GA21102 at tsaunders-iceball dot corp dot tor1 dot mozilla dot com> <1442430674 dot 32352 dot 109 dot camel at surprise> <20150918133200 dot GA22271 at tsaunders-iceball dot corp dot tor1 dot mozilla dot com> <55FC2E95 dot 4060504 at redhat dot com> <20150920005535 dot GA29886 at tsaunders-iceball dot corp dot tor1 dot mozilla dot com> <87pp18w4cj dot fsf at kepler dot schwinge dot homeip dot net>
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