3 commits - .gitlab-ci.yml util/cairo-script

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jul 5 23:10:16 UTC 2024


 .gitlab-ci.yml                           |   16 ++++++++++++++--
 util/cairo-script/cairo-script-private.h |    5 +----
 2 files changed, 15 insertions(+), 6 deletions(-)

New commits:
commit 5338d3f50d21461fad2f5f3086707cf56a4d13ec
Merge: 19c15cedb 86a6a3a2e
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Fri Jul 5 23:10:13 2024 +0000

    Merge branch 'clang-build' into 'master'
    
    Add clang build to CI
    
    See merge request cairo/cairo!572

commit 86a6a3a2ec389c82326510018f52e465c5162b65
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Sat Jul 6 07:24:44 2024 +0930

    offsetof is ANSI C
    
    Fixes
    
      166 |     A = csi_container_of (link, csi_blob_t, list);
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../util/cairo-script/cairo-script-private.h:132:33: note: expanded from macro 'csi_container_of'
      132 |     (type *) ((char *) mptr__ - offsetof (type, member)); \
          |                                 ^~~~~~~~~~~~~~~~~~~~~~~
    ../util/cairo-script/cairo-script-private.h:128:37: note: expanded from macro 'offsetof'
      128 |     ((char *) &((type *) 0)->member - (char *) 0)
          |                                     ^ ~~~~~~~~~~

diff --git a/util/cairo-script/cairo-script-private.h b/util/cairo-script/cairo-script-private.h
index a4cd1712f..96f9248d5 100644
--- a/util/cairo-script/cairo-script-private.h
+++ b/util/cairo-script/cairo-script-private.h
@@ -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)); \
commit f4096fc26babd7be8c32a5de482e65ab22d716bd
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Thu Jul 4 18:02:20 2024 +0930

    Add clang build to CI

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0202fad0a..8465c87ae 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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'


More information about the cairo-commit mailing list