|
7 | 7 | //===----------------------------------------------------------------------===//
|
8 | 8 |
|
9 | 9 | #include "llvm/TargetParser/Triple.h"
|
| 10 | +#include "llvm/Support/CodeGen.h" |
10 | 11 | #include "llvm/Support/FormatVariadic.h"
|
11 | 12 | #include "llvm/Support/VersionTuple.h"
|
12 | 13 | #include "gtest/gtest.h"
|
@@ -2757,6 +2758,157 @@ TEST(TripleTest, FileFormat) {
|
2757 | 2758 | EXPECT_EQ(Triple::DXContainer, Triple("dxil-apple-macosx").getObjectFormat());
|
2758 | 2759 | }
|
2759 | 2760 |
|
| 2761 | +TEST(TripleTest, DefaultExceptionHandling) { |
| 2762 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2763 | + Triple("i686-unknown-linux-gnu").getDefaultExceptionHandling()); |
| 2764 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2765 | + Triple("i686-unknown-freebsd").getDefaultExceptionHandling()); |
| 2766 | + |
| 2767 | + EXPECT_EQ(ExceptionHandling::None, |
| 2768 | + Triple("wasm32-unknown-wasi-wasm").getDefaultExceptionHandling()); |
| 2769 | + EXPECT_EQ(ExceptionHandling::None, |
| 2770 | + Triple("wasm64-unknown-wasi-wasm").getDefaultExceptionHandling()); |
| 2771 | + |
| 2772 | + EXPECT_EQ( |
| 2773 | + ExceptionHandling::ARM, |
| 2774 | + Triple("arm-unknown-linux-android16").getDefaultExceptionHandling()); |
| 2775 | + |
| 2776 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2777 | + Triple("armv6-unknown-netbsd-eabi").getDefaultExceptionHandling()); |
| 2778 | + EXPECT_EQ(ExceptionHandling::ARM, |
| 2779 | + Triple("armv7-suse-linux-gnueabihf").getDefaultExceptionHandling()); |
| 2780 | + EXPECT_EQ(ExceptionHandling::ARM, |
| 2781 | + Triple("thumbv7-linux-gnueabihf").getDefaultExceptionHandling()); |
| 2782 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2783 | + Triple("thumbv7-none-netbsd").getDefaultExceptionHandling()); |
| 2784 | + |
| 2785 | + EXPECT_EQ(ExceptionHandling::ZOS, |
| 2786 | + Triple("s390x-ibm-zos").getDefaultExceptionHandling()); |
| 2787 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2788 | + Triple("systemz-ibm-linux").getDefaultExceptionHandling()); |
| 2789 | + |
| 2790 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2791 | + Triple("sparcel-unknown-unknown").getDefaultExceptionHandling()); |
| 2792 | + |
| 2793 | + EXPECT_EQ(ExceptionHandling::None, |
| 2794 | + Triple("amdgcn--").getDefaultExceptionHandling()); |
| 2795 | + EXPECT_EQ(ExceptionHandling::None, |
| 2796 | + Triple("nvptx64--").getDefaultExceptionHandling()); |
| 2797 | + EXPECT_EQ(ExceptionHandling::None, |
| 2798 | + Triple("spirv32--").getDefaultExceptionHandling()); |
| 2799 | + EXPECT_EQ(ExceptionHandling::None, |
| 2800 | + Triple("spirv64--").getDefaultExceptionHandling()); |
| 2801 | + |
| 2802 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2803 | + Triple("i686-pc-windows-msvc-elf").getDefaultExceptionHandling()); |
| 2804 | + EXPECT_EQ(ExceptionHandling::WinEH, |
| 2805 | + Triple("i686-pc-windows-msvc").getDefaultExceptionHandling()); |
| 2806 | + |
| 2807 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2808 | + Triple("i386-apple-darwin9").getDefaultExceptionHandling()); |
| 2809 | + |
| 2810 | + EXPECT_EQ(ExceptionHandling::WinEH, |
| 2811 | + Triple("x86_64-unknown-uefi").getDefaultExceptionHandling()); |
| 2812 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, // ??? |
| 2813 | + Triple("x86_64-unknown-msvc").getDefaultExceptionHandling()); |
| 2814 | + |
| 2815 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2816 | + Triple("riscv32-unknown-unknown").getDefaultExceptionHandling()); |
| 2817 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2818 | + Triple("riscv64-unknown-unknown").getDefaultExceptionHandling()); |
| 2819 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2820 | + Triple("xcore-unknown-unknown").getDefaultExceptionHandling()); |
| 2821 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2822 | + Triple("xtensa-unknown-unknown").getDefaultExceptionHandling()); |
| 2823 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2824 | + Triple("lanai-unknown-unknown").getDefaultExceptionHandling()); |
| 2825 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2826 | + Triple("arc-unknown-unknown").getDefaultExceptionHandling()); |
| 2827 | + EXPECT_EQ( |
| 2828 | + ExceptionHandling::DwarfCFI, |
| 2829 | + Triple("loongarch32-unknown-unknown").getDefaultExceptionHandling()); |
| 2830 | + EXPECT_EQ( |
| 2831 | + ExceptionHandling::DwarfCFI, |
| 2832 | + Triple("loongarch64-unknown-unknown").getDefaultExceptionHandling()); |
| 2833 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2834 | + Triple("msp430-unknown-unknown").getDefaultExceptionHandling()); |
| 2835 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2836 | + Triple("csky-unknown-unknown").getDefaultExceptionHandling()); |
| 2837 | + |
| 2838 | + EXPECT_EQ(ExceptionHandling::AIX, |
| 2839 | + Triple("powerpc-ibm-aix").getDefaultExceptionHandling()); |
| 2840 | + EXPECT_EQ(ExceptionHandling::AIX, |
| 2841 | + Triple("powerpc---xcoff").getDefaultExceptionHandling()); |
| 2842 | + |
| 2843 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2844 | + Triple("powerpc-apple-macosx").getDefaultExceptionHandling()); |
| 2845 | + |
| 2846 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2847 | + Triple("i686-pc-cygwin-elf").getDefaultExceptionHandling()); |
| 2848 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2849 | + Triple("x86_64-pc-cygwin-elf").getDefaultExceptionHandling()); |
| 2850 | + EXPECT_EQ(ExceptionHandling::WinEH, |
| 2851 | + Triple("x86_64-pc-win32").getDefaultExceptionHandling()); |
| 2852 | + EXPECT_EQ(ExceptionHandling::WinEH, |
| 2853 | + Triple("x86_64-pc-windows-coreclr").getDefaultExceptionHandling()); |
| 2854 | + |
| 2855 | + EXPECT_EQ(ExceptionHandling::None, |
| 2856 | + Triple("ve-unknown-linux").getDefaultExceptionHandling()); |
| 2857 | + EXPECT_EQ(ExceptionHandling::None, |
| 2858 | + Triple("ve-unknown-unknown").getDefaultExceptionHandling()); |
| 2859 | + |
| 2860 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2861 | + Triple("armv7k-apple-watchos").getDefaultExceptionHandling()); |
| 2862 | + EXPECT_EQ(ExceptionHandling::SjLj, |
| 2863 | + Triple("armv7-apple-ios").getDefaultExceptionHandling()); |
| 2864 | + |
| 2865 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2866 | + Triple("mips64-mti-linux-gnu").getDefaultExceptionHandling()); |
| 2867 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2868 | + Triple("mips").getDefaultExceptionHandling()); |
| 2869 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2870 | + Triple("mips-pc-windows-msvc").getDefaultExceptionHandling()); |
| 2871 | + EXPECT_EQ(ExceptionHandling::WinEH, |
| 2872 | + Triple("mips-pc-windows-msvc-coff").getDefaultExceptionHandling()); |
| 2873 | + |
| 2874 | + EXPECT_EQ(ExceptionHandling::WinEH, |
| 2875 | + Triple("mipsel-windows--coff").getDefaultExceptionHandling()); |
| 2876 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2877 | + Triple("mipsel-windows-msvc").getDefaultExceptionHandling()); |
| 2878 | + |
| 2879 | + EXPECT_EQ( |
| 2880 | + ExceptionHandling::WinEH, |
| 2881 | + Triple("aarch64-unknown-windows-msvc").getDefaultExceptionHandling()); |
| 2882 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2883 | + Triple("aarch64-unknown-unknown").getDefaultExceptionHandling()); |
| 2884 | + |
| 2885 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2886 | + Triple("arm64_32-apple-ios").getDefaultExceptionHandling()); |
| 2887 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2888 | + Triple("arm64-apple-macosx").getDefaultExceptionHandling()); |
| 2889 | + |
| 2890 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2891 | + Triple("xcore-xmos-elf").getDefaultExceptionHandling()); |
| 2892 | + EXPECT_EQ(ExceptionHandling::WinEH, |
| 2893 | + Triple("i386-pc-windows-msvc").getDefaultExceptionHandling()); |
| 2894 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2895 | + Triple("i386-mingw32").getDefaultExceptionHandling()); |
| 2896 | + EXPECT_EQ(ExceptionHandling::WinEH, |
| 2897 | + Triple("i386-pc-win32").getDefaultExceptionHandling()); |
| 2898 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2899 | + Triple("i386-pc-mingw32").getDefaultExceptionHandling()); |
| 2900 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2901 | + Triple("i686-pc-cygwin").getDefaultExceptionHandling()); |
| 2902 | + |
| 2903 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2904 | + Triple("x86_64-pc-mingw64").getDefaultExceptionHandling()); |
| 2905 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2906 | + Triple("x86_64-win32-gnu").getDefaultExceptionHandling()); |
| 2907 | + |
| 2908 | + EXPECT_EQ(ExceptionHandling::DwarfCFI, |
| 2909 | + Triple("x86_64-scei-ps4").getDefaultExceptionHandling()); |
| 2910 | +} |
| 2911 | + |
2760 | 2912 | TEST(TripleTest, NormalizeWindows) {
|
2761 | 2913 | EXPECT_EQ("i686-pc-windows-msvc", Triple::normalize("i686-pc-win32"));
|
2762 | 2914 | EXPECT_EQ("i686-unknown-windows-msvc", Triple::normalize("i686-win32"));
|
|
0 commit comments