about summary refs log tree commit diff
path: root/src/c-stdaux
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2026-07-03 19:53:18 +0200
committerMichael Biebl <biebl@debian.org>2026-07-03 19:53:18 +0200
commit537bfce2bda471c92caabd388589230200891509 (patch)
treeaedeccfaf0ba52c238ecf51fc009c0db5d4b60f0 /src/c-stdaux
parent869e9027026cdbb15d4e4a6327ff41d2697858eb (diff)
New upstream version 1.58~rc1 upstream/1.58_rc1
Diffstat (limited to 'src/c-stdaux')
-rw-r--r--src/c-stdaux/.github/workflows/ci.yml32
-rw-r--r--src/c-stdaux/AUTHORS5
-rw-r--r--src/c-stdaux/NEWS.md22
-rw-r--r--src/c-stdaux/meson.build2
-rw-r--r--src/c-stdaux/src/docs/.readthedocs.yaml (renamed from src/c-stdaux/.readthedocs.yaml)8
-rw-r--r--src/c-stdaux/src/docs/conf.py13
-rw-r--r--src/c-stdaux/src/docs/requirements.txt6
-rw-r--r--src/c-stdaux/src/meson.build2
-rw-r--r--src/c-stdaux/src/test-basic.c4
9 files changed, 65 insertions, 29 deletions
diff --git a/src/c-stdaux/.github/workflows/ci.yml b/src/c-stdaux/.github/workflows/ci.yml
index 70a673f7..38676604 100644
--- a/src/c-stdaux/.github/workflows/ci.yml
+++ b/src/c-stdaux/.github/workflows/ci.yml
@@ -1,10 +1,15 @@
-name: Continuous Integration
+name: "Continuous Integration"
 
 on:
-  push:
   pull_request:
-  schedule:
-  - cron:  '0 0 * * *'
+  push:
+    branches-ignore: ["pr/**"]
+    tags: ["**"]
+  workflow_dispatch:
+
+defaults:
+  run:
+    shell: "bash"
 
 jobs:
   ci-linux:
@@ -23,13 +28,18 @@ jobs:
       cabuild_ref: "v1"
       linux: false
       macos: true
-  ci-windows:
-    name: Windows CI
-    uses: bus1/cabuild/.github/workflows/ci-c-util.yml@v1
-    with:
-      cabuild_ref: "v1"
-      linux: false
-      windows: true
+#
+# Windows CI is disabled, as it constantly causes headaches and no-one
+# takes care of them. If you need c-stdaux on Windows, feel free to help out.
+#
+#  ci-windows:
+#    name: Windows CI
+#    uses: bus1/cabuild/.github/workflows/ci-c-util.yml@v1
+#    with:
+#      cabuild_ref: "v1"
+#      linux: false
+#      windows: true
+#
   ci-docs:
     name: Documentation CI
     uses: bus1/cabuild/.github/workflows/ci-sphinx.yml@v1
diff --git a/src/c-stdaux/AUTHORS b/src/c-stdaux/AUTHORS
index 0f2a73fd..7d0e3c90 100644
--- a/src/c-stdaux/AUTHORS
+++ b/src/c-stdaux/AUTHORS
@@ -31,13 +31,16 @@ AUTHORS-LGPL:
 
 COPYRIGHT: (ordered alphabetically)
         Copyright (C) 2018-2022 Red Hat, Inc.
+        Copyright (C) 2022-2023 David Rheinsberg
 
 AUTHORS: (ordered alphabetically)
-        David Rheinsberg <david.rheinsberg@gmail.com>
+        Adrian Vovk <adrianvovk@gmail.com>
+        David Rheinsberg <david@readahead.eu>
         Evgeny Vereshchagin <evvers@ya.ru>
         Jan Engelhardt <jengelh@inai.de>
         Lorenzo Arena <lorenzo.arena@powersoft.com>
         Michele Dionisio <michele.dionisio@gmail.com>
+        Nikita Popov <npopov@redhat.com>
         Thomas Haller <thaller@redhat.com>
         Tom Gundersen <teg@jklm.no>
         Yuri Chornoivan <yurchor@ukr.net>
diff --git a/src/c-stdaux/NEWS.md b/src/c-stdaux/NEWS.md
index 8e7b3c71..823a584e 100644
--- a/src/c-stdaux/NEWS.md
+++ b/src/c-stdaux/NEWS.md
@@ -1,5 +1,27 @@
 # c-stdaux - Auxiliary macros and functions for the C standard library
 
+## CHANGES WITH 1.6.0:
+
+        * Multiple fixes to the test-suite, which fix differences in the
+          optimizations performed by GCC and clang.
+
+        Contributions from: David Rheinsberg, ms178, Nikita Popov
+
+        - Dußlingen, 2025-06-16
+
+## CHANGES WITH 1.5.0:
+
+        * Change the meson variable exports to avoid dashes in variable names,
+          given that pkg-config seems to be unable to deal with them. The old
+          variables are still exported for compatibility, but new variables
+          without dashes are now provided as well.
+
+        * Improve warning-resiliency of `c_assume_aligned` on older compilers.
+
+        Contributions from: Adrian Vovk, David Rheinsberg, Thomas Haller
+
+        - Dußlingen, 2023-12-12
+
 ## CHANGES WITH 1.4.0:
 
         * New compiler-builtin c_assume_aligned() allows hinting alignment
