Mercurial > projects > ldc
comparison dmd/mars.c @ 699:ed9a9e6dd1cc
Started changing target triple stuff, part of fixing #97
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Mon, 13 Oct 2008 17:28:39 +0200 |
parents | a51fed3de34e |
children | 716684a0d63f |
comparison
equal
deleted
inserted
replaced
698:f0ba5d37dd86 | 699:ed9a9e6dd1cc |
---|---|
827 if (strcmp(global.params.llvmArch,"x86")==0) { | 827 if (strcmp(global.params.llvmArch,"x86")==0) { |
828 VersionCondition::addPredefinedGlobalIdent("X86"); | 828 VersionCondition::addPredefinedGlobalIdent("X86"); |
829 global.params.isLE = true; | 829 global.params.isLE = true; |
830 global.params.is64bit = false; | 830 global.params.is64bit = false; |
831 global.params.cpu = ARCHx86; | 831 global.params.cpu = ARCHx86; |
832 global.params.tt_arch = "i686"; | 832 //global.params.data_layout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-f80:32:32-v64:64:64-v128:128:128-a0:0:64"; |
833 global.params.data_layout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-f80:32:32-v64:64:64-v128:128:128-a0:0:64"; | |
834 if (global.params.useInlineAsm) { | 833 if (global.params.useInlineAsm) { |
835 VersionCondition::addPredefinedGlobalIdent("LLVM_InlineAsm_X86"); | 834 VersionCondition::addPredefinedGlobalIdent("LLVM_InlineAsm_X86"); |
836 } | 835 } |
837 } | 836 } |
838 else if (strcmp(global.params.llvmArch,"x86-64")==0) { | 837 else if (strcmp(global.params.llvmArch,"x86-64")==0) { |
839 VersionCondition::addPredefinedGlobalIdent("X86_64"); | 838 VersionCondition::addPredefinedGlobalIdent("X86_64"); |
840 global.params.isLE = true; | 839 global.params.isLE = true; |
841 global.params.is64bit = true; | 840 global.params.is64bit = true; |
842 global.params.cpu = ARCHx86_64; | 841 global.params.cpu = ARCHx86_64; |
843 global.params.tt_arch = "x86_64"; | 842 //global.params.data_layout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"; |
844 global.params.data_layout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"; | |
845 } | 843 } |
846 else if (strcmp(global.params.llvmArch,"ppc32")==0) { | 844 else if (strcmp(global.params.llvmArch,"ppc32")==0) { |
847 VersionCondition::addPredefinedGlobalIdent("PPC"); | 845 VersionCondition::addPredefinedGlobalIdent("PPC"); |
848 global.params.isLE = false; | 846 global.params.isLE = false; |
849 global.params.is64bit = false; | 847 global.params.is64bit = false; |
850 global.params.cpu = ARCHppc; | 848 global.params.cpu = ARCHppc; |
851 global.params.tt_arch = "powerpc"; | 849 //global.params.data_layout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"; |
852 global.params.data_layout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"; | |
853 } | 850 } |
854 else if (strcmp(global.params.llvmArch,"ppc64")==0) { | 851 else if (strcmp(global.params.llvmArch,"ppc64")==0) { |
855 VersionCondition::addPredefinedGlobalIdent("PPC64"); | 852 VersionCondition::addPredefinedGlobalIdent("PPC64"); |
856 global.params.isLE = false; | 853 global.params.isLE = false; |
857 global.params.is64bit = true; | 854 global.params.is64bit = true; |
858 global.params.cpu = ARCHppc_64; | 855 global.params.cpu = ARCHppc_64; |
859 global.params.tt_arch = "powerpc64"; | 856 //global.params.data_layout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"; |
860 global.params.data_layout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"; | |
861 } | 857 } |
862 else { | 858 else { |
863 assert(0 && "Invalid arch"); | 859 assert(0 && "Invalid arch"); |
864 } | 860 } |
865 | 861 |
886 { | 882 { |
887 case OSWindows: | 883 case OSWindows: |
888 VersionCondition::addPredefinedGlobalIdent("Windows"); | 884 VersionCondition::addPredefinedGlobalIdent("Windows"); |
889 VersionCondition::addPredefinedGlobalIdent("Win32"); | 885 VersionCondition::addPredefinedGlobalIdent("Win32"); |
890 VersionCondition::addPredefinedGlobalIdent("mingw32"); | 886 VersionCondition::addPredefinedGlobalIdent("mingw32"); |
891 global.params.tt_os = "-pc-mingw32"; | |
892 break; | 887 break; |
893 | 888 |
894 case OSLinux: | 889 case OSLinux: |
895 VersionCondition::addPredefinedGlobalIdent("linux"); | 890 VersionCondition::addPredefinedGlobalIdent("linux"); |
896 VersionCondition::addPredefinedGlobalIdent("Posix"); | 891 VersionCondition::addPredefinedGlobalIdent("Posix"); |
897 global.params.tt_os = "-pc-linux-gnu"; | |
898 break; | 892 break; |
899 | 893 |
900 case OSMacOSX: | 894 case OSMacOSX: |
901 VersionCondition::addPredefinedGlobalIdent("darwin"); | 895 VersionCondition::addPredefinedGlobalIdent("darwin"); |
902 VersionCondition::addPredefinedGlobalIdent("Posix"); | 896 VersionCondition::addPredefinedGlobalIdent("Posix"); |
903 global.params.tt_os = "-pc-darwin-gnu"; | |
904 break; | 897 break; |
905 | 898 |
906 case OSFreeBSD: | 899 case OSFreeBSD: |
907 VersionCondition::addPredefinedGlobalIdent("freebsd"); | 900 VersionCondition::addPredefinedGlobalIdent("freebsd"); |
908 VersionCondition::addPredefinedGlobalIdent("Posix"); | 901 VersionCondition::addPredefinedGlobalIdent("Posix"); |
910 | 903 |
911 default: | 904 default: |
912 assert(false && "Target OS not supported"); | 905 assert(false && "Target OS not supported"); |
913 } | 906 } |
914 | 907 |
908 if (!global.params.targetTriple) | |
909 global.params.targetTriple = DEFAULT_TARGET_TRIPLE; | |
910 | |
911 Logger::println("Target triple: %s", global.params.targetTriple); | |
915 | 912 |
916 // Initialization | 913 // Initialization |
917 Type::init(); | 914 Type::init(); |
918 Id::initialize(); | 915 Id::initialize(); |
919 Module::init(); | 916 Module::init(); |