commit:     1b00803e385f59726a20018c9911566af6646951
Author:     Pascal Jäger <pascal.jaeger <AT> leimstift <DOT> de>
AuthorDate: Fri Nov 11 21:59:27 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov 15 02:10:56 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b00803e

app-misc/bb: revbump, fix build for clang16 and lto

Closes: https://bugs.gentoo.org/880385
Closes: https://bugs.gentoo.org/854720

Signed-off-by: Pascal Jäger <pascal.jaeger <AT> leimstift.de>
Closes: https://github.com/gentoo/gentoo/pull/28233
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/bb-1.3.0_rc1-fix-build-for-clang16.patch | 23 ++++++++++++++++++++++
 .../files/bb-1.3.0_rc1-fix-lto-type-mismatch.patch | 18 +++++++++++++++++
 2 files changed, 41 insertions(+)

diff --git a/app-misc/bb/files/bb-1.3.0_rc1-fix-build-for-clang16.patch 
b/app-misc/bb/files/bb-1.3.0_rc1-fix-build-for-clang16.patch
new file mode 100644
index 000000000000..77b06874760b
--- /dev/null
+++ b/app-misc/bb/files/bb-1.3.0_rc1-fix-build-for-clang16.patch
@@ -0,0 +1,23 @@
+The two functions that are assigned to the formulas structs secnod field
+`int (*calculate)(number_t number_t number_t number_t)`
+(without the REGISTERS(3) which is just a macro to GCC regparm)
+
+However, clang16 has -Wincompatible-function-pointer-types by default, and it
+does not like that and complains, that assigning these functions into the
+structs fields is a problem due to incompatible types. 
+
+Bug: https://bugs.gentoo.org/880385
+
+Signed-off-by: Pascal Jäger <[email protected]>
+
+--- a/formulas.h
++++ b/formulas.h
+@@ -50,7 +50,7 @@ struct symetryinfo {
+ #define FORMULAMAGIC 1121
+ struct formula {
+     int magic;
+-    int (*calculate) (number_t, number_t, number_t, number_t) REGISTERS(3);
++    int (*calculate) (number_t, number_t, number_t, number_t);
+     char *name[2];
+     vinfo v;
+     int mandelbrot;

diff --git a/app-misc/bb/files/bb-1.3.0_rc1-fix-lto-type-mismatch.patch 
b/app-misc/bb/files/bb-1.3.0_rc1-fix-lto-type-mismatch.patch
new file mode 100644
index 000000000000..6442a9c9fd29
--- /dev/null
+++ b/app-misc/bb/files/bb-1.3.0_rc1-fix-lto-type-mismatch.patch
@@ -0,0 +1,18 @@
+In tex.c these variables are initialized as unsigned longs, so they should
+be declared as unsigned longs. I have scanned the code base for any usage
+of them in the negatives - nothing. 
+
+Bug: https://bugs.gentoo.org/854720
+
+Signed-off-by: Pascal Jäger <[email protected]>
+
+--- a/tex.h
++++ b/tex.h
+@@ -28,5 +28,6 @@ extern void disp3d(void);
+ extern void set_zbuff(void);
+ extern void unset_zbuff(void);
+ 
+-extern int alfa,beta,gama,centerx,centery,centerz;
++extern unsigned long alfa,beta,gama;
++extern int centerx,centery,centerz;
+ extern float zoom;

Reply via email to