Commit 27cd830ec8

Matthew Iannucci <mpiannucci@gmail.com>
2019-04-11 19:15:17
Add initial support for iOS targets (#2237)
* Add iOS C int sizes... try to hack in iOS DebugInfo * Get rid of ios link check for now * Remove macos linkversion check
1 parent b59c65e
Changed files (3)
src/link.cpp
@@ -1562,16 +1562,6 @@ static void construct_linker_job_macho(LinkJob *lj) {
         lj->args.append("dynamic_lookup");
     }
 
-    if (platform.kind == MacOS) {
-        if (darwin_version_lt(&platform, 10, 5)) {
-            lj->args.append("-lgcc_s.10.4");
-        } else if (darwin_version_lt(&platform, 10, 6)) {
-            lj->args.append("-lgcc_s.10.5");
-        }
-    } else {
-        zig_panic("TODO");
-    }
-
     for (size_t i = 0; i < g->darwin_frameworks.length; i += 1) {
         lj->args.append("-framework");
         lj->args.append(buf_ptr(g->darwin_frameworks.at(i)));
src/target.cpp
@@ -894,10 +894,25 @@ uint32_t target_c_type_size_in_bits(const ZigTarget *target, CIntType id) {
                 case CIntTypeCount:
                     zig_unreachable();
             }
+        case OsIOS:
+            switch (id) {
+                case CIntTypeShort:
+                case CIntTypeUShort:
+                    return 16;
+                case CIntTypeInt:
+                case CIntTypeUInt:
+                    return 32;
+                case CIntTypeLong:
+                case CIntTypeULong:
+                case CIntTypeLongLong:
+                case CIntTypeULongLong:
+                    return 64;
+                case CIntTypeCount:
+                    zig_unreachable();
+            }
         case OsAnanas:
         case OsCloudABI:
         case OsDragonFly:
-        case OsIOS:
         case OsKFreeBSD:
         case OsLv2:
         case OsSolaris:
std/debug.zig
@@ -1178,7 +1178,7 @@ pub const DwarfInfo = struct {
 };
 
 pub const DebugInfo = switch (builtin.os) {
-    builtin.Os.macosx => struct {
+    builtin.Os.macosx, builtin.Os.ios => struct {
         symbols: []const MachoSymbol,
         strings: []const u8,
         ofiles: OFileTable,