mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Splitting ERR_GENERAL error code in ERR_FAILED_INTERNAL_ASSERTION and ERR_UNIMPLEMENTED_CASE; introducing ERR_FAILED_ASSERTION_IN_SCRIPT error code for handling non-zero script's exit values.
This commit is contained in:
parent
f402e42d2f
commit
30008f8dc5
@ -57,7 +57,9 @@ typedef enum
|
||||
ERR_MEMORY = -10,
|
||||
ERR_SYSCALL = -11,
|
||||
ERR_UNHANDLED_EXCEPTION = -12,
|
||||
ERR_GENERAL = -255
|
||||
ERR_UNIMPLEMENTED_CASE = -118,
|
||||
ERR_FAILED_ASSERTION_IN_SCRIPT = -119,
|
||||
ERR_FAILED_INTERNAL_ASSERTION = -120,
|
||||
} jerry_status_t;
|
||||
|
||||
/**
|
||||
@ -111,9 +113,16 @@ extern void jerry_ref_unused_variables (int unused_variables_follow, ...);
|
||||
do \
|
||||
{ \
|
||||
JERRY_ASSERT (false); \
|
||||
jerry_exit (ERR_GENERAL); \
|
||||
jerry_exit (ERR_FAILED_INTERNAL_ASSERTION); \
|
||||
} while (0)
|
||||
#define JERRY_UNIMPLEMENTED() JERRY_UNREACHABLE ()
|
||||
|
||||
#define JERRY_UNIMPLEMENTED() \
|
||||
do \
|
||||
{ \
|
||||
JERRY_ASSERT (false); \
|
||||
jerry_exit (ERR_UNIMPLEMENTED_CASE); \
|
||||
} while (0)
|
||||
|
||||
#define JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(...) \
|
||||
do \
|
||||
{ \
|
||||
|
||||
@ -101,15 +101,22 @@ jerry_exit (jerry_status_t code) /**< status code */
|
||||
__printf ("ERR_UNHANDLED_EXCEPTION\n");
|
||||
break;
|
||||
}
|
||||
case ERR_GENERAL:
|
||||
case ERR_UNIMPLEMENTED_CASE:
|
||||
{
|
||||
__printf ("ERR_GENERAL\n");
|
||||
__printf ("ERR_UNIMPLEMENTED_CASE\n");
|
||||
break;
|
||||
}
|
||||
case ERR_FAILED_ASSERTION_IN_SCRIPT:
|
||||
{
|
||||
__printf ("ERR_FAILED_ASSERTION_IN_SCRIPT\n");
|
||||
break;
|
||||
}
|
||||
case ERR_FAILED_INTERNAL_ASSERTION:
|
||||
{
|
||||
__printf ("ERR_FAILED_INTERNAL_ASSERTION\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* The failed assertion is 'Return code is zero' */
|
||||
jerry_assert_fail ("Return code is zero", __FILE__, __LINE__);
|
||||
}
|
||||
#endif /* !JERRY_NDEBUG */
|
||||
|
||||
|
||||
@ -27,6 +27,6 @@ jerry_assert_fail (const char *assertion, /**< assertion condition string */
|
||||
__printf ("Assertion '%s' failed at %s:%u\n",
|
||||
assertion, file, line);
|
||||
|
||||
__exit (-ERR_GENERAL);
|
||||
__exit (-ERR_FAILED_INTERNAL_ASSERTION);
|
||||
} /* jerry_assert_fail */
|
||||
|
||||
|
||||
@ -24,5 +24,5 @@ jerry_assert_fail (const char *assertion __unused, /**< assertion condition stri
|
||||
const char *file __unused, /**< file name */
|
||||
const uint32_t line __unused) /** line */
|
||||
{
|
||||
__exit (-ERR_GENERAL);
|
||||
__exit (-ERR_FAILED_INTERNAL_ASSERTION);
|
||||
} /* jerry_assert_fail */
|
||||
|
||||
@ -217,7 +217,7 @@ main (int argc __unused,
|
||||
|
||||
bool is_success = jerry_run (source_p, source_size, parse_only, show_opcodes, print_mem_stats);
|
||||
|
||||
return is_success ? 0 : 1;
|
||||
jerry_exit (is_success ? ERR_OK : ERR_FAILED_ASSERTION_IN_SCRIPT);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user