Check-in [23fb1b4a0e]
Not logged in
Overview
SHA1 Hash:23fb1b4a0e3e6c9d29d883d2fcc1b8bad0ef6bd9
Date: 2010-11-26 21:22:18
User: kinaba
Comment:jikken before non-memo macro
Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | manifest
Tags And Properties
Changes

Modified .poseidon from [76daaad38468db8e] to [561f5c90ad534f85].

7 7 <filter>*.d</filter> 8 8 <showemptyfolder>0</showemptyfolder> 9 9 <buildSpec> 10 10 <buildType>0</buildType> 11 11 <mainFile>main.d</mainFile> 12 12 <Args /> 13 13 <options> 14 - <dmd> -g -unittest </dmd> 14 + <dmd> -g -profile -unittest </dmd> 15 15 <tool /> 16 16 <lib /> 17 17 <implib /> 18 18 <extra /> 19 19 <toolextra /> 20 20 <merge>0</merge> 21 21 <nonfiles>0</nonfiles>

Modified Makefile from [b49249a409a1c2fd] to [54d2b4a8056c4421].

1 1 .PHONY : all windows doc 2 2 3 3 DC=dmd 4 -DC_OPT=-O -release 4 +DC_OPT=-O -release -inline 5 5 SRC = $(wildcard *.d polemy/*.d tricks/*.d) 6 6 7 7 8 8 9 9 posix: 10 10 $(DC) $(DC_OPT) -ofbin/polemy $(SRC) 11 11

Modified build.bat from [b5142898fa4accdf] to [4a978e9aa8f5388f].

1 1 @setlocal ENABLEDELAYEDEXPANSION 2 2 @set ARGS= 3 3 @for %%I in (main.d polemy\*.d tricks\*.d) do @set ARGS=!ARGS! %%I 4 4 @if not exist bin mkdir bin 5 -@echo dmd -ofbin\polemy.exe -O -release %ARGS% 6 -@dmd -ofbin\polemy.exe -O -release %ARGS% 5 +@echo dmd -ofbin\polemy.exe -O -release -inline %ARGS% 6 +@dmd -ofbin\polemy.exe -O -release -inline %ARGS%

Modified polemy/parse.d from [45c4aa9e0628516e] to [454c7b7367a1305b].

630 630 assert_throw!UnexpectedEOF(parseString(`1+`)); 631 631 assert_throw!ParseException(parseString(`1+2}`)); 632 632 assert_throw!UnexpectedEOF(parseString(`let "x"`)); 633 633 assert_throw!UnexpectedEOF(parseString(`var`)); 634 634 assert_throw!ParseException(parseString(`@val x ==`)); 635 635 assert_throw!ParseException(parseString(`if(){1}`)); 636 636 assert_throw!UnexpectedEOF(parseString(`f(`)); 637 + assert_throw!ParseException(parseString(`fun(x y){}`)); 637 638 } 638 639 639 640 unittest 640 641 { 641 642 mixin EasyAST; 642 643 assert_eq(parseString(`def foo(x) { x+1 }; foo`), 643 644 let("foo", "",

Modified tricks/tricks.d from [00969146488cc3dc] to [784e82178988239d].

101 101 } 102 102 103 103 hash_t structuralHash(T)(T x) 104 104 { 105 105 alias SC_Unqual!(T) UCT; 106 106 107 107 static if(is(UCT == class)) 108 - return (cast(UCT)x).toHash(); 108 + return (x is null ? 0 : (cast(UCT)x).toHash()); 109 109 else 110 110 static if(SC_HasGoodHash!(UCT)) 111 111 { return typeid(UCT).getHash(&x); } 112 112 else 113 113 static if(is(UCT T == T[])) 114 114 { hash_t h; foreach(e; x) h+=structuralHash(e); return h; } 115 115 else ................................................................................ 154 154 override bool opEquals(Object rhs) const /// member-by-member equality 155 155 { 156 156 return opCmp(rhs) == 0; 157 157 } 158 158 159 159 override int opCmp(Object rhs_) const /// member-by-member compare 160 160 { 161 - if( rhs_ is null ) 162 - return -1; 163 161 if( auto rhs = cast(typeof(this))rhs_ ) 164 162 { 165 163 foreach(i,_; this.tupleof) 166 164 { 167 165 static if(is(typeof(_) == struct)) 168 166 auto c = (cast(SC_Unqual!(typeof(_)))this.tupleof[i]).opCmp(rhs.tupleof[i]); 169 167 else