summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2015-05-06 21:00:57 +1000
committer Vas Crabb <vas@vastheman.com>2015-05-06 21:00:57 +1000
commit25e65ddfd545ce11969c679e2bb63e3bb6a970e7 (patch)
tree7c844874f458ec18a5ab4035e72fb720ba6b5485
parent0c1cac747a802ddb566a20a4f0fdb1cbdaf05379 (diff)
Better way to disable optimisation (nw)
-rw-r--r--src/emu/inpttype.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/emu/inpttype.h b/src/emu/inpttype.h
index 09751221393..849fea74d61 100644
--- a/src/emu/inpttype.h
+++ b/src/emu/inpttype.h
@@ -20,10 +20,10 @@
typelist.append(*global_alloc(input_type_entry(IPT_##_type, IPG_##_group, (_player == 0) ? _player : (_player) - 1, (_player == 0) ? #_type : ("P" #_player "_" #_type), _name, _seq, _decseq, _incseq)));
/* These input port macros expand to a great deal of code and break compilers */
-#if defined(__GNUC__) && __GNUC__ == 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ == 4 && __GNUC_PATCHLEVEL__ >= 4)
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 4 || (__GNUC_MINOR__ == 4 && __GNUC_PATCHLEVEL__ >= 4))))
+#pragma GCC push_options
#pragma GCC optimize ("O1")
-#endif
-#ifdef _MSC_VER
+#elif defined(_MSC_VER)
#pragma optimize("", off)
#endif
@@ -829,6 +829,8 @@ void construct_core_types(simple_list<input_type_entry> &typelist)
construct_core_types_OSD(typelist);
construct_core_types_invalid(typelist);
}
-#ifdef _MSC_VER
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 4 || (__GNUC_MINOR__ == 4 && __GNUC_PATCHLEVEL__ >= 4))))
+#pragma GCC pop_options
+#elif defined(_MSC_VER)
#pragma optimize("", on)
#endif