aboutsummaryrefslogtreecommitdiff
path: root/2025-linuxdays/generic.c
blob: dcb9a788628ca286c23f1e999c161ae9773b5db2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <inttypes.h>
#include <stdint.h>
#include <stdio.h>

#define traceval(X)                                                            \
  fprintf(stderr, _Generic((X), char *: "%s\n", int: "%d\n", void *: "%p\n"), X)

int main(int argc, char *argv[]) {
  traceval("Hello");
  traceval(42);
  traceval(NULL);
  return 0;
}