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