diff --git a/src/globals.h b/src/globals.h index 49a6266de..cdaa2ed06 100644 --- a/src/globals.h +++ b/src/globals.h @@ -123,16 +123,16 @@ extern void jerry_ref_unused_variables (int unused_variables_follow, ...); jerry_unreachable (NULL, __FILE__, __FUNCTION__, __LINE__); \ } while (0) -#define JERRY_UNIMPLEMENTED() \ +#define JERRY_UNIMPLEMENTED(comment) \ do \ { \ - jerry_unimplemented (NULL, __FILE__, __FUNCTION__, __LINE__); \ + jerry_unimplemented (comment, __FILE__, __FUNCTION__, __LINE__); \ } while (0) -#define JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(...) \ +#define JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(comment, ...) \ do \ { \ - jerry_unimplemented (NULL, __FILE__, __FUNCTION__, __LINE__); \ + jerry_unimplemented (comment, __FILE__, __FUNCTION__, __LINE__); \ if (false) \ { \ jerry_ref_unused_variables (0, __VA_ARGS__); \ @@ -145,16 +145,16 @@ extern void jerry_ref_unused_variables (int unused_variables_follow, ...); jerry_unreachable (NULL, NULL, NULL, 0); \ } while (0) -#define JERRY_UNIMPLEMENTED() \ +#define JERRY_UNIMPLEMENTED(comment) \ do \ { \ - jerry_unimplemented (NULL, NULL, NULL, 0); \ + jerry_unimplemented (comment, NULL, NULL, 0); \ } while (0) -#define JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(...) \ +#define JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(comment, ...) \ do \ { \ - jerry_unimplemented (NULL, NULL, NULL, 0); \ + jerry_unimplemented (comment, NULL, NULL, 0); \ if (false) \ { \ jerry_ref_unused_variables (0, __VA_ARGS__); \ diff --git a/src/libcoreint/interpreter.c b/src/libcoreint/interpreter.c index 48bdafad0..3ce738cad 100644 --- a/src/libcoreint/interpreter.c +++ b/src/libcoreint/interpreter.c @@ -439,7 +439,7 @@ run_int_loop (int_data_t *int_data) if (completion.type == ECMA_COMPLETION_TYPE_BREAK || completion.type == ECMA_COMPLETION_TYPE_CONTINUE) { - JERRY_UNIMPLEMENTED (); + JERRY_UNIMPLEMENTED ("break and continue on labels are not supported."); continue; } diff --git a/src/libcoreint/opcodes-native-call.c b/src/libcoreint/opcodes-native-call.c index 73e3c08c9..bd72fc5d7 100644 --- a/src/libcoreint/opcodes-native-call.c +++ b/src/libcoreint/opcodes-native-call.c @@ -141,7 +141,7 @@ opfunc_native_call (opcode_t opdata, /**< operation data */ #if CONFIG_ECMA_CHAR_ENCODING == CONFIG_ECMA_CHAR_ASCII __printf ("%s\n", (char*) zt_str_p); #elif CONFIG_ECMA_CHAR_ENCODING == CONFIG_ECMA_CHAR_UTF16 - JERRY_UNIMPLEMENTED (); + JERRY_UNIMPLEMENTED ("UTF-16 support is not implemented."); #endif /* CONFIG_ECMA_CHAR_ENCODING == CONFIG_ECMA_CHAR_UTF16 */ mem_heap_free_block (zt_str_p); diff --git a/src/libecmabuiltins/ecma-builtin-array-prototype-object.c b/src/libecmabuiltins/ecma-builtin-array-prototype-object.c index 768765484..bfe1330c4 100644 --- a/src/libecmabuiltins/ecma-builtin-array-prototype-object.c +++ b/src/libecmabuiltins/ecma-builtin-array-prototype-object.c @@ -89,7 +89,7 @@ const ecma_length_t ecma_builtin_array_prototype_property_number = (sizeof (ecma static ecma_completion_value_t ecma_builtin_array_prototype_object_to_string (ecma_value_t this) /**< this argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this); } /* ecma_builtin_array_prototype_object_to_string */ /** diff --git a/src/libecmabuiltins/ecma-builtin-function-object.c b/src/libecmabuiltins/ecma-builtin-function-object.c index 812c338ae..ffef3acbc 100644 --- a/src/libecmabuiltins/ecma-builtin-function-object.c +++ b/src/libecmabuiltins/ecma-builtin-function-object.c @@ -236,11 +236,7 @@ ecma_builtin_function_dispatch_construct (ecma_value_t *arguments_list_p, /**< a { JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL); -#ifdef CONFIG_ECMA_COMPACT_PROFILE - return ecma_make_throw_obj_completion_value (ecma_builtin_get (ECMA_BUILTIN_ID_COMPACT_PROFILE_ERROR)); -#else /* !CONFIG_ECMA_COMPACT_PROFILE */ - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arguments_list_p, arguments_list_len); -#endif /* !CONFIG_ECMA_COMPACT_PROFILE */ + ECMA_BUILTIN_CP_UNIMPLEMENTED (arguments_list_p, arguments_list_len); } /* ecma_builtin_function_dispatch_construct */ /** diff --git a/src/libecmabuiltins/ecma-builtin-function-prototype-object.c b/src/libecmabuiltins/ecma-builtin-function-prototype-object.c index 499adfa82..f8daa5712 100644 --- a/src/libecmabuiltins/ecma-builtin-function-prototype-object.c +++ b/src/libecmabuiltins/ecma-builtin-function-prototype-object.c @@ -97,7 +97,7 @@ const ecma_length_t ecma_builtin_function_prototype_property_number = (sizeof (e static ecma_completion_value_t ecma_builtin_function_prototype_object_to_string (ecma_value_t this) /**< this argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this); } /* ecma_builtin_function_prototype_object_to_string */ /** @@ -114,7 +114,7 @@ ecma_builtin_function_prototype_object_apply (ecma_value_t this, /**< this argum ecma_value_t arg1, /**< first argument */ ecma_value_t arg2) /**< second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg1, arg2); } /* ecma_builtin_function_prototype_object_apply */ /** @@ -131,7 +131,7 @@ ecma_builtin_function_prototype_object_call (ecma_value_t this, /**< this argume ecma_value_t *arguments_list_p, /**< list of arguments */ ecma_length_t arguments_number) /**< number of arguments */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arguments_list_p, arguments_number); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arguments_list_p, arguments_number); } /* ecma_builtin_function_prototype_object_call */ /** @@ -148,7 +148,7 @@ ecma_builtin_function_prototype_object_bind (ecma_value_t this, /**< this argume ecma_value_t *arguments_list_p, /**< list of arguments */ ecma_length_t arguments_number) /**< number of arguments */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arguments_list_p, arguments_number); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arguments_list_p, arguments_number); } /* ecma_builtin_function_prototype_object_bind */ /** diff --git a/src/libecmabuiltins/ecma-builtin-global-object.c b/src/libecmabuiltins/ecma-builtin-global-object.c index 306c88883..69893ec05 100644 --- a/src/libecmabuiltins/ecma-builtin-global-object.c +++ b/src/libecmabuiltins/ecma-builtin-global-object.c @@ -93,13 +93,7 @@ JERRY_STATIC_ASSERT (sizeof (ecma_builtin_global_property_names) > sizeof (void* static ecma_completion_value_t ecma_builtin_global_object_eval (ecma_value_t x) /**< routine's first argument */ { -#ifdef CONFIG_ECMA_COMPACT_PROFILE - (void) x; - - return ecma_make_throw_obj_completion_value (ecma_builtin_get (ECMA_BUILTIN_ID_COMPACT_PROFILE_ERROR)); -#else /* !CONFIG_ECMA_COMPACT_PROFILE */ - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (x); -#endif /* !CONFIG_ECMA_COMPACT_PROFILE */ + ECMA_BUILTIN_CP_UNIMPLEMENTED (x); } /* ecma_builtin_global_object_eval */ /** @@ -115,7 +109,7 @@ static ecma_completion_value_t ecma_builtin_global_object_parse_int (ecma_value_t string, /**< routine's first argument */ ecma_value_t radix) /**< routine's second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (string, radix); + ECMA_BUILTIN_CP_UNIMPLEMENTED (string, radix); } /* ecma_builtin_global_object_parse_int */ /** @@ -130,7 +124,7 @@ ecma_builtin_global_object_parse_int (ecma_value_t string, /**< routine's first static ecma_completion_value_t ecma_builtin_global_object_parse_float (ecma_value_t string) /**< routine's first argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (string); + ECMA_BUILTIN_CP_UNIMPLEMENTED (string); } /* ecma_builtin_global_object_parse_float */ /** @@ -202,7 +196,7 @@ ecma_builtin_global_object_is_finite (ecma_value_t arg) /**< routine's first arg static ecma_completion_value_t ecma_builtin_global_object_decode_uri (ecma_value_t encoded_uri) /**< routine's first argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (encoded_uri); + ECMA_BUILTIN_CP_UNIMPLEMENTED (encoded_uri); } /* ecma_builtin_global_object_decode_uri */ /** @@ -217,7 +211,7 @@ ecma_builtin_global_object_decode_uri (ecma_value_t encoded_uri) /**< routine's static ecma_completion_value_t ecma_builtin_global_object_decode_uri_component (ecma_value_t encoded_uri_component) /**< routine's first argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (encoded_uri_component); + ECMA_BUILTIN_CP_UNIMPLEMENTED (encoded_uri_component); } /* ecma_builtin_global_object_decode_uri_component */ /** @@ -232,7 +226,7 @@ ecma_builtin_global_object_decode_uri_component (ecma_value_t encoded_uri_compon static ecma_completion_value_t ecma_builtin_global_object_encode_uri (ecma_value_t uri) /**< routine's first argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (uri); + ECMA_BUILTIN_CP_UNIMPLEMENTED (uri); } /* ecma_builtin_global_object_encode_uri */ /** @@ -247,7 +241,7 @@ ecma_builtin_global_object_encode_uri (ecma_value_t uri) /**< routine's first ar static ecma_completion_value_t ecma_builtin_global_object_encode_uri_component (ecma_value_t uri_component) /**< routine's first argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (uri_component); + ECMA_BUILTIN_CP_UNIMPLEMENTED (uri_component); } /* ecma_builtin_global_object_encode_uri_component */ /** @@ -564,7 +558,6 @@ ecma_builtin_global_try_to_instantiate_property (ecma_object_t *obj_p, /**< obje #ifdef CONFIG_ECMA_COMPACT_PROFILE /* The object throws CompactProfileError upon invocation */ ecma_object_t *get_set_p = ecma_builtin_get (ECMA_BUILTIN_ID_COMPACT_PROFILE_ERROR); - ecma_gc_update_may_ref_younger_object_flag_by_object (obj_p, get_set_p); ecma_property_t *compact_profile_thrower_property_p = ecma_create_named_accessor_property (obj_p, prop_name_p, get_set_p, @@ -574,9 +567,11 @@ ecma_builtin_global_try_to_instantiate_property (ecma_object_t *obj_p, /**< obje ecma_deref_object (get_set_p); return compact_profile_thrower_property_p; +#else /* CONFIG_ECMA_COMPACT_PROFILE */ + JERRY_UNIMPLEMENTED ("The built-in is not implemented."); #endif /* CONFIG_ECMA_COMPACT_PROFILE */ - JERRY_UNIMPLEMENTED (); + JERRY_UNREACHABLE (); } default: diff --git a/src/libecmabuiltins/ecma-builtin-math-object.c b/src/libecmabuiltins/ecma-builtin-math-object.c index f01d0f7f6..d29fcc466 100644 --- a/src/libecmabuiltins/ecma-builtin-math-object.c +++ b/src/libecmabuiltins/ecma-builtin-math-object.c @@ -200,7 +200,7 @@ ecma_builtin_math_object_abs (ecma_value_t arg) /**< routine's argument */ static ecma_completion_value_t ecma_builtin_math_object_acos (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_math_object_acos */ /** @@ -215,7 +215,7 @@ ecma_builtin_math_object_acos (ecma_value_t arg) /**< routine's argument */ static ecma_completion_value_t ecma_builtin_math_object_asin (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_math_object_asin */ /** @@ -230,7 +230,7 @@ ecma_builtin_math_object_asin (ecma_value_t arg) /**< routine's argument */ static ecma_completion_value_t ecma_builtin_math_object_atan (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_math_object_atan */ /** @@ -246,7 +246,7 @@ static ecma_completion_value_t ecma_builtin_math_object_atan2 (ecma_value_t arg1, /**< first routine's argument */ ecma_value_t arg2) /**< second routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg1, arg2); } /* ecma_builtin_math_object_atan2 */ /** @@ -261,7 +261,7 @@ ecma_builtin_math_object_atan2 (ecma_value_t arg1, /**< first routine's argument static ecma_completion_value_t ecma_builtin_math_object_ceil (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_math_object_ceil */ /** @@ -276,7 +276,7 @@ ecma_builtin_math_object_ceil (ecma_value_t arg) /**< routine's argument */ static ecma_completion_value_t ecma_builtin_math_object_cos (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_math_object_cos */ /** @@ -344,7 +344,7 @@ ecma_builtin_math_object_exp (ecma_value_t arg) /**< routine's argument */ static ecma_completion_value_t ecma_builtin_math_object_floor (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_math_object_floor */ /** @@ -927,7 +927,7 @@ ecma_builtin_math_object_round (ecma_value_t arg) /**< routine's argument */ static ecma_completion_value_t ecma_builtin_math_object_sin (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_math_object_sin */ /** @@ -994,7 +994,7 @@ ecma_builtin_math_object_sqrt (ecma_value_t arg) /**< routine's argument */ static ecma_completion_value_t ecma_builtin_math_object_tan (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_math_object_tan */ /** diff --git a/src/libecmabuiltins/ecma-builtin-number-prototype-object.c b/src/libecmabuiltins/ecma-builtin-number-prototype-object.c index dc0b2d696..04ecd9072 100644 --- a/src/libecmabuiltins/ecma-builtin-number-prototype-object.c +++ b/src/libecmabuiltins/ecma-builtin-number-prototype-object.c @@ -146,7 +146,7 @@ ecma_builtin_number_prototype_object_to_string (ecma_value_t this, /**< this arg return ecma_make_normal_completion_value (ecma_make_string_value (ret_str_p)); } { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arguments_list_p); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arguments_list_p); } } /* ecma_builtin_number_prototype_object_to_string */ @@ -217,7 +217,7 @@ static ecma_completion_value_t ecma_builtin_number_prototype_object_to_fixed (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_number_prototype_object_to_fixed */ /** @@ -233,7 +233,7 @@ static ecma_completion_value_t ecma_builtin_number_prototype_object_to_exponential (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_number_prototype_object_to_exponential */ /** @@ -249,7 +249,7 @@ static ecma_completion_value_t ecma_builtin_number_prototype_object_to_precision (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_number_prototype_object_to_precision */ /** diff --git a/src/libecmabuiltins/ecma-builtin-object-object.c b/src/libecmabuiltins/ecma-builtin-object-object.c index 6fdc7de6c..ae12f0ea3 100644 --- a/src/libecmabuiltins/ecma-builtin-object-object.c +++ b/src/libecmabuiltins/ecma-builtin-object-object.c @@ -181,7 +181,7 @@ ecma_builtin_object_dispatch_construct (ecma_value_t *arguments_list_p, /**< arg static ecma_completion_value_t ecma_builtin_object_object_get_prototype_of (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_object_object_get_prototype_of */ /** @@ -196,7 +196,7 @@ ecma_builtin_object_object_get_prototype_of (ecma_value_t arg) /**< routine's ar static ecma_completion_value_t ecma_builtin_object_object_get_own_property_names (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_object_object_get_own_property_names */ /** @@ -211,7 +211,7 @@ ecma_builtin_object_object_get_own_property_names (ecma_value_t arg) /**< routin static ecma_completion_value_t ecma_builtin_object_object_seal (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_object_object_seal */ /** @@ -226,7 +226,7 @@ ecma_builtin_object_object_seal (ecma_value_t arg) /**< routine's argument */ static ecma_completion_value_t ecma_builtin_object_object_freeze (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_object_object_freeze */ /** @@ -241,7 +241,7 @@ ecma_builtin_object_object_freeze (ecma_value_t arg) /**< routine's argument */ static ecma_completion_value_t ecma_builtin_object_object_prevent_extensions (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_object_object_prevent_extensions */ /** @@ -256,7 +256,7 @@ ecma_builtin_object_object_prevent_extensions (ecma_value_t arg) /**< routine's static ecma_completion_value_t ecma_builtin_object_object_is_sealed (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_object_object_is_sealed */ /** @@ -271,7 +271,7 @@ ecma_builtin_object_object_is_sealed (ecma_value_t arg) /**< routine's argument static ecma_completion_value_t ecma_builtin_object_object_is_frozen (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_object_object_is_frozen */ /** @@ -286,7 +286,7 @@ ecma_builtin_object_object_is_frozen (ecma_value_t arg) /**< routine's argument static ecma_completion_value_t ecma_builtin_object_object_is_extensible (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_object_object_is_extensible */ /** @@ -301,7 +301,7 @@ ecma_builtin_object_object_is_extensible (ecma_value_t arg) /**< routine's argum static ecma_completion_value_t ecma_builtin_object_object_keys (ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg); } /* ecma_builtin_object_object_keys */ /** @@ -317,7 +317,7 @@ static ecma_completion_value_t ecma_builtin_object_object_get_own_property_descriptor (ecma_value_t arg1, /**< routine's first argument */ ecma_value_t arg2) /**< routine's second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg1, arg2); } /* ecma_builtin_object_object_get_own_property_descriptor */ /** @@ -333,7 +333,7 @@ static ecma_completion_value_t ecma_builtin_object_object_create (ecma_value_t arg1, /**< routine's first argument */ ecma_value_t arg2) /**< routine's second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg1, arg2); } /* ecma_builtin_object_object_create */ /** @@ -349,7 +349,7 @@ static ecma_completion_value_t ecma_builtin_object_object_define_properties (ecma_value_t arg1, /**< routine's first argument */ ecma_value_t arg2) /**< routine's second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (arg1, arg2); } /* ecma_builtin_object_object_define_properties */ /** diff --git a/src/libecmabuiltins/ecma-builtin-object-prototype-object.c b/src/libecmabuiltins/ecma-builtin-object-prototype-object.c index 8b3e9f313..2520f4f7d 100644 --- a/src/libecmabuiltins/ecma-builtin-object-prototype-object.c +++ b/src/libecmabuiltins/ecma-builtin-object-prototype-object.c @@ -204,7 +204,7 @@ ecma_builtin_object_prototype_object_value_of (ecma_value_t this) /**< this argu static ecma_completion_value_t ecma_builtin_object_prototype_object_to_locale_string (ecma_value_t this) /**< this argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this); } /* ecma_builtin_object_prototype_object_to_locale_string */ /** @@ -220,7 +220,7 @@ static ecma_completion_value_t ecma_builtin_object_prototype_object_has_own_property (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< first argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_object_prototype_object_has_own_property */ /** @@ -236,7 +236,7 @@ static ecma_completion_value_t ecma_builtin_object_prototype_object_is_prototype_of (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< routine's first argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_object_prototype_object_is_prototype_of */ /** @@ -252,7 +252,7 @@ static ecma_completion_value_t ecma_builtin_object_prototype_object_property_is_enumerable (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< routine's first argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_object_prototype_object_property_is_enumerable */ /** diff --git a/src/libecmabuiltins/ecma-builtin-string-prototype-object.c b/src/libecmabuiltins/ecma-builtin-string-prototype-object.c index 9316755e5..aaef2a964 100644 --- a/src/libecmabuiltins/ecma-builtin-string-prototype-object.c +++ b/src/libecmabuiltins/ecma-builtin-string-prototype-object.c @@ -211,7 +211,7 @@ static ecma_completion_value_t ecma_builtin_string_prototype_object_char_at (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_string_prototype_object_char_at */ /** @@ -227,7 +227,7 @@ static ecma_completion_value_t ecma_builtin_string_prototype_object_char_code_at (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_string_prototype_object_char_code_at */ /** @@ -244,7 +244,7 @@ ecma_builtin_string_prototype_object_concat (ecma_value_t this, /**< this argume ecma_value_t* argument_list_p, /**< arguments list */ ecma_length_t arguments_number) /**< number of arguments */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, argument_list_p, arguments_number); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, argument_list_p, arguments_number); } /* ecma_builtin_string_prototype_object_concat */ /** @@ -261,7 +261,7 @@ ecma_builtin_string_prototype_object_index_of (ecma_value_t this, /**< this argu ecma_value_t arg1, /**< routine's first argument */ ecma_value_t arg2) /**< routine's second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg1, arg2); } /* ecma_builtin_string_prototype_object_index_of */ /** @@ -278,7 +278,7 @@ ecma_builtin_string_prototype_object_last_index_of (ecma_value_t this, /**< this ecma_value_t arg1, /**< routine's first argument */ ecma_value_t arg2) /**< routine's second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg1, arg2); } /* ecma_builtin_string_prototype_object_last_index_of */ /** @@ -294,7 +294,7 @@ static ecma_completion_value_t ecma_builtin_string_prototype_object_locale_compare (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_string_prototype_object_locale_compare */ /** @@ -310,7 +310,7 @@ static ecma_completion_value_t ecma_builtin_string_prototype_object_match (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_string_prototype_object_match */ /** @@ -327,7 +327,7 @@ ecma_builtin_string_prototype_object_replace (ecma_value_t this, /**< this argum ecma_value_t arg1, /**< routine's first argument */ ecma_value_t arg2) /**< routine's second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg1, arg2); } /* ecma_builtin_string_prototype_object_replace */ /** @@ -343,7 +343,7 @@ static ecma_completion_value_t ecma_builtin_string_prototype_object_search (ecma_value_t this, /**< this argument */ ecma_value_t arg) /**< routine's argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg); } /* ecma_builtin_string_prototype_object_search */ /** @@ -360,7 +360,7 @@ ecma_builtin_string_prototype_object_slice (ecma_value_t this, /**< this argumen ecma_value_t arg1, /**< routine's first argument */ ecma_value_t arg2) /**< routine's second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg1, arg2); } /* ecma_builtin_string_prototype_object_slice */ /** @@ -377,7 +377,7 @@ ecma_builtin_string_prototype_object_split (ecma_value_t this, /**< this argumen ecma_value_t arg1, /**< routine's first argument */ ecma_value_t arg2) /**< routine's second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg1, arg2); } /* ecma_builtin_string_prototype_object_split */ /** @@ -394,7 +394,7 @@ ecma_builtin_string_prototype_object_substring (ecma_value_t this, /**< this arg ecma_value_t arg1, /**< routine's first argument */ ecma_value_t arg2) /**< routine's second argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this, arg1, arg2); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this, arg1, arg2); } /* ecma_builtin_string_prototype_object_substring */ /** @@ -409,7 +409,7 @@ ecma_builtin_string_prototype_object_substring (ecma_value_t this, /**< this arg static ecma_completion_value_t ecma_builtin_string_prototype_object_to_lower_case (ecma_value_t this) /**< this argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this); } /* ecma_builtin_string_prototype_object_to_lower_case */ /** @@ -424,7 +424,7 @@ ecma_builtin_string_prototype_object_to_lower_case (ecma_value_t this) /**< this static ecma_completion_value_t ecma_builtin_string_prototype_object_to_locale_lower_case (ecma_value_t this) /**< this argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this); } /* ecma_builtin_string_prototype_object_to_locale_lower_case */ /** @@ -439,7 +439,7 @@ ecma_builtin_string_prototype_object_to_locale_lower_case (ecma_value_t this) /* static ecma_completion_value_t ecma_builtin_string_prototype_object_to_upper_case (ecma_value_t this) /**< this argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this); } /* ecma_builtin_string_prototype_object_to_upper_case */ /** @@ -454,7 +454,7 @@ ecma_builtin_string_prototype_object_to_upper_case (ecma_value_t this) /**< this static ecma_completion_value_t ecma_builtin_string_prototype_object_to_locale_upper_case (ecma_value_t this) /**< this argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this); } /* ecma_builtin_string_prototype_object_to_locale_upper_case */ /** @@ -469,7 +469,7 @@ ecma_builtin_string_prototype_object_to_locale_upper_case (ecma_value_t this) /* static ecma_completion_value_t ecma_builtin_string_prototype_object_trim (ecma_value_t this) /**< this argument */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS (this); + ECMA_BUILTIN_CP_UNIMPLEMENTED (this); } /* ecma_builtin_string_prototype_object_trim */ /** diff --git a/src/libecmabuiltins/ecma-builtins-internal.h b/src/libecmabuiltins/ecma-builtins-internal.h index ed55509b7..03e046706 100644 --- a/src/libecmabuiltins/ecma-builtins-internal.h +++ b/src/libecmabuiltins/ecma-builtins-internal.h @@ -169,4 +169,19 @@ ECMA_BUILTIN_LIST (DECLARE_DISPATCH_ROUTINES) #undef DECLARE_PROPERTY_NUMBER_VARIABLES #undef DECLARE_DISPATCH_ROUTINES +#ifndef CONFIG_ECMA_COMPACT_PROFILE +# define ECMA_BUILTIN_CP_UNIMPLEMENTED(...) \ + JERRY_UNIMPLEMENTED_REF_UNUSED_VARS ("Compact Profile optional built-in.", __VA_ARGS__) +#else /* !CONFIG_ECMA_COMPACT_PROFILE */ +# define ECMA_BUILTIN_CP_UNIMPLEMENTED(...) \ +{ \ + if (false) \ + { \ + jerry_ref_unused_variables (0, __VA_ARGS__); \ + } \ + ecma_object_t *cp_error_p = ecma_builtin_get (ECMA_BUILTIN_ID_COMPACT_PROFILE_ERROR); \ + return ecma_make_throw_obj_completion_value (cp_error_p); \ +} +#endif /* CONFIG_ECMA_COMPACT_PROFILE */ + #endif /* !ECMA_BUILTINS_INTERNAL_H */ diff --git a/src/libecmabuiltins/ecma-builtins.c b/src/libecmabuiltins/ecma-builtins.c index 693b89f33..5d27021d6 100644 --- a/src/libecmabuiltins/ecma-builtins.c +++ b/src/libecmabuiltins/ecma-builtins.c @@ -268,7 +268,11 @@ ecma_builtin_try_to_instantiate_property (ecma_object_t *object_p, /**< object * default: { - JERRY_UNIMPLEMENTED (); +#ifdef CONFIG_ECMA_COMPACT_PROFILE + JERRY_UNREACHABLE (); +#else /* CONFIG_ECMA_COMPACT_PROFILE */ + JERRY_UNIMPLEMENTED ("The built-in is not implemented."); +#endif /* !CONFIG_ECMA_COMPACT_PROFILE */ } } @@ -408,7 +412,11 @@ ecma_builtin_dispatch_call (ecma_object_t *obj_p, /**< built-in object */ default: { - JERRY_UNIMPLEMENTED (); +#ifdef CONFIG_ECMA_COMPACT_PROFILE + JERRY_UNREACHABLE (); +#else /* CONFIG_ECMA_COMPACT_PROFILE */ + JERRY_UNIMPLEMENTED ("The built-in is not implemented."); +#endif /* !CONFIG_ECMA_COMPACT_PROFILE */ } } } @@ -468,7 +476,11 @@ ecma_builtin_dispatch_construct (ecma_object_t *obj_p, /**< built-in object */ default: { - JERRY_UNIMPLEMENTED (); +#ifdef CONFIG_ECMA_COMPACT_PROFILE + JERRY_UNREACHABLE (); +#else /* CONFIG_ECMA_COMPACT_PROFILE */ + JERRY_UNIMPLEMENTED ("The built-in is not implemented."); +#endif /* !CONFIG_ECMA_COMPACT_PROFILE */ } } @@ -510,7 +522,11 @@ ecma_builtin_get_routine_parameters_number (ecma_builtin_id_t builtin_id, /**< i default: { - JERRY_UNIMPLEMENTED (); +#ifdef CONFIG_ECMA_COMPACT_PROFILE + JERRY_UNREACHABLE (); +#else /* CONFIG_ECMA_COMPACT_PROFILE */ + JERRY_UNIMPLEMENTED ("The built-in is not implemented."); +#endif /* !CONFIG_ECMA_COMPACT_PROFILE */ } } @@ -557,7 +573,11 @@ ecma_builtin_dispatch_routine (ecma_builtin_id_t builtin_object_id, /**< built-i default: { - JERRY_UNIMPLEMENTED (); +#ifdef CONFIG_ECMA_COMPACT_PROFILE + JERRY_UNREACHABLE (); +#else /* CONFIG_ECMA_COMPACT_PROFILE */ + JERRY_UNIMPLEMENTED ("The built-in is not implemented."); +#endif /* !CONFIG_ECMA_COMPACT_PROFILE */ } } diff --git a/src/libecmaobjects/ecma-gc.c b/src/libecmaobjects/ecma-gc.c index ed6785d5f..3c7d284fe 100644 --- a/src/libecmaobjects/ecma-gc.c +++ b/src/libecmaobjects/ecma-gc.c @@ -393,7 +393,7 @@ ecma_gc_mark (ecma_object_t *object_p, /**< start object */ case ECMA_INTERNAL_PROPERTY_NUMBER_INDEXED_ARRAY_VALUES: /* a collection of ecma-values */ case ECMA_INTERNAL_PROPERTY_STRING_INDEXED_ARRAY_VALUES: /* a collection of ecma-values */ { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Indexed array storage is not implemented yet."); } case ECMA_INTERNAL_PROPERTY_PROTOTYPE: /* the property's value is located in ecma_object_t diff --git a/src/libecmaobjects/ecma-helpers-string.c b/src/libecmaobjects/ecma-helpers-string.c index d48f8627a..425f1163a 100644 --- a/src/libecmaobjects/ecma-helpers-string.c +++ b/src/libecmaobjects/ecma-helpers-string.c @@ -306,7 +306,8 @@ ecma_copy_or_ref_ecma_string (ecma_string_t *string_desc_p) /**< string descript } else { - JERRY_UNIMPLEMENTED (); + JERRY_UNIMPLEMENTED ("Unimplemented copy operation for strings, " + "stored in heap chunks or number, or concatenated strings."); } } diff --git a/src/libecmaoperations/ecma-exceptions.c b/src/libecmaoperations/ecma-exceptions.c index d1bfb1ee0..54adae93f 100644 --- a/src/libecmaoperations/ecma-exceptions.c +++ b/src/libecmaoperations/ecma-exceptions.c @@ -39,7 +39,7 @@ ecma_new_standard_error (ecma_standard_error_t error_type) /**< native error typ /* SyntaxError should be treated as an early error */ JERRY_ASSERT (error_type != ECMA_ERROR_SYNTAX); - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(error_type); + JERRY_UNIMPLEMENTED_REF_UNUSED_VARS("Built-in error objects are not implemented.", error_type); } /* ecma_new_standard_error */ /** diff --git a/src/libecmaoperations/ecma-function-object.c b/src/libecmaoperations/ecma-function-object.c index 39f258b16..26c43560e 100644 --- a/src/libecmaoperations/ecma-function-object.c +++ b/src/libecmaoperations/ecma-function-object.c @@ -449,7 +449,7 @@ ecma_op_function_has_instance (ecma_object_t *func_obj_p, /**< Function object * { JERRY_ASSERT (ecma_get_object_type (func_obj_p) == ECMA_OBJECT_TYPE_BOUND_FUNCTION); - JERRY_UNIMPLEMENTED (); + JERRY_UNIMPLEMENTED ("Bound functions are not implemented."); } } /* ecma_op_function_has_instance */ @@ -557,7 +557,7 @@ ecma_op_function_call (ecma_object_t *func_obj_p, /**< Function object */ { JERRY_ASSERT(ecma_get_object_type (func_obj_p) == ECMA_OBJECT_TYPE_BOUND_FUNCTION); - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED ("Bound functions are not implemented."); } } /* ecma_op_function_call */ @@ -654,7 +654,7 @@ ecma_op_function_construct (ecma_object_t *func_obj_p, /**< Function object */ { JERRY_ASSERT(ecma_get_object_type (func_obj_p) == ECMA_OBJECT_TYPE_BOUND_FUNCTION); - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED ("Bound functions are not implemented."); } } /* ecma_op_function_construct */ /** @@ -779,7 +779,7 @@ ecma_op_get_throw_type_error (void) { TODO(Create [[ThrowTypeError]] during engine initialization and return it from here); - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Type error thrower is not implemented."); } /* ecma_op_get_throw_type_error */ /** diff --git a/src/libecmaoperations/ecma-objects.c b/src/libecmaoperations/ecma-objects.c index 3d4b21912..a02402ac2 100644 --- a/src/libecmaoperations/ecma-objects.c +++ b/src/libecmaoperations/ecma-objects.c @@ -68,7 +68,7 @@ ecma_op_object_get (ecma_object_t *obj_p, /**< the object */ case ECMA_OBJECT_TYPE_HOST: { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Host objects support is not implemented."); } } @@ -126,7 +126,7 @@ ecma_op_object_get_own_property (ecma_object_t *obj_p, /**< the object */ case ECMA_OBJECT_TYPE_HOST: { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Host objects support is not implemented."); } } @@ -176,7 +176,7 @@ ecma_op_object_get_property (ecma_object_t *obj_p, /**< the object */ case ECMA_OBJECT_TYPE_HOST: { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Host objects support is not implemented."); } } @@ -219,7 +219,7 @@ ecma_op_object_put (ecma_object_t *obj_p, /**< the object */ case ECMA_OBJECT_TYPE_HOST: { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Host objects support is not implemented."); } } @@ -260,7 +260,7 @@ ecma_op_object_can_put (ecma_object_t *obj_p, /**< the object */ case ECMA_OBJECT_TYPE_HOST: { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Host objects support is not implemented."); } } @@ -301,7 +301,7 @@ ecma_op_object_has_property (ecma_object_t *obj_p, /**< the object */ case ECMA_OBJECT_TYPE_HOST: { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Host objects support is not implemented."); } } @@ -347,7 +347,7 @@ ecma_op_object_delete (ecma_object_t *obj_p, /**< the object */ case ECMA_OBJECT_TYPE_HOST: { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Host objects support is not implemented."); } } @@ -387,7 +387,7 @@ ecma_op_object_default_value (ecma_object_t *obj_p, /**< the object */ case ECMA_OBJECT_TYPE_HOST: { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Host objects support is not implemented."); } } @@ -438,7 +438,7 @@ ecma_op_object_define_own_property (ecma_object_t *obj_p, /**< the object */ case ECMA_OBJECT_TYPE_HOST: { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Host objects support is not implemented."); } } @@ -479,7 +479,7 @@ ecma_op_object_has_instance (ecma_object_t *obj_p, /**< the object */ case ECMA_OBJECT_TYPE_HOST: { - JERRY_UNIMPLEMENTED(); + JERRY_UNIMPLEMENTED("Host objects support is not implemented."); } } diff --git a/src/libperipherals/common-io.c b/src/libperipherals/common-io.c index f11f6910c..4f60fcac6 100644 --- a/src/libperipherals/common-io.c +++ b/src/libperipherals/common-io.c @@ -22,25 +22,25 @@ int digital_read (uint32_t arg1 __unused, uint32_t arg2 __unused) { - JERRY_UNIMPLEMENTED (); + JERRY_UNIMPLEMENTED ("Digital read operation is not implemented."); } void digital_write (uint32_t arg1 __unused, uint32_t arg2 __unused) { - JERRY_UNIMPLEMENTED (); + JERRY_UNIMPLEMENTED ("Digital write operation is not implemented."); } int analog_read (uint32_t arg1 __unused, uint32_t arg2 __unused) { - JERRY_UNIMPLEMENTED (); + JERRY_UNIMPLEMENTED ("Analog read operation is not implemented."); } void analog_write (uint32_t arg1 __unused, uint32_t arg2 __unused) { - JERRY_UNIMPLEMENTED (); + JERRY_UNIMPLEMENTED ("Analog write operation is not implemented."); } #ifdef __TARGET_HOST diff --git a/src/libruntime/jerry-libc-printf.c b/src/libruntime/jerry-libc-printf.c index 668aa0a50..8fe0331d8 100644 --- a/src/libruntime/jerry-libc-printf.c +++ b/src/libruntime/jerry-libc-printf.c @@ -530,7 +530,8 @@ __vfprintf (_FILE *stream, /**< stream pointer */ if (*format_iter_p == '*') { - JERRY_UNIMPLEMENTED(); + /* Not supported */ + JERRY_UNREACHABLE (); } // If there is a number, recognize it as field width @@ -543,7 +544,8 @@ __vfprintf (_FILE *stream, /**< stream pointer */ if (*format_iter_p == '.') { - JERRY_UNIMPLEMENTED(); + /* Not supported */ + JERRY_UNREACHABLE (); } switch (*format_iter_p) @@ -636,7 +638,8 @@ __vfprintf (_FILE *stream, /**< stream pointer */ case 'a': case 'A': { - JERRY_UNIMPLEMENTED(); + /* Not supported */ + JERRY_UNREACHABLE (); break; } @@ -644,7 +647,8 @@ __vfprintf (_FILE *stream, /**< stream pointer */ { if (length & LIBC_PRINTF_ARG_LENGTH_TYPE_L) { - JERRY_UNIMPLEMENTED(); + /* Not supported */ + JERRY_UNREACHABLE (); } else { @@ -667,7 +671,8 @@ __vfprintf (_FILE *stream, /**< stream pointer */ { if (length & LIBC_PRINTF_ARG_LENGTH_TYPE_L) { - JERRY_UNIMPLEMENTED(); + /* Not supported */ + JERRY_UNREACHABLE (); } else { @@ -707,7 +712,8 @@ __vfprintf (_FILE *stream, /**< stream pointer */ case 'n': { - JERRY_UNIMPLEMENTED(); + /* Not supported */ + JERRY_UNREACHABLE (); break; } } diff --git a/src/libruntime/target/linux/jerry-libc.c b/src/libruntime/target/linux/jerry-libc.c index a81c582a2..66cf5dab0 100644 --- a/src/libruntime/target/linux/jerry-libc.c +++ b/src/libruntime/target/linux/jerry-libc.c @@ -186,7 +186,8 @@ __fopen (const char *path, /**< file path */ create_if_not_exist = true; if (mode[1] == '+') { - JERRY_UNIMPLEMENTED(); + /* Not supported */ + JERRY_UNREACHABLE(); } break; } diff --git a/src/libruntime/target/stm32f3/jerry-libc.c b/src/libruntime/target/stm32f3/jerry-libc.c index cb8ca0391..916c2de30 100644 --- a/src/libruntime/target/stm32f3/jerry-libc.c +++ b/src/libruntime/target/stm32f3/jerry-libc.c @@ -27,7 +27,7 @@ extern void __noreturn exit (int status); int __putchar (int c) { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(c); + JERRY_UNIMPLEMENTED_REF_UNUSED_VARS("putchar is not implemented for STM32F3.", c); } /* __putchar */ /** exit - cause normal process termination */ @@ -54,6 +54,6 @@ __fwrite (const void *ptr, /**< data to write */ size_t nmemb, /**< number of elements */ _FILE *stream) /**< stream pointer */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(ptr, size, nmemb, stream); + JERRY_UNIMPLEMENTED_REF_UNUSED_VARS("fwrite is not implemented for STM32F3.", ptr, size, nmemb, stream); } /* __fwrite */ diff --git a/src/libruntime/target/stm32f4/jerry-libc.c b/src/libruntime/target/stm32f4/jerry-libc.c index cb8ca0391..d0fdfc857 100644 --- a/src/libruntime/target/stm32f4/jerry-libc.c +++ b/src/libruntime/target/stm32f4/jerry-libc.c @@ -27,7 +27,7 @@ extern void __noreturn exit (int status); int __putchar (int c) { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(c); + JERRY_UNIMPLEMENTED_REF_UNUSED_VARS("putchar is not implemented for STM32F4.", c); } /* __putchar */ /** exit - cause normal process termination */ @@ -54,6 +54,6 @@ __fwrite (const void *ptr, /**< data to write */ size_t nmemb, /**< number of elements */ _FILE *stream) /**< stream pointer */ { - JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(ptr, size, nmemb, stream); + JERRY_UNIMPLEMENTED_REF_UNUSED_VARS("fwrite is not implemented for STM32F4.", ptr, size, nmemb, stream); } /* __fwrite */