1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-05 06:27:37 +00:00

chinese/c2t: fix "error: address of register variable requested"

During an exp-run for llvm 13 (see bug 258209), it turned out that
chinese/c2t fails to build with clang 13:

cc -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -DCHINDICT=\"/usr/local/share/chinese/gb/TONEPY.tit\" -c c2t.c
c2t.c:99:3: error: address of register variable requested
  hz[2] = '\0';
  ^~
c2t.c:107:7: error: address of register variable requested
      hz[0] = (char)eka;
      ^~
c2t.c:108:7: error: address of register variable requested
      hz[1] = (char)toka;
      ^~
c2t.c:113:8: error: address of register variable requested
          if (hz[0] != (*pipo)[i] || hz[1] != (*pipo)[i+1]) continue;
              ^~
c2t.c:113:31: error: address of register variable requested
          if (hz[0] != (*pipo)[i] || hz[1] != (*pipo)[i+1]) continue;
                                     ^~
c2t.c:133:36: error: address of register variable requested
                fprintf(miss_chars, "%c", hz[0]);
                                          ^~
c2t.c:134:30: error: address of register variable requested
                fprintf(miss_chars, "%c ", hz[1]);
                                           ^~
c2t.c:143:17: error: address of register variable requested
                        printf("%c", hz[0]);
                                     ^~
c2t.c:144:18: error: address of register variable requested
                        printf("%c ", hz[1]);
                                      ^~
9 errors generated.

As indicated, arrays shouldn't be register variables as they don't have
addresses. In general, the register keyword is deprecated and should no
longer be used.

To fix this, use a command line flag to define "register" to empty.

PR:		258465
Approved by:	maintainer timeout (2 weeks)
MFH:		2021Q4
This commit is contained in:
Dimitry Andric 2021-09-12 22:48:25 +02:00
parent 7075120b4d
commit 0efce95397

View File

@ -13,6 +13,8 @@ COMMENT= Translates GB/Big5 encoding to tone pinyin
NO_WRKSUBDIR= yes
EXTRACT_ONLY= c2t.tar.gz
CFLAGS+= -Dregister=
do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/chinese/gb
${INSTALL_PROGRAM} ${WRKSRC}/c2t ${STAGEDIR}${PREFIX}/bin