diff options
Diffstat (limited to 'arch/x86_64/src/boot/initialize_runtime.cpp')
| -rw-r--r-- | arch/x86_64/src/boot/initialize_runtime.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/arch/x86_64/src/boot/initialize_runtime.cpp b/arch/x86_64/src/boot/initialize_runtime.cpp index f413448..b08c13c 100644 --- a/arch/x86_64/src/boot/initialize_runtime.cpp +++ b/arch/x86_64/src/boot/initialize_runtime.cpp @@ -2,16 +2,21 @@ #include <functional> #include <span> -extern "C" +namespace arch::boot { - using global_initializer = auto (*)() -> void; - extern global_initializer __init_array_start; - extern global_initializer __init_array_end; - - auto invoke_global_constructors() -> void + extern "C" { - auto initializers = std::span{&__init_array_start, &__init_array_end}; - std::ranges::for_each(initializers, [](auto invokable) { std::invoke(invokable); }); + using global_initializer = auto (*)() -> void; + + extern global_initializer __init_array_start; + extern global_initializer __init_array_end; + + auto invoke_global_constructors() -> void + { + auto initializers = std::span{&__init_array_start, &__init_array_end}; + std::ranges::for_each(initializers, [](auto invokable) { std::invoke(invokable); }); + } } -} + +} // namespace arch::boot
\ No newline at end of file |
