Skip to content

Commit 4794008

Browse files
committed
Move generated files to C++ to avoid 'register' warnings.
修改: ChangeLog 修改: Makefile.devel 修改: lib/generated/aliases.h 修改: lib/generated/aliases_sysaix.h 修改: lib/generated/aliases_syshpux.h 修改: lib/generated/aliases_sysosf1.h 修改: lib/generated/aliases_syssolaris.h 修改: lib/iconv.cpp 修改: lib/iconv_open1.h 修改: tools/genaliases.cpp
1 parent c16a53a commit 4794008

File tree

10 files changed

+152
-146
lines changed

10 files changed

+152
-146
lines changed

ChangeLog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
Remove unused canonical files and codes.
55
Move 'lib/gen*.c' to 'tools/gen*.cpp'.
66
Optimize 'Makefile.devel'.
7+
Move generated files to C++ to avoid 'register' warnings.
78

89
2023-09-09 ChenPi11 <wushengwuxi-msctinoulk@outlook.com>
910

Makefile.devel

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ lib/generated/aliases.gperf : lib/generated/genaliases
3535
./lib/generated/genaliases $@
3636

3737
lib/generated/aliases.h : lib/generated/aliases.gperf
38-
$(GPERF) -m 10 $< > $@
38+
$(GPERF) -L C++ -Z HashPool -m 10 $< > $@
3939

4040

4141
lib/generated/genaliases_sysaix : tools/genaliases.cpp
@@ -45,7 +45,7 @@ lib/generated/aliases_sysaix.gperf : lib/generated/genaliases_sysaix
4545
./lib/generated/genaliases_sysaix $@
4646

4747
lib/generated/aliases_sysaix.h : lib/generated/aliases_sysaix.gperf
48-
$(GPERF) -m 10 $< > $@
48+
$(GPERF) -L C++ -Z HashPool -m 10 $< > $@
4949

5050

5151
lib/generated/genaliases_syshpux : tools/genaliases.cpp
@@ -55,7 +55,7 @@ lib/generated/aliases_syshpux.gperf : lib/generated/genaliases_syshpux
5555
./lib/generated/genaliases_syshpux $@
5656

5757
lib/generated/aliases_syshpux.h : lib/generated/aliases_syshpux.gperf
58-
$(GPERF) -m 10 $< > $@
58+
$(GPERF) -L C++ -Z HashPool -m 10 $< > $@
5959

6060

6161
lib/generated/genaliases_sysosf1 : tools/genaliases.cpp
@@ -65,7 +65,7 @@ lib/generated/aliases_sysosf1.gperf : lib/generated/genaliases_sysosf1
6565
./lib/generated/genaliases_sysosf1 $@
6666

6767
lib/generated/aliases_sysosf1.h : lib/generated/aliases_sysosf1.gperf
68-
$(GPERF) -m 10 $< > $@
68+
$(GPERF) -L C++ -Z HashPool -m 10 $< > $@
6969

7070

7171
lib/generated/genaliases_syssolaris : tools/genaliases.cpp
@@ -75,7 +75,7 @@ lib/generated/aliases_syssolaris.gperf : lib/generated/genaliases_syssolaris
7575
./lib/generated/genaliases_syssolaris $@
7676

7777
lib/generated/aliases_syssolaris.h : lib/generated/aliases_syssolaris.gperf
78-
$(GPERF) -m 10 $< > $@
78+
$(GPERF) -L C++ -Z HashPool -m 10 $< > $@
7979

8080

8181
lib/generated/genaliases2_aix : tools/genaliases2.cpp

lib/generated/aliases.h

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
/* ANSI-C code produced by gperf version 3.1 */
2-
/* Command-line: gperf -m 10 lib/generated/aliases.gperf */
1+
/* C++ code produced by gperf version 3.1 */
2+
/* Command-line: gperf -L C++ -Z HashPool -m 10 lib/generated/aliases.gperf */
33
/* Computed positions: -k'1,3-11,$' */
44

55
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -39,15 +39,16 @@ struct alias { int name; unsigned int encoding_index; };
3939
#define MAX_HASH_VALUE 875
4040
/* maximum key range = 869, duplicates = 0 */
4141

