aboutsummaryrefslogtreecommitdiff
path: root/2025-linuxdays/transunionf.c
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2025-10-04 12:47:24 +0200
committerKarel Kočí <cynerd@email.cz>2025-10-04 12:54:27 +0200
commit24e314ca2b56f059f8af28a20b0d2215dbe33eaa (patch)
tree12ed017ad24159eb99d2c4b8a50cf5d58af1a0ad /2025-linuxdays/transunionf.c
parent58293a7863b4fc2f920bc03008f12f4f6e7ffcc8 (diff)
downloadpresentations-24e314ca2b56f059f8af28a20b0d2215dbe33eaa.tar.gz
presentations-24e314ca2b56f059f8af28a20b0d2215dbe33eaa.tar.bz2
presentations-24e314ca2b56f059f8af28a20b0d2215dbe33eaa.zip
Add presentation: 2025-linuxdaysHEADmaster
Diffstat (limited to '2025-linuxdays/transunionf.c')
-rw-r--r--2025-linuxdays/transunionf.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/2025-linuxdays/transunionf.c b/2025-linuxdays/transunionf.c
new file mode 100644
index 0000000..e210194
--- /dev/null
+++ b/2025-linuxdays/transunionf.c
@@ -0,0 +1,15 @@
+#include <stdint.h>
+#include <stdio.h>
+
+union [[gnu::transparent_union]] un {
+ char *ptr;
+ intptr_t i;
+};
+
+void call(void (*cb)(union un)) { cb("FOO"); }
+void cb(char *str) { printf("%s\n", str); }
+
+int main(int argc, char *argv[]) {
+ call(cb);
+ return 0;
+}