* as/mcs51/lkarea.c (lnkarea2): clear new xdatamap, bugfix for two
[fw/sdcc] / as / mcs51 / i51mch.c
index 9f1ceac4b47996e7d7be209fce40d92eb18365e4..7af6a135269cb7cc5aff8e6557ffd33ff89bb84a 100644 (file)
@@ -424,7 +424,7 @@ struct mne *mp;
                        v1 = -3;
                    else
                        v1 = e1.e_addr - dot.s_addr - 1;
-                       if ((v1 < -128) || (v1 > 127))
+                       if (pass==2 && ((v1 < -128) || (v1 > 127)))
                                aerr();
                        outab(v1);
                } else {
@@ -443,7 +443,7 @@ struct mne *mp;
                        v1 = -2;
                    else   
                        v1 = e1.e_addr - dot.s_addr - 1;
-                       if ((v1 < -128) || (v1 > 127))
+                       if (pass == 2 && ((v1 < -128) || (v1 > 127)))
                                aerr();
                        outab(v1);
                } else {
@@ -498,7 +498,7 @@ struct mne *mp;
                        v1 = -3;
                    else   
                        v1 = e1.e_addr - dot.s_addr - 1;
-                       if ((v1 < -128) || (v1 > 127))
+                       if (pass == 2 && ((v1 < -128) || (v1 > 127)))
                                aerr();
                        outab(v1);
                } else {
@@ -535,7 +535,7 @@ struct mne *mp;
                        v1 = -2;
                    else   
                        v1 = e1.e_addr - dot.s_addr - 1;
-                       if ((v1 < -128) || (v1 > 127))
+                       if (pass == 2 && ((v1 < -128) || (v1 > 127)))
                                aerr();
                        outab(v1);
                } else {