// The C Standard Library is declared in headers in libc++ and clang, and
// the headers in this directory. These modules pull in the correct pieces
// depending on the build environment.
module assert_h [system] {
  header "_modules/_assert_h.h"
  export *
}

module complex_h [system] {
  header "_modules/_complex_h.h"
  export *
}

module ctype_h [system] {
  header "_modules/_ctype_h.h"
  export *
}

module errno_h [system] {
  header "_modules/_errno_h.h"
  export *
}

module fenv_h [system] {
  header "_modules/_fenv_h.h"
  export *
}

module float_h [system] {
  header "_modules/_float_h.h"
  export *
}

module inttypes_h [system] {
  header "_modules/_inttypes_h.h"
  export *
}

module iso646_h [system] {
  header "_modules/_iso646_h.h"
  export *
}

module limits_h [system] {
  header "_modules/_limits_h.h"
  export *
}

module locale_h [system] {
  header "_modules/_locale_h.h"
  export *
}

module math_h [system] {
  header "_modules/_math_h.h"
  export *
}

module setjmp_h [system] {
  header "_modules/_setjmp_h.h"
  export *
}

module signal_h [system] {
  header "_modules/_signal_h.h"
  export *
}

module stdalign_h [system] {
  header "_modules/_stdalign_h.h"
  export *
}

module stdarg_h [system] {
  header "_modules/_stdarg_h.h"
  export *
}

module stdatomic_h [system] {
  header "_modules/_stdatomic_h.h"
  export *
}

// stdbit.h is not available

module stdbool_h [system] {
  header "_modules/_stdbool_h.h"
  export *
}

// stdckdint.h is not available

module stddef_h [system] {
  header "_modules/_stddef_h.h"
  export *
}

module stdint_h [system] {
  header "_modules/_stdint_h.h"
  export *
}

module stdio_h [system] {
  header "_modules/_stdio_h.h"
  export *
}

module stdlib_h [system] {
  header "_modules/_stdlib_h.h"
  export *
}

module stdnoreturn_h [system] {
  header "_modules/_stdnoreturn_h.h"
  export *
}

module string_h [system] {
  header "_modules/_string_h.h"
  export *
}

module tgmath_h [system] {
  header "_modules/_tgmath_h.h"
  export *
}

// threads.h is not available.

module time_h [system] {
  header "_modules/_time_h.h"
  export *
}

// uchar.h is not available
// (It's present in libc++ but it doesn't declare anything.)

module wchar_h [system] {
  header "_modules/_wchar_h.h"
  export *
}

module wctype_h [system] {
  header "_modules/_wctype_h.h"
  export *
}


// unwind.h is similarly declared in headers in clang and in this
// directory. This module pulls in the correct pieces.
module unwind_h [system] {
  header "_modules/_unwind_h.h"
  export *
}
