Index: src/tests/.expect/references.txt
===================================================================
--- src/tests/.expect/references.txt	(revision 7821d6c9e338cc77be5204c2797a086bedb79410)
+++ src/tests/.expect/references.txt	(revision b05a4eb31496105e0234848727fec53c2b4fee48)
@@ -2,4 +2,6 @@
 12 12 1
 12 12 1 1
+13 1 12
+14 14
 Default constructing a Y
 Copy constructing a Y
Index: src/tests/references.c
===================================================================
--- src/tests/references.c	(revision 7821d6c9e338cc77be5204c2797a086bedb79410)
+++ src/tests/references.c	(revision b05a4eb31496105e0234848727fec53c2b4fee48)
@@ -37,4 +37,8 @@
 int * toptr( int & r ) { return &r; }
 
+void changeRef( int & r ) {
+	r++;
+}
+
 int main() {
 	int x = 123456, *p1 = &x, **p2 = &p1, ***p3 = &p2,
@@ -43,5 +47,5 @@
 	**p3 = &x;                          // change p1
 	*p3 = &p1;                          // change p2
-	int y, z, & ar[3] = { x, y, z };    // initialize array of references
+	int y = 0, z = 11, & ar[3] = { x, y, z };    // initialize array of references
 
 	// test that basic reference properties are true - r1 should be an alias for x
@@ -52,4 +56,11 @@
 	// test that functions using basic references work
 	printf("%d %d %d %d\n", toref(&x), toref(p1), toptr(r1) == toptr(x), toptr(r1) == &x);
+
+	changeRef( x );
+	changeRef( y );
+	changeRef( z );
+	printf("%d %d %d\n", x, y, z);
+	changeRef( r1 );
+	printf("%d %d\n", r1, x);
 
 	// test that reference members are not implicitly constructed/destructed/assigned
