@@ -10,6 +10,11 @@ namespace fast_io
10
10
11
11
template <::std::uint_least64_t syscall_number, ::std::signed_integral return_value_type>
12
12
requires (1 < sizeof (return_value_type))
13
+ #if __has_cpp_attribute(__gnu__::__always_inline__)
14
+ [[__gnu__::__always_inline__]]
15
+ #else
16
+ #error "system_call must be inlined"
17
+ #endif
13
18
inline return_value_type system_call () noexcept
14
19
{
15
20
register ::std::uint_least64_t a7 __asm__ (" $a7" ) = syscall_number;
@@ -21,6 +26,11 @@ inline return_value_type system_call() noexcept
21
26
22
27
template <::std::uint_least64_t syscall_number, ::std::signed_integral return_value_type>
23
28
requires (1 < sizeof (return_value_type))
29
+ #if __has_cpp_attribute(__gnu__::__always_inline__)
30
+ [[__gnu__::__always_inline__]]
31
+ #else
32
+ #error "system_call must be inlined"
33
+ #endif
24
34
inline return_value_type system_call (auto p1) noexcept
25
35
{
26
36
register ::std::uint_least64_t a7 __asm__ (" $a7" ) = syscall_number;
@@ -31,6 +41,11 @@ inline return_value_type system_call(auto p1) noexcept
31
41
}
32
42
33
43
template <::std::uint_least64_t syscall_number>
44
+ #if __has_cpp_attribute(__gnu__::__always_inline__)
45
+ [[__gnu__::__always_inline__]]
46
+ #else
47
+ #error "system_call must be inlined"
48
+ #endif
34
49
inline void system_call_no_return (auto p1) noexcept
35
50
{
36
51
register ::std::uint_least64_t a7 __asm__ (" $a7" ) = syscall_number;
@@ -42,6 +57,11 @@ inline void system_call_no_return(auto p1) noexcept
42
57
43
58
template <::std::uint_least64_t syscall_number, ::std::signed_integral return_value_type>
44
59
requires (1 < sizeof (return_value_type))
60
+ #if __has_cpp_attribute(__gnu__::__always_inline__)
61
+ [[__gnu__::__always_inline__]]
62
+ #else
63
+ #error "system_call must be inlined"
64
+ #endif
45
65
inline return_value_type system_call (auto p1, auto p2) noexcept
46
66
{
47
67
register ::std::uint_least64_t a7 __asm__ (" $a7" ) = syscall_number;
@@ -54,6 +74,11 @@ inline return_value_type system_call(auto p1, auto p2) noexcept
54
74
55
75
template <::std::uint_least64_t syscall_number, ::std::signed_integral return_value_type>
56
76
requires (1 < sizeof (return_value_type))
77
+ #if __has_cpp_attribute(__gnu__::__always_inline__)
78
+ [[__gnu__::__always_inline__]]
79
+ #else
80
+ #error "system_call must be inlined"
81
+ #endif
57
82
inline return_value_type system_call (auto p1, auto p2, auto p3) noexcept
58
83
{
59
84
register ::std::uint_least64_t a7 __asm__ (" $a7" ) = syscall_number;
@@ -67,6 +92,11 @@ inline return_value_type system_call(auto p1, auto p2, auto p3) noexcept
67
92
68
93
template <::std::uint_least64_t syscall_number, ::std::signed_integral return_value_type>
69
94
requires (1 < sizeof (return_value_type))
95
+ #if __has_cpp_attribute(__gnu__::__always_inline__)
96
+ [[__gnu__::__always_inline__]]
97
+ #else
98
+ #error "system_call must be inlined"
99
+ #endif
70
100
inline return_value_type system_call (auto p1, auto p2, auto p3, auto p4) noexcept
71
101
{
72
102
register ::std::uint_least64_t a7 __asm__ (" $a7" ) = syscall_number;
@@ -81,6 +111,11 @@ inline return_value_type system_call(auto p1, auto p2, auto p3, auto p4) noexcep
81
111
82
112
template <::std::uint_least64_t syscall_number, ::std::signed_integral return_value_type>
83
113
requires (1 < sizeof (return_value_type))
114
+ #if __has_cpp_attribute(__gnu__::__always_inline__)
115
+ [[__gnu__::__always_inline__]]
116
+ #else
117
+ #error "system_call must be inlined"
118
+ #endif
84
119
inline return_value_type system_call (auto p1, auto p2, auto p3, auto p4, auto p5) noexcept
85
120
{
86
121
register ::std::uint_least64_t a7 __asm__ (" $a7" ) = syscall_number;
@@ -96,6 +131,11 @@ inline return_value_type system_call(auto p1, auto p2, auto p3, auto p4, auto p5
96
131
97
132
template <::std::uint_least64_t syscall_number, ::std::signed_integral return_value_type>
98
133
requires (1 < sizeof (return_value_type))
134
+ #if __has_cpp_attribute(__gnu__::__always_inline__)
135
+ [[__gnu__::__always_inline__]]
136
+ #else
137
+ #error "system_call must be inlined"
138
+ #endif
99
139
inline return_value_type system_call (auto p1, auto p2, auto p3, auto p4, auto p5, auto p6) noexcept
100
140
{
101
141
register ::std::uint_least64_t a7 __asm__ (" $a7" ) = syscall_number;
0 commit comments