1 // UNSUPPORTED: system-windows 2 3 // Check the C header paths 4 // RUN: %clang --target=x86_64-unknown-haiku -### %s 2>&1 \ 5 // RUN: | FileCheck --check-prefix=CHECK-C-HEADER-PATH %s 6 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/non-packaged/develop/headers" 7 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os" 8 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/app" 9 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/device" 10 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/drivers" 11 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/game" 12 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/interface" 13 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/kernel" 14 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/locale" 15 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/mail" 16 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/media" 17 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/midi" 18 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/midi2" 19 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/net" 20 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/opengl" 21 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/storage" 22 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/support" 23 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/translation" 24 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/add-ons/graphics" 25 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/add-ons/input_server" 26 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/add-ons/mail_daemon" 27 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/add-ons/registrar" 28 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/add-ons/screen_saver" 29 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/add-ons/tracker" 30 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/be_apps/Deskbar" 31 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/be_apps/NetPositive" 32 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/os/be_apps/Tracker" 33 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/3rdparty" 34 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/bsd" 35 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/glibc" 36 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/gnu" 37 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers/posix" 38 // CHECK-C-HEADER-PATH: "-internal-isystem" "/boot/system/develop/headers" 39 40 // Check x86_64-unknown-haiku, X86_64 41 // RUN: %clang -### %s 2>&1 --target=x86_64-unknown-haiku \ 42 // RUN: --sysroot=%S/Inputs/haiku_x86_64_tree \ 43 // RUN: | FileCheck --check-prefix=CHECK-LD-X86_64 %s 44 // CHECK-LD-X86_64: "-cc1" "-triple" "x86_64-unknown-haiku" 45 // CHECK-LD-X86_64-SAME: "-isysroot" "[[SYSROOT:[^"]+]]" 46 // CHECK-LD-X86_64: "{{.*}}ld{{(.exe)?}}" 47 // CHECK-LD-X86_64-SAME: "--no-undefined" 48 // CHECK-LD-X86_64-SAME: "[[SYSROOT]]/boot/system/develop/lib/crti.o" 49 // CHECK-LD-X86_64-SAME: {{^}} "[[SYSROOT]]/boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/13.2.0/crtbeginS.o" 50 // CHECK-LD-X86_64-SAME: {{^}} "[[SYSROOT]]/boot/system/develop/lib/start_dyn.o" 51 // CHECK-LD-X86_64-SAME: {{^}} "[[SYSROOT]]/boot/system/develop/lib/init_term_dyn.o" 52 // CHECK-LD-X86_64-SAME: "-lgcc" "--push-state" "--as-needed" "-lgcc_s" "--no-as-needed" "--pop-state" 53 // CHECK-LD-X86_64-SAME: {{^}} "-lroot" 54 // CHECK-LD-X86_64-SAME: {{^}} "-lgcc" "--push-state" "--as-needed" "-lgcc_s" "--no-as-needed" "--pop-state" 55 // CHECK-LD-X86_64-SAME: {{^}} "[[SYSROOT]]/boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/13.2.0/crtendS.o" 56 // CHECK-LD-X86_64-SAME: {{^}} "[[SYSROOT]]/boot/system/develop/lib/crtn.o" 57 58 // Check -rdynamic is a no-op 59 // RUN: %clang -### -rdynamic %s 2>&1 --target=x86_64-unknown-haiku \ 60 // RUN: | FileCheck --check-prefix=CHECK-RDYNAMIC %s 61 // CHECK-RDYNAMIC-NOT: "-export-dynamic" 62 63 // Check the right flags are present with -shared 64 // RUN: %clang -### %s -shared 2>&1 --target=x86_64-unknown-haiku \ 65 // RUN: --sysroot=%S/Inputs/haiku_x86_64_tree \ 66 // RUN: | FileCheck --check-prefix=CHECK-X86_64-SHARED %s 67 // CHECK-X86_64-SHARED: "-cc1" "-triple" "x86_64-unknown-haiku" 68 // CHECK-X86_64-SHARED-SAME: "-isysroot" "[[SYSROOT:[^"]+]]" 69 // CHECK-X86_64-SHARED: "{{.*}}ld{{(.exe)?}}" 70 // CHECK-X86_64-SHARED-NOT: "[[SYSROOT]]/boot/system/develop/lib/start_dyn.o" 71 72 // Check default ARM CPU, ARMv6 73 // RUN: %clang -### %s 2>&1 --target=arm-unknown-haiku \ 74 // RUN: | FileCheck --check-prefix=CHECK-ARM-CPU %s 75 // CHECK-ARM-CPU: "-target-cpu" "arm1176jzf-s" 76 77 // Check that the -X and --no-relax flags are passed to the linker on riscv64 78 // RUN: %clang --target=riscv64-unknown-haiku -mno-relax -### %s 2>&1 \ 79 // RUN: | FileCheck -check-prefix=RISCV64-FLAGS %s 80 // RISCV64-FLAGS: "-X" "--no-relax" 81 82 // Check passing LTO flags to the linker 83 // RUN: %clang --target=x86_64-unknown-haiku -flto -### %s 2>&1 \ 84 // RUN: | FileCheck -check-prefix=CHECK-LTO-FLAGS %s 85 // CHECK-LTO-FLAGS: "-plugin-opt=mcpu=x86-64" 86