Skip to content

Instantly share code, notes, and snippets.

else version (ARM)
{
private
{
alias __dev_t = ulong;
alias __ino_t = c_ulong;
alias __ino64_t = ulong;
alias __mode_t = uint;
alias __nlink_t = size_t;
alias __uid_t = uint;
vgc[ALITERAL]: ([cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u]) causes gc allocation
/home/jpf/.dvm/compilers/dmd-2.062/bin/./../src/phobos/std/complex.d(140) vgc[APPEND]: (buf ~= s) causes gc allocation
/home/jpf/.dvm/compilers/dmd-2.062/src/phobos/std/uuid.d(340) vgc[NEW]: (new UUIDParsingException(to(uuid), 0LU, cast(Reason)1, "Insufficient Input", null, "/home/jpf/.dvm/compilers/dmd-2.062/src/phobos/std/uuid.d", 340LU)) causes gc allocation
/home/jpf/.dvm/compilers/dmd-2.062/src/phobos/std/uuid.d(345) vgc[NEW]: (new UUIDParsingException(to(uuid), 35LU, cast(Reason)2, "Input is too long, need exactly 36 characters", null, "/home/jpf/.dvm/compilers/dmd-2.062/src/phobos/std/uuid.d", 345LU)) causes gc allocation
/home/jpf/.dvm/compilers/dmd-2.062/src/phobos/std/uuid.d(387) vgc[NEW]: (new UUIDParsingException(to(uuid),
import std.stdio;
struct Date
{
this(this){writeln("this(this)"); throw new Exception("");}
~this(){writelln("~this()";};
uint data;
}
void test(Date d)
import std.stdio;
struct Date
{
this(this){writeln("this(this)");}
~this(){writeln("~this()");};
uint data;
}
void test(Date d)
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 9ab2aa9..840d9cc 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -35,7 +35,7 @@ AM_CFLAGS = $(WARN_CFLAGS)
AM_CPPFLAGS = -DBINDIR='"$(bindir)"'
if PLUGINS
bfdinclude_HEADERS += $(INCDIR)/plugin-api.h
-LIBDL = -ldl
+LIBDL = @lt_cv_dlopen_libs@
Dump of assembler code for function _Dmain:
0x0805c35c <+0>: push %ebp
0x0805c35d <+1>: mov %esp,%ebp
0x0805c35f <+3>: sub $0x8,%esp
0x0805c362 <+6>: mov 0x806f65c,%eax ;d = Date()
0x0805c367 <+11>: mov %eax,-0x8(%ebp) ;
0x0805c36a <+14>: lea -0x8(%ebp),%ecx ;ecx = &d
0x0805c36d <+17>: push %ecx
0x0805c36e <+18>: lea -0x4(%ebp),%eax ;eax = &copy
0x0805c371 <+21>: call 0x805c2dc <_D1e4Date8__cpctorMxFKxS1e4DateZv> ;copy = d, __postblit(copy)
module e;
struct Date
{
//Make sure this is not a POD
this(this){}
short _year = 2;
ubyte _month = 1;
ubyte _day = 1;
}
module e;
struct Date
{
//Make sure this is not a POD
this(this){}
short _year = 2;
ubyte _month = 1;
ubyte _day = 1;
}
struct Date
{
uint data;
~this(){data = 10;} //non-POD
this(this) {data = 42;}
}
void func(Date d) {d.data++;}
void main()
; AT&T syntax
Dump of assembler code for function _Dmain:
0x0805c3ac <+0>: push %ebp
0x0805c3ad <+1>: mov %esp,%ebp
0x0805c3af <+3>: sub $0x8,%esp
0x0805c3b2 <+6>: push %ebx
0x0805c3b3 <+7>: push %esi
0x0805c3b4 <+8>: push %edi
0x0805c3b5 <+9>: movl $0x2a,-0x8(%ebp) ;d = Date(42)