set(DIRS)

set(DIRS SetjmpLongjmp)
set(DIRS )
list(APPEND DIRS Vector)
list(APPEND DIRS Vectorizer)
list(APPEND DIRS SignlessTypes Threads C++11)
if("${TARGET_OS}" STREQUAL "Darwin")
  list(APPEND DIRS ObjC ObjC++)
endif()
if("${TARGET_OS}" STREQUAL "Darwin")
  set(PROGRAMS_TO_SKIP 2007-04-25-weak)
  if("${ARCH}" STREQUAL "PowerPC")
    list(APPEND PROGRAMS_TO_SKIP AtomicOps)
  endif()
endif()
llvm_filter(TMP1 ${ARCH} x86_64 x86_64h)
if("" STREQUAL "${TMP1}")
  list(APPEND PROGRAMS_TO_SKIP ms_struct-bitfield-init-1 ms_struct-bitfield-init ms_struct-bitfield ms_struct_pack_layout-1 ms_struct_pack_layout ms_struct-bitfield-1)
endif()
if("${ARCH}" STREQUAL "AArch64")
  list(APPEND PROGRAMS_TO_SKIP blockstret)
endif()
if("${ARCH}" STREQUAL "Mips")
  list(APPEND DIRS Mips)
  string(FIND "${MIPSARCH}" "mips64" TMP2)
  if("" STREQUAL "${TMP2}")
    list(APPEND PROGRAMS_TO_SKIP AtomicOps)
  endif()
endif()
if("${ARCH}" STREQUAL "XCore")
  list(APPEND PROGRAMS_TO_SKIP AtomicOps)
  list(APPEND PROGRAMS_TO_SKIP initp1)
  set(XCORE_TARGET_NEEDS_MEMORY 1)
endif()
list(APPEND LDFLAGS -lstdc++)
llvm_singlesource()

llvm_add_subdirectories(${DIRS})
