https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93409

            Bug ID: 93409
           Summary: [10 Regression] gcn libgomp plugin fails to build for
                    x32
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at ubuntu dot com
  Target Milestone: ---

an x86_64-linux-gnu build configured with
--with-multilib-list=m32,m64,mx32
--enable-offload-targets=nvptx-none,amdgcn-amdhsa,hsa

fails to build the gcn libgomp plugin. This worked in earler snapshots.


../../../../src/libgomp/plugin/plugin-gcn.c: In function
'print_kernel_dispatch':
../../../../src/libgomp/plugin/plugin-gcn.c:1030:5: error: cast to pointer from
integer of different size [-Werror=int-to-pointer-cast]
 1030 |     (void*)kernargs->heap_ptr);
      |     ^
../../../../src/libgomp/plugin/plugin-gcn.c:1032:5: error: cast to pointer from
integer of different size [-Werror=int-to-pointer-cast]
 1032 |     (void*)kernargs->arena_ptr);
      |     ^
../../../../src/libgomp/plugin/plugin-gcn.c:1033:34: error: format '%lu'
expects argument of type 'long unsigned int', but argument 5 has type
'uint64_t' {aka 'long long unsigned int'} [-Werror=format=]
 1033 |   fprintf (stderr, "%*sobject: %lu\n", indent, "", dispatch->object);
      |                                ~~^                 ~~~~~~~~~~~~~~~~
      |                                  |                         |
      |                                  long unsigned int         uint64_t
{aka long long unsigned int}
      |                                %llu
../../../../src/libgomp/plugin/plugin-gcn.c: In function
'create_kernel_dispatch':
../../../../src/libgomp/plugin/plugin-gcn.c:1882:23: error: cast from pointer
to integer of different size [-Werror=pointer-to-int-cast]
 1882 |   kernargs->out_ptr = (int64_t)&kernargs->output_data;
      |                       ^
../../../../src/libgomp/plugin/plugin-gcn.c:1892:24: error: cast from pointer
to integer of different size [-Werror=pointer-to-int-cast]
 1892 |   kernargs->heap_ptr = (int64_t)kernel->module->heap;
      |                        ^
../../../../src/libgomp/plugin/plugin-gcn.c:1896:27: error: cast from pointer
to integer of different size [-Werror=pointer-to-int-cast]
 1896 |     kernargs->arena_ptr = (int64_t)get_team_arena (agent, num_teams);
      |                           ^
../../../../src/libgomp/plugin/plugin-gcn.c: In function 'console_output':
../../../../src/libgomp/plugin/plugin-gcn.c:1946:27: error: format '%ld'
expects argument of type 'long int', but argument 3 has type 'int64_t' {aka
'long long int'} [-Werror=format=]

Reply via email to