# HG changeset patch # User Paul Boddie # Date 1481499623 -3600 # Node ID 38d6eb5db365930ecf41add39942fa88fcb9164a # Parent 15348c678a8351c789b60e591d424c65d1bd946d Added a helper function to raise OSError in the native functions. diff -r 15348c678a83 -r 38d6eb5db365 templates/progops.c --- a/templates/progops.c Mon Dec 12 00:37:28 2016 +0100 +++ b/templates/progops.c Mon Dec 12 00:40:23 2016 +0100 @@ -119,6 +119,15 @@ __Raise(exc); } +void __raise_os_error(__attr value, __attr arg) +{ +#ifdef __HAVE___builtins___exception_system_OSError + __attr args[3] = {{0, 0}, value, arg}; + __attr exc = __new___builtins___exception_system_OSError(args); + __Raise(exc); +#endif /* __HAVE___builtins___exception_system_OSError */ +} + void __raise_overflow_error() { __attr args[1]; diff -r 15348c678a83 -r 38d6eb5db365 templates/progops.h --- a/templates/progops.h Mon Dec 12 00:37:28 2016 +0100 +++ b/templates/progops.h Mon Dec 12 00:40:23 2016 +0100 @@ -47,8 +47,13 @@ #endif /* __HAVE___builtins___exception_io_IOError */ void __raise_memory_error(); + +void __raise_os_error(__attr value, __attr arg); + void __raise_overflow_error(); + void __raise_zero_division_error(); + void __raise_type_error(); /* Helper for raising exception instances. */