[Mesa-dev] [PATCH] util: Include string.h in bitscan.h.

Timothy Arceri timothy.arceri at collabora.com
Thu Oct 20 01:23:58 UTC 2016


On Thu, 2016-10-20 at 01:14 +0000, Vinson Lee wrote:
> Fix build error with clang.
> 
>   Compiling src/compiler/glsl/link_varyings.cpp ...
> In file included from src/compiler/glsl/link_varyings.cpp:33:
> In file included from src/compiler/glsl/glsl_symbol_table.h:34:
> In file included from src/compiler/glsl/ir.h:33:
> In file included from src/compiler/glsl_types.h:29:
> /usr/include/string.h:518:12: error: exception specification in
> declaration does not match previous declaration
> extern int ffs (int __i) __THROW __attribute__ ((__const__));
>            ^
> src/util/bitscan.h:51:13: note: expanded from macro 'ffs'
>             ^
> src/util/bitscan.h:96:18: note: previous declaration is here
>    const int i = ffs(*mask) - 1;
>                  ^
> src/util/bitscan.h:51:13: note: expanded from macro 'ffs'
>             ^
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97952
> Signed-off-by: Vinson Lee <vlee at freedesktop.org>

This is a surprising fix.

Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

> ---
>  src/util/bitscan.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/src/util/bitscan.h b/src/util/bitscan.h
> index 8afef81a990a..a5dfa1f9e3bf 100644
> --- a/src/util/bitscan.h
> +++ b/src/util/bitscan.h
> @@ -31,6 +31,7 @@
>  
>  #include <assert.h>
>  #include <stdint.h>
> +#include <string.h>
>  
>  #if defined(_MSC_VER)
>  #include <intrin.h>


More information about the mesa-dev mailing list