gcc: gcc 6.3.0 fix comparison between pointer and integer
authorKevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Fri, 9 Jun 2017 12:29:48 +0000 (13:29 +0100)
committerJohn Crispin <john@phrozen.org>
Fri, 27 Apr 2018 06:54:15 +0000 (08:54 +0200)
Fix FS#832

/source/build_dir/toolchain-mips_74kc_gcc-6.3.0_musl/gcc-6.3.0/gcc/ubsan.c:
In function 'bool ubsan_use_new_style_p(location_t)':
/source/build_dir/toolchain-mips_74kc_gcc-6.3.0_musl/gcc-6.3.0/gcc/ubsan.c:1474:23:
error: ISO C++ forbids comparison between pointer and integer
[-fpermissive]
       || xloc.file == '\0' || xloc.file[0] == '\xff'
                       ^~~~
make[5]: *** [Makefile:1085: ubsan.o] Error 1

https://www.viva64.com/en/b/0425/#ID0EMGCI

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
(cherry picked from commit 22e2b402aee17684781ae705a91fb3645299de9c)

toolchain/gcc/patches/6.3.0/960-fix-ubsan-defref.patch [new file with mode: 0644]

diff --git a/toolchain/gcc/patches/6.3.0/960-fix-ubsan-defref.patch b/toolchain/gcc/patches/6.3.0/960-fix-ubsan-defref.patch
new file mode 100644 (file)
index 0000000..72d86c1
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/gcc/ubsan.c
++++ b/gcc/ubsan.c
+@@ -1471,7 +1471,7 @@ ubsan_use_new_style_p (location_t loc)
+   expanded_location xloc = expand_location (loc);
+   if (xloc.file == NULL || strncmp (xloc.file, "\1", 2) == 0
+-      || xloc.file == '\0' || xloc.file[0] == '\xff'
++      || xloc.file[0] == '\0' || xloc.file[0] == '\xff'
+       || xloc.file[1] == '\xff')
+     return false;