Merge branch 'clang-build' into 'master'

Add clang build to CI

See merge request cairo/cairo!572
This commit is contained in:
Adrian Johnson 2024-07-05 23:10:13 +00:00
commit 5338d3f50d
2 changed files with 15 additions and 6 deletions

View file

@ -16,7 +16,7 @@ workflow:
variables:
FDO_UPSTREAM_REPO: 'cairo/cairo'
FDO_DISTRIBUTION_VERSION: '40'
FDO_DISTRIBUTION_TAG: '2024-05-25.0'
FDO_DISTRIBUTION_TAG: '2024-06-06.0'
# TODO: should probably get its own image at some point instead of reusing the GStreamer one
# See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/.gitlab-image-tags.yml for latest
@ -96,6 +96,7 @@ fedora image:
fonttools
util-linux
poppler-utils
clang
.build fedora:
extends:
@ -106,8 +107,9 @@ fedora image:
MESON_ARGS: >
${DEFAULT_MESON_ARGS}
${EXTRA_MESON_ARGS}
--werror
CFLAGS: '-Wno-error=deprecated-declarations'
script:
- export CFLAGS="-Werror -Wno-error=deprecated-declarations"
- meson setup ${MESON_ARGS} builddir
- meson compile -C builddir
@ -137,6 +139,16 @@ fedora build static:
variables:
EXTRA_MESON_ARGS: '--default-library=static'
fedora build clang:
extends:
- '.build fedora'
variables:
EXTRA_MESON_ARGS: '--default-library=shared'
script:
- export CC=clang
- meson setup ${MESON_ARGS} builddir
- meson compile -C builddir
.test fedora:
dependencies:
- 'fedora build shared'

View file

@ -39,6 +39,7 @@
#include "cairo-script-interpreter.h"
#include <stddef.h>
#include <setjmp.h>
#ifdef _MSC_VER
@ -123,10 +124,6 @@
#endif
#ifdef __GNUC__
#ifndef offsetof
#define offsetof(type, member) \
((char *) &((type *) 0)->member - (char *) 0)
#endif
#define csi_container_of(ptr, type, member) ({ \
const typeof(((type *) 0)->member) *mptr__ = (ptr); \
(type *) ((char *) mptr__ - offsetof (type, member)); \