ports/devel/bazel5/files/extra-patch-upb_bazel_build__defs.bzl
Dimitry Andric a34c378a05 devel/bazel5: fix build with clang 19
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
2024-10-30 19:34:11 +01:00

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