On Thu, Aug 11, 2016 at 9:36 AM, Bin.Cheng <amker.ch...@gmail.com> wrote:
> On Thu, Aug 11, 2016 at 8:08 AM, Andreas Schwab <sch...@suse.de> wrote:
>> ../../gcc/config/aarch64/aarch64-simd.md: In function 'rtx_def* 
>> gen_vec_cmpv2sfv2si(rtx, rtx, rtx, rtx)':
>> ../../gcc/config/aarch64/aarch64-simd.md:2498:17: error: 'comparison' may be 
>> used uninitialized in this function [-Werror=maybe-uninitialized]
>>        emit_insn (comparison (operands[0], operands[2], operands[3]));
>>        ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> ../../gcc/config/aarch64/aarch64-simd.md:2416:9: note: 'comparison' was 
>> declared here
>>    rtx (*comparison) (rtx, rtx, rtx);
>>          ^~~~~~~~~~
>> ../../gcc/config/aarch64/aarch64-simd.md: In function 'rtx_def* 
>> gen_vec_cmpv4sfv4si(rtx, rtx, rtx, rtx)':
>> ../../gcc/config/aarch64/aarch64-simd.md:2498:17: error: 'comparison' may be 
>> used uninitialized in this function [-Werror=maybe-uninitialized]
>>        emit_insn (comparison (operands[0], operands[2], operands[3]));
>>        ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> ../../gcc/config/aarch64/aarch64-simd.md:2416:9: note: 'comparison' was 
>> declared here
>>    rtx (*comparison) (rtx, rtx, rtx);
>>          ^~~~~~~~~~
>> ../../gcc/config/aarch64/aarch64-simd.md: In function 'rtx_def* 
>> gen_vec_cmpv2dfv2di(rtx, rtx, rtx, rtx)':
>> ../../gcc/config/aarch64/aarch64-simd.md:2498:17: error: 'comparison' may be 
>> used uninitialized in this function [-Werror=maybe-uninitialized]
>>        emit_insn (comparison (operands[0], operands[2], operands[3]));
>>        ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> ../../gcc/config/aarch64/aarch64-simd.md:2416:9: note: 'comparison' was 
>> declared here
>>    rtx (*comparison) (rtx, rtx, rtx);
>>          ^~~~~~~~~~
>
> Hi Andreas,
> Thanks very much for reporting this.
>
> I also got below error messages:
> ../../gcc/gcc/config/aarch64/aarch64-simd.md: In function ‘rtx_def*
> gen_vcondv8qiv8qi(rtx, rtx, rtx, rtx, rtx, rtx)’:
> ../../gcc/gcc/config/aarch64/aarch64-simd.md:2574:17: error: unused
> variable ‘code’ [-Werror=unused-variable]
>    enum rtx_code code = GET_CODE (operands[3]);
>                  ^~~~
> ../../gcc/gcc/config/aarch64/aarch64-simd.md: In function ‘rtx_def*
> gen_vcondv16qiv16qi(rtx, rtx, rtx, rtx, rtx, rtx)’:
> ../../gcc/gcc/config/aarch64/aarch64-simd.md:2574:17: error: unused
> variable ‘code’ [-Werror=unused-variable]
>    enum rtx_code code = GET_CODE (operands[3]);
>                  ^~~~
> ../../gcc/gcc/config/aarch64/aarch64-simd.md: In function ‘rtx_def*
> gen_vcondv4hiv4hi(rtx, rtx, rtx, rtx, rtx, rtx)’:
> ../../gcc/gcc/config/aarch64/aarch64-simd.md:2574:17: error: unused
> variable ‘code’ [-Werror=unused-variable]
>    enum rtx_code code = GET_CODE (operands[3]);
>                  ^~~~
> My bad forgetting to remove this when separating the patch set, the
> following patch
> @https://gcc.gnu.org/ml/gcc-patches/2016-08/msg00842.html will fix
> this.
>
> For the reported error message, I think it's a bug in
> maybe-unintialized warning, because all uses of "comparison" are
> initialized in the previous switch statement.  I will initialize it
> explicitly, also file a PR for recording.
PR73550 filed.
Thanks,
bin

Reply via email to