annotate tests/mini/nested21.d @ 1625:79f64d5fee9e

Merge DMD r319: bugzilla 400 forward reference error... bugzilla 400 forward reference error; no propety X for type Y (struct within struct). --- dmd/class.c | 19 +++++++++++++++++-- dmd/struct.c | 16 ++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-)
author Leandro Lucarella <llucax@gmail.com>
date Wed, 06 Jan 2010 15:18:22 -0300
parents 9430d4959ab4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1213
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
1 module nested21;
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
2
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
3 extern(C) int printf(char*, ...);
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
4
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
5 void main() {
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
6 int i = 42;
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
7 int foo() { return i; }
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
8 int bar() {
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
9 int j = 47;
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
10 int baz() { return j; }
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
11 return foo() + baz();
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
12 }
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
13 auto result = bar();
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
14 printf("%d\n", result);
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
15 assert(result == 42 + 47);
9430d4959ab4 Fix a bug in nested context code that occured when calling a function nested in
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
16 }