diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-03-24 04:52:08 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-03-24 04:52:08 +0000 |
commit | d13d67a31c451ebd78ce708a4ef85803d429f158 (patch) | |
tree | 12228e3c829c72d40ca2e6da8cb7797fcda11e91 /ragel/gendata.cpp | |
parent | eafd7a3974e8605fd02794269db6114a3446e016 (diff) | |
download | ragel-tarball-master.tar.gz |
ragel-6.10HEADragel-6.10master
Diffstat (limited to 'ragel/gendata.cpp')
-rw-r--r-- | ragel/gendata.cpp | 7 |
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] ); } |