summaryrefslogtreecommitdiff
path: root/ragel/gendata.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-03-24 04:52:08 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-03-24 04:52:08 +0000
commitd13d67a31c451ebd78ce708a4ef85803d429f158 (patch)
tree12228e3c829c72d40ca2e6da8cb7797fcda11e91 /ragel/gendata.cpp
parenteafd7a3974e8605fd02794269db6114a3446e016 (diff)
downloadragel-tarball-master.tar.gz
Diffstat (limited to 'ragel/gendata.cpp')
-rw-r--r--ragel/gendata.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/ragel/gendata.cpp b/ragel/gendata.cpp
index 65f0b52..737a53c 100644
--- a/ragel/gendata.cpp
+++ b/ragel/gendata.cpp
@@ -452,6 +452,7 @@ CodeGenData::CodeGenData( ostream &out )
noPrefix(false),
noFinal(false),
noError(false),
+ noEntry(false),
noCS(false)
{}
@@ -837,6 +838,10 @@ void CodeGenData::analyzeAction( GenAction *act, GenInlineList *inlineList )
redFsm->bAnyActionCalls = true;
else if ( item->type == GenInlineItem::Ret )
redFsm->bAnyActionRets = true;
+
+ if ( item->type == GenInlineItem::CallExpr || item->type == GenInlineItem::GotoExpr )
+ redFsm->bAnyActionByValControl = true;
+
}
/* Check for various things in regular actions. */
@@ -1079,6 +1084,8 @@ bool CodeGenData::writeStatement( InputLoc &loc, int nargs, char **args )
noPrefix = true;
else if ( strcmp( args[i], "nofinal" ) == 0 )
noFinal = true;
+ else if ( strcmp( args[i], "noentry" ) == 0 )
+ noEntry = true;
else
write_option_error( loc, args[i] );
}