mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-13 17:57:12 +08:00
Clean up the fwrite*() function definitions somewhat
Slight cleanup of the fwrite*() functions. This actually helps gcc generate better code on i386, for no apparent reason.
This commit is contained in:
parent
4095197f6c
commit
c170867864
28
nasmlib.c
28
nasmlib.c
@ -363,54 +363,50 @@ int32_t seg_alloc(void)
|
||||
|
||||
#if X86_MEMORY
|
||||
|
||||
void fwriteint16_t(int data, FILE * fp)
|
||||
void fwriteint16_t(uint16_t data, FILE * fp)
|
||||
{
|
||||
uint16_t d = data;
|
||||
fwrite(&d, 1, 2, fp);
|
||||
fwrite(&data, 1, 2, fp);
|
||||
}
|
||||
|
||||
void fwriteint32_t(int32_t data, FILE * fp)
|
||||
void fwriteint32_t(uint32_t data, FILE * fp)
|
||||
{
|
||||
uint32_t d = data;
|
||||
fwrite(&d, 1, 4, fp);
|
||||
fwrite(&data, 1, 4, fp);
|
||||
}
|
||||
|
||||
void fwriteint64_t(int64_t data, FILE * fp)
|
||||
void fwriteint64_t(uint64_t data, FILE * fp)
|
||||
{
|
||||
uint64_t d = data;
|
||||
fwrite(&d, 1, 8, fp);
|
||||
fwrite(&data, 1, 8, fp);
|
||||
}
|
||||
|
||||
void fwriteaddr(int64_t data, int size, FILE * fp)
|
||||
void fwriteaddr(uint64_t data, int size, FILE * fp)
|
||||
{
|
||||
uint64_t d = data;
|
||||
fwrite(&d, 1, size, fp);
|
||||
fwrite(&data, 1, size, fp);
|
||||
}
|
||||
|
||||
#else /* !X86_MEMORY */
|
||||
|
||||
void fwriteint16_t(int data, FILE * fp)
|
||||
void fwriteint16_t(uint16_t data, FILE * fp)
|
||||
{
|
||||
char buffer[2], *p = buffer;
|
||||
WRITESHORT(p, data);
|
||||
fwrite(buffer, 1, 2, fp);
|
||||
}
|
||||
|
||||
void fwriteint32_t(int32_t data, FILE * fp)
|
||||
void fwriteint32_t(uint32_t data, FILE * fp)
|
||||
{
|
||||
char buffer[4], *p = buffer;
|
||||
WRITELONG(p, data);
|
||||
fwrite(buffer, 1, 4, fp);
|
||||
}
|
||||
|
||||
void fwriteint64_t(int64_t data, FILE * fp)
|
||||
void fwriteint64_t(uint64_t data, FILE * fp)
|
||||
{
|
||||
char buffer[8], *p = buffer;
|
||||
WRITEDLONG(p, data);
|
||||
fwrite(buffer, 1, 8, fp);
|
||||
}
|
||||
|
||||
void fwriteaddr(int64_t data, int size, FILE * fp)
|
||||
void fwriteaddr(uint64_t data, int size, FILE * fp)
|
||||
{
|
||||
char buffer[8], *p = buffer;
|
||||
WRITEADDR(p, data, size);
|
||||
|
@ -260,10 +260,10 @@ void standard_extension(char *inname, char *outname, char *extension,
|
||||
* and routines to do the same thing to a file
|
||||
*/
|
||||
#define fwriteint8_t(d,f) putc(d,f)
|
||||
void fwriteint16_t(int data, FILE * fp);
|
||||
void fwriteint32_t(int32_t data, FILE * fp);
|
||||
void fwriteint64_t(int64_t data, FILE * fp);
|
||||
void fwriteaddr(int64_t data, int size, FILE * fp);
|
||||
void fwriteint16_t(uint16_t data, FILE * fp);
|
||||
void fwriteint32_t(uint32_t data, FILE * fp);
|
||||
void fwriteint64_t(uint64_t data, FILE * fp);
|
||||
void fwriteaddr(uint64_t data, int size, FILE * fp);
|
||||
|
||||
/*
|
||||
* Routines to manage a dynamic random access array of int32_ts which
|
||||
|
Loading…
x
Reference in New Issue
Block a user