1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <random>
11
12// class random_device;
13
14// explicit random_device(const string& token = "/dev/urandom");
15
16#include <random>
17#include <cassert>
18
19int main()
20{
21    try
22    {
23        std::random_device r("wrong file");
24        assert(false);
25    }
26    catch (const std::system_error& e)
27    {
28    }
29    {
30        std::random_device r;
31    }
32    {
33        std::random_device r("/dev/urandom");;
34    }
35    {
36        std::random_device r("/dev/random");;
37    }
38}
39