summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--colm/loadsrc.cc5
-rw-r--r--test/decl3.lm3
2 files changed, 6 insertions, 2 deletions
diff --git a/colm/loadsrc.cc b/colm/loadsrc.cc
index 24f579ab..895ea747 100644
--- a/colm/loadsrc.cc
+++ b/colm/loadsrc.cc
@@ -385,7 +385,7 @@ ObjectField *LoadSource::walkVarDef( var_def varDef )
LangStmt *LoadSource::walkStatement( statement &Statement )
{
- LangStmt *stmt;
+ LangStmt *stmt = 0;
if ( Statement.Print() != 0 ) {
print_stmt printStmt = Statement.Print();
stmt = walkPrintStmt( printStmt );
@@ -425,7 +425,8 @@ void LoadSource::walkRootItem( root_item &rootItem, StmtList *stmtList )
else if ( rootItem.Statement() != 0 ) {
statement Statement = rootItem.Statement();
LangStmt *stmt = walkStatement( Statement );
- stmtList->append( stmt );
+ if ( stmt != 0 )
+ stmtList->append( stmt );
}
else if ( rootItem.NamespaceDef() != 0 ) {
walkNamespaceDef( rootItem.NamespaceDef() );
diff --git a/test/decl3.lm b/test/decl3.lm
new file mode 100644
index 00000000..1c9ef23c
--- /dev/null
+++ b/test/decl3.lm
@@ -0,0 +1,3 @@
+##### LM #####
+Int: int
+##### EXP #####