  /*
   * This function is equivalent to __builtin_rdrand16/32/64_step() except it
   * returns the random value instead of writing it to memory, which is required
-@@ -51,9 +83,13 @@
+@@ -51,9 +87,13 @@
  template <class R = unsigned>
  inline R rdrand(void)
  {

 #include <utility>
 #include <string.h>
 #include <stdlib.h>
@@ -43,6 +48,33 @@
 
 extern int EDMM_supported;
 

 }
 
 /*
@@ -129,7 +169,8 @@
 template <class T, std::size_t A, unsigned M = 0x1000>
 struct alignas(A)randomly_placed_buffer
 {
