annotate run/memory_management_01.d @ 1630:d0efa3ae5522 default tip

run/mini/naked_asm5: New x86_64 ABI passes the arguments in reverse order.
author David Nadlinger <code@klickverbot.at>
date Sat, 23 Apr 2011 22:57:32 +0200
parents caa540af4671
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
381
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
1 // $HeadURL$
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
2 // $Date$
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
3 // $Author$
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
4
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
5 module dstress.run.memory_management_01;
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
6
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
7 void test(char[] arr){
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
8 arr[1]++;
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
9 }
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
10
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
11 int main(){
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
12 char[] c;
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
13 c.length=3;
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
14 c[0]='a';
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
15 c[1]='C';
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
16 c[2]='b';
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
17 test(c);
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
18 assert(c[0]=='a');
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
19 assert(c[1]=='D');
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
20 assert(c[2]=='b');
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
21 return 0;
caa540af4671 checked if arrays are passed as reference
thomask
parents:
diff changeset
22 }