You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I tried to build with the following *FLAGS to optimize the build: -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing
Note the -Werror=* flags are used to help detect cases where the compiler tries to optimize by assuming UB cannot exist in the source code -- if it does exist, ordinarily the code would be miscompiled, and this says to make the miscompilation a fatal error.
I got this error:
FAILED: libhsa-runtime64.so.1.11.0
: && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=native -fstack-protector-all -O2 -pipe -fdiagnostics-color=always -frecord-gcc-switches -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-clash-protection -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wformat -Werror=format-security -DNDEBUG -Wl,-O1 -Wl,--as-needed -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wl,--defsym=__gentoo_check_ldflags__=0 -Wl,-Bdynamic -Wl,-z,noexecstack -Wl,/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/hsacore.so.link -Wl,--version-script=/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/hsacore.so.def -Wl,--enable-new-dtags -shared -Wl,-soname,libhsa-runtime64.so.1 -o libhsa-runtime64.so.1.11.0 CMakeFiles/hsa-runtime64.dir/core/util/lnx/os_linux.cpp.o CMakeFiles/hsa-runtime64.dir/core/util/small_heap.cpp.o CMakeFiles/hsa-runtime64.dir/core/util/timer.cpp.o CMakeFiles/hsa-runtime64.dir/core/util/flag.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/amd_blit_kernel.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/amd_blit_sdma.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/amd_cpu_agent.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/amd_gpu_agent.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/amd_hsa_loader.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/amd_aql_queue.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/amd_loader_context.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/hsa_ven_amd_loader.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/amd_memory_region.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/amd_filter_device.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/amd_topology.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/default_signal.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/host_queue.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/hsa.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/hsa_api_trace.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/hsa_ext_amd.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/hsa_ext_interface.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/interrupt_signal.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/intercept_queue.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/ipc_signal.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/isa.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/runtime.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/signal.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/queue.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/cache.cpp.o CMakeFiles/hsa-runtime64.dir/core/runtime/svm_profiler.cpp.o CMakeFiles/hsa-runtime64.dir/core/common/shared.cpp.o CMakeFiles/hsa-runtime64.dir/core/common/hsa_table_interface.cpp.o CMakeFiles/hsa-runtime64.dir/loader/executable.cpp.o CMakeFiles/hsa-runtime64.dir/libamdhsacode/amd_elf_image.cpp.o CMakeFiles/hsa-runtime64.dir/libamdhsacode/amd_hsa_code_util.cpp.o CMakeFiles/hsa-runtime64.dir/libamdhsacode/amd_hsa_locks.cpp.o CMakeFiles/hsa-runtime64.dir/libamdhsacode/amd_options.cpp.o CMakeFiles/hsa-runtime64.dir/libamdhsacode/amd_hsa_code.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/addrinterface.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/core/coord.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/core/addrlib.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/core/addrlib1.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/core/addrlib2.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/core/addrobject.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/core/addrelemlib.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/r800/ciaddrlib.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/r800/egbaddrlib.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/r800/siaddrlib.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/gfx9/gfx9addrlib.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/gfx10/gfx10addrlib.cpp.o CMakeFiles/hsa-runtime64.dir/image/addrlib/src/gfx11/gfx11addrlib.cpp.o CMakeFiles/hsa-runtime64.dir/image/device_info.cpp.o CMakeFiles/hsa-runtime64.dir/image/hsa_ext_image.cpp.o CMakeFiles/hsa-runtime64.dir/image/image_runtime.cpp.o CMakeFiles/hsa-runtime64.dir/image/image_manager.cpp.o CMakeFiles/hsa-runtime64.dir/image/image_manager_kv.cpp.o CMakeFiles/hsa-runtime64.dir/image/image_manager_ai.cpp.o CMakeFiles/hsa-runtime64.dir/image/image_manager_nv.cpp.o CMakeFiles/hsa-runtime64.dir/image/image_manager_gfx11.cpp.o CMakeFiles/hsa-runtime64.dir/image/image_lut_kv.cpp.o CMakeFiles/hsa-runtime64.dir/image/image_lut_gfx11.cpp.o CMakeFiles/hsa-runtime64.dir/image/blit_object_gfx7xx.cpp.o CMakeFiles/hsa-runtime64.dir/image/blit_object_gfx8xx.cpp.o CMakeFiles/hsa-runtime64.dir/image/blit_object_gfx9xx.cpp.o CMakeFiles/hsa-runtime64.dir/image/blit_kernel.cpp.o CMakeFiles/hsa-runtime64.dir/image/blit_src/opencl_blit_objects.cpp.o /usr/lib64/libhsakmt.so.1.0.6 /usr/lib64/libelf.so -ldl -lpthread -lrt /usr/lib64/libdrm.so && :
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:287:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
287 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:304:16: note: a different type is defined in another translation unit
304 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:289:18: note: the first difference of corresponding definitions is field ‘meta_data_address’
289 | unsigned int meta_data_address : 32;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:306:44: note: a field with different name is defined in another translation unit
306 | unsigned int META_DATA_ADDRESS : 32;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:286:7: error: type ‘union SQ_IMG_RSRC_WORD7’ violates the C++ One Definition Rule [-Werror=odr]
286 | union SQ_IMG_RSRC_WORD7 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:303:15: note: a different type is defined in another translation unit
303 | union SQ_IMG_RSRC_WORD7 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:293:5: note: the first difference of corresponding definitions is field ‘bitfields’
293 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:310:11: note: a field of same name but different type is defined in another translation unit
310 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:287:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
287 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:304:16: note: the incompatible type is defined here
304 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:260:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
260 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:276:16: note: a different type is defined in another translation unit
276 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:262:18: note: the first difference of corresponding definitions is field ‘min_lod_warn’
262 | unsigned int min_lod_warn : 12;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:278:49: note: a field with different name is defined in another translation unit
278 | unsigned int MIN_LOD_WARN : 12;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:259:7: error: type ‘union SQ_IMG_RSRC_WORD6’ violates the C++ One Definition Rule [-Werror=odr]
259 | union SQ_IMG_RSRC_WORD6 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:275:15: note: a different type is defined in another translation unit
275 | union SQ_IMG_RSRC_WORD6 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:280:5: note: the first difference of corresponding definitions is field ‘bitfields’
280 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:296:11: note: a field of same name but different type is defined in another translation unit
296 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:260:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
260 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:276:16: note: the incompatible type is defined here
276 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:243:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
243 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:250:16: note: a different type is defined in another translation unit
250 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:245:18: note: the first difference of corresponding definitions is field ‘base_array’
245 | unsigned int base_array : 13;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:252:51: note: a field with different name is defined in another translation unit
252 | unsigned int BASE_ARRAY : 13;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:242:7: error: type ‘union SQ_IMG_RSRC_WORD5’ violates the C++ One Definition Rule [-Werror=odr]
242 | union SQ_IMG_RSRC_WORD5 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:249:15: note: a different type is defined in another translation unit
249 | union SQ_IMG_RSRC_WORD5 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:253:5: note: the first difference of corresponding definitions is field ‘bitfields’
253 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:268:11: note: a field of same name but different type is defined in another translation unit
268 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:243:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
243 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:250:16: note: the incompatible type is defined here
250 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:226:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
226 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:232:16: note: a different type is defined in another translation unit
232 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:228:18: note: the first difference of corresponding definitions is field ‘depth’
228 | unsigned int depth : 13;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:234:56: note: a field with different name is defined in another translation unit
234 | unsigned int DEPTH : 13;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:225:7: error: type ‘union SQ_IMG_RSRC_WORD4’ violates the C++ One Definition Rule [-Werror=odr]
225 | union SQ_IMG_RSRC_WORD4 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:231:15: note: a different type is defined in another translation unit
231 | union SQ_IMG_RSRC_WORD4 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:236:5: note: the first difference of corresponding definitions is field ‘bitfields’
236 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:242:11: note: a field of same name but different type is defined in another translation unit
242 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:226:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
226 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:232:16: note: the incompatible type is defined here
232 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:193:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
193 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:202:16: note: a different type is defined in another translation unit
202 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:195:18: note: the first difference of corresponding definitions is field ‘dst_sel_x’
195 | unsigned int dst_sel_x : 3;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:204:52: note: a field with different name is defined in another translation unit
204 | unsigned int DST_SEL_X : 3;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:192:7: error: type ‘union SQ_IMG_RSRC_WORD3’ violates the C++ One Definition Rule [-Werror=odr]
192 | union SQ_IMG_RSRC_WORD3 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:201:15: note: a different type is defined in another translation unit
201 | union SQ_IMG_RSRC_WORD3 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:219:5: note: the first difference of corresponding definitions is field ‘bitfields’
219 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:224:11: note: a field of same name but different type is defined in another translation unit
224 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:193:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
193 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:202:16: note: the incompatible type is defined here
202 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:174:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
174 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:182:16: note: a different type is defined in another translation unit
182 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:176:18: note: the first difference of corresponding definitions is field ‘width’
176 | unsigned int width : 14;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:184:56: note: a field with different name is defined in another translation unit
184 | unsigned int WIDTH : 14;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:173:7: error: type ‘union SQ_IMG_RSRC_WORD2’ violates the C++ One Definition Rule [-Werror=odr]
173 | union SQ_IMG_RSRC_WORD2 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:181:15: note: a different type is defined in another translation unit
181 | union SQ_IMG_RSRC_WORD2 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:186:5: note: the first difference of corresponding definitions is field ‘bitfields’
186 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:194:11: note: a field of same name but different type is defined in another translation unit
194 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:174:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
174 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:182:16: note: the incompatible type is defined here
182 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:153:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
153 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:158:16: note: a different type is defined in another translation unit
158 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:155:18: note: the first difference of corresponding definitions is field ‘base_address_hi’
155 | unsigned int base_address_hi : 8;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:160:46: note: a field with different name is defined in another translation unit
160 | unsigned int BASE_ADDRESS_HI : 8;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:152:7: error: type ‘union SQ_IMG_RSRC_WORD1’ violates the C++ One Definition Rule [-Werror=odr]
152 | union SQ_IMG_RSRC_WORD1 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:157:15: note: a different type is defined in another translation unit
157 | union SQ_IMG_RSRC_WORD1 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:167:5: note: the first difference of corresponding definitions is field ‘bitfields’
167 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:174:11: note: a field of same name but different type is defined in another translation unit
174 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:153:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
153 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:158:16: note: the incompatible type is defined here
158 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:140:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
140 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:144:16: note: a different type is defined in another translation unit
144 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:142:18: note: the first difference of corresponding definitions is field ‘base_address’
142 | unsigned int base_address : 32;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:146:49: note: a field with different name is defined in another translation unit
146 | unsigned int BASE_ADDRESS : 32;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:139:7: error: type ‘union SQ_IMG_RSRC_WORD0’ violates the C++ One Definition Rule [-Werror=odr]
139 | union SQ_IMG_RSRC_WORD0 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:143:15: note: a different type is defined in another translation unit
143 | union SQ_IMG_RSRC_WORD0 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:146:5: note: the first difference of corresponding definitions is field ‘bitfields’
146 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:150:11: note: a field of same name but different type is defined in another translation unit
150 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:140:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
140 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:144:16: note: the incompatible type is defined here
144 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:101:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
101 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:104:16: note: a different type is defined in another translation unit
104 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:103:18: note: the first difference of corresponding definitions is field ‘dst_sel_x’
103 | unsigned int dst_sel_x : 3;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:106:52: note: a field with different name is defined in another translation unit
106 | unsigned int DST_SEL_X : 3;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:100:7: error: type ‘union SQ_BUF_RSRC_WORD3’ violates the C++ One Definition Rule [-Werror=odr]
100 | union SQ_BUF_RSRC_WORD3 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:103:15: note: a different type is defined in another translation unit
103 | union SQ_BUF_RSRC_WORD3 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:133:5: note: the first difference of corresponding definitions is field ‘bitfields’
133 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:136:11: note: a field of same name but different type is defined in another translation unit
136 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:101:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
101 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:104:16: note: the incompatible type is defined here
104 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:358:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
358 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:378:16: note: a different type is defined in another translation unit
378 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:360:18: note: the first difference of corresponding definitions is field ‘lod_bias’
360 | unsigned int lod_bias : 14;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:380:53: note: a field with different name is defined in another translation unit
380 | unsigned int LOD_BIAS : 14;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:357:7: error: type ‘union SQ_IMG_SAMP_WORD2’ violates the C++ One Definition Rule [-Werror=odr]
357 | union SQ_IMG_SAMP_WORD2 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:377:15: note: a different type is defined in another translation unit
377 | union SQ_IMG_SAMP_WORD2 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:382:5: note: the first difference of corresponding definitions is field ‘bitfields’
382 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:402:11: note: a field of same name but different type is defined in another translation unit
402 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:358:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
358 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:378:16: note: the incompatible type is defined here
378 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:300:10: error: type ‘struct <anon>’ violates the C++ One Definition Rule [-Werror=odr]
300 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:318:16: note: a different type is defined in another translation unit
318 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:302:18: note: the first difference of corresponding definitions is field ‘clamp_x’
302 | unsigned int clamp_x : 3;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:320:54: note: a field with different name is defined in another translation unit
320 | unsigned int CLAMP_X : 3;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:299:7: error: type ‘union SQ_IMG_SAMP_WORD0’ violates the C++ One Definition Rule [-Werror=odr]
299 | union SQ_IMG_SAMP_WORD0 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:317:15: note: a different type is defined in another translation unit
317 | union SQ_IMG_SAMP_WORD0 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:332:5: note: the first difference of corresponding definitions is field ‘bitfields’
332 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:350:11: note: a field of same name but different type is defined in another translation unit
350 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:300:10: note: type ‘struct <anon>’ itself violates the C++ One Definition Rule
300 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_ai.h:318:16: note: the incompatible type is defined here
318 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:68:7: error: type ‘union SQ_BUF_RSRC_WORD1’ violates the C++ One Definition Rule [-Werror=odr]
68 | union SQ_BUF_RSRC_WORD1 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:97:7: note: a different type is defined in another translation unit
97 | union SQ_BUF_RSRC_WORD1 {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:81:5: note: the first difference of corresponding definitions is field ‘bitfields’
81 | } bitfields, bits;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:98:23: note: a field of same name but different type is defined in another translation unit
98 | sq_buf_rsrc_word1_t bitfields, bits, f;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_kv.h:69:10: note: type name ‘rocr::image::SQ_BUF_RSRC_WORD1::{unnamed type#1}’ should match type name ‘rocr::image::sq_buf_rsrc_word1_t’
69 | struct {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:83:8: note: the incompatible type is defined here
83 | struct sq_buf_rsrc_word1_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:136:8: error: type ‘struct sq_buf_rsrc_word3_t’ violates the C++ One Definition Rule [-Werror=odr]
136 | struct sq_buf_rsrc_word3_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:135:8: note: a different type is defined in another translation unit
135 | struct sq_buf_rsrc_word3_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:142:16: note: the first difference of corresponding definitions is field ‘FORMAT’
142 | unsigned int FORMAT : SQ_BUF_RSC_WRD3_FORMAT_SZ;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:141:16: note: a field of same name but different type is defined in another translation unit
141 | unsigned int FORMAT : SQ_BUF_RSC_WRD3_FORMAT_SZ;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:83:8: error: type ‘struct sq_buf_rsrc_word1_t’ violates the C++ One Definition Rule [-Werror=odr]
83 | struct sq_buf_rsrc_word1_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:85:8: note: a different type is defined in another translation unit
85 | struct sq_buf_rsrc_word1_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:87:16: note: the first difference of corresponding definitions is field ‘CACHE_SWIZZLE’
87 | unsigned int CACHE_SWIZZLE : SQ_BUF_RSC_WRD1_CACHE_SWIZZLE_SZ;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:89:16: note: a field with different name is defined in another translation unit
89 | unsigned int SWIZZLE_ENABLE : SQ_BUF_RSC_WRD1_SWIZZLE_ENABLE_SZ;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:408:8: error: type ‘struct sq_img_rsrc_word6_t’ violates the C++ One Definition Rule [-Werror=odr]
408 | struct sq_img_rsrc_word6_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:407:8: note: a different type is defined in another translation unit
407 | struct sq_img_rsrc_word6_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:410:16: note: the first difference of corresponding definitions is field ‘COUNTER_BANK_ID’
410 | unsigned int COUNTER_BANK_ID : SQ_IMG_RSC_WRD6_COUNTER_BANK_ID_SZ;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:409:16: note: a field with different name is defined in another translation unit
409 | unsigned int MIN_LOD_HI : SQ_IMG_RSC_WRD6_MIN_LOD_HI_SZ;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:355:8: error: type ‘struct sq_img_rsrc_word5_t’ violates the C++ One Definition Rule [-Werror=odr]
355 | struct sq_img_rsrc_word5_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:357:8: note: a different type is defined in another translation unit
357 | struct sq_img_rsrc_word5_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:358:16: note: the first difference of corresponding definitions is field ‘MAX_MIP’
358 | unsigned int MAX_MIP : SQ_IMG_RSC_WRD5_MAX_MIP_SZ;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:360:39: note: a field with different name is defined in another translation unit
360 | unsigned int : 4;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:232:8: error: type ‘struct sq_img_rsrc_word2_t’ violates the C++ One Definition Rule [-Werror=odr]
232 | struct sq_img_rsrc_word2_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:236:8: note: a different type is defined in another translation unit
236 | struct sq_img_rsrc_word2_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:238:33: note: the first difference of corresponding definitions is field ‘<anonymous>’
238 | unsigned int : 1;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:242:33: note: a field of same name but different type is defined in another translation unit
242 | unsigned int : 2;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:204:8: error: type ‘struct sq_img_rsrc_word1_t’ violates the C++ One Definition Rule [-Werror=odr]
204 | struct sq_img_rsrc_word1_t{
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:203:8: note: a different type is defined in another translation unit
203 | struct sq_img_rsrc_word1_t{
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:207:16: note: the first difference of corresponding definitions is field ‘MIN_LOD’
207 | unsigned int MIN_LOD : SQ_IMG_RSC_WRD1_MIN_LOD_SZ;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:206:34: note: a field with different name is defined in another translation unit
206 | unsigned int : 5;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:564:8: error: type ‘struct sq_img_samp_word2_t’ violates the C++ One Definition Rule [-Werror=odr]
564 | struct sq_img_samp_word2_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:562:8: note: a different type is defined in another translation unit
562 | struct sq_img_samp_word2_t {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:566:16: note: the first difference of corresponding definitions is field ‘BC_LRS_LB’
566 | unsigned int BC_LRS_LB : SQ_IMG_SAMP_WORD2_BC_LRS_LB_SZ;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:564:16: note: a field with different name is defined in another translation unit
564 | unsigned int BC_PTR : SQ_IMG_SAMP_WORD2_BC_PTR_SZ;
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:722:6: error: type ‘rocr::image::FORMAT’ violates the C++ One Definition Rule [-Werror=odr]
722 | enum FORMAT {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:675:6: note: an enum with different value name is defined in another translation unit
675 | enum FORMAT {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:726:1: note: name ‘CFMT_8_UINT’ differs from name ‘CFMT_8_USCALED’ defined in another translation unit
726 | CFMT_8_UINT = 5,
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:679:1: note: mismatching definition
679 | CFMT_8_USCALED = 3,
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:706:14: error: type ‘rocr::image::type’ violates the C++ One Definition Rule [-Werror=odr]
706 | typedef enum type {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:659:14: note: an enum with different value name is defined in another translation unit
659 | typedef enum type {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:713:1: note: name ‘TYPE_RESERVED_6’ differs from name ‘TYPE_SRGB’ defined in another translation unit
713 | TYPE_RESERVED_6 = 0x00000006,
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:666:1: note: mismatching definition
666 | TYPE_SRGB = 0x00000006,
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_nv.h:634:14: error: type ‘rocr::image::FMT’ violates the C++ One Definition Rule [-Werror=odr]
634 | typedef enum FMT {
| ^
/var/tmp/portage/dev-libs/rocr-runtime-5.7.1-r2/work/ROCR-Runtime-rocm-5.7.1/src/image/resource_gfx11.h:632:14: note: an enum with different number of values is defined in another translation unit
632 | typedef enum FMT {
| ^
lto1: some warnings being treated as errors
lto-wrapper: fatal error: /usr/bin/x86_64-pc-linux-gnu-g++ returned 1 exit status
compilation terminated.
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
I tried to build with the following *FLAGS to optimize the build:
-flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing
Note the -Werror=* flags are used to help detect cases where the compiler tries to optimize by assuming UB cannot exist in the source code -- if it does exist, ordinarily the code would be miscompiled, and this says to make the miscompilation a fatal error.
I got this error:
Downstream report: https://bugs.gentoo.org/856091
Full build log: build.log
The text was updated successfully, but these errors were encountered: