fix some issues when using --advanced with v6only

This commit is contained in:
Bill Currie 2007-09-15 07:44:31 +00:00 committed by Jeff Teunissen
parent d1e2b6b7d2
commit 01b71c40d2
2 changed files with 11 additions and 7 deletions

View file

@ -185,7 +185,7 @@ WriteData (int crc)
for (def = pr.scope->head; def; def = def->def_next) {
if (def->local || !def->name)
continue;
if (options.traditional && *def->name == '.'
if (options.code.progsversion == PROG_ID_VERSION && *def->name == '.'
&& strcmp (def->name, ".imm") != 0
&& strcmp (def->name, ".debug_file") != 0)
continue;
@ -425,7 +425,7 @@ finish_compilation (void)
if (errors)
return !errors;
if (!options.traditional) {
if (options.code.progsversion != PROG_ID_VERSION) {
e.type = ex_integer;
e.e.integer_val = type_size (&type_param);
ReuseConstant (&e, get_def (&type_integer, ".param_size", pr.scope,

View file

@ -670,12 +670,16 @@ init_types (void)
if (options.traditional)
return;
strct = type_zero.s.strct;
new_struct_field (strct, &type_vector, "vector_val", vis_public);
new_struct_field (strct, &type_quaternion, "quaternion_val", vis_public);
if (options.code.progsversion != PROG_ID_VERSION) {
strct = type_zero.s.strct;
new_struct_field (strct, &type_vector, "vector_val", vis_public);
new_struct_field (strct, &type_quaternion, "quaternion_val",
vis_public);
strct = type_param.s.strct;
new_struct_field (strct, &type_quaternion, "quaternion_val", vis_public);
strct = type_param.s.strct;
new_struct_field (strct, &type_quaternion, "quaternion_val",
vis_public);
}
strct = quaternion_struct = get_struct (0, 1);
init_struct (strct, new_type (), str_struct, 0);