summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@arcor.de>2015-01-14 02:11:09 +0100
committer couriersud <couriersud@arcor.de>2015-01-14 02:11:09 +0100
commit9a168f7c0d02a46098277e98f74f9092c493eda3 (patch)
tree1219bb052165877b44a61eea47c287a50ed444ea
parent53ee1c4138a2c4a761c2fe75d44c9d0cf8556f30 (diff)
Remove inlining of non-performance relevant exceptions and fatalerror.
-rw-r--r--src/emu/emucore.c83
-rw-r--r--src/emu/emucore.h83
2 files changed, 86 insertions, 80 deletions
diff --git a/src/emu/emucore.c b/src/emu/emucore.c
index 514401687c6..923ba0e1187 100644
--- a/src/emu/emucore.c
+++ b/src/emu/emucore.c
@@ -1,6 +1,6 @@
/***************************************************************************
- mamecore.c
+ emucore.c
Simple core functions that are defined in emucore.h and which may
need to be accessed by other MAME-related tools.
@@ -11,6 +11,69 @@
****************************************************************************/
#include "emu.h"
+#include "emucore.h"
+#include "osdcore.h"
+
+emu_fatalerror::emu_fatalerror(const char *format, ...)
+: code(0)
+{
+ if (format == NULL)
+ {
+ text[0] = '\0';
+ }
+ else
+ {
+ va_list ap;
+ va_start(ap, format);
+ vsprintf(text, format, ap);
+ va_end(ap);
+ }
+ osd_break_into_debugger(text);
+}
+
+emu_fatalerror::emu_fatalerror(const char *format, va_list ap)
+: code(0)
+{
+ if (format == NULL)
+ {
+ text[0] = '\0';
+ }
+ else
+ {
+ vsprintf(text, format, ap);
+ }
+ osd_break_into_debugger(text);
+}
+
+emu_fatalerror::emu_fatalerror(int _exitcode, const char *format, ...)
+: code(_exitcode)
+{
+ if (format == NULL)
+ {
+ text[0] = '\0';
+ }
+ else
+ {
+ va_list ap;
+ va_start(ap, format);
+ vsprintf(text, format, ap);
+ va_end(ap);
+ }
+}
+
+emu_fatalerror::emu_fatalerror(int _exitcode, const char *format, va_list ap)
+: code(_exitcode)
+{
+ if (format == NULL)
+ {
+ text[0] = '\0';
+ }
+ else
+ {
+ vsprintf(text, format, ap);
+ }
+}
+
void report_bad_cast(const std::type_info &src_type, const std::type_info &dst_type)
{
@@ -23,3 +86,21 @@ void report_bad_device_cast(const device_t *dev, const std::type_info &src_type,
throw emu_fatalerror("Error: bad downcast<> or device<>. Tried to convert the device %s (%s) of type %s to a %s, which are incompatible.\n",
dev->tag(), dev->name(), src_type.name(), dst_type.name());
}
+
+void fatalerror(const char *format, ...)
+{
+ va_list ap;
+ va_start(ap, format);
+ emu_fatalerror error(format, ap);
+ va_end(ap);
+ throw error;
+}
+
+void fatalerror_exitcode(running_machine &machine, int exitcode, const char *format, ...)
+{
+ va_list ap;
+ va_start(ap, format);
+ emu_fatalerror error(exitcode, format, ap);
+ va_end(ap);
+ throw error;
+}
diff --git a/src/emu/emucore.h b/src/emu/emucore.h
index cc064ee3ddc..f6a3ff67748 100644
--- a/src/emu/emucore.h
+++ b/src/emu/emucore.h
@@ -289,65 +289,10 @@ class emu_exception : public std::exception { };
class emu_fatalerror : public emu_exception
{
public:
- emu_fatalerror(const char *format, ...) ATTR_PRINTF(2,3)
- : code(0)
- {
- if (format == NULL)
- {
- text[0] = '\0';
- }
- else
- {
- va_list ap;
- va_start(ap, format);
- vsprintf(text, format, ap);
- va_end(ap);
- }
- osd_break_into_debugger(text);
- }
-
- emu_fatalerror(const char *format, va_list ap)
- : code(0)
- {
- if (format == NULL)
- {
- text[0] = '\0';
- }
- else
- {
- vsprintf(text, format, ap);
- }
- osd_break_into_debugger(text);
- }
-
- emu_fatalerror(int _exitcode, const char *format, ...) ATTR_PRINTF(3,4)
- : code(_exitcode)
- {
- if (format == NULL)
- {
- text[0] = '\0';
- }
- else
- {
- va_list ap;
- va_start(ap, format);
- vsprintf(text, format, ap);
- va_end(ap);
- }
- }
-
- emu_fatalerror(int _exitcode, const char *format, va_list ap)
- : code(_exitcode)
- {
- if (format == NULL)
- {
- text[0] = '\0';
- }
- else
- {
- vsprintf(text, format, ap);
- }
- }
+ emu_fatalerror(const char *format, ...) ATTR_PRINTF(2,3);
+ emu_fatalerror(const char *format, va_list ap);
+ emu_fatalerror(int _exitcode, const char *format, ...) ATTR_PRINTF(3,4);
+ emu_fatalerror(int _exitcode, const char *format, va_list ap);
const char *string() const { return text; }
int exitcode() const { return code; }
@@ -421,26 +366,6 @@ inline _Dest downcast(_Source &src)
ATTR_NORETURN void fatalerror(const char *format, ...) ATTR_PRINTF(1,2);
ATTR_NORETURN void fatalerror_exitcode(running_machine &machine, int exitcode, const char *format, ...) ATTR_PRINTF(3,4);
-inline void fatalerror(const char *format, ...)
-{
- va_list ap;
- va_start(ap, format);
- emu_fatalerror error(format, ap);
- va_end(ap);
- throw error;
-}
-
-inline void fatalerror_exitcode(running_machine &machine, int exitcode, const char *format, ...)
-{
- va_list ap;
- va_start(ap, format);
- emu_fatalerror error(exitcode, format, ap);
- va_end(ap);
- throw error;
-}
-
-
-
//**************************************************************************
// INLINE FUNCTIONS
//**************************************************************************