X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=compiler%2Flibec%2Fsrc%2Fpass15.ec;h=1207dd5861a918f87bebc6ac74f7caae7dd5d412;hb=52cc84415fa6becd514e09e369a29a6ebcc558b0;hp=c8e182bb39347200ed96aa2cbcb0a3dcceb97900;hpb=73faf15facff91e0e7e2f426dec2b71ca0b7529d;p=sdk diff --git a/compiler/libec/src/pass15.ec b/compiler/libec/src/pass15.ec index c8e182b..1207dd5 100644 --- a/compiler/libec/src/pass15.ec +++ b/compiler/libec/src/pass15.ec @@ -6632,15 +6632,16 @@ void CheckTemplateTypes(Expression exp) break; } } - if(newExp.type == memberExp && newExp.member.memberType == dataMember) + /*if(newExp.type == memberExp && newExp.member.memberType == dataMember) { + // When was this required? Removed to address using templated values to pass to printf() exp.type = opExp; exp.op.op = '*'; exp.op.exp1 = null; exp.op.exp2 = MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), MkDeclaratorPointer(MkPointer(null, null), null)), MkExpBrackets(MkListOne(MkExpOp(null, '&', newExp)))); } - else + else*/ { char typeString[1024]; Declarator decl; @@ -6654,6 +6655,8 @@ void CheckTemplateTypes(Expression exp) exp.cast.typeName = MkTypeName(specs, decl); exp.cast.exp = MkExpBrackets(MkListOne(newExp)); exp.cast.exp.needCast = true; + exp.needTemplateCast = 2; + newExp.needTemplateCast = 2; } break; }