xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/perl/files/0001-Fix-build-with-gcc-12.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From ee957eb9e4ec29a462cdbb2f3bbe29d4270534ef Mon Sep 17 00:00:00 2001
2From: Mingli Yu <mingli.yu@windriver.com>
3Date: Thu, 2 Jun 2022 13:01:37 +0800
4Subject: [PATCH] proto.h: Fix build with gcc-12
5
6Fixes:
7  In function 'dynprep',
8    inlined from 'S_sortsv_flags_impl' at pp_sort.c:358:20,
9    inlined from 'sortsv_amagic_i_ncmp' at pp_sort.c:572:5:
10    pp_sort.c:1232:1: error: inlining failed in call to 'always_inline' 'S_amagic_i_ncmp': function not considered for inlining
11  1232 | S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
12
13Upstream-Status: Submitted [https://github.com/Perl/perl5/pull/19808]
14
15Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
16---
17 proto.h | 42 ++++++++++++++----------------------------
18 1 file changed, 14 insertions(+), 28 deletions(-)
19
20diff --git a/proto.h b/proto.h
21index faca6d1..3a76c04 100644
22--- a/proto.h
23+++ b/proto.h
24@@ -5606,50 +5606,43 @@ STATIC SSize_t	S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const c
25 #endif
26 #if defined(PERL_IN_PP_SORT_C)
27 #ifndef PERL_NO_INLINE_FUNCTIONS
28-PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp(pTHX_ SV *const str1, SV *const str2)
29-			__attribute__always_inline__;
30+PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp(pTHX_ SV *const str1, SV *const str2);
31 #define PERL_ARGS_ASSERT_AMAGIC_CMP	\
32 	assert(str1); assert(str2)
33 #endif
34
35 #ifndef PERL_NO_INLINE_FUNCTIONS
36-PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2)
37-			__attribute__always_inline__;
38+PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2);
39 #define PERL_ARGS_ASSERT_AMAGIC_CMP_DESC	\
40 	assert(str1); assert(str2)
41 #endif
42
43 #ifndef PERL_NO_INLINE_FUNCTIONS
44-PERL_STATIC_FORCE_INLINE I32	S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
45-			__attribute__always_inline__;
46+PERL_STATIC_FORCE_INLINE I32	S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b);
47 #define PERL_ARGS_ASSERT_AMAGIC_I_NCMP	\
48 	assert(a); assert(b)
49 #endif
50
51 #ifndef PERL_NO_INLINE_FUNCTIONS
52-PERL_STATIC_FORCE_INLINE I32	S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b)
53-			__attribute__always_inline__;
54+PERL_STATIC_FORCE_INLINE I32	S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b);
55 #define PERL_ARGS_ASSERT_AMAGIC_I_NCMP_DESC	\
56 	assert(a); assert(b)
57 #endif
58
59 #ifndef PERL_NO_INLINE_FUNCTIONS
60-PERL_STATIC_FORCE_INLINE I32	S_amagic_ncmp(pTHX_ SV *const a, SV *const b)
61-			__attribute__always_inline__;
62+PERL_STATIC_FORCE_INLINE I32	S_amagic_ncmp(pTHX_ SV *const a, SV *const b);
63 #define PERL_ARGS_ASSERT_AMAGIC_NCMP	\
64 	assert(a); assert(b)
65 #endif
66
67 #ifndef PERL_NO_INLINE_FUNCTIONS
68-PERL_STATIC_FORCE_INLINE I32	S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b)
69-			__attribute__always_inline__;
70+PERL_STATIC_FORCE_INLINE I32	S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b);
71 #define PERL_ARGS_ASSERT_AMAGIC_NCMP_DESC	\
72 	assert(a); assert(b)
73 #endif
74
75 #ifndef PERL_NO_INLINE_FUNCTIONS
76-PERL_STATIC_FORCE_INLINE I32	S_cmp_desc(pTHX_ SV *const str1, SV *const str2)
77-			__attribute__always_inline__;
78+PERL_STATIC_FORCE_INLINE I32	S_cmp_desc(pTHX_ SV *const str1, SV *const str2);
79 #define PERL_ARGS_ASSERT_CMP_DESC	\
80 	assert(str1); assert(str2)
81 #endif
82@@ -5671,51 +5664,44 @@ PERL_STATIC_FORCE_INLINE void	S_sortsv_flags_impl(pTHX_ SV** array, size_t num_e
83 #endif
84
85 #ifndef PERL_NO_INLINE_FUNCTIONS
86-PERL_STATIC_FORCE_INLINE I32	S_sv_i_ncmp(pTHX_ SV *const a, SV *const b)
87-			__attribute__always_inline__;
88+PERL_STATIC_FORCE_INLINE I32	S_sv_i_ncmp(pTHX_ SV *const a, SV *const b);
89 #define PERL_ARGS_ASSERT_SV_I_NCMP	\
90 	assert(a); assert(b)
91 #endif
92
93 #ifndef PERL_NO_INLINE_FUNCTIONS
94-PERL_STATIC_FORCE_INLINE I32	S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b)
95-			__attribute__always_inline__;
96+PERL_STATIC_FORCE_INLINE I32	S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b);
97 #define PERL_ARGS_ASSERT_SV_I_NCMP_DESC	\
98 	assert(a); assert(b)
99 #endif
100
101 #ifndef PERL_NO_INLINE_FUNCTIONS
102-PERL_STATIC_FORCE_INLINE I32	S_sv_ncmp(pTHX_ SV *const a, SV *const b)
103-			__attribute__always_inline__;
104+PERL_STATIC_FORCE_INLINE I32	S_sv_ncmp(pTHX_ SV *const a, SV *const b);
105 #define PERL_ARGS_ASSERT_SV_NCMP	\
106 	assert(a); assert(b)
107 #endif
108
109 #ifndef PERL_NO_INLINE_FUNCTIONS
110-PERL_STATIC_FORCE_INLINE I32	S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b)
111-			__attribute__always_inline__;
112+PERL_STATIC_FORCE_INLINE I32	S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b);
113 #define PERL_ARGS_ASSERT_SV_NCMP_DESC	\
114 	assert(a); assert(b)
115 #endif
116
117 #  if defined(USE_LOCALE_COLLATE)
118 #ifndef PERL_NO_INLINE_FUNCTIONS
119-PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2)
120-			__attribute__always_inline__;
121+PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2);
122 #define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE	\
123 	assert(str1); assert(str2)
124 #endif
125
126 #ifndef PERL_NO_INLINE_FUNCTIONS
127-PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2)
128-			__attribute__always_inline__;
129+PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2);
130 #define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE_DESC	\
131 	assert(str1); assert(str2)
132 #endif
133
134 #ifndef PERL_NO_INLINE_FUNCTIONS
135-PERL_STATIC_FORCE_INLINE I32	S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2)
136-			__attribute__always_inline__;
137+PERL_STATIC_FORCE_INLINE I32	S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2);
138 #define PERL_ARGS_ASSERT_CMP_LOCALE_DESC	\
139 	assert(str1); assert(str2)
140 #endif
141--
1422.25.1
143
144