--- /dev/null
+#if MONOTOUCH && FULL_AOT_RUNTIME
+
+using Crimson.CommonCrypto;
+
+namespace System
+{
+ partial struct Guid
+ {
+ public static Guid NewGuid ()
+ {
+ byte[] b = new byte [16];
+ Cryptor.GetRandom (b);
+
+ Guid res = new Guid (b);
+ // Mask in Variant 1-0 in Bit[7..6]
+ res._d = (byte) ((res._d & 0x3fu) | 0x80u);
+ // Mask in Version 4 (random based Guid) in Bits[15..13]
+ res._c = (short) ((res._c & 0x0fffu) | 0x4000u);
+
+ return res;
+ }
+ }
+}
+
+#endif
\ No newline at end of file
+++ /dev/null
-#if MONOTOUCH && FULL_AOT_RUNTIME
-
-// this file is a shim to enable compiling monotouch profiles without mono-extensions
-namespace System
-{
- partial struct Guid
- {
- public static Guid NewGuid ()
- {
- throw new NotSupportedException ();
- }
- }
-}
-
-#endif
CommonCrypto/MD2Managed.g.cs
CommonCrypto/MD4Managed.g.cs
System/Environment.iOS.cs
+System/Guid.MonoTouch.cs
-System/Guid.MonoTouch.opt.cs
System.Text/EncodingHelper.MonoTouch.opt.cs
System.Security.Cryptography.X509Certificates/X509Helper.MonoTouch.opt.cs
CommonCrypto/MD2Managed.g.cs
CommonCrypto/MD4Managed.g.cs
System/Environment.iOS.cs
+System/Guid.MonoTouch.cs
CommonCrypto/MD2Managed.g.cs
CommonCrypto/MD4Managed.g.cs
System/Environment.iOS.cs
+System/Guid.MonoTouch.cs
CommonCrypto/MD2Managed.g.cs
CommonCrypto/MD4Managed.g.cs
System/Environment.iOS.cs
+System/Guid.MonoTouch.cs