<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 --- - LLVM Toolset fails to correctly parse bitset header"
   href="http://llvm.org/bugs/show_bug.cgi?id=17146">17146</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>LLVM Toolset fails to correctly parse bitset header
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

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

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

        <tr>
          <th>OS</th>
          <td>Windows NT
          </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>new bugs
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>wolfeinstein@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The VC11 bitset header fails to parse with Clang. Here is the offending code:


 #define _BITSET_SIZE_TYPE    \
    typename basic_string<_Elem, _Tr, _Alloc>::size_type

    template<class _Elem,
        class _Tr,
        class _Alloc>
        explicit bitset(const basic_string<_Elem, _Tr, _Alloc>& _Str, // line
166
            _BITSET_SIZE_TYPE _Pos = 0,
            _BITSET_SIZE_TYPE _Count = basic_string<_Elem, _Tr, _Alloc>::npos,
            _Elem _E0 = (_Elem)'0',
            _Elem _E1 = (_Elem)'1')
        {    // construct from [_Pos, _Pos + _Count) elements in string
        _Construct(_Str, _Pos, _Count, _E0, _E1);
        }

VC accepts this code without complaint, and I don't see any errors.

The given error is

1>  G:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\include\bitset:168:62: error: expected ')'
1>                          _BITSET_SIZE_TYPE _Count = basic_string<_Elem, _Tr,
_Alloc>::npos,
1>                                                                             
      ^
1>  G:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\include\bitset:166:18: note: to match this '('
1>                  explicit bitset(const basic_string<_Elem, _Tr, _Alloc>&
_Str,
1>                                 ^
1>  G:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\include\bitset:168:49: error: expected '>'
1>                          _BITSET_SIZE_TYPE _Count = basic_string<_Elem, _Tr,
_Alloc>::npos,
1>                                                                       ^
1>  G:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\include\bitset:168:54: error: missing default argument on parameter
1>                          _BITSET_SIZE_TYPE _Count = basic_string<_Elem, _Tr,
_Alloc>::npos,
1>                                                                            ^
1>  G:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\include\bitset:168:62: error: missing default argument on parameter
1>                          _BITSET_SIZE_TYPE _Count = basic_string<_Elem, _Tr,
_Alloc>::npos,
1>                                                                             
      ^</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>