mirror of
https://git.freebsd.org/ports.git
synced 2025-06-01 02:46:27 -04:00
Fix build on aarch64 and with Clang 6. The modified patch explains
the error message and what is changed. Bump PORTREVISION because it contains a code change. kde@ bumped into this while building x11/kde4 for aarch64. Build on 12-CURRENT aarch64, 11-STABLE amd64 and 10.3 i386. Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D14008
This commit is contained in:
parent
16aabfc1d2
commit
1d26e4bf2b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=459625
2 changed files with 79 additions and 2 deletions
|
@ -3,7 +3,7 @@
|
|||
|
||||
PORTNAME= xplanet
|
||||
PORTVERSION= 1.3.0
|
||||
PORTREVISION= 10
|
||||
PORTREVISION= 11
|
||||
CATEGORIES= astro geography
|
||||
MASTER_SITES= SF
|
||||
|
||||
|
|
|
@ -1,4 +1,18 @@
|
|||
--- src/readConfig.cpp.orig 2012-03-03 03:20:05 UTC
|
||||
The later chunks (using i2b) are compile fixes on aarch64 (presumably with
|
||||
clang6 as well). Typical error message reads
|
||||
|
||||
readConfig.cpp:407:54: error: non-constant-expression cannot be narrowed
|
||||
from type 'int' to 'unsigned char' in initializer list [-Wc++11-narrowing]
|
||||
unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
|
||||
^~~~~~~~
|
||||
readConfig.cpp:407:54: note: insert an explicit cast to silence this issue
|
||||
unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
|
||||
^~~~~~~~
|
||||
static_cast<unsigned char>( )
|
||||
|
||||
Since it happens in a half-dozen places, introduce a trivial helper function.
|
||||
|
||||
--- src/readConfig.cpp.orig 2018-01-21 16:58:09 UTC
|
||||
+++ src/readConfig.cpp
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <fstream>
|
||||
|
@ -8,3 +22,66 @@
|
|||
using namespace std;
|
||||
|
||||
#include "body.h"
|
||||
@@ -20,6 +21,8 @@ using namespace std;
|
||||
static PlanetProperties *defaultProperties;
|
||||
static PlanetProperties *currentProperties;
|
||||
|
||||
+static inline unsigned char i2b( int x ) { return static_cast<unsigned int>(x) & 0xffU; }
|
||||
+
|
||||
static void
|
||||
readConfig(const char *line, PlanetProperties *planetProperties[])
|
||||
{
|
||||
@@ -49,7 +52,7 @@ readConfig(const char *line, PlanetPrope
|
||||
int r, g, b;
|
||||
if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
|
||||
{
|
||||
- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
|
||||
+ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
|
||||
currentProperties->ArcColor(color);
|
||||
}
|
||||
else
|
||||
@@ -179,7 +182,7 @@ readConfig(const char *line, PlanetPrope
|
||||
int r, g, b;
|
||||
if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
|
||||
{
|
||||
- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
|
||||
+ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
|
||||
currentProperties->Color(color);
|
||||
}
|
||||
else
|
||||
@@ -244,7 +247,7 @@ readConfig(const char *line, PlanetPrope
|
||||
int r, g, b;
|
||||
if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
|
||||
{
|
||||
- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
|
||||
+ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
|
||||
currentProperties->GridColor(color);
|
||||
}
|
||||
else
|
||||
@@ -296,7 +299,7 @@ readConfig(const char *line, PlanetPrope
|
||||
int r, g, b;
|
||||
if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
|
||||
{
|
||||
- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
|
||||
+ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
|
||||
currentProperties->MarkerColor(color);
|
||||
}
|
||||
else
|
||||
@@ -403,7 +406,7 @@ readConfig(const char *line, PlanetPrope
|
||||
int r, g, b;
|
||||
if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
|
||||
{
|
||||
- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
|
||||
+ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
|
||||
currentProperties->OrbitColor(color);
|
||||
}
|
||||
else
|
||||
@@ -473,7 +476,7 @@ readConfig(const char *line, PlanetPrope
|
||||
int r, g, b;
|
||||
if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
|
||||
{
|
||||
- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
|
||||
+ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
|
||||
currentProperties->TextColor(color);
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Add table
Reference in a new issue