<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - llvm-7.0.1.src/tools/polly/lib/External/ppcg/print.c:164:15: warning: type of ‘isl_id_set_free_user’ does not match original declaration [-Wlto-type-mismatch]"
   href="https://bugs.llvm.org/show_bug.cgi?id=40217">40217</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>llvm-7.0.1.src/tools/polly/lib/External/ppcg/print.c:164:15: warning: type of ‘isl_id_set_free_user’ does not match original declaration [-Wlto-type-mismatch]
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Polly
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>isl
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>polly-dev@googlegroups.com
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>dilyan.palauzov@aegee.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Linking Polly 7.0.1 with LTO fails with the message below.  I use gcc 7.4.1
20181222 and as linker I tried both recent ld.bfd and ld.gold.  Is the problem
in GCC or do the declarations indeed mismatch?

[ 59%] Linking C shared library ../../../../lib/libPollyPPCG.so
cd /src/llvm/build701/tools/polly/lib/External && /usr/local/bin/cmake -E
cmake_link_script CMakeFiles/PollyPPCG.dir/link.txt --verbose=1
/usr/local/bin/cc -fPIC -flto -fPIC -Werror=date-time -Wall -Wextra
-Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -pedantic
-Wno-long-long -Wno-comment -ffunction-sections -fdata-sections -O3  -flto=4
-Wl,-s,-O1 -fuse-ld=gold -Wl,-z,defs -Wl,-z,nodelete -shared
-Wl,-soname,libPollyPPCG.so -o ../../../../lib/libPollyPPCG.so
CMakeFiles/PollyPPCG.dir/ppcg/cuda.c.o
CMakeFiles/PollyPPCG.dir/ppcg/cuda_common.c.o
CMakeFiles/PollyPPCG.dir/ppcg/external.c.o
CMakeFiles/PollyPPCG.dir/ppcg/gpu_array_tile.c.o
CMakeFiles/PollyPPCG.dir/ppcg/gpu.c.o
CMakeFiles/PollyPPCG.dir/ppcg/gpu_group.c.o
CMakeFiles/PollyPPCG.dir/ppcg/gpu_hybrid.c.o
CMakeFiles/PollyPPCG.dir/ppcg/gpu_print.c.o
CMakeFiles/PollyPPCG.dir/ppcg/gpu_tree.c.o
CMakeFiles/PollyPPCG.dir/ppcg/grouping.c.o
CMakeFiles/PollyPPCG.dir/ppcg/hybrid.c.o CMakeFiles/PollyPPCG.dir/ppcg/ppcg.c.o
CMakeFiles/PollyPPCG.dir/ppcg/ppcg_options.c.o
CMakeFiles/PollyPPCG.dir/ppcg/print.c.o
CMakeFiles/PollyPPCG.dir/ppcg/schedule.c.o
CMakeFiles/PollyPPCG.dir/ppcg/util.c.o -Wl,-rpath,/src/llvm/build701/lib:
../../../../lib/libPollyISL.so 
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/ppcg/print.c:164:15: warning:
type of ‘isl_id_set_free_user’ does not match original declaration
[-Wlto-type-mismatch]
   macros_id = isl_id_set_free_user(macros_id, &ppcg_macros_free);
               ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:27:20:
note: return value type mismatch
 __isl_give isl_id *isl_id_set_free_user(__isl_take isl_id *id,
                    ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:27:20:
note: ‘isl_id_set_free_user’ was previously declared here
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:27:20:
note: code may be misoptimized unless -fno-strict-aliasing is used
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/ppcg/print.c:54:7: warning:
type of ‘isl_id_alloc’ does not match original declaration
[-Wlto-type-mismatch]
  id = isl_id_alloc(ctx, note_name, NULL);
       ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:19:20:
note: return value type mismatch
 __isl_give isl_id *isl_id_alloc(isl_ctx *ctx,
                    ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:19:20:
note: ‘isl_id_alloc’ was previously declared here
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:19:20:
note: code may be misoptimized unless -fno-strict-aliasing is used
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/ppcg/print.c:78:37: warning:
type of ‘isl_id_copy’ does not match original declaration [-Wlto-type-mismatch]
  return isl_printer_set_note(p, id, isl_id_copy(id));
                                     ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:21:20:
note: return value type mismatch
 __isl_give isl_id *isl_id_copy(isl_id *id);
                    ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:21:20:
note: ‘isl_id_copy’ was previously declared here
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:21:20:
note: code may be misoptimized unless -fno-strict-aliasing is used
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/pet/include/pet.h:20:1:
error: function ‘pet_options_args’ redeclared as variable
 ISL_ARG_DECL(pet_options, struct pet_options, pet_options_args)
 ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/ppcg/external.c:107:6: note:
previously declared here
 void pet_options_args() {
      ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/ppcg/print.c:191:11: warning:
type of ‘isl_id_get_user’ does not match original declaration
[-Wlto-type-mismatch]
  macros = isl_id_get_user(id);
           ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:24:7:
note: return value type mismatch
 void *isl_id_get_user(__isl_keep isl_id *id);
       ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:24:7:
note: ‘isl_id_get_user’ was previously declared here
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:24:7:
note: code may be misoptimized unless -fno-strict-aliasing is used
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/ppcg/print.c:56:2: warning:
type of ‘isl_id_free’ does not match original declaration [-Wlto-type-mismatch]
  isl_id_free(id);
  ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:22:20:
note: return value type mismatch
 __isl_null isl_id *isl_id_free(__isl_take isl_id *id);
                    ^
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:22:20:
note: ‘isl_id_free’ was previously declared here
/src/llvm/llvm-7.0.1.src/tools/polly/lib/External/isl/include/isl/id.h:22:20:
note: code may be misoptimized unless -fno-strict-aliasing is used
lto1: fatal error: errors during merging of translation units
compilation terminated.
lto-wrapper: fatal error: /usr/local/bin/cc returned 1 exit status
compilation terminated.
/usr/local/lib/gcc/x86_64-pc-linux-gnu/7.4.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold:
fatal error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[2]: *** [tools/polly/lib/External/CMakeFiles/PollyPPCG.dir/build.make:313:
lib/libPollyPPCG.so] Error 1
make[2]: Leaving directory '/src/llvm/build701'
make[1]: *** [CMakeFiles/Makefile2:32399:
tools/polly/lib/External/CMakeFiles/PollyPPCG.dir/all] Error 2
make[1]: Leaving directory '/src/llvm/build701'
make: *** [Makefile:155: all] Error 2</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>