Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

// RUN: %clang_cc1 -Eonly %s -DOPT_O2 -O2 -verify
#ifdef OPT_O2
  // expected-no-diagnostics
  #ifndef __OPTIMIZE__
    #error "__OPTIMIZE__ not defined"
  #endif
  #ifdef __OPTIMIZE_SIZE__
    #error "__OPTIMIZE_SIZE__ defined"
  #endif
#endif

// RUN: %clang_cc1 -Eonly %s -DOPT_O0 -verify
#ifdef OPT_O0
  // expected-no-diagnostics
  #ifdef __OPTIMIZE__
    #error "__OPTIMIZE__ defined"
  #endif
  #ifdef __OPTIMIZE_SIZE__
    #error "__OPTIMIZE_SIZE__ defined"
  #endif
#endif

// RUN: %clang_cc1 -Eonly %s -DOPT_OS -Os -verify
#ifdef OPT_OS
  // expected-no-diagnostics
  #ifndef __OPTIMIZE__
    #error "__OPTIMIZE__ not defined"
  #endif
  #ifndef __OPTIMIZE_SIZE__
    #error "__OPTIMIZE_SIZE__ not defined"
  #endif
#endif