============================================
Include directives
============================================

#include "some/path.h"
#include <stdint.h>

---

(translation_unit
  (preproc_include (string_literal))
  (preproc_include (system_lib_string)))

============================================
Defines
============================================

#define SIZE 1024

#define SOMETHING \
  x + \
  y

---

(translation_unit
  (preproc_define (identifier))
  (preproc_define (identifier)))

============================================
Ifdefs
============================================

#ifndef DEFINE1
int j;
#endif

#ifdef DEFINE2
ssize_t b;
#define c 32
#else
int b;
#define c 16
#endif

#ifdef DEFINE2
#else
#ifdef DEFINE3
#else
#endif
#endif

---

(translation_unit
  (preproc_ifdef
    (identifier)
    (declaration (identifier) (identifier)))

  (preproc_ifdef
    (identifier)
    (declaration (identifier) (identifier))
    (preproc_define (identifier))
    (preproc_else
      (declaration (identifier) (identifier))
      (preproc_define (identifier))))

  (preproc_ifdef
    (identifier)
    (preproc_else
      (preproc_ifdef
        (identifier)
        (preproc_else)))))
