[openwrt/openwrt] tools/elftosb: fix compilation with C++17
LEDE Commits
lede-commits at lists.infradead.org
Thu May 22 15:22:35 PDT 2025
hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/d8e3213929e936491e08e6cf868cf1b7d4ab5cb6
commit d8e3213929e936491e08e6cf868cf1b7d4ab5cb6
Author: Rosen Penev <rosenp at gmail.com>
AuthorDate: Tue May 20 18:17:32 2025 -0700
tools/elftosb: fix compilation with C++17
Newer GCC and Clang default to C++17, which does not support register.
Just remove it.
Signed-off-by: Rosen Penev <rosenp at gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18859
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
tools/elftosb/patches/010-no-register.patch | 113 ++++++++++++++++++++++++++++
1 file changed, 113 insertions(+)
diff --git a/tools/elftosb/patches/010-no-register.patch b/tools/elftosb/patches/010-no-register.patch
new file mode 100644
index 0000000000..7a830370e2
--- /dev/null
+++ b/tools/elftosb/patches/010-no-register.patch
@@ -0,0 +1,113 @@
+--- a/elftosb2/elftosb_lexer.cpp
++++ b/elftosb2/elftosb_lexer.cpp
+@@ -722,9 +722,9 @@ static int yy_flex_strlen (yyconst char
+ */
+ YY_DECL
+ {
+- register yy_state_type yy_current_state;
+- register char *yy_cp, *yy_bp;
+- register int yy_act;
++ yy_state_type yy_current_state;
++ char *yy_cp, *yy_bp;
++ int yy_act;
+
+ #line 38 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_lexer.l"
+
+@@ -773,7 +773,7 @@ YY_DECL
+ yy_match:
+ do
+ {
+- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
++ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ if ( yy_accept[yy_current_state] )
+ {
+ (yy_last_accepting_state) = yy_current_state;
+@@ -1555,9 +1555,9 @@ void yyFlexLexer::LexerOutput( const cha
+ */
+ int yyFlexLexer::yy_get_next_buffer()
+ {
+- register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+- register char *source = (yytext_ptr);
+- register int number_to_move, i;
++ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
++ char *source = (yytext_ptr);
++ int number_to_move, i;
+ int ret_val;
+
+ if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+@@ -1689,14 +1689,14 @@ int yyFlexLexer::yy_get_next_buffer()
+
+ yy_state_type yyFlexLexer::yy_get_previous_state()
+ {
+- register yy_state_type yy_current_state;
+- register char *yy_cp;
++ yy_state_type yy_current_state;
++ char *yy_cp;
+
+ yy_current_state = (yy_start);
+
+ for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+ {
+- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
++ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ (yy_last_accepting_state) = yy_current_state;
+@@ -1721,10 +1721,10 @@ int yyFlexLexer::yy_get_next_buffer()
+ */
+ yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )
+ {
+- register int yy_is_jam;
+- register char *yy_cp = (yy_c_buf_p);
++ int yy_is_jam;
++ char *yy_cp = (yy_c_buf_p);
+
+- register YY_CHAR yy_c = 1;
++ YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ (yy_last_accepting_state) = yy_current_state;
+@@ -1742,9 +1742,9 @@ int yyFlexLexer::yy_get_next_buffer()
+ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+- void yyFlexLexer::yyunput( int c, register char* yy_bp)
++ void yyFlexLexer::yyunput( int c, char* yy_bp)
+ {
+- register char *yy_cp;
++ char *yy_cp;
+
+ yy_cp = (yy_c_buf_p);
+
+@@ -1754,10 +1754,10 @@ int yyFlexLexer::yy_get_next_buffer()
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+- register yy_size_t number_to_move = (yy_n_chars) + 2;
+- register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
++ yy_size_t number_to_move = (yy_n_chars) + 2;
++ char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+- register char *source =
++ char *source =
+ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+ while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+@@ -2190,7 +2190,7 @@ void yyFlexLexer::LexerError( yyconst ch
+ #ifndef yytext_ptr
+ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+ {
+- register int i;
++ int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+@@ -2199,7 +2199,7 @@ static void yy_flex_strncpy (char* s1, y
+ #ifdef YY_NEED_STRLEN
+ static int yy_flex_strlen (yyconst char * s )
+ {
+- register int n;
++ int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
More information about the lede-commits
mailing list