"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "test/runnable_cxx/externmangle.d" between
dmd-2.094.0.tar.gz and dmd-2.094.1.tar.gz

About: DMD (Digital Mars D) is the D reference compiler. D is an object-oriented, imperative, multi-paradigm system programming language.

externmangle.d  (dmd-2.094.0):externmangle.d  (dmd-2.094.1)
skipping to change at line 236 skipping to change at line 236
assert(c2.getData() == ptr); assert(c2.getData() == ptr);
auto result = test39cpp(c2, S2!int.init(43)); auto result = test39cpp(c2, S2!int.init(43));
assert(result == 0); assert(result == 0);
} }
extern(C++, "foo", "bar", "baz") int doStuff(int); extern(C++, "foo", "bar", "baz") int doStuff(int);
version(CppRuntime_DigitalMars) // DMC doesn't support c++11 version(CppRuntime_DigitalMars) // DMC doesn't support c++11
{ {
void test40() {} void test40() {}
void test41() {}
} }
else else
{ {
void test40(); void test40();
void foovargs(T...)(T args) void foovargs(T...)(T args)
{ {
static if (is(T[0] == char*)) static if (is(T[0] == char*))
{ {
assert(*args[0] == 'a'); assert(*args[0] == 'a');
} }
else else
{ {
float ret = args[0] + args[1]; float ret = args[0] + args[1];
assert(ret == 3.0f); assert(ret == 3.0f);
} }
} }
alias FooVargs = foovargs!(int, float); alias FooVargs = foovargs!(int, float);
alias FooVargs2 = foovargs!(char*); alias FooVargs2 = foovargs!(char*);
void test41();
void make_shared_poc(T, Args...)(ref Args args)
{
assert(args[0] + args[1] == 3);
}
alias Make_Shared_Poc = make_shared_poc!(int, int, int);
} }
void main() void main()
{ {
test1(Foo!int()); test1(Foo!int());
test2(null, Boo!(int*)()); test2(null, Boo!(int*)());
test3(Test3!(3,3)()); test3(Test3!(3,3)());
test4(Foo!(int*)(), Boo!(int*)(), Boo!(int*)(), null, Foo!(double)()); test4(Foo!(int*)(), Boo!(int*)(), Boo!(int*)(), null, Foo!(double)());
test5(Foo!(int*)(), Boo!(int*)(), Boo!(int*)()); test5(Foo!(int*)(), Boo!(int*)(), Boo!(int*)());
Goo goo; Goo goo;
skipping to change at line 351 skipping to change at line 359
assert(test36(hello) == hello); assert(test36(hello) == hello);
assert(test37()); assert(test37());
auto t38 = Test38.create(); auto t38 = Test38.create();
assert(t38.test(1, 2, 3) == 1); assert(t38.test(1, 2, 3) == 1);
Test38.dispose(t38); Test38.dispose(t38);
test39(); test39();
assert(doStuff(2) == 4); assert(doStuff(2) == 4);
test40(); test40();
test41();
} }
 End of changes. 3 change blocks. 
0 lines changed or deleted 9 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)