Skip to content

Commit 48f5dd1

Browse files
authored
Merge pull request #115 from rainers/master
Visual D 0.50.0-rc1
2 parents 3f2b9e7 + e2dd56c commit 48f5dd1

File tree

15 files changed

+423
-56
lines changed

15 files changed

+423
-56
lines changed

CHANGES

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,6 +1131,8 @@ unreleased Version 0.50.0
11311131
- added enable -mixin option to autogenerate files according to the compilation model
11321132
- "New item" now also allows adding D module
11331133
- new option for -extern-std=c++xx
1134+
- new option for -lowmem
1135+
- D-Compiler option missing if no english VS language pack installed
11341136
* visualdproj:
11351137
- Error List: classify warnings and deprecations according to the respective options
11361138
* bugzilla 19930: visualdproj: fix building projects with "&|<>" in directory names
@@ -1145,3 +1147,7 @@ unreleased Version 0.50.0
11451147
- regression: use of registers in expression was lost at some point
11461148
- show class and message for exceptions that the debugger breaks on
11471149
- fix conditional breakpoints "not supported"
1150+
- support multiple "live ranges" when LDC uses registers for locals
1151+
- fix evaluating locals in registers
1152+
* slightly change identification of break point locations
1153+
* fixed "go to definition" eventually not jumping to correct line after opening document

VERSION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#define VERSION_MAJOR 0
22
#define VERSION_MINOR 50
33
#define VERSION_REVISION 0
4-
#define VERSION_BETA -beta
5-
#define VERSION_BUILD 3
4+
#define VERSION_BETA -rc
5+
#define VERSION_BUILD 1

build/build.visualdproj

