This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: FIx riscv port building with the trunk
- From: Kito Cheng <kito dot cheng at gmail dot com>
- To: Palmer Dabbelt <palmer at dabbelt dot com>
- Cc: Jeff Law <law at redhat dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 14 Mar 2017 11:00:36 +0800
- Subject: Re: FIx riscv port building with the trunk
- Authentication-results: sourceware.org; auth=none
- References: <07eace0b-42c7-4961-da60-a8f653e34448@redhat.com> <mhng-ddbca8b9-ec35-4478-a209-06adf2b6d6f4@palmer-si-x1c4>
Hi Jeff:
It's make older gcc version can't build RISC-V port, how about use
gcc_fallthrough instead?
diff --git a/gcc/config/riscv/riscv.c b/gcc/config/riscv/riscv.c
index f4c1f23..d1af07f5 100644
--- a/gcc/config/riscv/riscv.c
+++ b/gcc/config/riscv/riscv.c
@@ -2089,13 +2089,13 @@ riscv_emit_float_compare (enum rtx_code *code,
rtx *op0, rtx *op1)
case UNLT:
std::swap (cmp_op0, cmp_op1);
- __attribute__((fallthrough));
+ gcc_fallthrough ();
UNORDERED_COMPARISON(UNGT, le)
case UNLE:
std::swap (cmp_op0, cmp_op1);
- __attribute__((fallthrough));
+ gcc_fallthrough ();
UNORDERED_COMPARISON(UNGE, lt)
#undef UNORDERED_COMPARISON
On Tue, Mar 14, 2017 at 2:22 AM, Palmer Dabbelt <palmer@dabbelt.com> wrote:
> On Mon, 13 Mar 2017 10:50:28 PDT (-0700), law@redhat.com wrote:
>>
>> RISCV targets were failing to build due to implicit-fallthru warnings.
>>
>> This changes comments which indicated expected fallthru to use the
>> attribute and the port builds again. I assume something about the use
>> of the cpp macro is causing the comment to not have the intended effect.
>> I didn't dig into that. Nor did I try to change all the fallthru
>> comments to use the attribute -- just the two that implicit-fallthru was
>> complaining about.
>>
>> Verified that after this patch the two riscv targets build. Installed
>> on the trunk.
>>
>> Jeff
>>
>> commit 448373f1f2912228dc72605fb6f3343fd57023ee
>> Author: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
>> Date: Mon Mar 13 17:49:40 2017 +0000
>>
>> * config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru
>> attribute rather than comments.
>>
>> git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246101 138bc75d-0d04-0410-961f-82ee72b054a4
>>
>> diff --git a/gcc/ChangeLog b/gcc/ChangeLog
>> index 124dca3..e863cdf 100644
>> --- a/gcc/ChangeLog
>> +++ b/gcc/ChangeLog
>> @@ -1,5 +1,8 @@
>> 2017-03-13 Jeff Law <law@redhat.com>
>>
>> + * config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru
>> + attribute rather than comments.
>> +
>> * config/pdp11/pdp11.md (movmemhi): Adjust operand numbers to
>> match_scratch operand is highest.
>>
>> diff --git a/gcc/config/riscv/riscv.c b/gcc/config/riscv/riscv.c
>> index 89567f7..e5044ba 100644
>> --- a/gcc/config/riscv/riscv.c
>> +++ b/gcc/config/riscv/riscv.c
>> @@ -2089,13 +2089,13 @@ riscv_emit_float_compare (enum rtx_code *code, rtx *op0, rtx *op1)
>>
>> case UNLT:
>> std::swap (cmp_op0, cmp_op1);
>> - /* Fall through. */
>> + __attribute__((fallthrough));
>>
>> UNORDERED_COMPARISON(UNGT, le)
>>
>> case UNLE:
>> std::swap (cmp_op0, cmp_op1);
>> - /* Fall through. */
>> + __attribute__((fallthrough));
>>
>> UNORDERED_COMPARISON(UNGE, lt)
>> #undef UNORDERED_COMPARISON
>
> Thanks!