42-
#ifdef __GNUC__
43-
__inline
44-
#else
45-
#ifdef __cplusplus
46-
inline
47-
#endif
48-
#endif
49-
static unsigned int
50-
aliases_hash (register const char *str, register size_t len)
42+
class HashPool
43+
{
44+
private:
45+
static inline unsigned int aliases_hash (const char *str, size_t len);
46+
public:
47+
static const struct alias *aliases_lookup (const char *str, size_t len);
48+
};
49+
50+
inline unsigned int
51+
HashPool::aliases_hash (const char *str, size_t len)
5152
{
5253
static const unsigned short asso_values[] =
5354
{
@@ -65,43 +66,43 @@ aliases_hash (register const char *str, register size_t len)
6566
876, 876, 876, 876, 876, 876, 876, 876, 876, 876,
6667
876, 876, 876, 876, 876, 876, 876, 876
6768
};
68-
register unsigned int hval = len;
69+
unsigned int hval = len;
6970

7071
switch (hval)
7172
{
7273
default:
73-
hval += asso_values[(unsigned char)str[10]];
74+
hval += asso_values[static_cast<unsigned char>(str[10])];
7475
/*FALLTHROUGH*/
7576
case 10:
76-
hval += asso_values[(unsigned char)str[9]];
77+
hval += asso_values[static_cast<unsigned char>(str[9])];
7778
/*FALLTHROUGH*/
7879
case 9:
79-
hval += asso_values[(unsigned char)str[8]];
80+
hval += asso_values[static_cast<unsigned char>(str[8])];
8081
/*FALLTHROUGH*/
8182
case 8:
82-
hval += asso_values[(unsigned char)str[7]];
83+
hval += asso_values[static_cast<unsigned char>(str[7])];
8384
/*FALLTHROUGH*/
8485
case 7:
85-
hval += asso_values[(unsigned char)str[6]];
86+
hval += asso_values[static_cast<unsigned char>(str[6])];
8687
/*FALLTHROUGH*/
8788
case 6:
88-
hval += asso_values[(unsigned char)str[5]];
89+
hval += asso_values[static_cast<unsigned char>(str[5])];
8990
/*FALLTHROUGH*/
9091
case 5:
91-
hval += asso_values[(unsigned char)str[4]];
92+
hval += asso_values[static_cast<unsigned char>(str[4])];
9293
/*FALLTHROUGH*/
9394
case 4:
94-
hval += asso_values[(unsigned char)str[3]];
95+
hval += asso_values[static_cast<unsigned char>(str[3])];
9596
/*FALLTHROUGH*/
9697
case 3:
97-
hval += asso_values[(unsigned char)str[2]];
98+
hval += asso_values[static_cast<unsigned char>(str[2])];
9899
/*FALLTHROUGH*/
99100
case 2:
100101
case 1:
101-
hval += asso_values[(unsigned char)str[0]];
102+
hval += asso_values[static_cast<unsigned char>(str[0])];
102103
break;
103104
}
104-
return hval + asso_values[(unsigned char)str[len - 1]];
105+
return hval + asso_values[static_cast<unsigned char>(str[len - 1])];
105106
}
106107

107108
struct stringpool_t
@@ -1705,18 +1706,18 @@ static const struct alias aliases[] =
17051706
};
17061707

