On 26/04/16 14:04, Doug Goldstein wrote:
> Instead of trying to write a snippet of code that crashes the process
> just use abort() directly. This is to fix the build on clang which
> detects that the snippet of code will crash and fails to compile. At
> the same time removed extraneous whitespace in the macro.
>
> Signed-off-by: Doug Goldstein <car...@cardoe.com>

Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com>

I definitely remember encountering this issue when trying to do clang
builds in the past.  I wonder where the patch went...

> ---
> Honestly this whole macro could get replaced with assert(3) but I wanted
> to make the smallest change possible. If that's preferrable I'll do that.
> The man page claims that assert(3) will print the following to stderr:
>
> "assertion \"%s\" failed: file \"%s\", line %d\n", \
>         "expression", __FILE__, __LINE__);
> ---
>  tools/blktap2/drivers/tapdisk-vbd.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tools/blktap2/drivers/tapdisk-vbd.c 
> b/tools/blktap2/drivers/tapdisk-vbd.c
> index 31bc2fe..e2e9cd5 100644
> --- a/tools/blktap2/drivers/tapdisk-vbd.c
> +++ b/tools/blktap2/drivers/tapdisk-vbd.c
> @@ -49,18 +49,18 @@
>  #define DBG(_level, _f, _a...) tlog_write(_level, _f, ##_a)
>  #define ERR(_err, _f, _a...) tlog_error(_err, _f, ##_a)
>  
> -#if 1                                                                        
> +#if 1
>  #define ASSERT(p)                                                    \
>       do {                                                            \
>               if (!(p)) {                                             \
>                       DPRINTF("Assertion '%s' failed, line %d, "      \
>                               "file %s", #p, __LINE__, __FILE__);     \
> -                     *(int*)0 = 0;                                   \
> +                     abort();                                        \
>               }                                                       \
>       } while (0)
>  #else
>  #define ASSERT(p) ((void)0)
> -#endif 
> +#endif
>  
>  
>  #define TD_VBD_EIO_RETRIES          10


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to