diff --git a/.gitignore b/.gitignore index 7d0c187408..6f019aeab6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,34 +1,18 @@ *.[oa] *.deps -src/cdxxx.c -src/debtab.c src/dmd -src/dmd_frontend -src/ddmd -src/dmd.conf -src/elxxx.c -src/fltables.c -src/id.c -src/id.h -src/id.d -src/idgen -src/optab.c -src/optabgen -src/tytab.c +src/ddmd/id.d +src/ddmd/id.h test/test_results +test/trace.def +test/trace.log +generated/ *.obj -src/idgen.exe src/dmd.exe -src/dmd_frontend.exe -src/optabgen.exe -src/verstr.h *.map -.DS_Store -trace.def -trace.log -Makefile -src/magicport/magicport -src/SYSCONFDIR.imp +-.DS_Store +-trace.def +-trace.log # Visual Studio files *.exe diff --git a/src/ddmd/backend/optabgen.c b/src/ddmd/backend/optabgen.c index dc49f39eec..ea04822e27 100644 --- a/src/ddmd/backend/optabgen.c +++ b/src/ddmd/backend/optabgen.c @@ -164,7 +164,7 @@ FILE *fdeb; int main() { printf("OPTABGEN... generating files\n"); - fdeb = fopen("ddmd/backend/debtab.c","w"); + fdeb = fopen("debtab.c","w"); dooptab(); dotab(); fltables(); @@ -234,7 +234,7 @@ void dooptab() #undef X2 #undef X1 - f = fopen("ddmd/backend/optab.c","w"); + f = fopen("optab.c","w"); fprintf(f,"extern \"C\" { unsigned char optab1[OPMAX] =\n\t{"); for (i = 0; i < OPMAX; i++) { if ((i & 7) == 0) @@ -597,14 +597,14 @@ void dotab() fprintf(fdeb,"\t\"%s\",\n",debtab[i]); fprintf(fdeb,"\t\"%s\"\n\t};\n",debtab[i]); - f = fopen("ddmd/backend/cdxxx.c","w"); + f = fopen("cdxxx.c","w"); fprintf(f,"code *(*cdxxx[OPMAX]) (elem *,regm_t *) = \n\t{\n"); for (i = 0; i < OPMAX - 1; i++) fprintf(f,"\t%s,\n",cdxxx[i]); fprintf(f,"\t%s\n\t};\n",cdxxx[i]); fclose(f); - f = fopen("ddmd/backend/elxxx.c","w"); + f = fopen("elxxx.c","w"); fprintf(f,"static elem *(*elxxx[OPMAX]) (elem *, goal_t) = \n\t{\n"); for (i = 0; i < OPMAX - 1; i++) fprintf(f,"\t%s,\n",elxxx[i]); @@ -727,7 +727,7 @@ void fltables() } } - f = fopen("ddmd/backend/fltables.c","w"); + f = fopen("fltables.c","w"); fprintf(f,"const char datafl[FLMAX] = \n\t{ "); for (i = 0; i < FLMAX - 1; i++) @@ -981,7 +981,7 @@ void dotytab() #undef T1 #undef T2 - f = fopen("ddmd/backend/tytab.c","w"); + f = fopen("tytab.c","w"); fprintf(f,"unsigned tytab[] =\n{ "); for (i = 0; i < arraysize(tytab); i++) diff --git a/src/ddmd/idgen.d b/src/ddmd/idgen.d index 22a75cb708..2b36850b85 100644 --- a/src/ddmd/idgen.d +++ b/src/ddmd/idgen.d @@ -378,7 +378,7 @@ int main() auto fp = fopen("ddmd/id.h","wb"); if (!fp) { - printf("can't open id.h\n"); + printf("can't open ddmd/id.h\n"); exit(EXIT_FAILURE); } @@ -406,7 +406,7 @@ int main() auto fp = fopen("ddmd/id.d","wb"); if (!fp) { - printf("can't open id.d\n"); + printf("can't open ddmd/id.d\n"); exit(EXIT_FAILURE); } diff --git a/src/posix.mak b/src/posix.mak index 588c22d4fa..fe8479b469 100644 --- a/src/posix.mak +++ b/src/posix.mak @@ -209,7 +209,7 @@ endif # Uniqe extra flags if necessary DMD_FLAGS := -I$(ROOT) -Wuninitialized GLUE_FLAGS := -I$(ROOT) -I$(TK) -I$(C) -BACK_FLAGS := -I$(ROOT) -I$(TK) -I$(C) -I$D -DDMDV2=1 +BACK_FLAGS := -I$(ROOT) -I$(TK) -I$(C) -I$G -I$D -DDMDV2=1 ROOT_FLAGS := -I$(ROOT) ifeq ($(OS), osx) @@ -365,7 +365,7 @@ endif clean: rm -R $(GENERATED) - rm -f $(idgen_output) $(optabgen_output) dmd + rm -f dmd $(idgen_output) @[ ! -d ${PGO_DIR} ] || echo You should issue manually: rm -rf ${PGO_DIR} ######## Download and install the last dmd buildable without dmd @@ -401,8 +401,9 @@ dmd.conf: $G/optabgen: $C/optabgen.c $C/cc.h $C/oper.h $(HOST_CXX) $(CXXFLAGS) -I$(TK) $< -o $G/optabgen $G/optabgen + mv $(optabgen_output) $G -optabgen_output = $(addprefix $C/, debtab.c optab.c cdxxx.c elxxx.c fltables.c tytab.c) +optabgen_output = debtab.c optab.c cdxxx.c elxxx.c fltables.c tytab.c $(optabgen_output) : $G/optabgen ######## idgen generates some source @@ -447,17 +448,17 @@ $(G_OBJS) : $(optabgen_output) # If additional flags are needed for a specific file add a _CXXFLAGS as a # dependency to the object file and assign the appropriate content. -cg.o: $C/fltables.c +cg.o: $G/fltables.c -cgcod.o: $C/cdxxx.c +cgcod.o: $G/cdxxx.c -cgelem.o: $C/elxxx.c +cgelem.o: $G/elxxx.c -debug.o: $C/debtab.c +debug.o: $G/debtab.c iasm.o: CXXFLAGS += -fexceptions -var.o: $C/optab.c $C/tytab.c +var.o: $G/optab.c $G/tytab.c # Generic rules for all source files diff --git a/src/win32.mak b/src/win32.mak index 479e5fb058..7c20bb1412 100644 --- a/src/win32.mak +++ b/src/win32.mak @@ -306,7 +306,7 @@ $(LIBS) : $(GBACKOBJ) $(OBJ_MSVC) DMDFRONTENDEXE = $G\dmd_frontend.exe $(DMDFRONTENDEXE): $(FRONT_SRCS) $D\gluelayer.d $(ROOT_SRCS) $G\newdelete.obj $(STRING_IMPORT_FILES) - $(HOST_DC) $(DSRC) -of$@ -vtls -J$G -J../res -L/STACK:8388608 $(DFLAGS) $(FRONT_SRCS) gluelayer.d $(ROOT_SRCS) newdelete.obj -version=NoBackend + $(HOST_DC) $(DSRC) -of$@ -vtls -J$G -J../res -L/STACK:8388608 $(DFLAGS) $(FRONT_SRCS) $D/gluelayer.d $(ROOT_SRCS) newdelete.obj -version=NoBackend copy $(DMDFRONTENDEXE) . $(TARGETEXE): $(DMD_SRCS) $(ROOT_SRCS) $G\newdelete.obj $(LIBS) $(STRING_IMPORT_FILES) @@ -318,10 +318,8 @@ $(TARGETEXE): $(DMD_SRCS) $(ROOT_SRCS) $G\newdelete.obj $(LIBS) $(STRING_IMPORT_ clean: $(RD) /s /q $(GEN) $(DEL) $D\msgs.h $D\msgs.c - $(DEL) $C\elxxx.c $C\cdxxx.c $C\optab.c $C\debtab.c $C\fltables.c $C\tytab.c - $(DEL) $D\id.h $D\id.d $(DEL) optabgen.exe - $(DEL) $(TARGETEXE) $(DMDFRONTENDEXE) *.map *.obj + $(DEL) $(TARGETEXE) $(DMDFRONTENDEXE) $(IDGENOUTPUT) *.map *.obj install: detab install-copy @@ -388,18 +386,17 @@ checkwhitespace: $(HOST_DC) -Df$@ $< ############################## Generated Source ############################## -OPTABGENOUTPUT = $C\elxxx.c $C\cdxxx.c $C\optab.c $C\debtab.c $C\fltables.c $C\tytab.c -IDGENOUTPUT = $D\id.d $D\id.h - -print: - @echo '$(IDGENOUTPUT)' +OPTABGENOUTPUT = $G\elxxx.c $G\cdxxx.c $G\optab.c $G\debtab.c $G\fltables.c $G\tytab.c +IDGENOUTPUT = $D/id.d $D/id.h $(OPTABGENOUTPUT) : \ $C\cdef.h $C\cc.h $C\oper.h $C\ty.h $C\optabgen.c $(CC) -cpp -o$G\optabgen.exe $C\optabgen -DMARS -DDM_TARGET_CPU_X86=1 -I$(TK) $G\optabgen.exe + copy *.c "$G\" + $(DEL) *.c -ddmd/id.h ddmd/id.d : $D\idgen.d +$(IDGENOUTPUT) : $D\idgen.d $(HOST_DC) -of$G\idgen $D\idgen.d $G/idgen @@ -420,7 +417,7 @@ $G/bcomplex.obj : $C\bcomplex.c $(CC) -c -o$@ $(MFLAGS) $C\bcomplex $G/aa.obj : $C\tinfo.h $C\aa.h $C\aa.c - $(CC) -c -o$@ $(MFLAGS) -I$D $C\aa + $(CC) -c -o$@ $(MFLAGS) -I$D -I$G $C\aa $G/backconfig.obj : $C\backconfig.c $(CC) -c -o$@ $(MFLAGS) $C\backconfig @@ -429,13 +426,13 @@ $G/blockopt.obj : $C\blockopt.c $(CC) -c -o$@ $(MFLAGS) $C\blockopt $G/cg.obj : $C\cg.c - $(CC) -c -o$@ $(MFLAGS) -I$D $C\cg + $(CC) -c -o$@ $(MFLAGS) -I$D -I$G $C\cg $G/cg87.obj : $C\cg87.c $(CC) -c -o$@ $(MFLAGS) $C\cg87 $G/cgcod.obj : $C\cgcod.c - $(CC) -c -o$@ $(MFLAGS) -I$D $C\cgcod + $(CC) -c -o$@ $(MFLAGS) -I$D -I$G $C\cgcod $G/cgcs.obj : $C\cgcs.c $(CC) -c -o$@ $(MFLAGS) $C\cgcs @@ -444,7 +441,7 @@ $G/cgcv.obj : $C\cgcv.c $(CC) -c -o$@ $(MFLAGS) $C\cgcv $G/cgelem.obj : $C\rtlsym.h $C\cgelem.c - $(CC) -c -o$@ $(MFLAGS) -I$D $C\cgelem + $(CC) -c -o$@ $(MFLAGS) -I$D -I$G $C\cgelem $G/cgen.obj : $C\rtlsym.h $C\cgen.c $(CC) -c -o$@ $(MFLAGS) $C\cgen @@ -489,7 +486,7 @@ $G/cv8.obj : $C\cv8.c $(CC) -c -o$@ $(MFLAGS) $C\cv8 $G/debug.obj : $C\debug.c - $(CC) -c -o$@ $(MFLAGS) -I$D $C\debug + $(CC) -c -o$@ $(MFLAGS) -I$D -I$G $C\debug $G/divcoeff.obj : $C\divcoeff.c $(CC) -c -o$@ -cpp -e $(DEBUG) $C\divcoeff @@ -537,7 +534,7 @@ $G/md5.obj : $C\md5.h $C\md5.c $(CC) -c -o$@ $(MFLAGS) $C\md5 $G/mscoffobj.obj : $C\mscoff.h $C\mscoffobj.c - $(CC) -c -o$@ $(MFLAGS) -I$D;$(ROOT) $C\mscoffobj + $(CC) -c -o$@ $(MFLAGS) -I$D;$(ROOT) -I$G $C\mscoffobj $G/newman.obj : $(CH) $C\newman.c $(CC) -c -o$@ $(MFLAGS) $C\newman @@ -573,7 +570,7 @@ $G/ti_achar.obj : $C\tinfo.h $C\ti_achar.c $(CC) -c -o$@ $(MFLAGS) -I$D $C\ti_achar $G/ti_pvoid.obj : $C\tinfo.h $C\ti_pvoid.c - $(CC) -c -o$@ $(MFLAGS) -I$D $C\ti_pvoid + $(CC) -c -o$@ $(MFLAGS) -I$D -I$G $C\ti_pvoid $G/type.obj : $C\type.c $(CC) -c -o$@ $(MFLAGS) $C\type @@ -581,11 +578,11 @@ $G/type.obj : $C\type.c $G/util2.obj : $C\util2.c $(CC) -c -o$@ $(MFLAGS) $C\util2 -$G/var.obj : $C\var.c $C\optab.c - $(CC) -c -o$@ $(MFLAGS) -I$D -I$C $C\var +$G/var.obj : $C\var.c $G\optab.c + $(CC) -c -o$@ $(MFLAGS) -I$D -I$C -I$G $C\var $G/varstats.obj : $C\varstats.c - $(CC) -c -o$@ $(MFLAGS) -I$D $C\varstats + $(CC) -c -o$@ $(MFLAGS) -I$D -I$G $C\varstats $G/tk.obj : $C\tk.c