Skip to content

Commit

Permalink
Merge pull request #1132 from MartinNowak/merge_stable
Browse files Browse the repository at this point in the history
Merge remote-tracking branch 'upstream/stable' into merge_stable
  • Loading branch information
MartinNowak committed Oct 14, 2015
2 parents a61f64a + 02bb0e7 commit fa397df
Show file tree
Hide file tree
Showing 10 changed files with 450 additions and 58 deletions.
4 changes: 4 additions & 0 deletions attribute.dd
Expand Up @@ -82,6 +82,7 @@ $(GNAME LinkageType):
$(D Windows)
$(D Pascal)
$(D System)
$(D Objective-C)
)

$(P D provides an easy way to call C functions and operating
Expand All @@ -91,6 +92,9 @@ $(GNAME LinkageType):
$(D C) and $(D D) must be supplied, the others are what
makes sense for the implementation.
$(D C++) offers limited compatibility with C++.
$(D Objective-C) offers limited compatibility with Objective-C,
see the $(LINK2 objc_interface.html, Interfacing to Objective-C)
documentation for more information.
$(D System) is the same as $(D Windows) on Windows platforms,
and $(D C) on other platforms.
$(D Implementation Note:)
Expand Down
118 changes: 65 additions & 53 deletions changelog/2.069.0_pre.dd
Expand Up @@ -13,18 +13,23 @@ $(LI $(RELATIVE_LINK2 backend-improvements, DMD's codegen has improved.))
)

$(BUGSTITLE Library Changes,
$(LI $(RELATIVE_LINK2 backtraces-with-line-numbers, Backtraces now include file name and line number.))
$(LI The package $(STDMODREF experimental_allocator, std.experimental.allocator) was added.)
$(LI $(RELATIVE_LINK2 more-rangified-functions, More phobos functions were rangified.))
$(LI $(RELATIVE_LINK2 std-algorithm-moveEmplace, `moveEmplace` was added))
$(LI $(RELATIVE_LINK2 curl-dynamic-loading, libcurl is now loaded dynamically))
$(LI $(RELATIVE_LINK2 backtraces-with-line-numbers, Backtraces now include file name and line number.))
$(LI $(RELATIVE_LINK2 std-algorithm-moveEmplace, `moveEmplace` was added))
$(LI Use $(XREF algorithm_comparison, isPermutation) to test
whether two ranges are permutations of each other.)
$(LI The new $(XREF algorithm_comparison, isSameLength) can be more
efficient than comparing the $(XREF range_primitives, walkLength) of two
ranges.)
$(LI $(XREF traits, getUDAs) was added to help get
user-defined attributes of specific types from symbols.)
user-defined attributes of specific types from symbols.)
$(LI $(XREF traits, getSymbolsByUDA) was
added to find symbols with specific user-defined attributes.)
added to find symbols with specific user-defined attributes.)
$(LI $(XREF math, cmp) was added, defining total ordering on
floating-point numbers, including NaN.)
floating-point numbers, including NaN.)
$(LI FreeBSD now also ships with a shared libphobos2.so library ($(LINK2 http://dlang.org/dll-linux.html, usage info)).)
$(LI The package $(STDMODREF experimental_allocator, std.experimental.allocator) was added.)
)

$(BR)$(BIG $(RELATIVE_LINK2 bugfix-list, List of all bug fixes and enhancements in D 2.069.0.))
Expand All @@ -44,9 +49,11 @@ $(LI $(LNAME2 self-hosted-dmd, DMD has been ported to D.)
$(LI $(LNAME2 objective-c-support, Basic support for Objective-C.)

$(P Basic support for Objective-C classes, interfaces and instance methods.
This is implemented by adding a new linkage attribute, Objective-C, and
a compiler recognized UDA, @selector. The linkage attribute is to be
used on a class or interface. The UDA is attached to a method.
This is implemented by adding a new linkage attribute, `Objective-C`,
and a compiler recognized UDA, `@selector`. The linkage attribute is to
be used on a class or interface. The UDA is attached to a method.
See $(LINK2 $(ROOT_DIR)objc_interface.html, Interfacing to Objective-C)
for more information.
)
)

Expand Down Expand Up @@ -78,29 +85,6 @@ $(LI $(LNAME2 backend-improvements, DMD's codegen has improved.)

$(BUGSTITLE Library Changes,

$(LI $(LNAME2 backtraces-with-line-numbers, Backtraces now include file name and line number.)

$(P The default tracehandler on linux and FreeBSD now parses DWARF
debug info to add file names and line numbers to backtraces.
)

$(PRE
std.conv.ConvException@DPL/dmd/src/../../phobos/std/conv.d(1720): Unexpected 'a' when converting from type string to type ulong

DPL/dmd/src/../../phobos/std/conv.d:1720 pure @safe ulong std.conv.toImpl!(ulong, immutable(char)[]).toImpl(immutable(char)[]) [0x43b339]
DPL/dmd/src/../../phobos/std/conv.d:298 pure @safe ulong std.conv.to!(ulong).to!(immutable(char)[]).to(immutable(char)[]) [0x437717]
example.d:5 ulong example.foo(immutable(char)[]) [0x4376c7]
example.d:10 _Dmain [0x4376e5]
??:? _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv [0x444576]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x4444cc]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() [0x444532]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x4444cc]
??:? _d_run_main [0x444429]
??:? main [0x44039f]
??:? __libc_start_main [0xc3ae96ff]
)
)

$(LI $(LNAME2 more-rangified-functions, More phobos functions were rangified.)

$(P Following the work released with $(LINK2 2.068.0.html#rangified-functions,
Expand Down Expand Up @@ -144,9 +128,52 @@ $(LI $(LNAME2 more-rangified-functions, More phobos functions were rangified.)
)
)

$(LI $(LNAME2 curl-dynamic-loading, libcurl is now loaded dynamically)

$(P $(STDMODREF net_curl, std.net.curl) was changed to load curl as shared
library at runtime. This simplifies the usage as it's no longer
necessary to link against libcurl or to install any development
libraries.
)

$(P The implementation will also try to get the needed curl symbols from the
executable itself. So it remains possible to link with a specific
version of libcurl or with a static libcurl library.
)

$(P To make this work you have to link with $(I --export-dynamic) respectively
use a $(I .DEF) file on Windows (see $(LINK2
http://wiki.dlang.org/Curl_on_Windows#Using_the_static_lib, wiki) for
more info on the latter).
)
)

$(LI $(LNAME2 backtraces-with-line-numbers, Backtraces now include file name and line number.)

$(P The default tracehandler on linux and FreeBSD now parses DWARF
debug info to add file names and line numbers to backtraces.
)

$(PRE
std.conv.ConvException@DPL/dmd/src/../../phobos/std/conv.d(1720): Unexpected 'a' when converting from type string to type ulong

DPL/dmd/src/../../phobos/std/conv.d:1720 pure @safe ulong std.conv.toImpl!(ulong, immutable(char)[]).toImpl(immutable(char)[]) [0x43b339]
DPL/dmd/src/../../phobos/std/conv.d:298 pure @safe ulong std.conv.to!(ulong).to!(immutable(char)[]).to(immutable(char)[]) [0x437717]
example.d:5 ulong example.foo(immutable(char)[]) [0x4376c7]
example.d:10 _Dmain [0x4376e5]
??:? _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv [0x444576]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x4444cc]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() [0x444532]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x4444cc]
??:? _d_run_main [0x444429]
??:? main [0x44039f]
??:? __libc_start_main [0xc3ae96ff]
)
)

$(LI $(LNAME2 std-algorithm-moveEmplace, A combined `moveEmplace` was added.)

$(P $(XREF algorithm_mutation, MoveEmplace) efficiently combines $(XREF
$(P $(XREF algorithm_mutation, moveEmplace) efficiently combines $(XREF
algorithm_mutation, move) with $(XREF conv, emplace) thus avoids having
to initialize and destroy a value before moving into uninitialized data.
)
Expand All @@ -168,26 +195,6 @@ $(LI $(LNAME2 std-algorithm-moveEmplace, A combined `moveEmplace` was added.)
)
)

$(LI $(LNAME2 curl-dynamic-loading, libcurl is now loaded dynamically)

$(P $(STDMODREF net_curl, std.net.curl) was changed to load curl as shared
library at runtime. This simplifies the usage as it's no longer
necessary to link against libcurl or to install any development
libraries.
)

$(P The implementation will also try to get the needed curl symbols from the
executable itself. So it remains possible to link with a specific
version of libcurl or with a static libcurl library.
)

$(P To make this work you have to link with $(I --export-dynamic) respectively
use a $(I .DEF) file on Windows (see $(LINK2
http://wiki.dlang.org/Curl_on_Windows#Using_the_static_lib, wiki) for
more info on the latter).
)
)

)

$(BR)$(BIG $(LNAME2 bugfix-list, List of all bug fixes and enhancements in D 2.069.0:))
Expand Down Expand Up @@ -221,6 +228,10 @@ $(LI $(BUGZILLA 15138): [REG2.068.2] ICE with basic use of stdx.data.json)
$(LI $(BUGZILLA 15149): [REG2.068.1] Linker error with separate compilation)
$(LI $(BUGZILLA 15150): [REG2.068.1] Public selective import causes conflict)
$(LI $(BUGZILLA 15152): [REG2.069.0-devel] template fails to instantiate if argument is itself a template)
$(LI $(BUGZILLA 15176): [REG2.069.0-b1] ICE$(LPAREN)glue.c$(RPAREN):separate compilation with -inline crash in glue.c)
$(LI $(BUGZILLA 15177): [REG2.069.0-b1] mixin + traits issue with 2.069 beta 1)
$(LI $(BUGZILLA 15181): SYSCONFDIR is broken)
$(LI $(BUGZILLA 15200): [REG2.068.2] ICE$(LPAREN)glue.c$(RPAREN) when compiling with -inline)
)
)
$(BUGSTITLE DMD Compiler bugs,
Expand Down Expand Up @@ -345,6 +356,7 @@ $(P
$(LI $(BUGZILLA 14750): druntime/test/coverage was added to druntime, but not to the MANIFEST - zip file broken again)
$(LI $(BUGZILLA 14882): [REG] MANIFEST is missing test/common.mak)
$(LI $(BUGZILLA 14990): No rule to make target `src/core/sys/windows/stdio_msvc12.d', needed by 'druntime.zip'.)
$(LI $(BUGZILLA 14993): Allocating in a destructor segfaults instead of throwing InvalidMemoryOperationError)
$(LI $(BUGZILLA 15012): Druntime Makefile whitelists compilers)
)
)
Expand Down
1 change: 1 addition & 0 deletions doc.ddoc
Expand Up @@ -48,6 +48,7 @@ $(DIVID cssmenu, $(UL
$(ROOT_DIR)ddoc.html, Embedded Documentation,
$(ROOT_DIR)interfaceToC.html, Interfacing to C,
$(ROOT_DIR)cpp_interface.html, Interfacing to C++,
$(ROOT_DIR)objc_interface.html, Interfacing to Objective-C,
$(ROOT_DIR)portability.html, Portability Guide,
$(ROOT_DIR)entity.html, Named Character Entities,
$(ROOT_DIR)memory-safe-d.html, Memory Safety,
Expand Down
2 changes: 1 addition & 1 deletion download.dd
Expand Up @@ -127,7 +127,7 @@ Macros:
_=BETA=$(COMMENT $0)
BETA=$0
B_DMDV2=2.069.0
B_SUFFIX=b1
B_SUFFIX=b2

DEB32=$(DLSITE dmd_$(DMDV2)-0_i386.deb)
DEB64=$(DLSITE dmd_$(DMDV2)-0_amd64.deb)
Expand Down
1 change: 1 addition & 0 deletions grammar.dd
Expand Up @@ -1607,6 +1607,7 @@ $(GNAME LinkageType):
$(D Windows)
$(D Pascal)
$(D System)
$(D Objective-C)
)

$(GRAMMAR
Expand Down

0 comments on commit fa397df

Please sign in to comment.