Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Sep 2019 12:42:53 +0000 (UTC)
From:      Piotr Kubaj <pkubaj@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r511821 - head/chinese/pyzy/files
Message-ID:  <201909111242.x8BCgrOB041553@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pkubaj
Date: Wed Sep 11 12:42:53 2019
New Revision: 511821
URL: https://svnweb.freebsd.org/changeset/ports/511821

Log:
  chinese/pyzy: Fix build on powerpc64, aarch64 and armv*
  
  Add explicit signed to char to fix build where char is unsigned.
  ./DoublePinyinTable.h:166:5: error: constant expression evaluates to -1 which cannot be narrowed to type 'char' [-Wc++11-narrowing]
  
  PR:		240457
  Approved by:	linimon (mentor), henry.hu.sh@gmail.com (maintainer)

Added:
  head/chinese/pyzy/files/patch-src_DoublePinyinContext.cc   (contents, props changed)
  head/chinese/pyzy/files/patch-src_DoublePinyinTable.h   (contents, props changed)

Added: head/chinese/pyzy/files/patch-src_DoublePinyinContext.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/chinese/pyzy/files/patch-src_DoublePinyinContext.cc	Wed Sep 11 12:42:53 2019	(r511821)
@@ -0,0 +1,22 @@
+--- src/DoublePinyinContext.cc.orig	2019-09-09 19:45:16 UTC
++++ src/DoublePinyinContext.cc
+@@ -352,7 +352,7 @@ DoublePinyinContext::isPinyin (int i)
+         return NULL;
+     }
+ 
+-    char sheng = ID_TO_SHENG (i);
++    signed char sheng = ID_TO_SHENG (i);
+ 
+     if (sheng == PINYIN_ID_VOID) {
+         return NULL;
+@@ -365,8 +365,8 @@ inline const Pinyin *
+ DoublePinyinContext::isPinyin (int i, int j)
+ {
+     const Pinyin *pinyin = NULL;
+-    char sheng = ID_TO_SHENG (i);
+-    const char *yun = ID_TO_YUNS (j);
++    signed char sheng = ID_TO_SHENG (i);
++    const signed char *yun = ID_TO_YUNS (j);
+ 
+     do {
+         if (sheng == PINYIN_ID_VOID || yun[0] == PINYIN_ID_VOID)

Added: head/chinese/pyzy/files/patch-src_DoublePinyinTable.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/chinese/pyzy/files/patch-src_DoublePinyinTable.h	Wed Sep 11 12:42:53 2019	(r511821)
@@ -0,0 +1,121 @@
+--- src/DoublePinyinTable.h.orig	2019-09-09 19:30:30 UTC
++++ src/DoublePinyinTable.h
+@@ -26,7 +26,7 @@
+ 
+ #define PINYIN_ID_AEO PINYIN_ID_ZERO
+ 
+-static const char double_pinyin_mspy_sheng[] = {
++static const signed char double_pinyin_mspy_sheng[] = {
+     PINYIN_ID_AEO,  // A
+     PINYIN_ID_B,    // B
+     PINYIN_ID_C,    // C
+@@ -55,7 +55,7 @@ static const char double_pinyin_mspy_sheng[] = {
+     PINYIN_ID_Z,    // Z
+     PINYIN_ID_VOID, // ;
+ };
+-static const char double_pinyin_mspy_yun[][2] = {
++static const signed char double_pinyin_mspy_yun[][2] = {
+     { PINYIN_ID_A,    PINYIN_ID_VOID }, // A
+     { PINYIN_ID_OU,   PINYIN_ID_VOID }, // B
+     { PINYIN_ID_IAO,  PINYIN_ID_VOID }, // C
+@@ -84,7 +84,7 @@ static const char double_pinyin_mspy_yun[][2] = {
+     { PINYIN_ID_EI,   PINYIN_ID_VOID }, // Z
+     { PINYIN_ID_ING,  PINYIN_ID_VOID }, // ;
+ };
+-static const char double_pinyin_zrm_sheng[] = {
++static const signed char double_pinyin_zrm_sheng[] = {
+     PINYIN_ID_AEO,  // A
+     PINYIN_ID_B,    // B
+     PINYIN_ID_C,    // C
+@@ -113,7 +113,7 @@ static const char double_pinyin_zrm_sheng[] = {
+     PINYIN_ID_Z,    // Z
+     PINYIN_ID_VOID, // ;
+ };
+-static const char double_pinyin_zrm_yun[][2] = {
++static const signed char double_pinyin_zrm_yun[][2] = {
+     { PINYIN_ID_A,    PINYIN_ID_VOID }, // A
+     { PINYIN_ID_OU,   PINYIN_ID_VOID }, // B
+     { PINYIN_ID_IAO,  PINYIN_ID_VOID }, // C
+@@ -142,7 +142,7 @@ static const char double_pinyin_zrm_yun[][2] = {
+     { PINYIN_ID_EI,   PINYIN_ID_VOID }, // Z
+     { PINYIN_ID_VOID, PINYIN_ID_VOID }, // ;
+ };
+-static const char double_pinyin_abc_sheng[] = {
++static const signed char double_pinyin_abc_sheng[] = {
+     PINYIN_ID_ZH,   // A
+     PINYIN_ID_B,    // B
+     PINYIN_ID_C,    // C
+@@ -171,7 +171,7 @@ static const char double_pinyin_abc_sheng[] = {
+     PINYIN_ID_Z,    // Z
+     PINYIN_ID_VOID, // ;
+ };
+-static const char double_pinyin_abc_yun[][2] = {
++static const signed char double_pinyin_abc_yun[][2] = {
+     { PINYIN_ID_A,    PINYIN_ID_VOID }, // A
+     { PINYIN_ID_OU,   PINYIN_ID_VOID }, // B
+     { PINYIN_ID_IN,   PINYIN_ID_UAI  }, // C
+@@ -200,7 +200,7 @@ static const char double_pinyin_abc_yun[][2] = {
+     { PINYIN_ID_IAO,  PINYIN_ID_VOID }, // Z
+     { PINYIN_ID_VOID, PINYIN_ID_VOID }, // ;
+ };
+-static const char double_pinyin_zgpy_sheng[] = {
++static const signed char double_pinyin_zgpy_sheng[] = {
+     PINYIN_ID_CH,   // A
+     PINYIN_ID_B,    // B
+     PINYIN_ID_C,    // C
+@@ -229,7 +229,7 @@ static const char double_pinyin_zgpy_sheng[] = {
+     PINYIN_ID_Z,    // Z
+     PINYIN_ID_VOID, // ;
+ };
+-static const char double_pinyin_zgpy_yun[][2] = {
++static const signed char double_pinyin_zgpy_yun[][2] = {
+     { PINYIN_ID_A,    PINYIN_ID_VOID }, // A
+     { PINYIN_ID_IAO,  PINYIN_ID_VOID }, // B
+     { PINYIN_ID_VOID, PINYIN_ID_VOID }, // C
+@@ -258,7 +258,7 @@ static const char double_pinyin_zgpy_yun[][2] = {
+     { PINYIN_ID_OU,   PINYIN_ID_VOID }, // Z
+     { PINYIN_ID_ING,  PINYIN_ID_VOID }, // ;
+ };
+-static const char double_pinyin_pyjj_sheng[] = {
++static const signed char double_pinyin_pyjj_sheng[] = {
+     PINYIN_ID_ZERO, // A
+     PINYIN_ID_B,    // B
+     PINYIN_ID_C,    // C
+@@ -287,7 +287,7 @@ static const char double_pinyin_pyjj_sheng[] = {
+     PINYIN_ID_Z,    // Z
+     PINYIN_ID_VOID, // ;
+ };
+-static const char double_pinyin_pyjj_yun[][2] = {
++static const signed char double_pinyin_pyjj_yun[][2] = {
+     { PINYIN_ID_A,    PINYIN_ID_VOID }, // A
+     { PINYIN_ID_IA,   PINYIN_ID_UA   }, // B
+     { PINYIN_ID_UAN,  PINYIN_ID_VOID }, // C
+@@ -316,7 +316,7 @@ static const char double_pinyin_pyjj_yun[][2] = {
+     { PINYIN_ID_UN,   PINYIN_ID_VOID }, // Z
+     { PINYIN_ID_VOID, PINYIN_ID_VOID }, // ;
+ };
+-static const char double_pinyin_xhe_sheng[] = {
++static const signed char double_pinyin_xhe_sheng[] = {
+     PINYIN_ID_AEO,  // A
+     PINYIN_ID_B,    // B
+     PINYIN_ID_C,    // C
+@@ -345,7 +345,7 @@ static const char double_pinyin_xhe_sheng[] = {
+     PINYIN_ID_Z,    // Z
+     PINYIN_ID_VOID, // ;
+ };
+-static const char double_pinyin_xhe_yun[][2] = {
++static const signed char double_pinyin_xhe_yun[][2] = {
+     { PINYIN_ID_A,    PINYIN_ID_VOID }, // A
+     { PINYIN_ID_IN,   PINYIN_ID_VOID }, // B
+     { PINYIN_ID_AO,   PINYIN_ID_VOID }, // C
+@@ -376,8 +376,8 @@ static const char double_pinyin_xhe_yun[][2] = {
+ };
+ 
+ static const struct {
+-    const char  (&sheng)[27];
+-    const char  (&yun)[27][2];
++    const signed char  (&sheng)[27];
++    const signed char  (&yun)[27][2];
+ } double_pinyin_map [] = {
+     { double_pinyin_mspy_sheng, double_pinyin_mspy_yun },
+     { double_pinyin_zrm_sheng,  double_pinyin_zrm_yun  },



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201909111242.x8BCgrOB041553>