<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 - [Frontend] Emit a warning diagnostic for attributes that are ignored."
   href="https://bugs.llvm.org/show_bug.cgi?id=40810">40810</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[Frontend] Emit a warning diagnostic for attributes that are ignored.
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </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>C++
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>matthew.davis@sony.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>blitzrakete@gmail.com, dgregor@apple.com, erik.pilkington@gmail.com, llvm-bugs@lists.llvm.org, richard-llvm@metafoo.co.uk
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Clang has a handful of IgnoredAttribute diagnostics, controlled by the option
'-Wignored-attributes'  However, clang does not warn on certain cases that
could be helpful to developers.  For instance, it might be useful to extend
this warning to template type arguments that have attributes that are ignored. 
For example, the 'aligned' attribute is silently dropped in the following:

   //  clang++ ex.cc -fsyntax-only -Wignored-attributes
   typedef int type1 __attribute__((aligned(16)));

   template <typename T>
   struct S {
     static const auto value = alignof(T);
   };

   static_assert(S<type1>::value == 16, "Unexpected alignment for S<type1>");

In this case, g++ will emit the following warning:
"ignoring attributes on template argument ‘type1 {aka int}’
[-Wignored-attributes]"</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>