summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-random
diff options
context:
space:
mode:
authorRory OConnell <[email protected]>2020-06-26 15:13:04 -0700
committerRory OConnell <[email protected]>2020-06-26 15:13:04 -0700
commitdb296e95939ed856abb564135d2e6f586cf1888e (patch)
treeeac011daa5e0a96b383d55a8fcd6afd58df8c4b5 /mrbgems/mruby-random
parent233cb49903fa17637bd51f4a16b4ca61e0750f24 (diff)
downloadmruby-db296e95939ed856abb564135d2e6f586cf1888e.tar.gz
mruby-db296e95939ed856abb564135d2e6f586cf1888e.zip
work around MSC optimization generating non functional code
Diffstat (limited to 'mrbgems/mruby-random')
-rw-r--r--mrbgems/mruby-random/src/random.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/mrbgems/mruby-random/src/random.c b/mrbgems/mruby-random/src/random.c
index 515c0707a..6f31b15a6 100644
--- a/mrbgems/mruby-random/src/random.c
+++ b/mrbgems/mruby-random/src/random.c
@@ -210,9 +210,16 @@ random_m_srand(mrb_state *mrb, mrb_value self)
* Shuffles elements in self in place.
*/
+#if defined _MSC_VER && _MSC_VER >= 1900
+#pragma optimize( "", off )
+#endif
static mrb_value
mrb_ary_shuffle_bang(mrb_state *mrb, mrb_value ary)
{
+ /*
+ * MSC compiler generating invalid instructions with optimization
+ * enabled
+ */
mrb_int i;
mrb_value max;
mrb_value r = mrb_nil_value();