Date: Sat, 26 Nov 2016 12:36:12 +0000 (UTC) From: Raphael Kubo da Costa <rakuco@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r309191 - head/usr.bin/dtc Message-ID: <201611261236.uAQCaCd7097610@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rakuco (ports committer) Date: Sat Nov 26 12:36:11 2016 New Revision: 309191 URL: https://svnweb.freebsd.org/changeset/base/309191 Log: fdt: Expect strchr() to return a const char* In C, strchr(3) returns a char*, whereas C++ defines two overloads: * const char *strchr(const char*, int) * char *strchr(char*, int) Building fdt.cc (with the WITHOUT_GPL_DTC knob set) with libc++ 3.9.0 (imported in r309124) was failing because libc++ r260377 added the first overload to string.h, leading to failures such as: fdt.cc:1638:8: error: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *' Just define val as a const char* to fix it. Upstreamed in https://github.com/davidchisnall/dtc/pull/14 Reviewed by: emaste Approved by: emaste Modified: head/usr.bin/dtc/fdt.cc Modified: head/usr.bin/dtc/fdt.cc ============================================================================== --- head/usr.bin/dtc/fdt.cc Sat Nov 26 10:36:48 2016 (r309190) +++ head/usr.bin/dtc/fdt.cc Sat Nov 26 12:36:11 2016 (r309191) @@ -1635,7 +1635,7 @@ device_tree::parse_dts(const string &fn, bool device_tree::parse_define(const char *def) { - char *val = strchr(def, '='); + const char *val = strchr(def, '='); if (!val) { if (strlen(def) != 0)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611261236.uAQCaCd7097610>