Index: src/Tests/Expect-s/Abstype.txt
===================================================================
--- src/Tests/Expect-s/Abstype.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Abstype.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,52 @@
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function x
+--- Entering scope
+--- Leaving scope containing
+Adding function y
+--- Entering scope
+Adding object t
+--- Entering scope
+Adding object t_instance
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function *?
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function ?++
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type DT
+--- Leaving scope containing
+DT
+--- Entering scope
+--- Leaving scope containing
+Adding type U
+Adding function x
+--- Entering scope
+Adding object u
+--- Entering scope
+Adding object u_instance
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function break_abstraction
+--- Entering scope
+Adding object u
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Array.txt
===================================================================
--- src/Tests/Expect-s/Array.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Array.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,38 @@
+Adding object a1
+Adding object a2
+Adding object a4
+Adding object m1
+Adding object m2
+Adding object m4
+Adding function fred
+--- Entering scope
+--- Entering scope
+Adding object a1
+Adding object a2
+Adding object a4
+Adding object T
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function mary
+--- Entering scope
+Adding object T
+Adding object p1
+Adding object p2
+Adding object p3
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function tom
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function jane
+--- Entering scope
+Adding object T
+Adding object p1
+Adding object p2
+Adding object p3
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/AsmName.txt
===================================================================
--- src/Tests/Expect-s/AsmName.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/AsmName.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,9 @@
+Adding object x
+Adding function fred
+--- Entering scope
+Adding object x
+--- Entering scope
+Adding object y
+Adding object z
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Attributes.txt
===================================================================
--- src/Tests/Expect-s/Attributes.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Attributes.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,1 @@
+Error at line 8 reading token "*"
Index: src/Tests/Expect-s/Cast.txt
===================================================================
--- src/Tests/Expect-s/Cast.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Cast.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,9 @@
+Adding object f
+Adding function f
+--- Entering scope
+--- Entering scope
+Adding object f
+Adding object f
+Adding object f
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/CastError.txt
===================================================================
--- src/Tests/Expect-s/CastError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/CastError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,8 @@
+Adding object f
+Adding function f
+--- Entering scope
+--- Entering scope
+Adding object f
+Adding object f
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/CharStringConstants.txt
===================================================================
--- src/Tests/Expect-s/CharStringConstants.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/CharStringConstants.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,5 @@
+Adding function main
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/CommentMisc.txt
===================================================================
--- src/Tests/Expect-s/CommentMisc.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/CommentMisc.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,10 @@
+Adding object i
+Adding object i
+Adding object i
+Adding object i
+Adding function main
+--- Entering scope
+--- Entering scope
+Adding object x
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Constant0-1.txt
===================================================================
--- src/Tests/Expect-s/Constant0-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Constant0-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,107 @@
+Adding object 0
+Adding object 0
+Adding object 0
+Adding object 1
+Adding object 1
+Adding object 1
+Adding object 0
+Adding object 1
+Adding object 0
+Adding object 1
+Adding object 0
+Adding object 1
+Adding object 0
+Adding object 1
+Adding object 0
+Adding object 1
+Adding fwd decl for struct __anonymous0
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding fwd decl for struct __anonymous1
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct __anonymous1
+--- Entering scope
+--- Leaving scope containing
+Adding object 1
+Adding fwd decl for struct __anonymous2
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct __anonymous2
+--- Entering scope
+--- Leaving scope containing
+Adding object 1
+Adding object 0
+Adding object 1
+Adding object 0
+Adding object 1
+Adding object 0
+Adding object 1
+Adding object 0
+Adding object 1
+Adding object 0
+Adding object 1
+Adding object 0
+Adding object 1
+Adding object 0
+Adding object 1
+Adding fwd decl for struct __anonymous3
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct __anonymous3
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding object x
+Adding object 0
+Adding object x
+Adding object 0
+Adding object x
+Adding object 0
+Adding fwd decl for struct __anonymous4
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct __anonymous4
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding fwd decl for struct __anonymous5
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct __anonymous5
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding fwd decl for struct __anonymous6
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct __anonymous6
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding object x
+Adding object 0
+Adding object x
+Adding object 0
+Adding object x
+Adding object 0
+Adding function main
+--- Entering scope
+--- Entering scope
+Adding object 1
+Adding object 0
+Adding object x
+Adding object 0
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Context.txt
===================================================================
--- src/Tests/Expect-s/Context.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Context.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,45 @@
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function q
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding context has_q
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type z
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+Adding type U
+Adding function r
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+U
+Adding context has_r
+--- Entering scope
+--- Leaving scope containing
+Adding type x
+--- Entering scope
+--- Leaving scope containing
+Adding type y
+--- Leaving scope containing
+x
+y
+has_r
+--- Leaving scope containing
+z
Index: src/Tests/Expect-s/DeclarationErrors.txt
===================================================================
--- src/Tests/Expect-s/DeclarationErrors.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/DeclarationErrors.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,14 @@
+Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
+
+Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous0
+  with members 
+    i: int 
+
+
+Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous1
+  with members 
+    i: int 
+
+
+Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
+
Index: src/Tests/Expect-s/DeclarationSpecifier.txt
===================================================================
--- src/Tests/Expect-s/DeclarationSpecifier.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/DeclarationSpecifier.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,14 @@
+Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
+
+Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous8
+  with members 
+    i: int 
+
+
+Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous9
+  with members 
+    i: int 
+
+
+Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
+
Index: src/Tests/Expect-s/Enum.txt
===================================================================
--- src/Tests/Expect-s/Enum.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Enum.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,20 @@
+Adding enum Colors
+Adding object Red
+Adding object Yellow
+Adding object Pink
+Adding object Blue
+Adding object Purple
+Adding object Orange
+Adding object Green
+Adding function f
+--- Entering scope
+--- Entering scope
+Adding enum Fruits
+Adding object Apple
+Adding object Banana
+Adding object Pear
+Adding object Mango
+Adding object fruit
+--- Leaving scope containing
+Fruits
+--- Leaving scope containing
Index: src/Tests/Expect-s/Exception.txt
===================================================================
--- src/Tests/Expect-s/Exception.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Exception.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,55 @@
+Adding function fred
+--- Entering scope
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+Adding fwd decl for struct __anonymous0
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+--- Leaving scope containing
+Adding struct __anonymous1 from implicit forward declaration
+--- Entering scope
+--- Leaving scope containing
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+Adding struct __anonymous2 from implicit forward declaration
+--- Entering scope
+--- Leaving scope containing
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+Adding struct __anonymous3 from implicit forward declaration
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+Adding struct __anonymous4 from implicit forward declaration
+--- Entering scope
+--- Leaving scope containing
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+__anonymous0
+__anonymous1
+__anonymous2
+__anonymous3
+__anonymous4
+--- Leaving scope containing
Index: src/Tests/Expect-s/Expression.txt
===================================================================
--- src/Tests/Expect-s/Expression.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Expression.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,15 @@
+Adding function fred
+--- Entering scope
+--- Entering scope
+Adding fwd decl for struct s
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct s
+--- Entering scope
+--- Leaving scope containing
+Adding object p
+Adding object i
+--- Leaving scope containing
+s
+--- Leaving scope containing
Index: src/Tests/Expect-s/Forall.txt
===================================================================
--- src/Tests/Expect-s/Forall.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Forall.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,235 @@
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function g1
+--- Entering scope
+--- Entering scope
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function h
+--- Entering scope
+Adding object p
+--- Leaving scope containing
+Adding object x
+Adding object y
+Adding object z
+Adding object w
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function g2
+--- Entering scope
+--- Entering scope
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+Adding type U
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+U
+Adding object x
+Adding object y
+Adding object z
+Adding object w
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function swap
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding object left
+Adding object right
+--- Entering scope
+Adding object temp
+--- Leaving scope containing
+--- Leaving scope containing
+T
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding object 0
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?++
+--- Entering scope
+--- Leaving scope containing
+Adding function ?+=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding context sumable
+--- Entering scope
+--- Leaving scope containing
+Adding type T1
+Adding object 0
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?++
+--- Entering scope
+--- Leaving scope containing
+Adding function ?+=?
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type P1
+--- Entering scope
+--- Leaving scope containing
+Adding type P2
+--- Leaving scope containing
+P1
+P2
+Adding type T2
+--- Entering scope
+--- Leaving scope containing
+Adding type T3
+Adding fwd decl for struct __anonymous0
+--- Entering scope
+Adding object i
+Adding object j
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type P1
+--- Entering scope
+--- Leaving scope containing
+Adding type P2
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+P1
+P2
+Adding type T2
+Adding object w1
+Adding object g2
+--- Entering scope
+--- Leaving scope containing
+Adding type w3
+Adding object g3
+Adding function sum
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding object n
+Adding object a
+--- Entering scope
+Adding object total
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function twice
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?++
+--- Entering scope
+--- Leaving scope containing
+Adding function ?+=?
+--- Entering scope
+--- Leaving scope containing
+Adding object t
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function min
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding function ?!=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?<?
+--- Entering scope
+--- Leaving scope containing
+Adding object t1
+Adding object t2
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function main
+--- Entering scope
+--- Entering scope
+Adding object x
+Adding object y
+Adding object a
+Adding object f
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Function.txt
===================================================================
--- src/Tests/Expect-s/Function.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Function.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,29 @@
+Adding object a
+Adding object a
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function g
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding object p
+Adding object p
+Adding object p
+Adding object p
+Adding object q
+Adding object q
+Adding object q
+Adding object q
+Adding function r
+--- Entering scope
+--- Leaving scope containing
+Adding function s
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Functions.txt
===================================================================
--- src/Tests/Expect-s/Functions.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Functions.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,374 @@
+Adding function h
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object g
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f1
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f2
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f3
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f4
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f5
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f6
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f7
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f8
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f9
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f10
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f11
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f12
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fII1
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fII2
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fII3
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fII4
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fII5
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fII6
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fII7
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fII8
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fII9
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fO1
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fO2
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fO3
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fO4
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function fO5
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object x
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object x
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object x
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object y
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object y
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object y
+Adding object x
+Adding object y
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object y
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object y
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object x
+Adding object y
+Adding object x
+Adding object y
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f11
+--- Entering scope
+--- Leaving scope containing
+Adding function f12
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object p
+--- Entering scope
+Adding object p
+Adding object p
+Adding object p
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f1
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f2
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f3
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f4
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f5
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object f
+Adding object t
+--- Entering scope
+Adding object T
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/GccExtensions.txt
===================================================================
--- src/Tests/Expect-s/GccExtensions.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/GccExtensions.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,70 @@
+Adding function fred
+--- Entering scope
+--- Entering scope
+Adding object c1
+Adding object c2
+Adding object i1
+Adding object i2
+Adding object i3
+Adding object ex
+Adding function f1
+--- Entering scope
+--- Leaving scope containing
+Adding function f2
+--- Entering scope
+--- Leaving scope containing
+Adding object s1
+Adding object s2
+Adding object t1
+Adding object t2
+Adding object v1
+Adding object v2
+Adding object a1
+Adding object a2
+Adding object a3
+Adding object a4
+Adding object a5
+Adding object a6
+Adding object a7
+Adding object p1
+Adding object p2
+Adding fwd decl for struct s1
+--- Entering scope
+--- Leaving scope containing
+Adding struct s1
+Adding fwd decl for struct s2
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct s2
+Adding fwd decl for struct s3
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct s3
+--- Entering scope
+--- Leaving scope containing
+Adding object x1
+--- Entering scope
+--- Leaving scope containing
+Adding object y1
+Adding fwd decl for struct s4
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+Adding struct s4
+--- Entering scope
+--- Leaving scope containing
+Adding object x2
+--- Entering scope
+--- Leaving scope containing
+Adding object y2
+Adding object m1
+Adding object m2
+Adding object m3
+--- Leaving scope containing
+s1
+s2
+s3
+s4
+--- Leaving scope containing
Index: src/Tests/Expect-s/IdentFuncDeclarator.txt
===================================================================
--- src/Tests/Expect-s/IdentFuncDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/IdentFuncDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,106 @@
+Adding function main
+--- Entering scope
+--- Entering scope
+Adding object f1
+Adding object f2
+Adding object f3
+Adding object f4
+Adding object f5
+Adding object f6
+Adding object f7
+Adding object f8
+Adding object f9
+Adding object f10
+Adding object f11
+Adding object f12
+Adding object f13
+Adding object f14
+Adding object f15
+Adding object f16
+Adding object f17
+Adding object f18
+Adding object f19
+Adding object f20
+Adding object f21
+Adding object f22
+Adding object f23
+Adding object f24
+Adding object f25
+Adding object f26
+Adding object f27
+Adding object f28
+Adding object f29
+Adding object f30
+Adding object f31
+Adding object f32
+Adding object f33
+Adding object f34
+Adding object f35
+Adding object f36
+Adding object f37
+Adding object f38
+Adding object f39
+Adding object f40
+Adding object f41
+Adding object f42
+Adding object f43
+Adding object f44
+Adding object f45
+Adding object f46
+Adding object f47
+Adding object f48
+Adding object f49
+Adding object f50
+Adding object f51
+Adding object f52
+Adding object f53
+Adding object f54
+Adding object f55
+Adding object f56
+Adding object f57
+Adding object f58
+Adding object f59
+Adding object f60
+Adding object f61
+Adding object f62
+Adding object f63
+Adding object f64
+Adding function f65
+--- Entering scope
+--- Leaving scope containing
+Adding function f66
+--- Entering scope
+--- Leaving scope containing
+Adding function f67
+--- Entering scope
+--- Leaving scope containing
+Adding function f68
+--- Entering scope
+--- Leaving scope containing
+Adding function f69
+--- Entering scope
+--- Leaving scope containing
+Adding function f70
+--- Entering scope
+--- Leaving scope containing
+Adding function f71
+--- Entering scope
+--- Leaving scope containing
+Adding function f72
+--- Entering scope
+--- Leaving scope containing
+Adding function f73
+--- Entering scope
+--- Leaving scope containing
+Adding function f74
+--- Entering scope
+--- Leaving scope containing
+Adding object f75
+Adding object f76
+Adding object f77
+Adding object f78
+Adding object f79
+Adding object f80
+Adding object f81
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/IdentFuncParamDeclarator.txt
===================================================================
--- src/Tests/Expect-s/IdentFuncParamDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/IdentFuncParamDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,122 @@
+Adding function fred
+--- Entering scope
+Adding object f1
+Adding object f2
+Adding object f3
+Adding object f4
+Adding object f5
+Adding object f6
+Adding object f7
+Adding object f8
+Adding object f9
+Adding object f10
+Adding object f11
+Adding object f12
+Adding object f13
+Adding object f14
+Adding object f15
+Adding object f16
+Adding object f17
+Adding object f18
+Adding object f19
+Adding object f20
+Adding object f21
+Adding object f22
+Adding object f23
+Adding object f24
+Adding object f25
+Adding object f26
+Adding object f27
+Adding object f28
+Adding object f29
+Adding object f30
+Adding object f31
+Adding object f32
+Adding object f33
+Adding object f34
+Adding object f35
+Adding object f36
+Adding object f37
+Adding object f38
+Adding object f39
+Adding object f40
+Adding object f41
+Adding object f42
+Adding object f43
+Adding object f44
+Adding object f45
+Adding object f46
+Adding object f47
+Adding object f48
+Adding object f49
+Adding object f50
+Adding object f51
+Adding object f52
+Adding object f53
+Adding object f54
+Adding object f55
+Adding object f56
+Adding object f57
+Adding object f58
+Adding object f59
+Adding object f60
+Adding object f61
+Adding object f62
+Adding object f63
+Adding object f64
+Adding object f65
+Adding object f66
+Adding object f67
+Adding object f68
+Adding object f69
+Adding object f70
+Adding object f71
+Adding object f72
+Adding object f73
+Adding object f74
+Adding object f75
+Adding object f76
+Adding object f77
+Adding object f78
+Adding object f79
+Adding object f80
+Adding object f81
+Adding object f82
+Adding object f83
+Adding object f84
+Adding object f85
+Adding object f86
+Adding object f87
+Adding object f88
+Adding object f89
+Adding object f90
+Adding object f91
+Adding object f92
+Adding object f93
+Adding object f94
+Adding object f95
+Adding object f96
+Adding object f97
+Adding object f98
+Adding object f99
+Adding object f100
+Adding object f101
+Adding object f102
+Adding object f103
+Adding object f104
+Adding object f105
+Adding object f106
+Adding object f107
+Adding object f108
+Adding object f109
+Adding object f110
+Adding object f111
+Adding object f112
+Adding object f113
+Adding object f114
+Adding object f115
+Adding object f116
+Adding object f117
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/InferParam.txt
===================================================================
--- src/Tests/Expect-s/InferParam.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/InferParam.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,87 @@
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function g
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+Adding type U
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+U
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function i
+--- Entering scope
+--- Leaving scope containing
+Adding function h
+--- Entering scope
+--- Entering scope
+Adding object a
+--- Leaving scope containing
+--- Leaving scope containing
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+Adding type U
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function j
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+U
+Adding context has_f_and_j
+Adding function j
+--- Entering scope
+--- Leaving scope containing
+Adding function k
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+Adding type U
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+U
+Adding function l
+--- Entering scope
+--- Entering scope
+Adding object b
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Initialization.txt
===================================================================
--- src/Tests/Expect-s/Initialization.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Initialization.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,86 @@
+Adding object x11
+Adding object x12
+Adding object x21
+Adding object x22
+Adding object y1
+Adding object y2
+Adding fwd decl for struct __anonymous0
+--- Entering scope
+Adding object w
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+--- Leaving scope containing
+Adding object a
+Adding fwd decl for struct __anonymous1
+--- Entering scope
+Adding object a
+Adding object b
+--- Leaving scope containing
+Adding struct __anonymous1
+--- Entering scope
+--- Leaving scope containing
+Adding object w
+Adding fwd decl for struct __anonymous2
+--- Entering scope
+Adding object g1
+Adding object g2
+Adding object g3
+--- Leaving scope containing
+Adding struct __anonymous2
+Adding fwd decl for struct __anonymous3
+--- Entering scope
+Adding object f1
+Adding object f2
+Adding object f3
+--- Entering scope
+--- Leaving scope containing
+Adding object f4
+--- Leaving scope containing
+Adding struct __anonymous3
+--- Entering scope
+--- Leaving scope containing
+Adding object v7
+Adding fwd decl for struct __anonymous4
+--- Entering scope
+Adding object y1
+Adding object y2
+Adding object y3
+--- Leaving scope containing
+Adding struct __anonymous4
+Adding fwd decl for struct point
+--- Entering scope
+Adding object x
+Adding object z
+--- Entering scope
+--- Leaving scope containing
+Adding object y
+Adding object w
+--- Leaving scope containing
+Adding struct point
+Adding fwd decl for struct quintet
+--- Entering scope
+Adding object v
+Adding object w
+Adding object x
+Adding object y
+Adding object z
+--- Leaving scope containing
+Adding struct quintet
+Adding function main
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding object p1
+--- Entering scope
+--- Leaving scope containing
+Adding object p2
+--- Entering scope
+--- Leaving scope containing
+Adding object p3
+--- Entering scope
+--- Leaving scope containing
+Adding object p4
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Initialization2.txt
===================================================================
--- src/Tests/Expect-s/Initialization2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Initialization2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,114 @@
+Adding object a
+Adding fwd decl for struct __anonymous0
+--- Entering scope
+Adding object x
+Adding object y
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+--- Leaving scope containing
+Adding object z
+Adding fwd decl for struct __anonymous1
+--- Entering scope
+Adding object x
+Adding object y
+--- Leaving scope containing
+Adding struct __anonymous1
+--- Entering scope
+--- Leaving scope containing
+Adding object z1
+Adding fwd decl for struct __anonymous2
+--- Entering scope
+Adding object x
+Adding object y
+--- Leaving scope containing
+Adding struct __anonymous2
+--- Entering scope
+--- Leaving scope containing
+Adding object z2
+Adding fwd decl for struct __anonymous3
+--- Entering scope
+Adding object y1
+Adding object y2
+--- Leaving scope containing
+Adding struct __anonymous3
+Adding fwd decl for struct __anonymous4
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+Adding object y
+--- Leaving scope containing
+Adding struct __anonymous4
+--- Entering scope
+--- Leaving scope containing
+Adding object z3
+Adding fwd decl for struct __anonymous5
+--- Entering scope
+Adding object y1
+Adding object y2
+--- Leaving scope containing
+Adding struct __anonymous5
+Adding fwd decl for struct __anonymous6
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+Adding object y
+--- Leaving scope containing
+Adding struct __anonymous6
+--- Entering scope
+--- Leaving scope containing
+Adding object z3
+Adding fwd decl for struct __anonymous7
+--- Entering scope
+Adding object y1
+Adding object y2
+--- Leaving scope containing
+Adding struct __anonymous7
+Adding fwd decl for struct __anonymous8
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+Adding object y
+--- Leaving scope containing
+Adding struct __anonymous8
+--- Entering scope
+--- Leaving scope containing
+Adding object z3
+Adding fwd decl for struct __anonymous9
+--- Entering scope
+Adding object y1
+Adding object y2
+--- Leaving scope containing
+Adding struct __anonymous9
+Adding fwd decl for struct __anonymous10
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+Adding object y
+--- Leaving scope containing
+Adding struct __anonymous10
+--- Entering scope
+--- Leaving scope containing
+Adding object z3
+Adding fwd decl for struct t
+--- Entering scope
+Adding object a
+Adding object b
+--- Leaving scope containing
+Adding struct t
+--- Entering scope
+--- Leaving scope containing
+Adding object x
+Adding fwd decl for struct __anonymous11
+--- Entering scope
+Adding object x
+Adding object y
+--- Leaving scope containing
+Adding struct __anonymous11
+--- Entering scope
+--- Leaving scope containing
+Adding object z6
Index: src/Tests/Expect-s/LabelledExit.txt
===================================================================
--- src/Tests/Expect-s/LabelledExit.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/LabelledExit.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,70 @@
+Adding function main
+--- Entering scope
+--- Entering scope
+Adding object i
+Adding object x
+Adding object y
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Entering scope
+Adding object array
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Members.txt
===================================================================
--- src/Tests/Expect-s/Members.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Members.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,103 @@
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type DT
+--- Leaving scope containing
+DT
+Adding function *?
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function __builtin_memcpy
+--- Entering scope
+--- Leaving scope containing
+Adding function a
+--- Entering scope
+--- Leaving scope containing
+Adding function b
+--- Entering scope
+--- Leaving scope containing
+Adding function c
+--- Entering scope
+--- Leaving scope containing
+Adding function d
+--- Entering scope
+--- Leaving scope containing
+Adding fwd decl for struct a_struct
+--- Entering scope
+Adding object a
+Adding object a
+Adding object a
+--- Leaving scope containing
+Adding struct a_struct
+Adding fwd decl for union b_struct
+--- Entering scope
+Adding object a
+Adding object a
+Adding object a
+--- Leaving scope containing
+Adding union b_struct
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding object the_struct
+--- Entering scope
+--- Leaving scope containing
+Adding object the_struct
+--- Leaving scope containing
+--- Leaving scope containing
+Adding fwd decl for struct c_struct
+--- Entering scope
+--- Leaving scope containing
+Adding struct c_struct
+Adding fwd decl for union d_struct
+--- Entering scope
+--- Leaving scope containing
+Adding union d_struct
+Adding function g
+--- Entering scope
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+Adding object x
+--- Leaving scope containing
+--- Leaving scope containing
+Adding fwd decl for struct forward
+--- Entering scope
+--- Leaving scope containing
+Adding struct forward
+--- Entering scope
+--- Leaving scope containing
+Adding object q
+Adding fwd decl for struct forward
+--- Entering scope
+Adding object y
+--- Leaving scope containing
+Adding struct forward
+Adding function h
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Misc.txt
===================================================================
--- src/Tests/Expect-s/Misc.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Misc.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,14 @@
+Adding object a
+Adding object b
+Adding object b
+Adding function g
+--- Entering scope
+--- Leaving scope containing
+Adding function g
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/MiscError.txt
===================================================================
--- src/Tests/Expect-s/MiscError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/MiscError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,11 @@
+Adding object a
+Adding object b
+Adding object b
+Adding function g
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/NamedParmArg.txt
===================================================================
--- src/Tests/Expect-s/NamedParmArg.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/NamedParmArg.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,19 @@
+Adding function f1
+--- Entering scope
+Adding object i
+Adding object j
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function f2
+--- Entering scope
+Adding object i
+Adding object j
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function main
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/NumericConstants.txt
===================================================================
--- src/Tests/Expect-s/NumericConstants.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/NumericConstants.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,5 @@
+Adding function main
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/OccursError.txt
===================================================================
--- src/Tests/Expect-s/OccursError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/OccursError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,25 @@
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function g
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type U
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+U
+Adding function test
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Operators.txt
===================================================================
--- src/Tests/Expect-s/Operators.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Operators.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,39 @@
+Adding function ?*?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?()
+--- Entering scope
+Adding object number1
+Adding object number2
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding fwd decl for struct accumulator
+--- Entering scope
+Adding object total
+--- Leaving scope containing
+Adding struct accumulator
+Adding function ?()
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding object a
+Adding object number1
+Adding object number2
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+--- Entering scope
+Adding object a
+Adding object b
+--- Entering scope
+--- Leaving scope containing
+Adding object ?+?
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Quad.txt
===================================================================
--- src/Tests/Expect-s/Quad.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Quad.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,43 @@
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?*?
+--- Entering scope
+--- Leaving scope containing
+Adding function square
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?*?
+--- Entering scope
+--- Leaving scope containing
+Adding object t
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function quad
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type U
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function square
+--- Entering scope
+--- Leaving scope containing
+Adding object u
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+U
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Rank2.txt
===================================================================
--- src/Tests/Expect-s/Rank2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Rank2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,61 @@
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?=?
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type DT
+--- Leaving scope containing
+DT
+Adding function a
+--- Entering scope
+--- Entering scope
+Adding function f
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function g
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type U
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding object p
+--- Leaving scope containing
+U
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function g
+--- Entering scope
+--- Entering scope
+Adding function h
+--- Entering scope
+Adding object null
+--- Leaving scope containing
+Adding function id
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding object 0
+Adding object 0
+--- Leaving scope containing
+T
+--- Leaving scope containing
Index: src/Tests/Expect-s/Scope.txt
===================================================================
--- src/Tests/Expect-s/Scope.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Scope.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,93 @@
+Adding object x
+Adding object z
+Adding fwd decl for struct __anonymous0
+--- Entering scope
+Adding object a
+Adding object b
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding type u
+Adding function f
+--- Entering scope
+Adding object y
+--- Leaving scope containing
+Adding object q
+Adding function w
+--- Entering scope
+Adding object y
+Adding object v
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type x
+Adding function t
+--- Entering scope
+--- Leaving scope containing
+Adding object u
+Adding object z
+--- Leaving scope containing
+x
+--- Leaving scope containing
+Adding object p
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type z
+Adding function u
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+z
+Adding context has_u
+Adding function q
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type t
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding object the_t
+--- Entering scope
+Adding object y
+--- Leaving scope containing
+--- Leaving scope containing
+t
+Adding function f
+--- Entering scope
+Adding object p
+--- Entering scope
+Adding object y
+--- Entering scope
+Adding object y
+--- Entering scope
+Adding object x
+Adding object z
+--- Leaving scope containing
+Adding object x
+--- Leaving scope containing
+Adding object q
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function g
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding object x
+--- Entering scope
+Adding object y
+--- Leaving scope containing
+Adding object z
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function q
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/ScopeErrors.txt
===================================================================
--- src/Tests/Expect-s/ScopeErrors.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/ScopeErrors.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,36 @@
+Adding object thisIsAnError
+Adding object thisIsAnError
+Adding object thisIsNotAnError
+Adding object thisIsNotAnError
+Adding function thisIsAlsoNotAnError
+--- Entering scope
+--- Entering scope
+Adding object thisIsNotAnError
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function thisIsAlsoNotAnError
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function thisIsStillNotAnError
+--- Entering scope
+--- Leaving scope containing
+Adding function thisIsStillNotAnError
+--- Entering scope
+--- Leaving scope containing
+Adding function butThisIsAnError
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function butThisIsAnError
+Error: duplicate function definition for butThisIsAnError: function
+  with parameters
+    double 
+  returning 
+    double 
+  with body 
+    CompoundStmt
+
Index: src/Tests/Expect-s/ShortCircuit.txt
===================================================================
--- src/Tests/Expect-s/ShortCircuit.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/ShortCircuit.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,21 @@
+Adding function ?!=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?!=?
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding function g
+--- Entering scope
+--- Leaving scope containing
+Adding function g
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object a
+--- Entering scope
+Adding object b
+Adding object c
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Statement.txt
===================================================================
--- src/Tests/Expect-s/Statement.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Statement.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,31 @@
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?!=?
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding function f
+--- Entering scope
+--- Entering scope
+Adding object a
+Adding fwd decl for struct __anonymous0
+--- Entering scope
+Adding object b
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+--- Leaving scope containing
+Adding object a
+--- Entering scope
+--- Entering scope
+Adding object b
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+__anonymous0
+--- Leaving scope containing
Index: src/Tests/Expect-s/StructMember.txt
===================================================================
--- src/Tests/Expect-s/StructMember.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/StructMember.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,34 @@
+Adding fwd decl for struct S
+--- Entering scope
+Adding object m1
+Adding object m2
+Adding object m3
+Adding object m4
+Adding object m5
+Adding object m6
+Adding object m7
+Adding object m8
+Adding object m9
+Adding object m10
+Adding object m11
+Adding object T
+Adding object T
+Adding object m12
+Adding object m13
+Adding object m14
+--- Leaving scope containing
+Adding struct S
+--- Entering scope
+--- Leaving scope containing
+Adding object s
+Adding fwd decl for union U
+--- Entering scope
+Adding object m1
+Adding object m2
+Adding object m3
+Adding object m4
+--- Leaving scope containing
+Adding union U
+--- Entering scope
+--- Leaving scope containing
+Adding object u
Index: src/Tests/Expect-s/Subrange.txt
===================================================================
--- src/Tests/Expect-s/Subrange.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Subrange.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,78 @@
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?<?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?<=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding context ordered
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type base_t
+--- Leaving scope containing
+base_t
+Adding type subrange
+Adding object day_of_month
+Adding object lcase
+Adding object foo
+Adding function lbound
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding object v
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function hbound
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding object v
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding object lday
+Adding function ?=?
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding object target
+Adding object source
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function ?=?
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?=?
+--- Entering scope
+--- Leaving scope containing
+Adding object target
+Adding object source
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
Index: src/Tests/Expect-s/Switch.txt
===================================================================
--- src/Tests/Expect-s/Switch.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Switch.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,6 @@
+Adding function fred
+--- Entering scope
+--- Entering scope
+Adding object i
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Tuple.txt
===================================================================
--- src/Tests/Expect-s/Tuple.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Tuple.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,79 @@
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function g
+--- Entering scope
+--- Leaving scope containing
+Adding function h
+--- Entering scope
+Adding object a
+Adding object b
+Adding object c
+Adding object d
+--- Leaving scope containing
+Adding fwd decl for struct inner
+--- Entering scope
+Adding object f2
+Adding object f3
+--- Leaving scope containing
+Adding struct inner
+Adding fwd decl for struct outer
+--- Entering scope
+Adding object f1
+--- Entering scope
+--- Leaving scope containing
+Adding object i
+Adding object f4
+--- Leaving scope containing
+Adding struct outer
+--- Entering scope
+--- Leaving scope containing
+Adding object s
+--- Entering scope
+--- Leaving scope containing
+Adding object sp
+Adding object t1
+Adding object t2
+Adding object t3
+Adding function printf
+--- Entering scope
+Adding object rc
+Adding object fmt
+--- Leaving scope containing
+Adding function printf
+--- Entering scope
+Adding object fmt
+--- Leaving scope containing
+Adding function f1
+--- Entering scope
+Adding object x
+Adding object y
+Adding object w
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function g1
+--- Entering scope
+Adding object r
+--- Entering scope
+Adding object x
+Adding object p
+Adding object y
+Adding object z
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function main
+--- Entering scope
+Adding object rc
+Adding object argc
+Adding object argv
+--- Entering scope
+Adding object a
+Adding object b
+Adding object c
+Adding object d
+--- Entering scope
+--- Leaving scope containing
+Adding object t
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/TypeGenerator.txt
===================================================================
--- src/Tests/Expect-s/TypeGenerator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/TypeGenerator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,113 @@
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding context addable
+Adding fwd decl for struct __anonymous0
+--- Entering scope
+Adding object data
+Adding object next
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding type List1
+Adding object li
+Adding function f
+--- Entering scope
+Adding object g
+--- Leaving scope containing
+Adding function h
+--- Entering scope
+Adding object p
+--- Leaving scope containing
+Adding fwd decl for struct S1
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+--- Leaving scope containing
+T
+Adding struct S1
+Adding fwd decl for struct S1
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding object i
+--- Leaving scope containing
+T
+Adding struct S1
+--- Entering scope
+--- Leaving scope containing
+Adding object v1
+--- Entering scope
+--- Leaving scope containing
+Adding object p
+Adding fwd decl for struct S2
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding object i
+--- Leaving scope containing
+T
+Adding struct S2
+--- Entering scope
+--- Leaving scope containing
+Adding object v2
+Adding fwd decl for struct __anonymous1
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding object i
+--- Leaving scope containing
+T
+Adding struct __anonymous1
+--- Entering scope
+--- Leaving scope containing
+Adding object v2
+Adding fwd decl for struct node
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+Adding object data
+--- Entering scope
+--- Leaving scope containing
+Adding object next
+--- Leaving scope containing
+T
+Adding struct node
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding type List
+Adding object my_list
+--- Entering scope
+--- Leaving scope containing
+Adding type Complex
+Adding function main
+--- Entering scope
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Typedef.txt
===================================================================
--- src/Tests/Expect-s/Typedef.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Typedef.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,34 @@
+Adding function f
+--- Entering scope
+--- Entering scope
+Adding function T
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+Adding fwd decl for struct __anonymous0
+--- Entering scope
+Adding object T
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+--- Leaving scope containing
+Adding object fred
+Adding object b
+Adding function g
+--- Entering scope
+--- Entering scope
+Adding object a
+--- Leaving scope containing
+--- Leaving scope containing
+Adding object c
+Adding object p
+Adding object q
+Adding function main
+--- Entering scope
+--- Entering scope
+Adding object w
+Adding object x
+--- Leaving scope containing
+--- Leaving scope containing
+Adding object array
Index: src/Tests/Expect-s/TypedefDeclarator.txt
===================================================================
--- src/Tests/Expect-s/TypedefDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/TypedefDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,106 @@
+Adding function main
+--- Entering scope
+--- Entering scope
+Adding object f1
+Adding object f2
+Adding object f3
+Adding object f4
+Adding object f5
+Adding object f6
+Adding object f7
+Adding object f8
+Adding object f9
+Adding object f10
+Adding object f11
+Adding object f12
+Adding object f13
+Adding object f14
+Adding object f15
+Adding object f16
+Adding object f17
+Adding object f18
+Adding object f19
+Adding object f20
+Adding object f21
+Adding object f22
+Adding object f23
+Adding object f24
+Adding object f25
+Adding object f26
+Adding object f27
+Adding object f28
+Adding object f29
+Adding object f30
+Adding object f31
+Adding object f32
+Adding object f33
+Adding object f34
+Adding object f35
+Adding object f36
+Adding object f37
+Adding object f38
+Adding object f39
+Adding object f40
+Adding object f41
+Adding object f42
+Adding object f43
+Adding object f44
+Adding object f45
+Adding object f46
+Adding object f47
+Adding object f48
+Adding object f49
+Adding object f50
+Adding object f51
+Adding object f52
+Adding object f53
+Adding object f54
+Adding object f55
+Adding object f56
+Adding object f57
+Adding object f58
+Adding object f59
+Adding object f60
+Adding object f61
+Adding object f62
+Adding object f63
+Adding object f64
+Adding function f65
+--- Entering scope
+--- Leaving scope containing
+Adding function f66
+--- Entering scope
+--- Leaving scope containing
+Adding function f67
+--- Entering scope
+--- Leaving scope containing
+Adding function f68
+--- Entering scope
+--- Leaving scope containing
+Adding function f69
+--- Entering scope
+--- Leaving scope containing
+Adding function f70
+--- Entering scope
+--- Leaving scope containing
+Adding function f71
+--- Entering scope
+--- Leaving scope containing
+Adding function f72
+--- Entering scope
+--- Leaving scope containing
+Adding function f73
+--- Entering scope
+--- Leaving scope containing
+Adding function f74
+--- Entering scope
+--- Leaving scope containing
+Adding object f75
+Adding object f76
+Adding object f77
+Adding object f78
+Adding object f79
+Adding object f80
+Adding object f81
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/TypedefParamDeclarator.txt
===================================================================
--- src/Tests/Expect-s/TypedefParamDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/TypedefParamDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,80 @@
+Adding function fred
+--- Entering scope
+Adding object f1
+Adding object f3
+Adding object f4
+Adding object f5
+Adding object f6
+Adding object f11
+Adding object f12
+Adding object f13
+Adding object f14
+Adding object f15
+Adding object f16
+Adding object f19
+Adding object f20
+Adding object f21
+Adding object f22
+Adding object f23
+Adding object f24
+Adding object f25
+Adding object f26
+Adding object f35
+Adding object f36
+Adding object f37
+Adding object f38
+Adding object f39
+Adding object f40
+Adding object f41
+Adding object f42
+Adding object f43
+Adding object f44
+Adding object f49
+Adding object f50
+Adding object f51
+Adding object f52
+Adding object f53
+Adding object f54
+Adding object f55
+Adding object f56
+Adding object f57
+Adding object f58
+Adding object f59
+Adding object f60
+Adding object f61
+Adding object f62
+Adding object f63
+Adding object f64
+Adding object f65
+Adding object f67
+Adding object f68
+Adding object f69
+Adding object f70
+Adding object f75
+Adding object f76
+Adding object f77
+Adding object f78
+Adding object f79
+Adding object f80
+Adding object f81
+Adding object f82
+Adding object f83
+Adding object f84
+Adding object f85
+Adding object f90
+Adding object f91
+Adding object f92
+Adding object f93
+Adding object f94
+Adding object f100
+Adding object f101
+Adding object f102
+Adding object f103
+Adding object f108
+Adding object f109
+Adding object f110
+Adding object f111
+Adding object f112
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/Typeof.txt
===================================================================
--- src/Tests/Expect-s/Typeof.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/Typeof.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,15 @@
+Adding function main
+--- Entering scope
+--- Entering scope
+Adding object v1
+Adding object v2
+Adding object v3
+Adding object v4
+Adding object v5
+Adding object v6
+Adding object p
+Adding object v7
+Adding object p
+Adding object v8
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/VariableDeclarator.txt
===================================================================
--- src/Tests/Expect-s/VariableDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/VariableDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,152 @@
+Adding object f1
+Adding object f2
+Adding object f3
+Adding object f4
+Adding object f5
+Adding object f6
+Adding object f7
+Adding object f8
+Adding object f9
+Adding object f10
+Adding object f11
+Adding object f12
+Adding object f13
+Adding object f14
+Adding object f15
+Adding object f16
+Adding object f17
+Adding object f18
+Adding object f19
+Adding object f20
+Adding object f21
+Adding object f22
+Adding object f23
+Adding object f24
+Adding object f25
+Adding object f26
+Adding object f27
+Adding object f28
+Adding object f29
+Adding object f30
+Adding object f31
+Adding object f32
+Adding object f33
+Adding object f34
+Adding object f35
+Adding object f36
+Adding object f37
+Adding object f38
+Adding object f39
+Adding object f40
+Adding object f41
+Adding object f42
+Adding object f43
+Adding object f44
+Adding object f45
+Adding object f46
+Adding object f47
+Adding object f48
+Adding object f49
+Adding object f50
+Adding object f51
+Adding object f52
+Adding object f53
+Adding object f54
+Adding object f55
+Adding object f56
+Adding object f57
+Adding object f58
+Adding object f59
+Adding object f60
+Adding object f61
+Adding object f62
+Adding object f63
+Adding object f64
+Adding function f65
+--- Entering scope
+--- Leaving scope containing
+Adding function f66
+--- Entering scope
+--- Leaving scope containing
+Adding function f67
+--- Entering scope
+--- Leaving scope containing
+Adding function f68
+--- Entering scope
+--- Leaving scope containing
+Adding function f69
+--- Entering scope
+--- Leaving scope containing
+Adding function f70
+--- Entering scope
+--- Leaving scope containing
+Adding function f71
+--- Entering scope
+--- Leaving scope containing
+Adding function f72
+--- Entering scope
+--- Leaving scope containing
+Adding function f73
+--- Entering scope
+--- Leaving scope containing
+Adding function f74
+--- Entering scope
+--- Leaving scope containing
+Adding object f75
+Adding object f76
+Adding object f77
+Adding object f78
+Adding object f79
+Adding object f80
+Adding object f81
+Adding object cf3
+Adding object cf4
+Adding object cf5
+Adding object cf6
+Adding object cf15
+Adding object cf16
+Adding object cf19
+Adding object cf20
+Adding object cf21
+Adding object cf22
+Adding object cf23
+Adding object cf24
+Adding object cf25
+Adding object cf26
+Adding object cf35
+Adding object cf36
+Adding object cf37
+Adding object cf38
+Adding object cf39
+Adding object cf40
+Adding object cf41
+Adding object cf42
+Adding object cf43
+Adding object cf44
+Adding object cf49
+Adding object cf50
+Adding object cf51
+Adding object cf52
+Adding object cf53
+Adding object cf54
+Adding object cf55
+Adding object cf56
+Adding function cf65
+--- Entering scope
+--- Leaving scope containing
+Adding function cf66
+--- Entering scope
+--- Leaving scope containing
+Adding function cf67
+--- Entering scope
+--- Leaving scope containing
+Adding function cf68
+--- Entering scope
+--- Leaving scope containing
+Adding function cf69
+--- Entering scope
+--- Leaving scope containing
+Adding function cf70
+--- Entering scope
+--- Leaving scope containing
+Adding object v3
Index: src/Tests/Expect-s/gcc900407-1.txt
===================================================================
--- src/Tests/Expect-s/gcc900407-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/gcc900407-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,9 @@
+Adding function foo
+--- Entering scope
+Adding object a
+Adding object b
+Adding object p
+--- Entering scope
+Adding object c
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/gcc900516-1.txt
===================================================================
--- src/Tests/Expect-s/gcc900516-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/gcc900516-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,6 @@
+Adding function f
+--- Entering scope
+Adding object c
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/gcc920301-1.txt
===================================================================
--- src/Tests/Expect-s/gcc920301-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/gcc920301-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,12 @@
+Adding function f
+--- Entering scope
+--- Entering scope
+Adding object t
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function g
+--- Entering scope
+--- Entering scope
+Adding object p
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/gcc920409-1.txt
===================================================================
--- src/Tests/Expect-s/gcc920409-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/gcc920409-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,6 @@
+Adding function x
+--- Entering scope
+--- Entering scope
+Adding object y
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/gcc920409-2.txt
===================================================================
--- src/Tests/Expect-s/gcc920409-2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/gcc920409-2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,8 @@
+Adding function x
+--- Entering scope
+--- Entering scope
+Adding object x1
+Adding object x2
+Adding object v
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/gcc920410-2.txt
===================================================================
--- src/Tests/Expect-s/gcc920410-2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/gcc920410-2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,12 @@
+Adding function joe
+--- Entering scope
+--- Entering scope
+Adding object j
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/gcc920501-1.txt
===================================================================
--- src/Tests/Expect-s/gcc920501-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/gcc920501-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,6 @@
+Adding function a
+--- Entering scope
+--- Entering scope
+Adding object b
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/gcc920501-11.txt
===================================================================
--- src/Tests/Expect-s/gcc920501-11.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/gcc920501-11.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,2 @@
+cfa-cpp: Parser/ExpressionNode.cc:456: virtual Expression* CompositeExprNode::build() const: Assertion `args.size() == 1' failed.
+Aborted (core dumped)
Index: src/Tests/Expect-s/gcc920501-19.txt
===================================================================
--- src/Tests/Expect-s/gcc920501-19.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/gcc920501-19.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,6 @@
+Adding object x
+Adding function y
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
Index: src/Tests/Expect-s/report
===================================================================
--- src/Tests/Expect-s/report	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-s/report	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,57 @@
+---Abstype.txt---
+---Array.txt---
+---AsmName.txt---
+---Attributes.txt---
+---Cast.txt---
+---CastError.txt---
+---CharStringConstants.txt---
+---CommentMisc.txt---
+---Constant0-1.txt---
+---Context.txt---
+---DeclarationErrors.txt---
+---DeclarationSpecifier.txt---
+---Enum.txt---
+---Exception.txt---
+---Expression.txt---
+---Forall.txt---
+---Function.txt---
+---Functions.txt---
+---GccExtensions.txt---
+---IdentFuncDeclarator.txt---
+---IdentFuncParamDeclarator.txt---
+---InferParam.txt---
+---Initialization.txt---
+---Initialization2.txt---
+---LabelledExit.txt---
+---Members.txt---
+---Misc.txt---
+---MiscError.txt---
+---NamedParmArg.txt---
+---NumericConstants.txt---
+---OccursError.txt---
+---Operators.txt---
+---Quad.txt---
+---Rank2.txt---
+---Scope.txt---
+---ScopeErrors.txt---
+---ShortCircuit.txt---
+---Statement.txt---
+---StructMember.txt---
+---Subrange.txt---
+---Switch.txt---
+---Tuple.txt---
+---TypeGenerator.txt---
+---Typedef.txt---
+---TypedefDeclarator.txt---
+---TypedefParamDeclarator.txt---
+---Typeof.txt---
+---VariableDeclarator.txt---
+---gcc900407-1.txt---
+---gcc900516-1.txt---
+---gcc920301-1.txt---
+---gcc920409-1.txt---
+---gcc920409-2.txt---
+---gcc920410-2.txt---
+---gcc920501-1.txt---
+---gcc920501-11.txt---
+---gcc920501-19.txt---
