forked from Lainports/freebsd-ports
Clang 19 has become more strict about C23 extensions, which results in
errors building devel/bazel5:
external/upb/upb/upb.c:215:25: error: defining a type within '__builtin_offsetof' is a C23 extension [-Werror,-Wc23-extensions]
215 | n = UPB_ALIGN_DOWN(n, UPB_ALIGN_OF(upb_arena));
| ^~~~~~~~~~~~~~~~~~~~~~~
external/upb/upb/port_def.inc:94:38: note: expanded from macro 'UPB_ALIGN_OF'
94 | #define UPB_ALIGN_OF(type) offsetof (struct { char c; type member; }, member)
| ^~~~~~
/usr/include/stddef.h:64:42: note: expanded from macro 'offsetof'
64 | #define offsetof(type, field) __offsetof(type, field)
| ^~~~
/usr/include/sys/cdefs.h:324:53: note: expanded from macro '__offsetof'
324 | #define __offsetof(type, field) __builtin_offsetof(type, field)
| ^~~~
external/upb/upb/port_def.inc:92:48: note: expanded from macro 'UPB_ALIGN_DOWN'
92 | #define UPB_ALIGN_DOWN(size, align) ((size) / (align) * (align))
| ^~~~~
To work around this, amend extra-patch-upb_bazel_build__defs.bzl to also
add -Wno-c23-extensions. Alternatively, the -Werror option could be
taken out.
PR: 282166
Approved by: vishwin (maintainer)
MFH: 2024Q4
19 lines
747 B
Python
19 lines
747 B
Python
--- bazel/build_defs.bzl.orig 2023-08-27 11:49:04.950868000 +0100
|
|
+++ bazel/build_defs.bzl 2023-08-27 11:51:17.441304000 +0100
|
|
@@ -35,6 +35,7 @@
|
|
# "-Wshorten-64-to-32", # not in GCC (and my Kokoro images doesn't have Clang)
|
|
"-Werror",
|
|
"-Wno-long-long",
|
|
+ "-Wno-deprecated-copy",
|
|
# copybara:strip_end
|
|
],
|
|
})
|
|
@@ -49,6 +50,8 @@
|
|
"-Werror=pedantic",
|
|
"-Wall",
|
|
"-Wstrict-prototypes",
|
|
+ "-Wno-gnu-offsetof-extensions",
|
|
+ "-Wno-c23-extensions",
|
|
# GCC (at least) emits spurious warnings for this that cannot be fixed
|
|
# without introducing redundant initialization (with runtime cost):
|
|
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635
|