Lines changed: 186 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<useIn>0</useIn>
3333
<useOut>0</useOut>
3434
<useArrayBounds>0</useArrayBounds>
35-
<noboundscheck>0</noboundscheck>
35+
<boundscheck>0</boundscheck>
3636
<useSwitchError>0</useSwitchError>
3737
<useUnitTests>0</useUnitTests>
3838
<useInline>0</useInline>
@@ -45,10 +45,22 @@
4545
<pic>0</pic>
4646
<cov>0</cov>
4747
<nofloat>0</nofloat>
48-
<Dversion>2</Dversion>
4948
<ignoreUnsupportedPragmas>0</ignoreUnsupportedPragmas>
5049
<allinst>0</allinst>
5150
<stackStomp>0</stackStomp>
51+
<betterC>0</betterC>
52+
<dip25>0</dip25>
53+
<dip1000>0</dip1000>
54+
<dip1008>0</dip1008>
55+
<transition_field>0</transition_field>
56+
<revert_import>0</revert_import>
57+
<preview_dtorfields>0</preview_dtorfields>
58+
<transition_checkimports>0</transition_checkimports>
59+
<transition_complex>0</transition_complex>
60+
<preview_intpromote>0</preview_intpromote>
61+
<preview_fixAliasThis>0</preview_fixAliasThis>
62+
<preview_markdown>0</preview_markdown>
63+
<transition_vmarkdown>0</transition_vmarkdown>
5264
<compiler>0</compiler>
5365
<otherDMD>0</otherDMD>
5466
<cccmd>$(CC) -c</cccmd>
@@ -86,10 +98,11 @@
8698
<runargs />
8799
<runCv2pdb>1</runCv2pdb>
88100
<pathCv2pdb>$(VisualDInstallDir)cv2pdb\cv2pdb.exe</pathCv2pdb>
89-
<cv2pdbPre2043>0</cv2pdbPre2043>
90101
<cv2pdbNoDemangle>0</cv2pdbNoDemangle>
91102
<cv2pdbEnumType>0</cv2pdbEnumType>
92103
<cv2pdbOptions />
104+
<enableMixin>0</enableMixin>
105+
<mixinPath>$(IntDir)\$(SafeProjectName).mixin</mixinPath>
93106
<objfiles />
94107
<linkswitches />
95108
<libfiles />
@@ -105,7 +118,8 @@
105118
<privatePhobos>0</privatePhobos>
106119
<additionalOptions />
107120
<preBuildCommand />
108-
<postBuildCommand>echo Success &gt;$(TargetPath)</postBuildCommand>
121+
<postBuildCommand>echo Success &gt;&quot;$(TargetPath)&quot;
122+
echo. &gt;&quot;$(TargetDir)\build.dep&quot;</postBuildCommand>
109123
<filesToClean>*.obj;*.cmd;*.build;*.json;*.dep</filesToClean>
110124
</Config>
111125
<Config platform="Win32" name="Release">
@@ -140,7 +154,7 @@
140154
<useIn>0</useIn>
141155
<useOut>0</useOut>
142156
<useArrayBounds>0</useArrayBounds>
143-
<noboundscheck>0</noboundscheck>
157+
<boundscheck>0</boundscheck>
144158
<useSwitchError>0</useSwitchError>
145159
<useUnitTests>0</useUnitTests>
146160
<useInline>0</useInline>
@@ -153,10 +167,22 @@
153167
<pic>0</pic>
154168
<cov>0</cov>
155169
<nofloat>0</nofloat>
156-
<Dversion>2</Dversion>
157170
<ignoreUnsupportedPragmas>0</ignoreUnsupportedPragmas>
158171
<allinst>0</allinst>
159172
<stackStomp>0</stackStomp>
173+
<betterC>0</betterC>
174+
<dip25>0</dip25>
175+
<dip1000>0</dip1000>
176+
<dip1008>0</dip1008>
177+
<transition_field>0</transition_field>
178+
<revert_import>0</revert_import>
179+
<preview_dtorfields>0</preview_dtorfields>
180+
<transition_checkimports>0</transition_checkimports>
181+
<transition_complex>0</transition_complex>
182+
<preview_intpromote>0</preview_intpromote>
183+
<preview_fixAliasThis>0</preview_fixAliasThis>
184+
<preview_markdown>0</preview_markdown>
185+
<transition_vmarkdown>0</transition_vmarkdown>
160186
<compiler>0</compiler>
161187
<otherDMD>0</otherDMD>
162188
<cccmd>$(CC) -c</cccmd>
@@ -194,10 +220,11 @@
194220
<runargs />
195221
<runCv2pdb>0</runCv2pdb>
196222
<pathCv2pdb>$(VisualDInstallDir)cv2pdb\cv2pdb.exe</pathCv2pdb>
197-
<cv2pdbPre2043>0</cv2pdbPre2043>
198223
<cv2pdbNoDemangle>0</cv2pdbNoDemangle>
199224
<cv2pdbEnumType>0</cv2pdbEnumType>
200225
<cv2pdbOptions />
226+
<enableMixin>0</enableMixin>
227+
<mixinPath>$(IntDir)\$(SafeProjectName).mixin</mixinPath>
201228
<objfiles />
202229
<linkswitches />
203230
<libfiles />
@@ -213,8 +240,8 @@
213240
<privatePhobos>0</privatePhobos>
214241
<additionalOptions />
215242
<preBuildCommand />
216-
<postBuildCommand>echo Success &gt;$(TargetPath)
217-
echo. &gt;$(TargetDir)\build.dep</postBuildCommand>
243+
<postBuildCommand>echo Success &gt;&quot;$(TargetPath)&quot;
244+
echo. &gt;&quot;$(TargetDir)\build.dep&quot;</postBuildCommand>
218245
<filesToClean>*.obj;*.cmd;*.build;*.json;*.dep</filesToClean>
219246
</Config>
220247
<Config platform="Win32" name="Release COFF32">
@@ -249,7 +276,7 @@ echo. &gt;$(TargetDir)\build.dep</postBuildCommand>
249276
<useIn>0</useIn>
250277
<useOut>0</useOut>
251278
<useArrayBounds>0</useArrayBounds>
252-
<noboundscheck>0</noboundscheck>
279+
<boundscheck>0</boundscheck>
253280
<useSwitchError>0</useSwitchError>
254281
<useUnitTests>0</useUnitTests>
255282
<useInline>0</useInline>
@@ -262,10 +289,22 @@ echo. &gt;$(TargetDir)\build.dep</postBuildCommand>
262289
<pic>0</pic>
263290
<cov>0</cov>
264291
<nofloat>0</nofloat>
265-
<Dversion>2</Dversion>
266292
<ignoreUnsupportedPragmas>0</ignoreUnsupportedPragmas>
267293
<allinst>0</allinst>
268294
<stackStomp>0</stackStomp>
295+
<betterC>0</betterC>
296+
<dip25>0</dip25>
297+
<dip1000>0</dip1000>
298+
<dip1008>0</dip1008>
299+
<transition_field>0</transition_field>
300+
<revert_import>0</revert_import>
301+
<preview_dtorfields>0</preview_dtorfields>
302+
<transition_checkimports>0</transition_checkimports>
303+
<transition_complex>0</transition_complex>
304+
<preview_intpromote>0</preview_intpromote>
305+
<preview_fixAliasThis>0</preview_fixAliasThis>
306+
<preview_markdown>0</preview_markdown>
307+
<transition_vmarkdown>0</transition_vmarkdown>
269308
<compiler>0</compiler>
270309
<otherDMD>0</otherDMD>
271310
<cccmd>$(CC) -c</cccmd>
@@ -303,10 +342,11 @@ echo. &gt;$(TargetDir)\build.dep</postBuildCommand>
303342
<runargs />
304343
<runCv2pdb>0</runCv2pdb>
305344
<pathCv2pdb>$(VisualDInstallDir)cv2pdb\cv2pdb.exe</pathCv2pdb>
306-
<cv2pdbPre2043>0</cv2pdbPre2043>
307345
<cv2pdbNoDemangle>0</cv2pdbNoDemangle>
308346
<cv2pdbEnumType>0</cv2pdbEnumType>
309347
<cv2pdbOptions />
348+
<enableMixin>0</enableMixin>
349+
<mixinPath>$(IntDir)\$(SafeProjectName).mixin</mixinPath>
310350
<objfiles />
311351
<linkswitches />
312352
<libfiles />
@@ -323,6 +363,128 @@ echo. &gt;$(TargetDir)\build.dep</postBuildCommand>
323363
<additionalOptions />
324364
<preBuildCommand />
325365
<postBuildCommand>echo Success &gt;&quot;$(TargetPath)&quot;
366+
echo. &gt;&quot;$(TargetDir)\build.dep&quot;</postBuildCommand>
367+
<filesToClean>*.obj;*.cmd;*.build;*.json;*.dep</filesToClean>
368+
</Config>
369+
<Config platform="Win32" name="Debug COFF32">
370+
<obj>0</obj>
371+
<link>0</link>
372+
<lib>1</lib>
373+
<subsystem>0</subsystem>
374+
<multiobj>0</multiobj>
375+
<singleFileCompilation>3</singleFileCompilation>
376+
<oneobj>0</oneobj>
377+
<mscoff>0</mscoff>
378+
<trace>0</trace>
379+
<quiet>0</quiet>
380+
<verbose>0</verbose>
381+
<vtls>0</vtls>
382+
<vgc>0</vgc>
383+
<symdebug>1</symdebug>
384+
<symdebugref>1</symdebugref>
385+
<optimize>0</optimize>
386+
<cpu>0</cpu>
387+
<isX86_64>0</isX86_64>
388+
<isLinux>0</isLinux>
389+
<isOSX>0</isOSX>
390+
<isWindows>0</isWindows>
391+
<isFreeBSD>0</isFreeBSD>
392+
<isSolaris>0</isSolaris>
393+
<scheduler>0</scheduler>
394+
<useDeprecated>0</useDeprecated>
395+
<errDeprecated>0</errDeprecated>
396+
<useAssert>0</useAssert>
397+
<useInvariants>0</useInvariants>
398+
<useIn>0</useIn>
399+
<useOut>0</useOut>
400+
<useArrayBounds>0</useArrayBounds>
401+
<boundscheck>0</boundscheck>
402+
<useSwitchError>0</useSwitchError>
403+
<useUnitTests>0</useUnitTests>
404+
<useInline>0</useInline>
405+
<release>0</release>
406+
<preservePaths>0</preservePaths>
407+
<warnings>0</warnings>
408+
<infowarnings>0</infowarnings>
409+
<checkProperty>0</checkProperty>
410+
<genStackFrame>0</genStackFrame>
411+
<pic>0</pic>
412+
<cov>0</cov>
413+
<nofloat>0</nofloat>
414+
<ignoreUnsupportedPragmas>0</ignoreUnsupportedPragmas>
415+
<allinst>0</allinst>
416+
<stackStomp>0</stackStomp>
417+
<betterC>0</betterC>
418+
<dip25>0</dip25>
419+
<dip1000>0</dip1000>
420+
<dip1008>0</dip1008>
421+
<transition_field>0</transition_field>
422+
<revert_import>0</revert_import>
423+
<preview_dtorfields>0</preview_dtorfields>
424+
<transition_checkimports>0</transition_checkimports>
425+
<transition_complex>0</transition_complex>
426+
<preview_intpromote>0</preview_intpromote>
427+
<preview_fixAliasThis>0</preview_fixAliasThis>
428+
<preview_markdown>0</preview_markdown>
429+
<transition_vmarkdown>0</transition_vmarkdown>
430+
<compiler>0</compiler>
431+
<otherDMD>0</otherDMD>
432+
<cccmd>$(CC) -c</cccmd>
433+
<ccTransOpt>1</ccTransOpt>
434+
<addDepImp>0</addDepImp>
435+
<program>$(DMDInstallDir)windows\bin\dmd.exe</program>
436+
<imppath />
437+
<fileImppath />
438+
<outdir>..\bin\$(ConfigurationName)</outdir>
439+
<objdir>$(OutDir)\$(ProjectName)</objdir>
440+
<objname />
441+
<libname />
442+
<doDocComments>0</doDocComments>
443+
<docdir />
444+
<docname />
445+
<modules_ddoc />
446+
<ddocfiles />
447+
<doHdrGeneration>0</doHdrGeneration>
448+
<hdrdir />
449+
<hdrname />
450+
<doXGeneration>1</doXGeneration>
451+
<xfilename>$(IntDir)\$(TargetName).json</xfilename>
452+
<debuglevel>0</debuglevel>
453+
<debugids />
454+
<versionlevel>0</versionlevel>
455+
<versionids />
456+
<dump_source>0</dump_source>
457+
<mapverbosity>0</mapverbosity>
458+
<createImplib>0</createImplib>
459+
<debuglib>0</debuglib>
460+
<defaultlibname />
461+
<debuglibname />
462+
<moduleDepsFile />
463+
<run>0</run>
464+
<runargs />
465+
<runCv2pdb>1</runCv2pdb>
466+
<pathCv2pdb>$(VisualDInstallDir)cv2pdb\cv2pdb.exe</pathCv2pdb>
467+
<cv2pdbNoDemangle>0</cv2pdbNoDemangle>
468+
<cv2pdbEnumType>0</cv2pdbEnumType>
469+
<cv2pdbOptions />
470+
<enableMixin>0</enableMixin>
471+
<mixinPath>$(IntDir)\$(SafeProjectName).mixin</mixinPath>
472+
<objfiles />
473+
<linkswitches />
474+
<libfiles />
475+
<libpaths />
476+
<deffile />
477+
<resfile />
478+
<exefile>$(IntDir)\$(ProjectName).sdk</exefile>
479+
<pdbfile>$(IntDir)\$(SafeProjectName).pdb</pdbfile>
480+
<impfile>$(IntDir)\$(SafeProjectName).lib</impfile>
481+
<mapfile>$(IntDir)\$(SafeProjectName).map</mapfile>
482+
<useStdLibPath>1</useStdLibPath>
483+
<cRuntime>2</cRuntime>
484+
<privatePhobos>0</privatePhobos>
485+
<additionalOptions />
486+
<preBuildCommand />
487+
<postBuildCommand>echo Success &gt;&quot;$(TargetPath)&quot;
326488
echo. &gt;&quot;$(TargetDir)\build.dep&quot;</postBuildCommand>
327489
<filesToClean>*.obj;*.cmd;*.build;*.json;*.dep</filesToClean>
328490
</Config>
@@ -348,6 +510,11 @@ dmd -g -map &quot;$(IntDir)\$(InputName).map&quot; &quot;-of$(OutDir)\$(InputNam
348510
if exist &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot; call &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot;
349511
if exist &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; ( pushd . &amp;&amp; call &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; &amp;&amp; popd )
350512
if errorlevel 1 goto reportError
513+
dmd -m32mscoff -g -map &quot;$(IntDir)\$(InputName).map&quot; &quot;-of$(OutDir)\$(InputName).exe&quot; $(InputPath) ..\tools\nostacktrace.d user32.lib -L/SUBSYSTEM:CONSOLE,5.01" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" name="Debug COFF32|Win32" />
514+
<Config tool="Custom" customcmd="echo Compiling $(InputPath)...
515+
if exist &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot; call &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot;
516+
if exist &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; ( pushd . &amp;&amp; call &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; &amp;&amp; popd )
517+
if errorlevel 1 goto reportError
351518
dmd -m32mscoff -map &quot;$(IntDir)\$(InputName).map&quot; &quot;-of$(OutDir)\$(InputName).exe&quot; $(InputPath) ..\tools\nostacktrace.d user32.lib -L/SUBSYSTEM:CONSOLE,5.01" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" name="Release COFF32|Win32" />
352519
<Config tool="Custom" customcmd="echo Compiling $(InputPath)...
353520
dmd -map $(OutDir)\$(InputName).map -of$(IntDir)\$(InputName).exe $(InputPath) ..\tools\nostacktrace.d" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" name="Release|Win32" />
@@ -360,6 +527,13 @@ dmd -g -map &quot;$(IntDir)\$(InputName).map&quot; &quot;-of$(OutDir)\$(InputNam
360527
if exist &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot; call &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot;
361528
if exist &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; ( pushd . &amp;&amp; call &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; &amp;&amp; popd )
362529
if errorlevel 1 goto reportError
530+
dmd -g -m32mscoff -version=pipeLink -map &quot;$(IntDir)\pipelink.map&quot; &quot;-of$(OutDir)\pipelink.exe&quot; $(InputPath) ..\tools\nostacktrace.d user32.lib oleaut32.lib ole32.lib -L/SUBSYSTEM:CONSOLE,5.01
531+
if errorlevel 1 goto reportError
532+
dmd -g -m32mscoff -map &quot;$(IntDir)\$(InputName).map&quot; &quot;-of$(OutDir)\$(InputName).exe&quot; $(InputPath) ..\tools\nostacktrace.d user32.lib oleaut32.lib ole32.lib -L/SUBSYSTEM:CONSOLE,5.01" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" name="Debug COFF32|Win32" />
533+
<Config tool="Custom" customcmd="echo Compiling $(InputPath)...
534+
if exist &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot; call &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot;
535+
if exist &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; ( pushd . &amp;&amp; call &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; &amp;&amp; popd )
536+
if errorlevel 1 goto reportError
363537
dmd -m32mscoff -version=pipeLink -map &quot;$(IntDir)\pipelink.map&quot; &quot;-of$(OutDir)\pipelink.exe&quot; $(InputPath) ..\tools\nostacktrace.d user32.lib oleaut32.lib ole32.lib -L/SUBSYSTEM:CONSOLE,5.01
364538
if errorlevel 1 goto reportError
365539
dmd -m32mscoff -map &quot;$(IntDir)\$(InputName).map&quot; &quot;-of$(OutDir)\$(InputName).exe&quot; $(InputPath) ..\tools\nostacktrace.d user32.lib oleaut32.lib ole32.lib -L/SUBSYSTEM:CONSOLE,5.01" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" name="Release COFF32|Win32" />

build/sdk.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ echo "%VSI2D%" --vsi="%VSISDKINC:\=/%" --win="%WINSDKINC:\=/%" --dte="%DTE_IDL_P
4444
if errorlevel 1 exit /B 1
4545

4646
echo Translation successful!
47-
echo Visual Studio now prompts to reload the vsi project, but cannot do so because the build is still running.
47+
echo Visual Studio might now prompt to reload the vsi project, but cannot do so because the build is still running.
4848
echo Please reload the solution manually.
4949
echo Success > "%OUT%"
5050
exit /B 0

c2d/idl2d.d

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2524,7 +2524,9 @@ version(remove_pp) {} else
25242524
ins ~= " </Folder>\n";
25252525
ins ~= " </Folder>\n";
25262526
ins ~= "</DProject>\n";
2527-
std.file.write(projfile, txt[0 .. pos + pos2 + 1] ~ ins);
2527+
string xml = txt[0 .. pos + pos2 + 1] ~ ins;
2528+
if (xml != txt)
2529+
std.file.write(projfile, xml);
25282530
}
25292531

25302532
void setCurrentFile(string file)

nsis/visuald.nsi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@
2626

2727
; define DMD source path to include dmd installation
2828
; !define DMD
29-
!define DMD_VERSION "2.086.0"
30-
!define DMD_SRC c:\l\d\dmd${DMD_VERSION}\dmd2
29+
!define DMD_VERSION "2.086.1"
30+
!define DMD_SRC c:\d\dmd-${DMD_VERSION}
3131

3232
; define LDC to include ldc installation
3333
; !define LDC
34-
!define LDC_VERSION "1.15.0"
35-
!define LDC_SRC c:\l\d\ldc-${LDC_VERSION}
34+
!define LDC_VERSION "1.16.0"
35+
!define LDC_SRC c:\d\ldc2-${LDC_VERSION}-windows-multilib
3636

3737
; define VS2019 to include VS2019 support
3838
; !define VS2019

0 commit comments

Comments
 (0)