r_result = false;
if(var1->array_size && var.array_size)
compare(*var1->array_size, *var.array_size);
+ else if(!var1->array_size && !var.array_size)
+ r_result = true;
}
if(r_result && var1->type_declaration!=var.type_declaration)
compare(*var1->type_declaration, *var.type_declaration);
}
else if(basic.kind==BasicTypeDeclaration::ARRAY)
basic.base_type->visit(*this);
+
+ if(basic.extended_alignment)
+ r_alignment = (r_alignment+15)&~15U;
}
void MemoryRequirementsCalculator::visit(StructDeclaration &strct)
}
r_size = total;
r_alignment = max_align;
+ if(strct.extended_alignment)
+ r_alignment = (r_alignment+15)&~15U;
r_size += r_alignment-1;
r_size -= r_size%r_alignment;
}