1*f4a2713aSLionel Sambuc // RUN: not %clang_cc1 -fsyntax-only %s 2>&1 | FileCheck %s 2*f4a2713aSLionel Sambuc 3*f4a2713aSLionel Sambuc // <rdar://problem/9221993> 4*f4a2713aSLionel Sambuc 5*f4a2713aSLionel Sambuc // We only care to check whether the compiler crashes; the actual 6*f4a2713aSLionel Sambuc // diagnostics are uninteresting. 7*f4a2713aSLionel Sambuc // CHECK: 8 errors generated. 8*f4a2713aSLionel Sambuc template<class _CharT> struct char_traits; 9*f4a2713aSLionel Sambuc template<typename _CharT, typename _Traits = char_traits<_CharT> > class basic_ios; 10*f4a2713aSLionel Sambuc template<typename _CharT, typename _Traits = char_traits<_CharT> > class ostreambuf_iterator; 11*f4a2713aSLionel Sambuc template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > class num_get; 12*f4a2713aSLionel Sambuc template<typename _CharT, typename _Traits> class basic_ostream : virtual public basic_ios<_CharT, _Traits> { _M_extract_float(_InIter __beg,_InIter __end,ios_base & __io,ios_base::iostate & __err,string & __xtrc) const13*f4a2713aSLionel Sambuc template<typename _CharT, typename _InIter> _InIter num_get<_CharT, _InIter>:: _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, ios_base::iostate& __err, string& __xtrc) const { 14*f4a2713aSLionel Sambuc const bool __plus = __c == __lit[__num_base::_S_iplus]; 15*f4a2713aSLionel Sambuc if ((__plus || __c == __lit[__num_base::_S_iminus]) && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) && !(__c == __lc->_M_decimal_point)) { 16