Generated labels of resource names must be unique throughout the
generated code.
This commit is contained in:
parent
98c5cd6f9e
commit
3781d0d6e7
|
@ -1,3 +1,18 @@
|
|||
---------------------------------------------------------------------------
|
||||
Version 1.0.18 (28-Dec-1999)
|
||||
|
||||
Bertho Stultiens <bertho@akhphd.au.dk>
|
||||
- Bugfix: The named resources were not named correctly for indirectly
|
||||
addressable resources, which resulted in an undefined variable. The
|
||||
previous fix was incomplete (I was probably sleeping while I made it).
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
Version 1.0.17 (20-Dec-1999)
|
||||
|
||||
Bertho Stultiens <bertho@akhphd.au.dk>
|
||||
- Bugfix: Named resources of different types generated the same assembly-
|
||||
label twice, resulting in a compile failure.
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
Version 1.0.16 (6-Nov-1999)
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
#include "wrctypes.h"
|
||||
#endif
|
||||
|
||||
#define WRC_VERSION "1.0.16"
|
||||
#define WRC_RELEASEDATE "(6-Nov-1999)"
|
||||
#define WRC_VERSION "1.0.18"
|
||||
#define WRC_RELEASEDATE "(28-Dec-1999)"
|
||||
#define WRC_FULLVERSION WRC_VERSION " " WRC_RELEASEDATE
|
||||
|
||||
/* Only used in heavy debugging sessions */
|
||||
|
|
|
@ -633,10 +633,9 @@ void write_pe_segment(FILE *fp, resource_t *top)
|
|||
fprintf(fp, "\t.long\t%d\n", rsc->name->name.i_name);
|
||||
else
|
||||
{
|
||||
char *label = prep_nid_for_label(rsc->name);
|
||||
fprintf(fp, "\t.long\t(%s_%s_name - %s%s) | 0x80000000\n",
|
||||
fprintf(fp, "\t.long\t(%s%s_name - %s%s) | 0x80000000\n",
|
||||
prefix,
|
||||
label,
|
||||
rsc->c_name,
|
||||
prefix,
|
||||
_PEResTab);
|
||||
}
|
||||
|
@ -872,10 +871,9 @@ void write_rsc_names(FILE *fp, resource_t *top)
|
|||
|
||||
if(rsc->name->type == name_str)
|
||||
{
|
||||
char *name = prep_nid_for_label(rsc->name);
|
||||
fprintf(fp, "%s_%s_name:\n",
|
||||
fprintf(fp, "%s%s_name:\n",
|
||||
prefix,
|
||||
name);
|
||||
rsc->c_name);
|
||||
write_name_str(fp, rsc->name);
|
||||
}
|
||||
}
|
||||
|
@ -1024,7 +1022,6 @@ void write_s_file(char *outname, resource_t *top)
|
|||
{
|
||||
int type;
|
||||
char *type_name = NULL;
|
||||
char *label;
|
||||
|
||||
if(!rsc->binres)
|
||||
continue;
|
||||
|
@ -1063,12 +1060,10 @@ void write_s_file(char *outname, resource_t *top)
|
|||
fprintf(fo, "%s%s:\n", prefix, rsc->c_name);
|
||||
if(global)
|
||||
fprintf(fo, "\t.globl\t%s%s\n", prefix, rsc->c_name);
|
||||
label = prep_nid_for_label(rsc->name);
|
||||
fprintf(fo, "\t.long\t%d, %s%s%s%s, %d, %s%s%s%s, %s%s_data, %d\n",
|
||||
fprintf(fo, "\t.long\t%d, %s%s%s, %d, %s%s%s%s, %s%s_data, %d\n",
|
||||
rsc->name->type == name_ord ? rsc->name->name.i_name : 0,
|
||||
rsc->name->type == name_ord ? "0" : prefix,
|
||||
rsc->name->type == name_ord ? "" : "_",
|
||||
rsc->name->type == name_ord ? "" : label,
|
||||
rsc->name->type == name_ord ? "" : rsc->c_name,
|
||||
rsc->name->type == name_ord ? "" : "_name",
|
||||
type,
|
||||
type ? "0" : prefix,
|
||||
|
|
Loading…
Reference in New Issue