diff options
author | jolsa@redhat.com <jolsa@redhat.com> | 2011-10-21 11:10:51 +0200 |
---|---|---|
committer | Jiri Olsa <Jiri Olsa jolsa@redhat.com> | 2012-01-11 19:55:00 +0100 |
commit | 363e9f3169f985b1ab2d9b22ffca1f2458581dcd (patch) | |
tree | 54fba333a8cc362a97bfad62b0172efd1c110966 /src/config-bison.y | |
parent | c1d9c8ab05abfb83d3ca6d1a3f7d8b6c99c5cb87 (diff) | |
download | latrace-363e9f3169f985b1ab2d9b22ffca1f2458581dcd.tar.gz latrace-363e9f3169f985b1ab2d9b22ffca1f2458581dcd.tar.xz latrace-363e9f3169f985b1ab2d9b22ffca1f2458581dcd.zip |
error simulation: automation application part
Diffstat (limited to 'src/config-bison.y')
-rw-r--r-- | src/config-bison.y | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/src/config-bison.y b/src/config-bison.y index c9512ac..db1d6bc 100644 --- a/src/config-bison.y +++ b/src/config-bison.y @@ -74,7 +74,7 @@ static struct lt_list_head ln_names; %token ERROR %token ERR_DO ERR_DIR ERR_RUN ERR_GO ERR_RETURN ERR_N %token ERR_PROG ERR_ARGS ERR_FILTER ERR_SEQ ERR_START -%token ERR_SIGSEGV +%token ERR_SIGSEGV ERR_AUTOMATED ERR_REPLAY ERR_KEEP %union { @@ -347,15 +347,21 @@ error_return: ERR_RETURN NAME '{' error_return_def '}' } error_return_def: -error_return_def NAME '=' VALUE +error_return_def NAME '=' list_values_comma { - if (lt_error_return_ass(scfg, &error_app_return, $2, $4, 0)) + if (lt_error_return_ass(scfg, &error_app_return, $2, &ln_names, 0, 0)) ABORT("failed to add symbol to return definition"); } | -error_return_def NAME '=' VALUE ERR_SIGSEGV +error_return_def NAME '=' ERR_KEEP { - if (lt_error_return_ass(scfg, &error_app_return, $2, $4, 1)) + if (lt_error_return_ass(scfg, &error_app_return, $2, NULL, 0, 1)) + ABORT("failed to add symbol to return definition"); +} +| +error_return_def NAME '=' list_values_comma ERR_SIGSEGV +{ + if (lt_error_return_ass(scfg, &error_app_return, $2, &ln_names, 1, 0)) ABORT("failed to add symbol to return definition"); } | @@ -392,21 +398,35 @@ error_go: ERR_GO NAME list_names_comma { if (lt_error_go(scfg, &error_app_go, &error_app, - strdup($2), 0, 1, &ln_names)) + strdup($2), 0, 1, 0, 0, &ln_names)) + ABORT("failed to add go"); +} +| +ERR_GO NAME ERR_AUTOMATED list_names_comma +{ + if (lt_error_go(scfg, &error_app_go, &error_app, + strdup($2), 0, 1, 1, 0, &ln_names)) + ABORT("failed to add go"); +} +| +ERR_GO NAME ERR_REPLAY list_names_comma +{ + if (lt_error_go(scfg, &error_app_go, &error_app, + strdup($2), 0, 1, 1, 1, &ln_names)) ABORT("failed to add go"); } | ERR_GO NAME ERR_N '=' VALUE list_names_comma { if (lt_error_go(scfg, &error_app_go, &error_app, - strdup($2), 0, $5, &ln_names)) + strdup($2), 0, $5, 0, 0, &ln_names)) ABORT("failed to add go"); } | ERR_GO NAME ERR_START '=' VALUE ERR_N '=' VALUE list_names_comma { if (lt_error_go(scfg, &error_app_go, &error_app, - strdup($2), $5, $8, &ln_names)) + strdup($2), $5, $8, 0, 0, &ln_names)) ABORT("failed to add go"); } |