<html>
    <head>
      <base href="https://bugs.freedesktop.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 - AMD driver doesn't compile anymore after recent LLVM changes"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=98652">98652</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>AMD driver doesn't compile anymore after recent LLVM changes
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

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

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>bero@lindev.ch
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The LLVMAttribute API has been removed from LLVM recently.
Mesa's src/amd/common/ac_nir_to_llvm.c still uses it, causing compile failures
when using current LLVM snapshots.

ac_nir_to_llvm.c:144:43: error: unknown type name 'LLVMAttribute'; did you mean
      'LLVMAttributeRef'?
                    unsigned param_count, LLVMAttribute attribs);
                                          ^~~~~~~~~~~~~
                                          LLVMAttributeRef                      
/usr/include/llvm-c/Types.h:116:40: note: 'LLVMAttributeRef' declared here
typedef struct LLVMOpaqueAttributeRef *LLVMAttributeRef;
                                       ^
ac_nir_to_llvm.c:230:4: error: implicit declaration of function
'LLVMAddAttribute' is
      invalid in C99 [-Werror,-Wimplicit-function-declaration]
                        LLVMAddAttribute(P, LLVMByValAttribute);
                        ^
ac_nir_to_llvm.c:230:24: error: use of undeclared identifier
'LLVMByValAttribute'; did you
      mean 'LLVMAddAttribute'?
                        LLVMAddAttribute(P, LLVMByValAttribute);
                                            ^~~~~~~~~~~~~~~~~~
                                            LLVMAddAttribute                    
ac_nir_to_llvm.c:230:4: note: 'LLVMAddAttribute' declared here
                        LLVMAddAttribute(P, LLVMByValAttribute);
                        ^
ac_nir_to_llvm.c:234:24: error: use of undeclared identifier
'LLVMInRegAttribute'
                        LLVMAddAttribute(P, LLVMInRegAttribute);
                                            ^
ac_nir_to_llvm.c:710:63: error: use of undeclared identifier
'LLVMReadNoneAttribute'
        return emit_llvm_intrinsic(ctx, intrin, ctx->f32, params, 1,
LLVMReadNoneAt...
                                                                     ^
ac_nir_to_llvm.c:721:63: error: use of undeclared identifier
'LLVMReadNoneAttribute'
        return emit_llvm_intrinsic(ctx, intrin, ctx->f32, params, 2,
LLVMReadNoneAt...
                                                                     ^
ac_nir_to_llvm.c:733:63: error: use of undeclared identifier
'LLVMReadNoneAttribute'
        return emit_llvm_intrinsic(ctx, intrin, ctx->f32, params, 3,
LLVMReadNoneAt...
                                                                     ^
ac_nir_to_llvm.c:759:72: error: use of undeclared identifier
'LLVMReadNoneAttribute'
        return emit_llvm_intrinsic(ctx, "llvm.cttz.i32", ctx->i32, params, 2,
LLVMReadNoneA...
                                                                              ^
ac_nir_to_llvm.c:767:13: error: use of undeclared identifier
'LLVMReadNoneAttribute'
                                               LLVMReadNoneAttribute);
                                               ^
ac_nir_to_llvm.c:793:13: error: use of undeclared identifier
'LLVMReadNoneAttribute'
                                               LLVMReadNoneAttribute);
                                               ^
ac_nir_to_llvm.c:857:8: error: use of undeclared identifier
'LLVMReadNoneAttribute'
                                                 LLVMReadNoneAttribute);
                                                 ^
ac_nir_to_llvm.c:873:18: error: use of undeclared identifier
'LLVMReadNoneAttribute'
                                  params, 2, LLVMReadNoneAttribute);
                                             ^
ac_nir_to_llvm.c:918:63: error: use of undeclared identifier
'LLVMReadNoneAttribute'
        result = emit_llvm_intrinsic(ctx, intrin, ctx->i32, srcs, 3,
LLVMReadNoneAt...
                                                                     ^
ac_nir_to_llvm.c:1025:21: error: use of undeclared identifier
'LLVMReadNoneAttribute'
                                          tid_args, 2, LLVMReadNoneAttribute);
                                                       ^
ac_nir_to_llvm.c:1029:20: error: use of undeclared identifier
'LLVMReadNoneAttribute'
                                  tid_args, 2, LLVMReadNoneAttribute);
                                               ^
ac_nir_to_llvm.c:1117:7: error: use of undeclared identifier
'LLVMReadNoneAttribute'
                                         LLVMReadNoneAttribute);
                                         ^
ac_nir_to_llvm.c:1123:9: error: use of undeclared identifier
'LLVMReadNoneAttribute'
                                           LLVMReadNoneAttribute);
                                           ^
ac_nir_to_llvm.c:1453:78: error: use of undeclared identifier
'LLVMReadNoneAttribute'
  ...result = emit_llvm_intrinsic(ctx, "llvm.bitreverse.i32", ctx->i32, src, 1,
LLVMRead...
                                                                               
^
ac_nir_to_llvm.c:1456:73: error: use of undeclared identifier
'LLVMReadNoneAttribute'
  ...result = emit_llvm_intrinsic(ctx, "llvm.ctpop.i32", ctx->i32, src, 1,
LLVMReadNoneA...
                                                                           ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.</pre>
        </div>
      </p>


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

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>