brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 0e03161 Raw
32 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <random>10 11// template <class UIntType, UIntType a, UIntType c, UIntType m>12//   class linear_congruential_engine;13 14// requirements on parameters15 16#include <random>17 18int main(int, char**)19{20    typedef unsigned long long T;21 22    // expected-error-re@*:* {{static assertion failed due to requirement '1ULL == 0 || 1ULL < 1ULL'{{.*}}linear_congruential_engine invalid parameters}}23    std::linear_congruential_engine<T, 0, 0, 0> e2;24    // expected-error-re@*:* {{static assertion failed due to requirement '1ULL == 0 || 1ULL < 1ULL'{{.*}}linear_congruential_engine invalid parameters}}25    std::linear_congruential_engine<T, 0, 1, 1> e3;26    std::linear_congruential_engine<T, 1, 0, 1> e4;27    // expected-error-re@*:* {{static assertion failed due to requirement {{.+}}_UIntType must be unsigned type}}28    std::linear_congruential_engine<int, 0, 0, 0> e5;29 30    return 0;31}32