diff --git a/system/include/emscripten/atomic.h b/system/include/emscripten/atomic.h index 54bcd88e3acd2..f4fb895c170b9 100644 --- a/system/include/emscripten/atomic.h +++ b/system/include/emscripten/atomic.h @@ -7,10 +7,10 @@ #pragma once -#include - #include +#include + #ifdef __cplusplus extern "C" { #endif diff --git a/system/include/emscripten/bind.h b/system/include/emscripten/bind.h index aa448557a19ec..2416ebd079f35 100644 --- a/system/include/emscripten/bind.h +++ b/system/include/emscripten/bind.h @@ -11,18 +11,18 @@ #error "embind requires -std=c++17 or newer" #endif +#include +#include +#include + #include #include #include #include +#include #include #include #include -#include - -#include -#include -#include #if __has_feature(leak_sanitizer) || __has_feature(address_sanitizer) #include @@ -434,7 +434,7 @@ template void function(const char* name, ReturnType (*fn)(Args...), Policies...) { using namespace internal; typename WithPolicies::template ArgTypeList args; - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; auto invoke = Invoker::invoke; _embind_register_function( name, @@ -1295,7 +1295,7 @@ struct RegisterClassMethod { template static void invoke(const char* methodName, ReturnType (ClassType::*memberFunction)(Args...)) { - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; auto invoke = MethodInvoker::invoke; typename WithPolicies::template ArgTypeList, Args...> args; @@ -1325,7 +1325,7 @@ struct RegisterClassMethod { template static void invoke(const char* methodName, ReturnType (ClassType::*memberFunction)(Args...) const) { - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; auto invoke = MethodInvoker::invoke; typename WithPolicies::template ArgTypeList, Args...> args; @@ -1356,7 +1356,7 @@ struct RegisterClassMethod { static void invoke(const char* methodName, ReturnType (*function)(ThisType, Args...)) { typename WithPolicies::template ArgTypeList args; - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; auto invoke = FunctionInvoker::invoke; _embind_register_class_function( TypeID::get(), @@ -1385,7 +1385,7 @@ struct RegisterClassMethod> { static void invoke(const char* methodName, std::function function) { typename WithPolicies::template ArgTypeList args; - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; auto invoke = FunctorInvoker::invoke; _embind_register_class_function( TypeID::get(), @@ -1408,7 +1408,7 @@ struct RegisterClassMethod static void invoke(const char* methodName, Callable& callable) { typename WithPolicies::template ArgTypeList args; - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; auto invoke = FunctorInvoker::invoke; _embind_register_class_function( TypeID::get(), @@ -1546,7 +1546,7 @@ class class_ { smart_ptr(smartPtrName); typename WithPolicies::template ArgTypeList args; - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; auto invoke = &Invoker::invoke; _embind_register_class_constructor( TypeID::get(), @@ -1646,7 +1646,7 @@ class class_ { std::conjunction...>::value>::type> EMSCRIPTEN_ALWAYS_INLINE const class_& property(const char* fieldName, const FieldType ClassType::*field, Policies...) const { using namespace internal; - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; typename WithPolicies::template ArgTypeList returnType; auto getter = &MemberAccess::template getWire; @@ -1674,7 +1674,7 @@ class class_ { std::conjunction...>::value>::type> EMSCRIPTEN_ALWAYS_INLINE const class_& property(const char* fieldName, FieldType ClassType::*field, Policies...) const { using namespace internal; - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; typename WithPolicies::template ArgTypeList returnType; auto getter = &MemberAccess::template getWire; @@ -1708,7 +1708,7 @@ class class_ { typename std::conditional::value, Getter, FunctionTag>::type> GP; - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; auto gter = &GP::template get; typename WithPolicies::template ArgTypeList returnType; _embind_register_class_property( @@ -1747,7 +1747,7 @@ class class_ { FunctionTag>::type> SP; - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; auto gter = &GP::template get; auto ster = &SP::template set; @@ -1776,7 +1776,7 @@ class class_ { using namespace internal; typename WithPolicies::template ArgTypeList args; - using ReturnPolicy = GetReturnValuePolicy::tag; + using ReturnPolicy = typename GetReturnValuePolicy::tag; auto invoke = internal::Invoker::invoke; _embind_register_class_class_function( TypeID::get(), diff --git a/system/include/emscripten/em_js.h b/system/include/emscripten/em_js.h index bb3527cb55d5a..25d6a5c244510 100644 --- a/system/include/emscripten/em_js.h +++ b/system/include/emscripten/em_js.h @@ -79,6 +79,7 @@ // additional macro later is added these will be expanded and we want // to make sure the resulting expansion doesn't break the expectations // of JS code +#include #if defined(true) && defined(false) #undef true #undef false diff --git a/system/include/emscripten/em_types.h b/system/include/emscripten/em_types.h index 3479002746d9d..eb4cb5ba9c25a 100644 --- a/system/include/emscripten/em_types.h +++ b/system/include/emscripten/em_types.h @@ -5,8 +5,6 @@ * found in the LICENSE file. */ -#include - #pragma once #include diff --git a/system/include/emscripten/emscripten.h b/system/include/emscripten/emscripten.h index 365daa8b598e3..43d2f2899dd0e 100644 --- a/system/include/emscripten/emscripten.h +++ b/system/include/emscripten/emscripten.h @@ -21,12 +21,12 @@ */ #include "em_asm.h" +#include "em_js.h" #include "em_macros.h" #include "em_types.h" -#include "em_js.h" #include "promise.h" -#include "wget.h" #include "version.h" +#include "wget.h" #ifdef __EMSCRIPTEN__ #ifndef EMSCRIPTEN diff --git a/system/include/emscripten/fetch.h b/system/include/emscripten/fetch.h index 699436ed175ae..b39d05120e4c0 100644 --- a/system/include/emscripten/fetch.h +++ b/system/include/emscripten/fetch.h @@ -7,11 +7,12 @@ #pragma once +#include + #include #include #include #include -#include #ifdef __cplusplus extern "C" { diff --git a/system/include/emscripten/fiber.h b/system/include/emscripten/fiber.h index 178cf307142d9..4cb6a67ae581a 100644 --- a/system/include/emscripten/fiber.h +++ b/system/include/emscripten/fiber.h @@ -7,11 +7,11 @@ #pragma once -#include -#include - #include +#include +#include + #ifdef __cplusplus extern "C" { #endif diff --git a/system/include/emscripten/heap.h b/system/include/emscripten/heap.h index ec13b2081b6f1..5ad9012edffa6 100644 --- a/system/include/emscripten/heap.h +++ b/system/include/emscripten/heap.h @@ -7,12 +7,13 @@ #pragma once +#include + #include #include +#include #include -#include #include -#include #define WASM_PAGE_SIZE 65536 #define EMSCRIPTEN_PAGE_SIZE WASM_PAGE_SIZE diff --git a/system/include/emscripten/html5.h b/system/include/emscripten/html5.h index 23592e5c1206e..11a1ebe7bbd65 100644 --- a/system/include/emscripten/html5.h +++ b/system/include/emscripten/html5.h @@ -7,17 +7,17 @@ #pragma once -#include #include - #include // Include eventloop.h, console.h and html5_webgl.h for compat with older // version of this header that used to define these functions. -#include #include +#include #include +#include + #ifdef __cplusplus extern "C" { #endif diff --git a/system/include/emscripten/html5_webgl.h b/system/include/emscripten/html5_webgl.h index f2527b8047730..37edb5b978a4e 100644 --- a/system/include/emscripten/html5_webgl.h +++ b/system/include/emscripten/html5_webgl.h @@ -7,9 +7,11 @@ #pragma once -#include #include +#include +#include + #ifdef __cplusplus extern "C" { #endif diff --git a/system/include/emscripten/proxying.h b/system/include/emscripten/proxying.h index e22d6f331d1b6..380adcb5cb932 100644 --- a/system/include/emscripten/proxying.h +++ b/system/include/emscripten/proxying.h @@ -9,8 +9,9 @@ #include #include -#include + #include +#include #ifdef __cplusplus extern "C" { diff --git a/system/include/emscripten/threading.h b/system/include/emscripten/threading.h index 617247cb8f676..2a135e0048198 100644 --- a/system/include/emscripten/threading.h +++ b/system/include/emscripten/threading.h @@ -7,15 +7,14 @@ #pragma once -#include -#include -#include - #include -#include - // Legacy proxying functions. See proxying.h for the new proxying system. #include +#include + +#include +#include +#include #ifdef __cplusplus extern "C" { diff --git a/system/include/emscripten/threading_legacy.h b/system/include/emscripten/threading_legacy.h index 17506e447f280..d05a467245847 100644 --- a/system/include/emscripten/threading_legacy.h +++ b/system/include/emscripten/threading_legacy.h @@ -9,10 +9,10 @@ #pragma once -#include - #include +#include + #ifdef __cplusplus extern "C" { #endif diff --git a/system/include/emscripten/val.h b/system/include/emscripten/val.h index 983c821afe66e..1457314ca764f 100644 --- a/system/include/emscripten/val.h +++ b/system/include/emscripten/val.h @@ -7,15 +7,16 @@ #pragma once -#include +#include + #include +#include #include -#include #include // uintptr_t -#include -#include -#include #include +#include +#include +#include #if __cplusplus >= 202002L #include #include @@ -595,7 +596,7 @@ class EMBIND_VISIBILITY_DEFAULT val { static Ret internalCallWithPolicy(EM_VAL handle, const char *methodName, Args&&... args) { using namespace internal; - using RetWire = BindingType::WireType; + using RetWire = typename BindingType::WireType; static constexpr typename Policy::template ArgTypeList argTypes; thread_local EM_INVOKER mc = _emval_create_invoker(argTypes.getCount(), argTypes.getTypes(), Kind); diff --git a/system/include/emscripten/wasm_worker.h b/system/include/emscripten/wasm_worker.h index c87cdaecc9670..37d66c76a6584 100644 --- a/system/include/emscripten/wasm_worker.h +++ b/system/include/emscripten/wasm_worker.h @@ -7,13 +7,14 @@ #pragma once -#include -#include -#include #include #include #include +#include +#include +#include + #ifdef __cplusplus extern "C" { #endif diff --git a/system/include/emscripten/webaudio.h b/system/include/emscripten/webaudio.h index 1daa3521d9e46..721abee9fd3c2 100644 --- a/system/include/emscripten/webaudio.h +++ b/system/include/emscripten/webaudio.h @@ -7,12 +7,12 @@ #pragma once -#include -#include - #include #include +#include +#include + #ifdef __cplusplus extern "C" { #endif diff --git a/system/include/emscripten/websocket.h b/system/include/emscripten/websocket.h index f5485aab47a71..a23aa91202e35 100644 --- a/system/include/emscripten/websocket.h +++ b/system/include/emscripten/websocket.h @@ -7,12 +7,12 @@ #pragma once -#include -#include - #include #include +#include +#include + #ifdef __cplusplus extern "C" { #endif diff --git a/system/include/emscripten/wire.h b/system/include/emscripten/wire.h index a054476fe1057..18aec9c4408e5 100644 --- a/system/include/emscripten/wire.h +++ b/system/include/emscripten/wire.h @@ -652,7 +652,7 @@ struct GetReturnValuePolicy template struct GetReturnValuePolicy { - using tag = GetReturnValuePolicy::tag; + using tag = typename GetReturnValuePolicy::tag; }; template diff --git a/test/test_other.py b/test/test_other.py index 7b8b692744ff1..e123a61034afc 100644 --- a/test/test_other.py +++ b/test/test_other.py @@ -15128,19 +15128,23 @@ def test_getentropy_d8(self): def test_em_js_bool_macro_expansion(self): # Normally macros like `true` and `false` are not expanded inside - # of `EM_JS` or `EM_ASM` blocks. However, in the case then an - # additional macro later is added these will be expanded and we want + # of `EM_JS` or `EM_ASM` blocks. However, in the case that an + # additional macro layer is added these will be expanded and we want # to make sure the resulting expansion doesn't break the expectations # of JS code. create_file('main.c', ''' #include + #ifndef true + #error "expected true to be defined" + #endif + #define EM_JS_MACROS(ret, func_name, args, body...) \ EM_JS(ret, func_name, args, body) EM_JS_MACROS(void, check_bool_type, (void), { if (typeof true !== "boolean") { - throw new Error("typeof true is " + typeof true + " not boolean"); + throw new Error(`typeof true is ${typeof true} not boolean`); } })