Skip to content

Commit dd27dfb

Browse files
committed
Add support (as stub) for erlang:error/3
Args and Options parameters are ignored, since the required machinery to support them is missing. Signed-off-by: Davide Bettio <davide@uninstall.it>
1 parent 35a2527 commit dd27dfb

File tree

3 files changed

+4
-0
lines changed

3 files changed

+4
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ require depending on default function and bootloader code
2222
- Support for Elixir `MapSet` module
2323
- Support for Elixir `Range` module
2424
- Support for Elixir `Kernel.min` and `Kernel.max`
25+
- Support (as stub) for `erlang:error/3` (that is required from Elixir code)
2526

2627
## [0.6.3] - 20-07-2024
2728

src/libAtomVM/nifs.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3250,6 +3250,8 @@ static term nif_erlang_garbage_collect(Context *ctx, int argc, term argv[])
32503250
return TRUE_ATOM;
32513251
}
32523252

3253+
// TODO: WORKAROUND: this function also implements erlang:error/3, but it ignores Args and Options
3254+
// since we don't have required machinery to make use of them
32533255
static term nif_erlang_error(Context *ctx, int argc, term argv[])
32543256
{
32553257
UNUSED(argc);

src/libAtomVM/nifs.gperf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ erlang:delete_element/2, &delete_element_nif
5050
erlang:erase/1, &erase_nif
5151
erlang:error/1, &error_nif
5252
erlang:error/2, &error_nif
53+
erlang:error/3, &error_nif
5354
erlang:exit/1, &exit_nif
5455
erlang:exit/2, &exit_nif
5556
erlang:display/1, &display_nif

0 commit comments

Comments
 (0)