aboutsummaryrefslogtreecommitdiff
path: root/2025-linuxdays/transunionf.c
blob: e210194215b4cabe8620e622b65c2b2888934b3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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;
}