15a83710eSEric Fiselier //===----------------------------------------------------------------------===// 25a83710eSEric Fiselier // 35a83710eSEric Fiselier // The LLVM Compiler Infrastructure 45a83710eSEric Fiselier // 55a83710eSEric Fiselier // This file is dual licensed under the MIT and the University of Illinois Open 65a83710eSEric Fiselier // Source Licenses. See LICENSE.TXT for details. 75a83710eSEric Fiselier // 85a83710eSEric Fiselier //===----------------------------------------------------------------------===// 95a83710eSEric Fiselier 105a83710eSEric Fiselier // <valarray> 115a83710eSEric Fiselier 125a83710eSEric Fiselier // template<class T> class valarray; 135a83710eSEric Fiselier 145a83710eSEric Fiselier // valarray(); 155a83710eSEric Fiselier 165a83710eSEric Fiselier #include <valarray> 175a83710eSEric Fiselier #include <cassert> 185a83710eSEric Fiselier 19*2b20304dSMikhail Maltsev struct S { 20*2b20304dSMikhail Maltsev S() { ctor_called = true; } 21*2b20304dSMikhail Maltsev static bool ctor_called; 22*2b20304dSMikhail Maltsev }; 23*2b20304dSMikhail Maltsev 24*2b20304dSMikhail Maltsev bool S::ctor_called = false; 25*2b20304dSMikhail Maltsev 265a83710eSEric Fiselier int main() 275a83710eSEric Fiselier { 285a83710eSEric Fiselier { 295a83710eSEric Fiselier std::valarray<int> v; 305a83710eSEric Fiselier assert(v.size() == 0); 315a83710eSEric Fiselier } 325a83710eSEric Fiselier { 335a83710eSEric Fiselier std::valarray<float> v; 345a83710eSEric Fiselier assert(v.size() == 0); 355a83710eSEric Fiselier } 365a83710eSEric Fiselier { 375a83710eSEric Fiselier std::valarray<double> v; 385a83710eSEric Fiselier assert(v.size() == 0); 395a83710eSEric Fiselier } 405a83710eSEric Fiselier { 415a83710eSEric Fiselier std::valarray<std::valarray<double> > v; 425a83710eSEric Fiselier assert(v.size() == 0); 435a83710eSEric Fiselier } 44*2b20304dSMikhail Maltsev { 45*2b20304dSMikhail Maltsev std::valarray<S> v; 46*2b20304dSMikhail Maltsev assert(v.size() == 0); 47*2b20304dSMikhail Maltsev assert(!S::ctor_called); 48*2b20304dSMikhail Maltsev } 495a83710eSEric Fiselier } 50