Created attachment 549706 [details] emerge --info [ 45%] Building CXX object source/CMakeFiles/SPIRV-Tools.dir/validate_image.cpp.o cd /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4-abi_x86_64.amd64/source && /usr/bin/x86_64-pc-linux-gnu-g++ -DSPIRV_CHECK_CONTEXT -DSPIRV_COLOR_TERMINAL -D SPIRV_LINUX -DSPIRV_TIMER_ENABLED -I/var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source -I/var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-201 8.4/include -I/var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4-abi_x86_64.amd64 -DNDEBUG -O2 -pipe -frecord-gcc-switches -fPIC -Wall -Wextra -Wnon-virtual- dtor -Wno-missing-field-initializers -Wno-self-assign -Werror -std=c++11 -fno-exceptions -fno-rtti -Wno-long-long -Wshadow -Wundef -Wconversion -Wno-sign-conversion -o CMakeFiles/ SPIRV-Tools.dir/validate_image.cpp.o -c /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp: In function 'bool spvtools::{anonymous}::CheckAllImageOperandsHandled()': /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp:42:10: error: enumeration value 'SpvImageOperandsMakeTexelAvailableKHRMask' not hand led in switch [-Werror=switch] switch (enum_val) { ^ /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp:42:10: error: enumeration value 'SpvImageOperandsMakeTexelVisibleKHRMask' not handled in switch [-Werror=switch] /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp:42:10: error: enumeration value 'SpvImageOperandsNonPrivateTexelKHRMask' not handled in switch [-Werror=switch] /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp:42:10: error: enumeration value 'SpvImageOperandsVolatileTexelKHRMask' not handled in switch [-Werror=switch] /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp: In function 'bool spvtools::{anonymous}::CheckAllImageOperandsHandled()': /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp:42:10: error: enumeration value 'SpvImageOperandsMakeTexelAvailableKHRMask' not handled in switch [-Werror=switch] switch (enum_val) { ^ /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp:42:10: error: enumeration value 'SpvImageOperandsMakeTexelVisibleKHRMask' not handled in switch [-Werror=switch] /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp:42:10: error: enumeration value 'SpvImageOperandsNonPrivateTexelKHRMask' not handled in switch [-Werror=switch] /var/tmp/portage/dev-util/spirv-tools-2018.4/work/SPIRV-Tools-2018.4/source/validate_image.cpp:42:10: error: enumeration value 'SpvImageOperandsVolatileTexelKHRMask' not handled in switch [-Werror=switch] At global scope: cc1plus: error: unrecognized command line option '-Wno-self-assign' [-Werror] cc1plus: all warnings being treated as errors
Created attachment 549708 [details] build.log.gz spirv-tools has SPIRV_WERROR CMake option. Use it.
Likely the version of spirv-headers is too old. I may have messed up the deps. What version are you using? Does /usr/include/spirv/unified1/spirv.h contain the below struct definition? typedef enum SpvImageOperandsMask_ { SpvImageOperandsMaskNone = 0, SpvImageOperandsBiasMask = 0x00000001, SpvImageOperandsLodMask = 0x00000002, SpvImageOperandsGradMask = 0x00000004, SpvImageOperandsConstOffsetMask = 0x00000008, SpvImageOperandsOffsetMask = 0x00000010, SpvImageOperandsConstOffsetsMask = 0x00000020, SpvImageOperandsSampleMask = 0x00000040, SpvImageOperandsMinLodMask = 0x00000080, SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100, SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200, SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400, SpvImageOperandsVolatileTexelKHRMask = 0x00000800, } SpvImageOperandsMask; Sarnex
struct->enum and please try spirv-headers-1.3.4_pre20180917 if you are not using it. Thanks, Sarnex
(In reply to Nick Sarnie from comment #2) > Likely the version of spirv-headers is too old. I may have messed up the > deps. > > What version are you using? > > Does /usr/include/spirv/unified1/spirv.h contain the below struct definition? > > typedef enum SpvImageOperandsMask_ { > SpvImageOperandsMaskNone = 0, > SpvImageOperandsBiasMask = 0x00000001, > SpvImageOperandsLodMask = 0x00000002, > SpvImageOperandsGradMask = 0x00000004, > SpvImageOperandsConstOffsetMask = 0x00000008, > SpvImageOperandsOffsetMask = 0x00000010, > SpvImageOperandsConstOffsetsMask = 0x00000020, > SpvImageOperandsSampleMask = 0x00000040, > SpvImageOperandsMinLodMask = 0x00000080, > SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100, > SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200, > SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400, > SpvImageOperandsVolatileTexelKHRMask = 0x00000800, > } SpvImageOperandsMask; > > > Sarnex I have spirv-headers-1.3.4_pre20180917 installed. /usr/include/spirv/unified1/spirv.h contains this definition.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a2b2323a4b6e853150a2154d0683461099f0af0 commit 0a2b2323a4b6e853150a2154d0683461099f0af0 Author: Nick Sarnie <sarnex@gentoo.org> AuthorDate: 2018-10-07 20:00:51 +0000 Commit: Nick Sarnie <sarnex@gentoo.org> CommitDate: 2018-10-07 20:06:27 +0000 dev-util/spirv-tools: Don't treat warnings as errors Fix suggested by Coacher Fixes: https://bugs.gentoo.org/667988 Signed-off-by: Nick Sarnie <sarnex@gentoo.org> Package-Manager: Portage-2.3.50, Repoman-2.3.11 dev-util/spirv-tools/spirv-tools-2018.4.ebuild | 3 ++- dev-util/spirv-tools/spirv-tools-2018.5.ebuild | 3 ++- dev-util/spirv-tools/spirv-tools-9999.ebuild | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-)