--- a/main.cc Wed May 11 19:38:31 2016 +0100
+++ b/main.cc Fri May 13 12:18:50 2016 +0100
@@ -122,6 +122,7 @@
printf(" as well as REF_TO in ARRAYs and STRUCTs (a non-standard extension!)\n");
printf(" -a : allow use of non-literals in array size limits (a non-standard extension!)\n");
printf(" -i : allow POUs with no in out and inout parameters (a non-standard extension!)\n");
+ printf(" -b : allow functions returning VOID (a non-standard extension!)\n");
printf(" -e : disable generation of implicit EN and ENO parameters.\n");
printf(" -c : create conversion functions for enumerated data types\n");
printf(" -O : options for output (code generation) stage. Available options for %s are...\n", cmd);
@@ -145,6 +146,7 @@
int path_len;
/* Default values for the command line options... */
+ runtime_options.allow_void_datatype = false; /* disable: allow declaration of functions returning VOID */
runtime_options.allow_missing_var_in = false; /* disable: allow definition and invocation of POUs with no input, output and in_out parameters! */
runtime_options.disable_implicit_en_eno = false; /* disable: do not generate EN and ENO parameters */
runtime_options.pre_parsing = false; /* disable: allow use of forward references (run pre-parsing phase before the definitive parsing phase that builds the AST) */
@@ -163,7 +165,7 @@
/******************************************/
/* Parse command line options... */
/******************************************/
- while ((optres = getopt(argc, argv, ":nehvfplsrRaicI:T:O:")) != -1) {
+ while ((optres = getopt(argc, argv, ":nehvfplsrRabicI:T:O:")) != -1) {
switch(optres) {
case 'h':
printusage(argv[0]);
@@ -179,6 +181,7 @@
runtime_options.ref_nonstand_extensions = true; break;
case 'r': runtime_options.ref_standard_extensions = true; break;
case 'a': runtime_options.nonliteral_in_array_size = true; break;
+ case 'b': runtime_options.allow_void_datatype = true; break;
case 'i': runtime_options.allow_missing_var_in = true; break;
case 'c': runtime_options.conversion_functions = true; break;
case 'n': runtime_options.nested_comments = true; break;