On 16 April 2016 at 20:45, Jason Ekstrand <[email protected]> wrote:
> C++ doesn't define the "restrict" keyword so g++ barfs when it sees isl.h.
> Having our own define lets us define it to be a no-op for C++.
> ---
>  src/intel/isl/isl.h | 18 ++++++++++++++----
>  1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h
> index 8f796b0..33d43d7 100644
> --- a/src/intel/isl/isl.h
> +++ b/src/intel/isl/isl.h
> @@ -47,6 +47,16 @@
>  extern "C" {
>  #endif
>
> +/* The restrict keyword is simply a hint to the optimizer and doesn't affect
> + * the caller of a function in any way.  We want it in the header for the 
> sake
> + * of documentation but we can safely remove it to make C++ happy.
> + */
> +#ifdef __cplusplus
> +#define ISL_RESTRICT
> +#else
> +#define ISL_RESTRICT restrict
> +#endif
> +
Isn't the magic in include/c99_compat.h helping out ? Which version of
GCC are you using, do you have any extra C*FLAGS ? Asking because I
don't see this on my setup.

Mildly related:
Fwiw I do recall that MSVC barfs at us if the keyword is present in
the declaration but on the definition and vice-versa. IIRC the
Sun/Oracle compiler used to have similar requirement, if we are to get
that one working again.

Emil
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to