17071708
const struct alias *
1708-
aliases_lookup (register const char *str, register size_t len)
1709+
HashPool::aliases_lookup (const char *str, size_t len)
17091710
{
17101711
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
17111712
{
1712-
register unsigned int key = aliases_hash (str, len);
1713+
unsigned int key = aliases_hash (str, len);
17131714

17141715
if (key <= MAX_HASH_VALUE)
17151716
{
1716-
register int o = aliases[key].name;
1717+
int o = aliases[key].name;
17171718
if (o >= 0)
17181719
{
1719-
register const char *s = o + stringpool;
1720+
const char *s = o + stringpool;
17201721

17211722
if (*str == *s && !strcmp (str + 1, s + 1))
17221723
return &aliases[key];

lib/generated/aliases_sysaix.h

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
/* ANSI-C code produced by gperf version 3.1 */
2-
/* Command-line: gperf -m 10 lib/generated/aliases_sysaix.gperf */
1+
/* C++ code produced by gperf version 3.1 */
2+
/* Command-line: gperf -L C++ -Z HashPool -m 10 lib/generated/aliases_sysaix.gperf */
33
/* Computed positions: -k'1,3-11,$' */
44

55
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -39,15 +39,16 @@ struct alias { int name; unsigned int encoding_index; };
3939
#define MAX_HASH_VALUE 1046
4040
/* maximum key range = 1031, duplicates = 0 */
4141

42-
#ifdef __GNUC__
43-
__inline
44-
#else
45-
#ifdef __cplusplus
46-
inline
47-
#endif
48-
#endif
49-
static unsigned int
50-
aliases_hash (register const char *str, register size_t len)
42+
class HashPool
43+
{
44+
private:
45+
static inline unsigned int aliases_hash (const char *str, size_t len);
46+
public:
47+
static const struct alias *aliases_lookup (const char *str, size_t len);
48+
};
49+
50+
inline unsigned int
51+
HashPool::aliases_hash (const char *str, size_t len)
5152
{
5253
static const unsigned short asso_values[] =
5354
{
@@ -65,43 +66,43 @@ aliases_hash (register const char *str, register size_t len)
6566
1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
6667
1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047
6768
};
68-
register unsigned int hval = len;
69+
unsigned int hval = len;
6970

7071
switch (hval)
7172
{
7273
default:
73-
hval += asso_values[(unsigned char)str[10]];
74+
hval += asso_values[static_cast<unsigned char>(str[10])];
7475
/*FALLTHROUGH*/
7576
case 10:
76-
hval += asso_values[(unsigned char)str[9]];
77+
hval += asso_values[static_cast<unsigned char>(str[9])];
7778
/*FALLTHROUGH*/
7879
case 9:
79-
hval += asso_values[(unsigned char)str[8]];
80+
hval += asso_values[static_cast<unsigned char>(str[8])];
8081
/*FALLTHROUGH*/
8182
case 8:
82-
hval += asso_values[(unsigned char)str[7]];
83+
hval += asso_values[static_cast<unsigned char>(str[7])];
8384
/*FALLTHROUGH*/
8485
case 7:
85-
hval += asso_values[(unsigned char)str[6]];
86+
hval += asso_values[static_cast<unsigned char>(str[6])];
8687
/*FALLTHROUGH*/
8788
case 6:
88-
hval += asso_values[(unsigned char)str[5]];
89+
hval += asso_values[static_cast<unsigned char>(str[5])];
8990
/*FALLTHROUGH*/
9091
case 5:
91-
hval += asso_values[(unsigned char)str[4]];
92+
hval += asso_values[static_cast<unsigned char>(str[4])];
9293
/*FALLTHROUGH*/
9394
case 4:
94-
hval += asso_values[(unsigned char)str[3]];
95+
hval += asso_values[static_cast<unsigned char>(str[3])];
9596
/*FALLTHROUGH*/
9697
case 3:
97-
hval += asso_values[(unsigned char)str[2]];
98+
hval += asso_values[static_cast<unsigned char>(str[2])];
9899
/*FALLTHROUGH*/
99100
case 2:
100101
case 1:
101-
hval += asso_values[(unsigned char)str[0]];
102+
hval += asso_values[static_cast<unsigned char>(str[0])];
102103
break;
103104
}
104-
return hval + asso_values[(unsigned char)str[len - 1]];
105+
return hval + asso_values[static_cast<unsigned char>(str[len - 1])];
105106
}
106107

107108
struct stringpool_t
@@ -1769,18 +1770,18 @@ static const struct alias aliases[] =
17691770
};
17701771

17711772
const struct alias *
1772-
aliases_lookup (register const char *str, register size_t len)
1773+
HashPool::aliases_lookup (const char *str, size_t len)
17731774
{
17741775
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
17751776
{
1776-
register unsigned int key = aliases_hash (str, len);
1777+
unsigned int key = aliases_hash (str, len);
17771778

17781779
if (key <= MAX_HASH_VALUE)
17791780
{
1780-
register int o = aliases[key].name;
1781+
int o = aliases[key].name;
17811782
if (o >= 0)
17821783
{
1783-
register const char *s = o + stringpool;
1784+
const char *s = o + stringpool;
17841785

17851786
if (*str == *s && !strcmp (str + 1, s + 1))
17861787
return &aliases[key];

lib/generated/aliases_syshpux.h

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
/* ANSI-C code produced by gperf version 3.1 */
2-
/* Command-line: gperf -m 10 lib/generated/aliases_syshpux.gperf */
1+
/* C++ code produced by gperf version 3.1 */
2+
/* Command-line: gperf -L C++ -Z HashPool -m 10 lib/generated/aliases_syshpux.gperf */
33
/* Computed positions: -k'1,3-11,$' */
44

55
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -39,15 +39,16 @@ struct alias { int name; unsigned int encoding_index; };
3939
#define MAX_HASH_VALUE 1164
4040
/* maximum key range = 1142, duplicates = 0 */
4141

42-
#ifdef __GNUC__
43-
__inline
44-
#else
45-
#ifdef __cplusplus
46-
inline
47-
#endif
48-
#endif
49-
static unsigned int
50-
aliases_hash (register const char *str, register size_t len)
42+
class HashPool
43+
{
44+
private:
45+
static inline unsigned int aliases_hash (const char *str, size_t len);
46+
public:
47+
static const struct alias *aliases_lookup (const char *str, size_t len);
48+
};
49+
50+
inline unsigned int
51+
HashPool::aliases_hash (const char *str, size_t len)
5152
{
5253
static const unsigned short asso_values[] =
5354
{
@@ -65,43 +66,43 @@ aliases_hash (register const char *str, register size_t len)
6566
1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
6667
1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165
6768
};
68-
register unsigned int hval = len;
69+
unsigned int hval = len;
6970

7071
switch (hval)
7172
{
7273
default:
73-
hval += asso_values[(unsigned char)str[10]];
74+
hval += asso_values[static_cast<unsigned char>(str[10])];
7475
/*FALLTHROUGH*/
7576
case 10:
76-
hval += asso_values[(unsigned char)str[9]];
77+
hval += asso_values[static_cast<unsigned char>(str[9])];
7778
/*FALLTHROUGH*/
7879
case 9:
79-
hval += asso_values[(unsigned char)str[8]];
80+
hval += asso_values[static_cast<unsigned char>(str[8])];
8081
/*FALLTHROUGH*/
8182
case 8:
82-
hval += asso_values[(unsigned char)str[7]];
83+
hval += asso_values[static_cast<unsigned char>(str[7])];
8384
/*FALLTHROUGH*/
8485
case 7:
85-
hval += asso_values[(unsigned char)str[6]];
86+
hval += asso_values[static_cast<unsigned char>(str[6])];
8687
/*FALLTHROUGH*/
8788
case 6:
88-
hval += asso_values[(unsigned char)str[5]];
89+
hval += asso_values[static_cast<unsigned char>(str[5])];
8990
/*FALLTHROUGH*/
9091
case 5:
91-
hval += asso_values[(unsigned char)str[4]];
92+
hval += asso_values[static_cast<unsigned char>(str[4])];
9293
/*FALLTHROUGH*/
9394
case 4:
94-
hval += asso_values[(unsigned char)str[3]];
95+
hval += asso_values[static_cast<unsigned char>(str[3])];
9596
/*FALLTHROUGH*/
9697
case 3:
97-
hval += asso_values[(unsigned char)str[2]];
98+
hval += asso_values[static_cast<unsigned char>(str[2])];
9899
/*FALLTHROUGH*/
99100
case 2:
100101
case 1:
101-
hval += asso_values[(unsigned char)str[0]];
102+
hval += asso_values[static_cast<unsigned char>(str[0])];
102103
break;
103104
}
104-
return hval + asso_values[(unsigned char)str[len - 1]];
105+
return hval + asso_values[static_cast<unsigned char>(str[len - 1])];
105106
}
106107

107108
struct stringpool_t
@@ -1768,18 +1769,18 @@ static const struct alias aliases[] =
17681769
};
17691770

17701771
const struct alias *
1771-
aliases_lookup (register const char *str, register size_t len)
1772+
HashPool::aliases_lookup (const char *str, size_t len)
17721773
{
17731774
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
17741775
{
1775-
register unsigned int key = aliases_hash (str, len);
1776+
unsigned int key = aliases_hash (str, len);
17761777

17771778
if (key <= MAX_HASH_VALUE)
17781779
{
1779-
register int o = aliases[key].name;
1780+
int o = aliases[key].name;
17801781
if (o >= 0)
17811782
{
1782-
register const char *s = o + stringpool;
1783+
const char *s = o + stringpool;
17831784

17841785
if (*str == *s && !strcmp (str + 1, s + 1))
17851786
return &aliases[key];

0 commit comments

Comments
 (0)