<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </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 --- - Expressions which result in bitfields are not properly promoted"
   href="http://llvm.org/bugs/show_bug.cgi?id=16609">16609</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Expressions which result in bitfields are not properly promoted
          </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>normal
          </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>dgjnadik@sharklasers.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>dgregor@apple.com, llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=10876" name="attach_10876" title="Code sample which should print 'signed' but prints 'unsigned'">attachment 10876</a> <a href="attachment.cgi?id=10876&action=edit" title="Code sample which should print 'signed' but prints 'unsigned'">[details]</a></span>
Code sample which should print 'signed' but prints 'unsigned'

While the direct addition of a bitfield and a signed integer correctly results
in a signed integer, an expression which yields a bitfield, as the conditional
operator is defined to if its operands are bitfields, has an extraneous
LValueToRValue conversion in the AST and casts the unsigned bitfield result to
an unsigned int before addition, resulting in an unsigned int instead of the
signed int expected by bitfield promotion rules.</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>