1*67e74705SXin Li // RUN: %clang -no-canonical-prefixes -### -target sparc-myriad-rtems-elf %s \ 2*67e74705SXin Li // RUN: --gcc-toolchain=%S/Inputs/basic_myriad_tree 2>&1 | FileCheck %s -check-prefix=LINK_WITH_RTEMS 3*67e74705SXin Li // LINK_WITH_RTEMS: Inputs{{.*}}crti.o 4*67e74705SXin Li // LINK_WITH_RTEMS: Inputs{{.*}}crtbegin.o 5*67e74705SXin Li // LINK_WITH_RTEMS: "-L{{.*}}Inputs/basic_myriad_tree/lib/gcc/sparc-myriad-elf/4.8.2/../../..{{/|\\\\}}../sparc-myriad-elf/lib" 6*67e74705SXin Li // LINK_WITH_RTEMS: "-L{{.*}}Inputs/basic_myriad_tree/lib/gcc/sparc-myriad-elf/4.8.2" 7*67e74705SXin Li // LINK_WITH_RTEMS: "--start-group" "-lc" "-lrtemscpu" "-lrtemsbsp" "--end-group" "-lgcc" 8*67e74705SXin Li // LINK_WITH_RTEMS: Inputs{{.*}}crtend.o 9*67e74705SXin Li // LINK_WITH_RTEMS: Inputs{{.*}}crtn.o 10*67e74705SXin Li 11*67e74705SXin Li // RUN: %clang -c -no-canonical-prefixes -### -target sparc-myriad-rtems-elf -x c++ %s \ 12*67e74705SXin Li // RUN: --gcc-toolchain=%S/Inputs/basic_myriad_tree 2>&1 | FileCheck %s -check-prefix=COMPILE_CXX 13*67e74705SXin Li // COMPILE_CXX: "-internal-isystem" "{{.*}}/Inputs/basic_myriad_tree/lib/gcc/sparc-myriad-elf/4.8.2/../../../../sparc-myriad-elf/include/c++/4.8.2" 14*67e74705SXin Li // COMPILE_CXX: "-internal-isystem" "{{.*}}/Inputs/basic_myriad_tree/lib/gcc/sparc-myriad-elf/4.8.2/../../../../sparc-myriad-elf/include/c++/4.8.2/sparc-myriad-elf" 15*67e74705SXin Li // COMPILE_CXX: "-internal-isystem" "{{.*}}/Inputs/basic_myriad_tree/lib/gcc/sparc-myriad-elf/4.8.2/../../../../sparc-myriad-elf/include/c++/4.8.2/backward" 16*67e74705SXin Li 17*67e74705SXin Li // RUN: %clang -### -E -target sparc-myriad --sysroot=/yow %s 2>&1 \ 18*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=SLASH_INCLUDE 19*67e74705SXin Li // SLASH_INCLUDE: "-isysroot" "/yow" "-internal-isystem" "/yow/include" 20*67e74705SXin Li 21*67e74705SXin Li // RUN: %clang -### -E -target sparc-myriad --sysroot=/yow %s -nostdinc 2>&1 \ 22*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=NO_SLASH_INCLUDE 23*67e74705SXin Li // NO_SLASH_INCLUDE: "-isysroot" "/yow" 24*67e74705SXin Li // NO_SLASH_INCLUDE-NOT: "-internal-isystem" "/yow/include" 25*67e74705SXin Li 26*67e74705SXin Li // RUN: %clang -### -target what-myriad %s 2>&1 | FileCheck %s -check-prefix=BAD_ARCH 27*67e74705SXin Li // BAD_ARCH: the target architecture 'what' is not supported by the target 'myriad' 28*67e74705SXin Li 29*67e74705SXin Li // Ensure that '-target shave' picks a different compiler. 30*67e74705SXin Li // Also check that '-I' is turned into '-i:' for the assembler. 31*67e74705SXin Li 32*67e74705SXin Li // Note that since we don't know where movi tools are installed, 33*67e74705SXin Li // the driver may or may not find a full path to them. 34*67e74705SXin Li // That is, the 0th argument will be "/path/to/my/moviCompile" 35*67e74705SXin Li // or just "moviCompile" depending on whether moviCompile is found. 36*67e74705SXin Li // As such, we test only for a trailing quote in its rendering. 37*67e74705SXin Li // The same goes for "moviAsm". 38*67e74705SXin Li 39*67e74705SXin Li // RUN: %clang -target shave-myriad -mcpu=myriad2.2 -c -### %s -isystem somewhere -Icommon -Wa,-yippee 2>&1 \ 40*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=MOVICOMPILE 41*67e74705SXin Li // MOVICOMPILE: moviCompile{{(.exe)?}}" "-S" "-fno-exceptions" "-DMYRIAD2" "-mcpu=myriad2.2" "-isystem" "somewhere" "-I" "common" 42*67e74705SXin Li // MOVICOMPILE: moviAsm{{(.exe)?}}" "-no6thSlotCompression" "-cv:myriad2.2" "-noSPrefixing" "-a" 43*67e74705SXin Li // MOVICOMPILE: "-yippee" "-i:somewhere" "-i:common" "-elf" 44*67e74705SXin Li 45*67e74705SXin Li // RUN: %clang -target shave-myriad -c -### %s -DEFINE_ME -UNDEFINE_ME 2>&1 \ 46*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=DEFINES 47*67e74705SXin Li // DEFINES: "-D" "EFINE_ME" "-U" "NDEFINE_ME" 48*67e74705SXin Li 49*67e74705SXin Li // RUN: %clang -target shave-myriad -c -### %s -Icommon -iquote quotepath -isystem syspath 2>&1 \ 50*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=INCLUDES 51*67e74705SXin Li // INCLUDES: "-iquote" "quotepath" "-isystem" "syspath" 52*67e74705SXin Li 53*67e74705SXin Li // RUN: %clang -target shave-myriad -c -### %s -g -fno-inline-functions \ 54*67e74705SXin Li // RUN: -fno-inline-functions-called-once -Os -Wall -MF dep.d \ 55*67e74705SXin Li // RUN: -ffunction-sections 2>&1 | FileCheck %s -check-prefix=PASSTHRU_OPTIONS 56*67e74705SXin Li // PASSTHRU_OPTIONS: "-g" "-fno-inline-functions" "-fno-inline-functions-called-once" 57*67e74705SXin Li // PASSTHRU_OPTIONS: "-Os" "-Wall" "-MF" "dep.d" "-ffunction-sections" 58*67e74705SXin Li 59*67e74705SXin Li // RUN: %clang -target shave-myriad -c %s -o foo.o -### -MD -MF dep.d 2>&1 \ 60*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=MDMF 61*67e74705SXin Li // MDMF: "-S" "-fno-exceptions" "-DMYRIAD2" "-MD" "-MF" "dep.d" "-MT" "foo.o" 62*67e74705SXin Li 63*67e74705SXin Li // RUN: %clang -target shave-myriad -std=gnu++11 -mcpu=anothercpu -S %s -o foo.o -### 2>&1 \ 64*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=STDEQ 65*67e74705SXin Li // STDEQ: "-S" "-fno-exceptions" "-DMYRIAD2" "-std=gnu++11" "-mcpu=anothercpu" 66*67e74705SXin Li 67*67e74705SXin Li // RUN: %clang -target shave-myriad -E -Ifoo %s -o foo.i -### 2>&1 \ 68*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=PREPROCESS 69*67e74705SXin Li // PREPROCESS: "-E" "-DMYRIAD2" "-I" "foo" 70*67e74705SXin Li 71*67e74705SXin Li // RUN: %clang -target sparc-myriad -### --driver-mode=g++ %s 2>&1 | FileCheck %s --check-prefix=STDLIBCXX 72*67e74705SXin Li // STDLIBCXX: "-lstdc++" "-lc" "-lgcc" 73*67e74705SXin Li 74*67e74705SXin Li // RUN: %clang -target sparc-myriad -### -nostdlib %s 2>&1 | FileCheck %s --check-prefix=NOSTDLIB 75*67e74705SXin Li // NOSTDLIB-NOT: crtbegin.o 76*67e74705SXin Li // NOSTDLIB-NOT: "-lc" 77*67e74705SXin Li 78*67e74705SXin Li // RUN: %clang -### -c -g %s -target sparc-myriad 2>&1 | FileCheck -check-prefix=G_SPARC %s 79*67e74705SXin Li // G_SPARC: "-debug-info-kind=limited" "-dwarf-version=2" 80*67e74705SXin Li 81*67e74705SXin Li // RUN: %clang -### -c %s -target sparc-myriad-elf -fuse-init-array 2>&1 \ 82*67e74705SXin Li // RUN: | FileCheck -check-prefix=USE-INIT-ARRAY %s 83*67e74705SXin Li // USE-INIT-ARRAY-NOT: argument unused 84