aboutsummaryrefslogtreecommitdiff
path: root/lib/mlibc/.github/workflows/detect-bad-ifs.yml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/.github/workflows/detect-bad-ifs.yml')
-rw-r--r--lib/mlibc/.github/workflows/detect-bad-ifs.yml17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/mlibc/.github/workflows/detect-bad-ifs.yml b/lib/mlibc/.github/workflows/detect-bad-ifs.yml
new file mode 100644
index 0000000..c738d29
--- /dev/null
+++ b/lib/mlibc/.github/workflows/detect-bad-ifs.yml
@@ -0,0 +1,17 @@
+name: Detect ifdef/defined (mis)use
+
+on: [push, pull_request]
+
+jobs:
+ find-misuse:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - run: |
+ printf '(^#ifn?def[[:space:]]+|defined[[:space:]]*[(][[:space:]]*)((%s)([^_A-Za-z0-9]|$))\0' \
+ "$(printf '%s' "$(awk '/#mesondefine/ { print $2 }' mlibc-config.h.in)" | tr '\n' '|')" \
+ | { ! xargs -0I '{}' grep --color=always -PR '{}' \
+ || { echo 'found misuse'; exit 1; }; }
+
+
+# vim: set sw=2 :