Changeset 880
- Timestamp:
- 11/27/08 14:24:18 (1 month ago)
- Files:
-
- trunk/docsrc/abi.dd (modified) (2 diffs)
- trunk/docsrc/changelog.dd (modified) (2 diffs)
- trunk/docsrc/cppstrings.dd (modified) (2 diffs)
- trunk/docsrc/dcompiler.dd (modified) (1 diff)
- trunk/docsrc/module.dd (modified) (2 diffs)
- trunk/phobos/linux.mak (modified) (3 diffs)
- trunk/phobos/win32.mak (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/docsrc/abi.dd
r863 r880 414 414 415 415 $(I CallConvention): 416 $(B F) 417 $(B U) 418 $(B W) 419 $(B V) 420 $(B R) 416 $(B F) $(GREEN // D) 417 $(B U) $(GREEN // C) 418 $(B W) $(GREEN // Windows) 419 $(B V) $(GREEN // Pascal) 420 $(B R) $(GREEN // C++) 421 421 422 422 $(V2 $(I FuncAttrs): … … 444 444 445 445 $(I Argument:) 446 $(I Type) 447 $(B J) $(I Type) 448 $(B K) $(I Type) 449 $(B L) $(I Type) 446 $(V2 447 $(I Argument2) 448 $(B M) $(I Argument2) $(GREEN // scope) 449 450 $(I Argument2:) 451 ) $(I Type) 452 $(B J) $(I Type) $(GREEN // out) 453 $(B K) $(I Type) $(GREEN // ref) 454 $(B L) $(I Type) $(GREEN // lazy) 450 455 451 456 $(I ArgClose) 452 $(B X) 453 $(B Y) 454 $(B Z) 457 $(B X) $(GREEN // variadic T t,...$(RPAREN) style) 458 $(B Y) $(GREEN // variadic T t...$(RPAREN) style) 459 $(B Z) $(GREEN // not variadic) 455 460 456 461 $(I TypeIdent): trunk/docsrc/changelog.dd
r871 r880 5 5 6 6 $(UL 7 $(NEW 021) 7 8 $(NEW 020) 8 9 $(NEW 019) … … 36 37 ) 37 38 38 $(VERSION 010, Nov ??, 2008, =================================================, 39 40 $(WHATSNEW 41 ) 42 $(BUGSFIXED 39 $(VERSION 021, Nov 25, 2008, =================================================, 40 41 $(WHATSNEW 42 $(LI Added $(B -safe) switch and $(CODE module(system) Identifier;) syntax.) 43 $(LI Added range support to foreach statement.) 44 $(LI $(B scope) parameter storage class means the parameter will 45 not 'escape' the scope of the function invocation. 46 Using this for delegate parameters will prevent some closure allocations 47 by the calling function.) 48 $(LI The $(B lazy) storage class now implies $(B scope) so that lazy 49 arguments won't trigger a heap allocated closure.) 50 $(LI The 'this' parameter to struct member functions is now a 51 reference type, rather than a pointer. 52 $(RED This breaks existing code.) 53 ) 54 55 $(LI More changes to druntime: 56 $(TABLE1 57 $(TR $(TH from) $(TH to)) 58 $(TRENAME OutOfMemoryException, OutOfMemoryError) 59 $(TRENAME SwitchException, SwitchError) 60 $(TRENAME HiddenFuncException, HiddenFuncError) 61 $(TRENAME ArrayBoundsException, RangeError) 62 $(TRENAME AssertException, AssertError) 63 $(TRENAME FinalizeException, FinalizeError) 64 $(TRENAME onArrayBoundsError, onRangeError) 65 $(TRENAME stdc.*, core.stdc.*) 66 $(TRENAME sys.*, core.sys.*) 67 68 69 ) 70 ) 71 72 $(LI Added core.runtime.loadLibrary() as an experimental feature for 73 loading dynamic libraries (Win32 only at the moment).) 74 $(LI Added core.runtime.unloadLibrary() as an experimental feature for 75 unloading dynamic libraries previously loaded by loadLibrary().) 76 $(LI core.thread.sleep() accepts a long integer specifying the sleep interval 77 in 100 nanosecond intervals (the previous release notes said this was a 78 float, IIRC).) 79 $(LI It is no longer necessary to link in druntime separately, it is 80 inserted into libphobos2.a.) 81 ) 82 $(BUGSFIXED 83 $(LI $(BUGZILLA 313): Fully qualified names bypass private imports) 43 84 $(LI $(BUGZILLA 920): SPEC: Auto classes referenced where scope should be used) 85 $(LI $(BUGZILLA 929): Resizing array of associative arrays (uint[char[]][]) causes infinite loop / hang) 86 $(LI $(BUGZILLA 1372): Compiler accepts pragma(msg,)) 87 $(LI $(BUGZILLA 1610): Enum.stringof is int, not the name of the enum) 88 $(LI $(BUGZILLA 1663): pragma(lib, "") don't work on linux) 89 $(LI $(BUGZILLA 1797): Documentation comments - ///) 90 $(LI $(BUGZILLA 2428): Accessing item in enum'd array produced compiler error) 91 $(LI $(BUGZILLA 2429): std.stream.File incorrect flag parsing and sharing mode) 92 $(LI $(BUGZILLA 2431): Internal error: ../ztc/cgcod.c 1031 when using -O) 93 $(LI $(BUGZILLA 2470): Cannot build libraries from other libraries) 94 $(LI unittest functions now always use D linkage) 44 95 ) 45 96 ) trunk/docsrc/cppstrings.dd
r659 r880 132 132 133 133 ----------------------- 134 char[]s1 = "hello world";135 char[]s2 = s1[6 .. 11]; // s2 is "world"134 string s1 = "hello world"; 135 string s2 = s1[6 .. 11]; // s2 is "world" 136 136 ----------------------- 137 137 … … 157 157 158 158 ----------------------- 159 char[] s1 = "hello world" ;159 char[] s1 = "hello world".dup; 160 160 char[] s2 = "goodbye ".dup; 161 161 s2[8..13] = s1[6..11]; // s2 is "goodbye world" trunk/docsrc/dcompiler.dd
r784 r880 427 427 No .$(OBJEXT) or executable file is left behind. 428 428 ) 429 $(V2 430 $(SWITCH $(B -safe), 431 Statically checks the modules being compiled to ensure they 432 conform to the safe memory model. 433 ) 434 ) 429 435 $(SWITCH $(B -unittest), 430 436 compile in unittest code, turns on asserts, and sets the trunk/docsrc/module.dd
r784 r880 86 86 $(GNAME ModuleDeclaration): 87 87 $(B module) $(I ModuleFullyQualifiedName) $(B ;) 88 88 $(V2 89 $(B module) $(B (system)) $(I ModuleFullyQualifiedName) $(B ;) 90 ) 89 91 $(GNAME ModuleFullyQualifiedName): 90 92 $(I ModuleName) … … 125 127 minimize problems moving projects between dissimilar file systems. 126 128 ) 129 130 $(V2 131 <h3>System Modules</h3> 132 133 $(P $(I System modules) are modules marked as safe by the $(CODE (system)) 134 appearing in the $(GLINK ModuleDeclaration). 135 System modules are assumed to correctly implement a safe memory model, 136 and are not checked by the compiler for such even if directed to. 137 ) 138 ) 127 139 128 140 <h2><a name="ImportDeclaration">Import Declaration</a></h2> trunk/phobos/linux.mak
r878 r880 96 96 LIB=$(OBJDIR)/libphobos2.$(LIBEXT) 97 97 DOC_OUTPUT_DIR=../web/phobos 98 DRUNTIME=../druntime/lib/libdruntime.a 98 99 99 100 .SUFFIXES: .d … … 127 128 wine $@ 128 129 else 129 $(CC) $(CFLAGS) $(LDFLAGS) -o$@ $^ -lpthread -lm -g -ldl -ldruntime130 $(CC) $(CFLAGS) $(LDFLAGS) -o$@ $^ -lpthread -lm -g -ldl 130 131 endif 131 132 ifeq (release,$(MAKECMDGOALS)) … … 211 212 SRC2LIB := $(addsuffix .d,$(SRC2LIB)) 212 213 213 $(LIB) : $(SRC2LIB) $(OBJS) $( MAKEFILE_LIST)214 $(LIB) : $(SRC2LIB) $(OBJS) $(DRUNTIME) $(MAKEFILE_LIST) 214 215 @echo $(DMD) $(DFLAGS) -lib -of$@ "[...tons of files...]" 215 @$(DMD) $(DFLAGS) -lib -of$@ $(SRC2LIB) $(OBJS) 216 @$(DMD) $(DFLAGS) -lib -of$@ $(SRC2LIB) $(OBJS) $(DRUNTIME) 216 217 217 218 ########################################################### trunk/phobos/win32.mak
r873 r880 133 133 $(DOC)\std_contracts.html \ 134 134 $(DOC)\std_conv.html \ 135 $(DOC)\std_cover.html \136 135 $(DOC)\std_cpuid.html \ 137 136 $(DOC)\std_cstream.html \ … … 203 202 std\socket.d std\socketstream.d std\loader.d std\stdarg.d std\format.d \ 204 203 std\stdio.d std\perf.d std\openrj.d std\uni.d std\boxer.d \ 205 std\cstream.d std\demangle.d std\ cover.d std\bitarray.d \204 std\cstream.d std\demangle.d std\bitarray.d \ 206 205 std\signals.d std\cpuid.d std\typetuple.d std\traits.d std\bind.d \ 207 206 std\metastrings.d std\contracts.d std\getopt.d \ … … 327 326 $(DMD) -c $(DFLAGS) std\conv.d 328 327 329 cover.obj : std\cover.d330 $(DMD) -c $(DFLAGS) std\cover.d331 332 328 cpuid.obj : std\cpuid.d 333 329 $(DMD) -c $(DFLAGS) std\cpuid.d -ofcpuid.obj … … 551 547 $(DOC)\std_conv.html : std.ddoc std\conv.d 552 548 $(DMD) -c -o- $(DFLAGS) -Df$(DOC)\std_conv.html std.ddoc std\conv.d 553 554 $(DOC)\std_cover.html : std.ddoc std\cover.d555 $(DMD) -c -o- $(DFLAGS) -Df$(DOC)\std_cover.html std.ddoc std\cover.d556 549 557 550 $(DOC)\std_cpuid.html : std.ddoc std\cpuid.d
