view gcc/testsuite/g++.dg/template/cond.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/8080

// Bug: the transformation in finish_while_stmt_cond produced something
// that tsubst_expr handled badly.  Fixed by not doing the transformation
// while parsing a template.

class TObject {};

struct TIter {
  TObject           *operator()();
};


template<class T>
void get_root_object(TIter& iobj) {
  while ( TObject* pnew_obj = iobj() )
    ;
}

void foo(TIter& iobj)
{
  get_root_object<int>(iobj);
}