diff options
author | midipix <writeonce@midipix.org> | 2016-01-30 20:15:20 -0500 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-01-31 12:43:50 -0500 |
commit | 0c91ec9d3ffdcc3a978eaa3bc02470462d34df7a (patch) | |
tree | 80dfa07bdd841d63d13f8871b31cc32922b5d5a3 /src/driver | |
parent | ca3de486debc160722d02cbd969a7796894ecd56 (diff) | |
download | apimagic-0c91ec9d3ffdcc3a978eaa3bc02470462d34df7a.tar.bz2 apimagic-0c91ec9d3ffdcc3a978eaa3bc02470462d34df7a.tar.xz |
driver: --print-structs and --print-unions: initial integration.
Diffstat (limited to 'src/driver')
-rw-r--r-- | src/driver/amgc_driver_ctx.c | 10 | ||||
-rw-r--r-- | src/driver/amgc_unit_action.c | 6 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/driver/amgc_driver_ctx.c b/src/driver/amgc_driver_ctx.c index 4489109..ffe319d 100644 --- a/src/driver/amgc_driver_ctx.c +++ b/src/driver/amgc_driver_ctx.c @@ -209,6 +209,16 @@ int amgc_get_driver_ctx( if (!strcmp("primary",entry->arg)) ctx->actions[nactions++].subset = TYPE_ATOMIC; break; + + case TAG_PRINT_STRUCTS: + ctx->actions[nactions].type = AMGC_ACTION_OUTPUT; + ctx->actions[nactions++].action = AMGC_OUTPUT_STRUCT; + break; + + case TAG_PRINT_UNIONS: + ctx->actions[nactions].type = AMGC_ACTION_OUTPUT; + ctx->actions[nactions++].action = AMGC_OUTPUT_UNION; + break; } ctx->ctx.program = program; diff --git a/src/driver/amgc_unit_action.c b/src/driver/amgc_unit_action.c index b1d018a..29bc446 100644 --- a/src/driver/amgc_unit_action.c +++ b/src/driver/amgc_unit_action.c @@ -33,6 +33,12 @@ int amgc_perform_unit_action( return amgc_output_unit_entities( uctx,ENTITY_TYPEDEF,action->subset, layout,fout); + + case AMGC_OUTPUT_STRUCT: + return amgc_output_unit_structs(uctx,layout,fout); + + case AMGC_OUTPUT_UNION: + return amgc_output_unit_unions(uctx,layout,fout); } return -1; |