Dmitry Volyntsev 422e21db97 fixed building with gcc and clang >= 19 and -Wextra -Werror flags
$ cat t.c
 #include <quickjs.h>

int main() {
    JSRuntime *rt;
    rt = JS_NewRuntime();
    JS_FreeRuntime(rt);
    return 0;
}

$ clang-19 -I. -L. -Wextra -Wno-unused-parameter -Werror -o t t.c -lquickjs -lm
In file included from t.c:1:
./quickjs.h:1052:34: error: cast from 'JSCFunctionMagic *' (aka 'struct JSValue (*)(struct JSContext *, struct JSValue, int, struct JSValue *, int)') to 'JSCFunction *' (aka 'struct JSValue (*)(struct JSContext *, struct JSValue, int, struct JSValue *)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
 1052 |     return JS_NewCFunction2(ctx, (JSCFunction *)func, name, length, cproto, magic);
      |                                  ^~~~~~~~~~~~~~~~~~~
1 error generated.
$ gcc-13 -I. -L. -Wextra -Wno-unused-parameter -Werror -o t t.c -lquickjs -lm
In file included from t.c:1:
./quickjs.h: In function ‘JS_NewCFunctionMagic’:
./quickjs.h:1052:34: error: cast between incompatible function types from ‘JSValue (*)(JSContext *, JSValue,  int,  JSValue *, int)’ to ‘JSValue (*)(JSContext *, JSValue,  int,  JSValue *)’ [-Werror=cast-function-type]
 1052 |     return JS_NewCFunction2(ctx, (JSCFunction *)func, name, length, cproto, magic);
      |                                  ^
cc1: all warnings being treated as errors
2025-08-25 17:06:24 -07:00
2024-05-10 01:57:55 +02:00
2025-06-14 11:51:48 +02:00
2025-03-20 11:47:07 +01:00
2025-04-21 15:33:47 +02:00
2025-05-16 20:34:18 +02:00
2024-02-10 16:19:17 +01:00
2024-02-10 16:19:17 +01:00
2025-04-26 12:30:26 +02:00
2025-05-20 18:27:23 +02:00
2025-04-26 12:30:26 +02:00
2020-09-06 18:53:08 +02:00
2025-04-26 12:30:26 +02:00
2025-08-25 12:05:21 +02:00
2025-06-28 10:43:26 +02:00
2020-09-06 18:53:08 +02:00
2024-02-10 20:54:29 +01:00
2025-08-25 12:05:21 +02:00
2025-04-26 12:30:26 +02:00

The main documentation is in doc/quickjs.pdf or doc/quickjs.html.
Description
Public repository of the QuickJS Javascript Engine.
Readme MIT 24 MiB
Languages
C 94.2%
JavaScript 5.2%
Makefile 0.5%
Shell 0.1%