compile mscoffobj.d for all

This commit is contained in:
Walter Bright 2020-11-24 03:01:35 -08:00 committed by The Dlang Bot
parent 6f8ead9353
commit 676d73055c
3 changed files with 12 additions and 29 deletions

View file

@ -266,10 +266,7 @@ struct seg_data
Barray!(linnum_data) SDlinnum_data; // array of line number / offset data
nothrow:
version (Windows)
int isCode() { return seg_data_isCode(this); }
version (OSX)
int isCode() { return seg_data_isCode(this); }
int isCode() { return seg_data_isCode(this); }
}
extern int seg_data_isCode(const ref seg_data sd) @system;

View file

@ -7,7 +7,6 @@ module dmd.backend.mscoff;
// Online documentation: https://dlang.org/phobos/dmd_backend_mscoff.html
version(Windows):
align (1):
/***********************************************/

View file

@ -51,12 +51,9 @@ nothrow:
alias _compare_fp_t = extern(C) nothrow int function(const void*, const void*);
extern(C) void qsort(void* base, size_t nmemb, size_t size, _compare_fp_t compar);
static if (TARGET_WINDOS)
{
extern (C) char* strupr(char*);
private __gshared Outbuffer *fobjbuf;
private extern (D) __gshared Outbuffer *fobjbuf;
enum DEST_LEN = (IDMAX + IDOHD + 1);
char *obj_mangle2(Symbol *s,char *dest);
@ -98,10 +95,10 @@ IMAGE_SECTION_HEADER* ScnhdrTab() { return cast(IMAGE_SECTION_HEADER *)ScnhdrBuf
segidx_t segidx_xdata = UNKNOWN;
segidx_t segidx_pdata = UNKNOWN;
int jumpTableSeg; // segment index for __jump_table
extern (D) int jumpTableSeg; // segment index for __jump_table
Outbuffer *indirectsymbuf2; // indirect symbol table of Symbol*'s
int pointersSeg; // segment index for __pointers
extern (D) Outbuffer *indirectsymbuf2; // indirect symbol table of Symbol*'s
extern (D) int pointersSeg; // segment index for __pointers
Outbuffer *ptrref_buf; // buffer for pointer references
@ -111,7 +108,7 @@ IMAGE_SECTION_HEADER* ScnhdrTab() { return cast(IMAGE_SECTION_HEADER *)ScnhdrBuf
* to be added last to the symbol table.
* Obviously, there can be only one.
*/
IDXSTR extdef;
extern (D) IDXSTR extdef;
// Each compiler segment is a section
// Predefined compiler segments CODE,DATA,CDATA,UDATA map to indexes
@ -132,8 +129,9 @@ public:
// already in cgobj.c (should be part of objmod?):
// seg_data **SegData;
extern Rarray!(seg_data*) SegData;
segidx_t seg_tlsseg = UNKNOWN;
segidx_t seg_tlsseg_bss = UNKNOWN;
private extern (D) segidx_t seg_tlsseg = UNKNOWN;
private extern (D) segidx_t seg_tlsseg_bss = UNKNOWN;
}
@ -1088,9 +1086,9 @@ void MsCoffObj_wkext(Symbol *s1,Symbol *s2)
* twice for the same file.
*/
void obj_filename(const(char)* modname)
void MsCoffObj_filename(const(char)* modname)
{
//dbg_printf("obj_filename(char *%s)\n",modname);
//dbg_printf("MsCoffObj_filename(char *%s)\n",modname);
// Not supported by mscoff
}
@ -1667,7 +1665,7 @@ static if (0) // NOT_DONE
}
}
char *unsstr(uint value)
private extern (D) char* unsstr(uint value)
{
__gshared char[64] buffer;
@ -2494,14 +2492,3 @@ extern (D) private void objflush_pointerRefs()
}
}
else
{
segidx_t MsCoffObj_seg_pdata() { assert(0); }
segidx_t MsCoffObj_seg_xdata() { assert(0); }
segidx_t MsCoffObj_seg_pdata_comdat(Symbol *sfunc) { assert(0); }
segidx_t MsCoffObj_seg_xdata_comdat(Symbol *sfunc) { assert(0); }
segidx_t MsCoffObj_seg_debugS() { assert(0); }
segidx_t MsCoffObj_seg_debugS_comdat(Symbol *sfunc) { assert(0); }
}
}