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();