mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-30 17:33:24 +00:00
[Support] Add sys::Process::GetRandomNumber().
- Primitive API, but we rarely have need for random numbers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156237 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e0b0e7b295
commit
9c69e6ae69
@ -1,4 +1,4 @@
|
||||
//===- llvm/Support/Process.h ------------------------------------*- C++ -*-===//
|
||||
//===- llvm/Support/Process.h -----------------------------------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
@ -142,6 +142,10 @@ namespace sys {
|
||||
|
||||
/// Resets the terminals colors, or returns an escape sequence to do so.
|
||||
static const char *ResetColor();
|
||||
|
||||
/// Get the result of a process wide random number generator. The
|
||||
/// generator will be automatically seeded in non-deterministic fashion.
|
||||
static unsigned GetRandomNumber();
|
||||
/// @}
|
||||
};
|
||||
}
|
||||
|
@ -22,6 +22,15 @@ using namespace sys;
|
||||
//=== independent code.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
unsigned llvm::sys::Process::GetRandomNumber() {
|
||||
#if defined(HAVE_ARC4RANDOM)
|
||||
return arc4random();
|
||||
#else
|
||||
static int x = (::srand(::time(NULL)), 0);
|
||||
return rand();
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Include the platform-specific parts of this class.
|
||||
|
Loading…
Reference in New Issue
Block a user