diff --git a/src/c-stdaux/meson.build b/src/c-stdaux/meson.build
index 6af822be..94a40b28 100644
--- a/src/c-stdaux/meson.build
+++ b/src/c-stdaux/meson.build
@@ -10,7 +10,7 @@ project(
         ],
         license: 'Apache',
         meson_version: '>=0.60.0',
-        version: '1.4.0',
+        version: '1.6.0',
 )
 major = meson.project_version().split('.')[0]
 project_description = 'Auxiliary macros and functions for the C standard library'
diff --git a/src/c-stdaux/.readthedocs.yaml b/src/c-stdaux/src/docs/.readthedocs.yaml
index 5bbe6ac1..6b1f0d69 100644
--- a/src/c-stdaux/.readthedocs.yaml
+++ b/src/c-stdaux/src/docs/.readthedocs.yaml
@@ -4,17 +4,19 @@ version: 2
 
 build:
   apt_packages:
-  - "clang"
-  os: "ubuntu-22.04"
+  - "libclang-14-dev"
+  os: "ubuntu-lts-latest"
   tools:
     python: "3"
+  jobs:
+    post_install:
+      - python -m pip install --upgrade --no-cache-dir clang==14.0.6
 
 formats: "all"
 
 python:
   install:
   - requirements: "src/docs/requirements.txt"
-  system_packages: true
 
 sphinx:
   configuration: "src/docs/conf.py"
diff --git a/src/c-stdaux/src/docs/conf.py b/src/c-stdaux/src/docs/conf.py
index b036efa5..a4f29629 100644
--- a/src/c-stdaux/src/docs/conf.py
+++ b/src/c-stdaux/src/docs/conf.py
@@ -25,20 +25,17 @@ capidocs.kerneldoc.hawkmoth_conf()
 exclude_patterns = []
 
 extensions = [
+    'capidocs.kerneldoc',
     'hawkmoth',
 ]
 
 # Hawkmoth Options
 
-cautodoc_clang = capidocs.kerneldoc.hawkmoth_include_args()
-cautodoc_clang += ["-I" + os.path.abspath("..")]
-cautodoc_clang += ["-DC_COMPILER_DOCS"]
+hawkmoth_clang = capidocs.kerneldoc.hawkmoth_include_args()
+hawkmoth_clang += ["-I" + os.path.abspath("..")]
+hawkmoth_clang += ["-DC_COMPILER_DOCS"]
 
-cautodoc_root = os.path.abspath('..')
-
-cautodoc_transformations = {
-    'kerneldoc': capidocs.kerneldoc.hawkmoth_converter,
-}
+hawkmoth_root = os.path.abspath('..')
 
 # HTML Options
 
diff --git a/src/c-stdaux/src/docs/requirements.txt b/src/c-stdaux/src/docs/requirements.txt
index 97872db1..f333d192 100644
--- a/src/c-stdaux/src/docs/requirements.txt
+++ b/src/c-stdaux/src/docs/requirements.txt
@@ -1,3 +1,3 @@
-c-apidocs>=0.0.2
-clang>=6
-hawkmoth>=0.7
+c-apidocs>=1.0.0
+hawkmoth>=0.20
+sphinx-rtd-theme>=3.0.0
diff --git a/src/c-stdaux/src/meson.build b/src/c-stdaux/src/meson.build
index f0efa90b..0e958af2 100644
--- a/src/c-stdaux/src/meson.build
+++ b/src/c-stdaux/src/meson.build
@@ -6,7 +6,9 @@
 
 libcstdaux_vars = {
         'cflags': ' '.join(cflags),
+        # Deprecated: pkg-config does not support dashes in variable names.
         'version-scripts': use_version_scripts,
+        'version_scripts': use_version_scripts,
 }
 
 libcstdaux_dep = declare_dependency(
diff --git a/src/c-stdaux/src/test-basic.c b/src/c-stdaux/src/test-basic.c
index 1d16a828..6fc63e63 100644
--- a/src/c-stdaux/src/test-basic.c
+++ b/src/c-stdaux/src/test-basic.c
@@ -503,7 +503,7 @@ static void test_basic_gnuc(int non_constant_expr) {
                 c_assert(foo == 11);
 
                 c_assert(__builtin_constant_p(c_div_round_up(1, 5)));
-                c_assert(!__builtin_constant_p(c_div_round_up(1, non_constant_expr)));
+                c_assert(!__builtin_constant_p(c_div_round_up(8, 1 + !non_constant_expr)));
 
                 /* alternative calculation is [(x + y - 1) / y], but it may overflow */
                 for (i = 0; i <= 0xffff; ++i) {
@@ -545,7 +545,7 @@ static void test_basic_gnuc(int non_constant_expr) {
                 c_assert(__builtin_constant_p(c_align_to(16, 8)));
                 c_assert(!__builtin_constant_p(c_align_to(non_constant_expr, 8)));
                 c_assert(!__builtin_constant_p(c_align_to(16, non_constant_expr)));
-                c_assert(!__builtin_constant_p(c_align_to(16, non_constant_expr ? 8 : 16)));
+                c_assert(!__builtin_constant_p(c_align_to(8, non_constant_expr ? 8 : 16)));
                 c_assert(__builtin_constant_p(c_align_to(16, 7 + 1)));
                 c_assert(c_align_to(15, non_constant_expr ? 8 : 16) == 16);
         }