Re: FIx riscv port building with the trunk
Thanks Kito -- this had broken my build too, I'd just gotten distracted by another bug and had forgotten to commit it. It's now in as commit 6ca48c85b40db96f01d49f37afb19100b4a6b75b Author: palmer Date: Tue Mar 14 03:51:24 2017 + Use gcc_fallthrough() instead of __attribute__((fallthrough) Without this my build breaks on older compilers like GCC-5.4. gcc/ChangeLog: 2017-03-13 Kito Cheng * config/riscv/riscv.c (riscv_emit_float_compare>: Use gcc_fallthrough() instead of __attribute__((fallthrough)); git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246116 138bc75d-0d04-0410-961f-82ee72b054a4 On Mon, 13 Mar 2017 20:00:36 PDT (-0700), kito.ch...@gmail.com wrote: > 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 wrote: >> On Mon, 13 Mar 2017 10:50:28 PDT (-0700), l...@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 >>> Date: Mon Mar 13 17:49:40 2017 + >>> >>> * 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 >>> >>> + * 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!
Re: FIx riscv port building with the trunk
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 wrote: > On Mon, 13 Mar 2017 10:50:28 PDT (-0700), l...@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 >> Date: Mon Mar 13 17:49:40 2017 + >> >> * 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 >> >> + * 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!
Re: FIx riscv port building with the trunk
On Mon, 13 Mar 2017 10:50:28 PDT (-0700), l...@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 > Date: Mon Mar 13 17:49:40 2017 + > > * 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 > > + * 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!