On Mär 31 2021, Jan Hubicka via Gcc-cvs wrote:

> https://gcc.gnu.org/g:e7fd3b783238d034018443e43a58ff87908b4db6
>
> commit r11-7940-ge7fd3b783238d034018443e43a58ff87908b4db6
> Author: Jan Hubicka <j...@suse.cz>
> Date:   Wed Mar 31 22:44:20 2021 +0200
>
>     Make USES_COMDAT_LOCAL CIF_FINAL_NORMAL
>     
>     USES_COMDAT_LOCAL is incorrectly defined as CIF_FINAL_ERROR which makes 
> inliner
>     to mis some inlines of functions in comdat section that was previously 
> split.
>     
>     2021-03-31  Jan Hubicka  <hubi...@ucw.cz>
>     
>             PR ipa/98265
>             * cif-code.def (USES_COMDAT_LOCAL): Make CIF_FINAL_NORMAL.

This breaks bootstrap on riscv64:

In function ‘alloca_type_and_limit alloca_call_type(range_query&, gimple*, bool 
’,
    inlined from ‘virtual unsigned int pass_walloca::execute(function*)’ at 
../../gcc/gimple-ssa-warn-alloca.c:295:25:
../../gcc/gimple-ssa-warn-alloca.c:206:13: error: ‘*(long int*)((char*)&ret + 
offsetof(alloca_type_and_limit, 
alloca_type_and_limit::limit.generic_wide_int<wide_int_storage>::<unnamed>.wide_int_storage::val[0]))’
 may be used uninitialized  -Werror=maybe-uninitialized]
  206 |         ret = alloca_type_and_limit (ALLOCA_OK);
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gimple-ssa-warn-alloca.c: In member function ‘virtual unsigned int 
pass_walloca::execute(function*)’:
../../gcc/gimple-ssa-warn-alloca.c:200:32: note: ‘ret’ declared here
  200 |   struct alloca_type_and_limit ret = alloca_type_and_limit (ALLOCA_OK);
      |                                ^~~
In function ‘alloca_type_and_limit alloca_call_type(range_query&, gimple*, bool 
’,
    inlined from ‘virtual unsigned int pass_walloca::execute(function*)’ at 
../../gcc/gimple-ssa-warn-alloca.c:295:25:
../../gcc/gimple-ssa-warn-alloca.c:206:13: error: ‘*(long int*)((char*)&ret + 
offsetof(alloca_type_and_limit, 
alloca_type_and_limit::limit.generic_wide_int<wide_int_storage>::<unnamed>.wide_int_storage::val[1]))’
 may be used uninitialized  -Werror=maybe-uninitialized]
  206 |         ret = alloca_type_and_limit (ALLOCA_OK);
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gimple-ssa-warn-alloca.c: In member function ‘virtual unsigned int 
pass_walloca::execute(function*)’:
../../gcc/gimple-ssa-warn-alloca.c:200:32: note: ‘ret’ declared here
  200 |   struct alloca_type_and_limit ret = alloca_type_and_limit (ALLOCA_OK);
      |                                ^~~
In function ‘alloca_type_and_limit alloca_call_type(range_query&, gimple*, bool 
’,
    inlined from ‘virtual unsigned int pass_walloca::execute(function*)’ at 
../../gcc/gimple-ssa-warn-alloca.c:295:25:
../../gcc/gimple-ssa-warn-alloca.c:206:13: error: ‘*(long int*)((char*)&ret + 
offsetof(alloca_type_and_limit, 
alloca_type_and_limit::limit.generic_wide_int<wide_int_storage>::<unnamed>.wide_int_storage::val[2]))’
 may be used uninitialized  -Werror=maybe-uninitialized]
  206 |         ret = alloca_type_and_limit (ALLOCA_OK);
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gimple-ssa-warn-alloca.c: In member function ‘virtual unsigned int 
pass_walloca::execute(function*)’:
../../gcc/gimple-ssa-warn-alloca.c:200:32: note: ‘ret’ declared here
  200 |   struct alloca_type_and_limit ret = alloca_type_and_limit (ALLOCA_OK);
      |                                ^~~
In function ‘alloca_type_and_limit alloca_call_type(range_query&, gimple*, bool 
’,
    inlined from ‘virtual unsigned int pass_walloca::execute(function*)’ at 
../../gcc/gimple-ssa-warn-alloca.c:295:25:
../../gcc/gimple-ssa-warn-alloca.c:206:13: error: ‘*(unsigned int*)((char*)&ret 
+ offsetof(alloca_type_and_limit, 
alloca_type_and_limit::limit.generic_wide_int<wide_int_storage>::<unnamed>.wide_int_storage::len))’
 may be used uninitialized [-Werror=maybe-uninitialized]
  206 |         ret = alloca_type_and_limit (ALLOCA_OK);
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gimple-ssa-warn-alloca.c: In member function ‘virtual unsigned int 
pass_walloca::execute(function*)’:
../../gcc/gimple-ssa-warn-alloca.c:200:32: note: ‘ret’ declared here
  200 |   struct alloca_type_and_limit ret = alloca_type_and_limit (ALLOCA_OK);
      |                                ^~~
In function ‘alloca_type_and_limit alloca_call_type(range_query&, gimple*, bool 
’,
    inlined from ‘virtual unsigned int pass_walloca::execute(function*)’ at 
../../gcc/gimple-ssa-warn-alloca.c:295:25:
../../gcc/gimple-ssa-warn-alloca.c:206:13: error: ‘*(unsigned int*)((char*)&ret 
+ offsetof(alloca_type_and_limit, 
alloca_type_and_limit::limit.generic_wide_int<wide_int_storage>::<unnamed>.wide_int_storage::precision))’
 may be used uninitialized [-Werror=maybe-uninitialized]
  206 |         ret = alloca_type_and_limit (ALLOCA_OK);
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gimple-ssa-warn-alloca.c: In member function ‘virtual unsigned int 
pass_walloca::execute(function*)’:
../../gcc/gimple-ssa-warn-alloca.c:200:32: note: ‘ret’ declared here
  200 |   struct alloca_type_and_limit ret = alloca_type_and_limit (ALLOCA_OK);
      |                                ^~~
cc1plus: all warnings being treated as errors
make[3]: *** [Makefile:1142: gimple-ssa-warn-alloca.o] Error 1

Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

Reply via email to