]> git.sur5r.net Git - cc65/blobdiff - src/cc65/datatype.c
More changes to support address size qualifiers.
[cc65] / src / cc65 / datatype.c
index fc71d3df2a1176768effb8c09be61c5d65c10566..fdc242d9b5dd4c360e79192e73eca6941e0b8dc9 100644 (file)
@@ -90,7 +90,7 @@ unsigned TypeLen (const Type* T)
 
 
 
-Type* TypeCpy (Type* Dest, const Type* Src)
+Type* TypeCopy (Type* Dest, const Type* Src)
 /* Copy a type string */
 {
     Type* Orig = Dest;
@@ -712,25 +712,21 @@ Type* PtrConversion (Type* T)
 
 
 
-TypeCode CodeAddrSizeQualifier (void)
-/* Return T_QUAL_NEAR or T_QUAL_FAR depending on the code address size */
+TypeCode AddrSizeQualifier (unsigned AddrSize)
+/* Return T_QUAL_NEAR or T_QUAL_FAR depending on the address size */
 {
-    if (CodeAddrSize == ADDR_SIZE_FAR) {
-        return T_QUAL_FAR;
-    } else {
-        return T_QUAL_NEAR;
-    }
-}
+    switch (AddrSize) {
 
+        case ADDR_SIZE_ABS:
+            return T_QUAL_NEAR;
 
+        case ADDR_SIZE_FAR:
+            return T_QUAL_FAR;
+
+        default:
+            Error ("Invalid address size");
+            return T_QUAL_NEAR;
 
-TypeCode DataAddrSizeQualifier (void)
-/* Return T_QUAL_NEAR or T_QUAL_FAR depending on the data address size */
-{
-    if (DataAddrSize == ADDR_SIZE_FAR) {
-        return T_QUAL_FAR;
-    } else {
-        return T_QUAL_NEAR;
     }
 }