Browse Source

llvm: added support for newer Xcode toolchains

Based on https://en.wikipedia.org/wiki/Xcode#Xcode_11.x_-_13.x_(since_SwiftUI_framework)_2
Jonas Maebe 3 years ago
parent
commit
591c1b0177
1 changed files with 23 additions and 3 deletions
  1. 23 3
      compiler/llvm/llvminfo.pas

+ 23 - 3
compiler/llvm/llvminfo.pas

@@ -43,11 +43,16 @@ Type
        llvmver_8_0,
        llvmver_xc_11,
        llvmver_9_0,
+       llvmver_xc_11_4,
        llvmver_10_0,
+       llvmver_xc_12,
        llvmver_11_0,
        llvmver_11_1,
+       llvmver_xc_12_5,
        llvmver_12_0,
-       llvmver_13_0
+       llvmver_xc_13,
+       llvmver_13_0,
+       llvmver_xc_13_3
       );
 
 type
@@ -75,11 +80,16 @@ Const
      '8.0',
      'Xcode-11.0',
      '9.0',
+     'Xcode-11.4',
      '10.0',
+     'Xcode-12.0',
      '11.0',
      '11.1',
+     'Xcode-12.5',
      '12.0',
-     '13.0'
+     'Xcode-13.0',
+     '13.0',
+     'Xcode-13.3'
    );
 
    llvm_debuginfo_metadata_format : array[tllvmversion] of byte = (
@@ -95,6 +105,11 @@ Const
      3,
      3,
      3,
+     3,
+     3,
+     3,
+     3,
+     3,
      3
    );
 
@@ -108,11 +123,16 @@ Const
        { llvmver_8_0     } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid,llvmflag_NoDISPFlagMainSubprogram],
        { llvmver_xc_11   } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid,llvmflag_NoDISPFlagMainSubprogram],
        { llvmver_9_0     } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid,llvmflag_constrained_fptrunc_fpext],
+       { llvmver_xc_11_4 } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid,llvmflag_constrained_fptrunc_fpext],
        { llvmver_10_0    } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid,llvmflag_constrained_fptrunc_fpext,llvmflag_constrained_fptoi_itofp],
+       { llvmver_xc_12_0 } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid,llvmflag_constrained_fptrunc_fpext,llvmflag_constrained_fptoi_itofp],
        { llvmver_11_0    } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid_new,llvmflag_constrained_fptrunc_fpext,llvmflag_constrained_fptoi_itofp,llvmflag_array_datalocation],
        { llvmver_11_1    } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid_new,llvmflag_constrained_fptrunc_fpext,llvmflag_constrained_fptoi_itofp,llvmflag_array_datalocation],
+       { llvmver_xc_12_5 } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid_new,llvmflag_constrained_fptrunc_fpext,llvmflag_constrained_fptoi_itofp,llvmflag_array_datalocation],
        { llvmver_12_0    } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid_new,llvmflag_constrained_fptrunc_fpext,llvmflag_constrained_fptoi_itofp,llvmflag_array_datalocation,llvmflag_para_attr_type],
-       { llvmver_12_0    } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid_new,llvmflag_constrained_fptrunc_fpext,llvmflag_constrained_fptoi_itofp,llvmflag_array_datalocation,llvmflag_para_attr_type]
+       { llvmver_xc_13_0 } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid_new,llvmflag_constrained_fptrunc_fpext,llvmflag_constrained_fptoi_itofp,llvmflag_array_datalocation,llvmflag_para_attr_type],
+       { llvmver_13_0    } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid_new,llvmflag_constrained_fptrunc_fpext,llvmflag_constrained_fptoi_itofp,llvmflag_array_datalocation,llvmflag_para_attr_type],
+       { llvmver_xc_13_3 } [llvmflag_memcpy_indiv_align,llvmflag_null_pointer_valid_new,llvmflag_constrained_fptrunc_fpext,llvmflag_constrained_fptoi_itofp,llvmflag_array_datalocation,llvmflag_para_attr_type]
      );
 
    { Supported optimizations, only used for information }