On Mon, Jan 8, 2018 at 4:18 PM, Rob Herring <r...@kernel.org> wrote:
> Many of the functions declared in tgsi_build.h return structs (not struct
> pointers). Therefore the full struct definitions are needed to avoid
> warnings or errors:
>
> In file included from 
> src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp:23:
> external/mesa3d/src/gallium/auxiliary/tgsi/tgsi_build.h:47:1: error: 
> 'tgsi_build_header' has C-linkage specified, but returns incomplete type 
> 'struct tgsi_header' which could be incompatible with C 
> [-Werror,-Wreturn-type-c-linkage]

Ah, looks like this is real, and a result of my recent bindless image
changes. When your bot emailed me I assumed it was fake, as it had
sent previous false positives. Sorry about that.

Arguably the tgsi_parse.h should be included in from_tgsi.cpp - not
sure, since I also make use of struct tgsi_full_src_register. But
files including what they need is good too. I'm open to either
solution.

>
> This error shows up on Android builds using clang and -Werror.
>
> Cc: Ilia Mirkin <imir...@alum.mit.edu>
> Signed-off-by: Rob Herring <r...@kernel.org>
> ---
>  src/gallium/auxiliary/tgsi/tgsi_build.h | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_build.h 
> b/src/gallium/auxiliary/tgsi/tgsi_build.h
> index 53f31932c021..053292957211 100644
> --- a/src/gallium/auxiliary/tgsi/tgsi_build.h
> +++ b/src/gallium/auxiliary/tgsi/tgsi_build.h
> @@ -28,11 +28,7 @@
>  #ifndef TGSI_BUILD_H
>  #define TGSI_BUILD_H
>
> -
> -struct tgsi_token;
> -struct tgsi_full_dst_register;
> -struct tgsi_full_src_register;
> -
> +#include <tgsi/tgsi_parse.h>

We use "tgsi/tgsi_parse.h" everywhere.

>
>  #if defined __cplusplus
>  extern "C" {
> --
> 2.14.1
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to