comparison dmd/StringExp.d @ 108:6da99741178e

e2ir.c changes, mainly accounts for static arrays being value types now
author Trass3r
date Tue, 31 Aug 2010 21:41:01 +0200
parents 5c859d5fbe27
children e28b18c23469
comparison
equal deleted inserted replaced
107:d8f19d85fadb 108:6da99741178e
828 L1: 828 L1:
829 e = el_var(si); 829 e = el_var(si);
830 } 830 }
831 else if (tb.ty == TY.Tsarray) 831 else if (tb.ty == TY.Tsarray)
832 { 832 {
833 Symbol *si;
834 dt_t *dt = null; 833 dt_t *dt = null;
835 834
836 toDt(&dt); 835 toDt(&dt);
837 dtnzeros(&dt, sz); // leave terminating 0 836 dtnzeros(&dt, sz); // leave terminating 0
838 837
839 si = symbol_generate(SC.SCstatic,type_allocn(TYM.TYarray, tschar)); 838 Symbol* si = symbol_generate(SC.SCstatic,type_allocn(TYM.TYarray, tschar));
840 si.Sdt = dt; 839 si.Sdt = dt;
841 si.Sfl = FL.FLdata; 840 si.Sfl = FL.FLdata;
842 841
843 version (ELFOBJ_OR_MACHOBJ) { // Burton 842 version (ELFOBJ_OR_MACHOBJ) { // Burton
844 si.Sseg = Segment.CDATA; 843 si.Sseg = Segment.CDATA;
845 } 844 }
846 outdata(si); 845 outdata(si);
847 846
848 e = el_var(si); 847 e = el_var(si);
848 e.Enumbytes = len * sz;
849 } 849 }
850 else if (tb.ty == TY.Tpointer) 850 else if (tb.ty == TY.Tpointer)
851 { 851 {
852 e = el_calloc(); 852 e = el_calloc();
853 e.Eoper = OPER.OPstring; 853 e.Eoper = OPER.OPstring;