[dmd-beta] dmd 1.060 and 2.045 beta

Walter Bright walter at digitalmars.com
Mon May 3 14:13:21 PDT 2010


Thanks, this helps a lot. Does the current beta work?

Robert Clipsham wrote:
> On 03/05/10 19:49, Walter Bright wrote:
>> No surprise, as in my build process I inadvertently copied over the new
>> dwarf.c with the old one. I've fixed that with a new upload of the 
>> beta's.
>>
>> The real problem, though, is I don't have a good way to automatically
>> test the integrity of the dwarf output.
>
> The following should do the trick:
> ----
> for f in `find debug_tests -name \*.d`; do
>  exe="debug_tests/`basename "$f" .d`"
>  dmd -gc "$f" "-of$exe"
>  if [ "`gdb -ex "b _Dmain" --batch $exe |& wc -l`" != "0" ]; then
>   echo fail gdb: $exe;
>  fi
>  if [ "`objdump --dwarf $exe >/dev/null |& wc -l`" != "0" ]; then
>   echo fail objdump: $exe;
>  fi
> done
> ----
> If you have dwarfdump installed you can use the --verify switch too to 
> test these too (and I advise you do this in addition to them, I don't 
> have it installed to adapt the script for you though). There's 
> probably a more elegant way to test this, this was just a quick hack 
> to get it working/automated. Here's a set of test files for your 
> debug_tests dir to get you started (I hereby release the following and 
> previous code under Boost or any other license you wanna distribute 
> them under):
>
> fptr1.d:
> ----
> void function() a;
> void main()
> {
>   a();
> }
> ----
>
> fptr2.d:
> ----
> void function(void function(int, string)) a;
> void main()
> {
>   a(null);
> }
> ----
>
> fptr3.d:
> ----
> void function(void function(void function())) a;
> void main()
> {
>   a(null);
> }
> ----
>
> fptr4.d:
> ----
> string function(ref int) a;
> void main()
> {
>  int mi;
>  a(mi);
> }
> ----
>
> wchr.d:
> ----
> void main()
> {
>  wchar mwc;
> }
> ----
>
> These test cases cover most, if not all of the debug issues I've 
> fixed, I've undoubtedly missed a few though. Hope this helps :)
>
> Robert
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>


More information about the dmd-beta mailing list