comparison dmd/TypePointer.d @ 135:af1bebfd96a4 dmd2037

dmd 2.038
author Eldar Insafutdinov <e.insafutdinov@gmail.com>
date Mon, 13 Sep 2010 22:19:42 +0100
parents e28b18c23469
children e3afd1303184
comparison
equal deleted inserted replaced
134:4251f96733f4 135:af1bebfd96a4
106 if (to.ty == TY.Tpointer) 106 if (to.ty == TY.Tpointer)
107 { 107 {
108 TypePointer tp = cast(TypePointer)to; 108 TypePointer tp = cast(TypePointer)to;
109 assert(tp.next); 109 assert(tp.next);
110 110
111 if (!(next.mod == tp.next.mod || tp.next.mod == MOD.MODconst)) 111 if (!MODimplicitConv(next.mod, tp.next.mod))
112 return MATCH.MATCHnomatch; // not const-compatible 112 return MATCH.MATCHnomatch; // not const-compatible
113 113
114 /* Alloc conversion to void[] 114 /* Alloc conversion to void[]
115 */ 115 */
116 if (next.ty != TY.Tvoid && tp.next.ty == TY.Tvoid) 116 if (next.ty != TY.Tvoid && tp.next.ty == TY.Tvoid)
143 override Expression defaultInit(Loc loc) 143 override Expression defaultInit(Loc loc)
144 { 144 {
145 version (LOGDEFAULTINIT) { 145 version (LOGDEFAULTINIT) {
146 printf("TypePointer::defaultInit() '%s'\n", toChars()); 146 printf("TypePointer::defaultInit() '%s'\n", toChars());
147 } 147 }
148 Expression e = new NullExp(loc); 148 return new NullExp(loc, this);
149 e.type = this;
150 return e;
151 } 149 }
152 150
153 override bool isZeroInit(Loc loc) 151 override bool isZeroInit(Loc loc)
154 { 152 {
155 return true; 153 return true;