RE: [PATCH] cris: bug: add unreachable() to silence warnings
Agreed. If you include that, I will ack it -Original Message- From: Maurizio Lombardi [mailto:mlomb...@redhat.com] Sent: den 7 augusti 2014 09:24 To: Nick Krause; Mikael Starvik; Jesper Nilsson; o...@axis.com; list@; open list Subject: Re: [PATCH] cris: bug: add unreachable() to silence warnings On 08/07/2014 06:01 AM, Nick Krause wrote: > ".previous\n\t" \ > - : : "ri" (__FILE__), "i" (__LINE__)) > + : : "ri" (__FILE__), "i" (__LINE__)); \ > + unreachable(); > +} while (0) Does this code compile? There should be a trailing '\' character after "unreachable()". Regards, Maurizio Lombardi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
RE: [PATCH] cris: bug: add unreachable() to silence warnings
Agreed. If you include that, I will ack it -Original Message- From: Maurizio Lombardi [mailto:mlomb...@redhat.com] Sent: den 7 augusti 2014 09:24 To: Nick Krause; Mikael Starvik; Jesper Nilsson; o...@axis.com; list@; open list Subject: Re: [PATCH] cris: bug: add unreachable() to silence warnings On 08/07/2014 06:01 AM, Nick Krause wrote: .previous\n\t \ - : : ri (__FILE__), i (__LINE__)) + : : ri (__FILE__), i (__LINE__)); \ + unreachable(); +} while (0) Does this code compile? There should be a trailing '\' character after unreachable(). Regards, Maurizio Lombardi -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] cris: bug: add unreachable() to silence warnings
Cris BUG() have warnings like drivers/memstick/core/ms_block.c:677:1: warning: control reaches end of non-void function drivers/memstick/core/ms_block.c:720:1: warning: control reaches end of non-void function drivers/memstick/core/ms_block.c:654:1: warning: control reaches end of non-void function drivers/memstick/core/ms_block.c:465:1: warning: control reaches end of non-void function drivers/memstick/core/mspro_block.c:663:1: warning: control reaches end of non-void function Other BUG() implementations have added unreachable() at end becuase of which I guess it does not showthese errors. We can silence them using unreachable(). Signed-off-by: Nick Krause --- arch/cris/include/arch-v10/arch/bug.h | 5 - arch/cris/include/arch-v32/arch/bug.h | 5 - 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/cris/include/arch-v10/arch/bug.h b/arch/cris/include/arch-v10/arch/bug.h index 3485d6b..40e65ad 100644 --- a/arch/cris/include/arch-v10/arch/bug.h +++ b/arch/cris/include/arch-v10/arch/bug.h @@ -43,12 +43,15 @@ struct bug_frame { * not be used like this with newer versions of gcc. */ #define BUG() \ +do { \ __asm__ __volatile__ ("clear.d [" __stringify(BUG_MAGIC) "]\n\t"\ "movu.w " __stringify(__LINE__) ",$r0\n\t"\ "jump 0f\n\t" \ ".section .rodata\n" \ "0:\t.string \"" __FILE__ "\"\n\t"\ - ".previous") + ".previous"); \ + unreachable(); \ +} while (0) #endif #else diff --git a/arch/cris/include/arch-v32/arch/bug.h b/arch/cris/include/arch-v32/arch/bug.h index 0f211e1..55350a3 100644 --- a/arch/cris/include/arch-v32/arch/bug.h +++ b/arch/cris/include/arch-v32/arch/bug.h @@ -10,6 +10,7 @@ * All other stuff is done out-of-band with exception handlers. */ #define BUG() \ +do { \ __asm__ __volatile__ ("0: break 14\n\t" \ ".section .fixup,\"ax\"\n"\ "1:\n\t" \ @@ -21,7 +22,9 @@ ".section __ex_table,\"a\"\n\t" \ ".dword 0b, 1b\n\t" \ ".previous\n\t" \ - : : "ri" (__FILE__), "i" (__LINE__)) + : : "ri" (__FILE__), "i" (__LINE__)); \ + unreachable(); +} while (0) #else #define BUG() __asm__ __volatile__ ("break 14\n\t") #endif -- 2.0.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] cris: bug: add unreachable() to silence warnings
Cris BUG() have warnings like drivers/memstick/core/ms_block.c:677:1: warning: control reaches end of non-void function drivers/memstick/core/ms_block.c:720:1: warning: control reaches end of non-void function drivers/memstick/core/ms_block.c:654:1: warning: control reaches end of non-void function drivers/memstick/core/ms_block.c:465:1: warning: control reaches end of non-void function drivers/memstick/core/mspro_block.c:663:1: warning: control reaches end of non-void function Other BUG() implementations have added unreachable() at end becuase of which I guess it does not showthese errors. We can silence them using unreachable(). Signed-off-by: Nick Krause xerofo...@gmail.com --- arch/cris/include/arch-v10/arch/bug.h | 5 - arch/cris/include/arch-v32/arch/bug.h | 5 - 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/cris/include/arch-v10/arch/bug.h b/arch/cris/include/arch-v10/arch/bug.h index 3485d6b..40e65ad 100644 --- a/arch/cris/include/arch-v10/arch/bug.h +++ b/arch/cris/include/arch-v10/arch/bug.h @@ -43,12 +43,15 @@ struct bug_frame { * not be used like this with newer versions of gcc. */ #define BUG() \ +do { \ __asm__ __volatile__ (clear.d [ __stringify(BUG_MAGIC) ]\n\t\ movu.w __stringify(__LINE__) ,$r0\n\t\ jump 0f\n\t \ .section .rodata\n \ 0:\t.string \ __FILE__ \\n\t\ - .previous) + .previous); \ + unreachable(); \ +} while (0) #endif #else diff --git a/arch/cris/include/arch-v32/arch/bug.h b/arch/cris/include/arch-v32/arch/bug.h index 0f211e1..55350a3 100644 --- a/arch/cris/include/arch-v32/arch/bug.h +++ b/arch/cris/include/arch-v32/arch/bug.h @@ -10,6 +10,7 @@ * All other stuff is done out-of-band with exception handlers. */ #define BUG() \ +do { \ __asm__ __volatile__ (0: break 14\n\t \ .section .fixup,\ax\\n\ 1:\n\t \ @@ -21,7 +22,9 @@ .section __ex_table,\a\\n\t \ .dword 0b, 1b\n\t \ .previous\n\t \ - : : ri (__FILE__), i (__LINE__)) + : : ri (__FILE__), i (__LINE__)); \ + unreachable(); +} while (0) #else #define BUG() __asm__ __volatile__ (break 14\n\t) #endif -- 2.0.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/