17a6aaf9bSLouis Dionne //===----------------------------------------------------------------------===// 27a6aaf9bSLouis Dionne // 37a6aaf9bSLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 47a6aaf9bSLouis Dionne // See https://llvm.org/LICENSE.txt for license information. 57a6aaf9bSLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 67a6aaf9bSLouis Dionne // 77a6aaf9bSLouis Dionne //===----------------------------------------------------------------------===// 87a6aaf9bSLouis Dionne 9*13410fa7SLouis Dionne // UNSUPPORTED: c++03, c++11 10*13410fa7SLouis Dionne 117a6aaf9bSLouis Dionne // <utility> 127a6aaf9bSLouis Dionne 137a6aaf9bSLouis Dionne // template<class T, T... I> 147a6aaf9bSLouis Dionne // struct integer_sequence 157a6aaf9bSLouis Dionne // { 167a6aaf9bSLouis Dionne // typedef T type; 177a6aaf9bSLouis Dionne // 187a6aaf9bSLouis Dionne // static constexpr size_t size() noexcept; 197a6aaf9bSLouis Dionne // }; 207a6aaf9bSLouis Dionne 217a6aaf9bSLouis Dionne // This test is a conforming extension. The extension turns undefined behavior 227a6aaf9bSLouis Dionne // into a compile-time error. 237a6aaf9bSLouis Dionne 247a6aaf9bSLouis Dionne #include <utility> 257a6aaf9bSLouis Dionne 267a6aaf9bSLouis Dionne #include "test_macros.h" 277a6aaf9bSLouis Dionne main(int,char **)28*13410fa7SLouis Dionneint main(int, char**) { 297a6aaf9bSLouis Dionne // Should fail to compile, since float is not an integral type 307a6aaf9bSLouis Dionne using floatmix = std::integer_sequence<float>; 317a6aaf9bSLouis Dionne floatmix::value_type I; 327a6aaf9bSLouis Dionne return 0; 337a6aaf9bSLouis Dionne } 34