summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/driver.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/driver.cc b/kernel/driver.cc
index ce38f59e..52f10752 100644
--- a/kernel/driver.cc
+++ b/kernel/driver.cc
@@ -473,7 +473,7 @@ int main(int argc, char **argv)
}
int opt;
- while ((opt = getopt(argc, argv, "VSm:f:b:o:p:l:qv:ts:c:")) != -1)
+ while ((opt = getopt(argc, argv, "VSm:f:h:b:o:p:l:qv:ts:c:")) != -1)
{
switch (opt)
{
@@ -499,6 +499,9 @@ int main(int argc, char **argv)
case 'f':
frontend_command = optarg;
break;
+ case 'h':
+ passes_commands.push_back(stringf("help %s", optarg));
+ break;
case 'b':
backend_command = optarg;
break;
@@ -536,7 +539,7 @@ int main(int argc, char **argv)
break;
default:
fprintf(stderr, "\n");
- fprintf(stderr, "Usage: %s [-V] [-S] [-q] [-v <level>[-t] [-l <logfile>] [-o <outfile>] [-f <frontend>]\n", argv[0]);
+ fprintf(stderr, "Usage: %s [-V] [-S] [-q] [-v <level>[-t] [-l <logfile>] [-o <outfile>] [-f <frontend>] [-h cmd] \\\n", argv[0]);
fprintf(stderr, " %*s[{-s|-c} <scriptfile>] [-p <pass> [-p ..]] [-b <backend>] [-m <module_file>] [<infile> [..]]\n", int(strlen(argv[0])+1), "");
fprintf(stderr, "\n");
fprintf(stderr, " -q\n");
@@ -560,6 +563,9 @@ int main(int argc, char **argv)
fprintf(stderr, " -f backend\n");
fprintf(stderr, " use the specified front for the input files on the command line\n");
fprintf(stderr, "\n");
+ fprintf(stderr, " -h command\n");
+ fprintf(stderr, " print the help message for the specified command\n");
+ fprintf(stderr, "\n");
fprintf(stderr, " -s scriptfile\n");
fprintf(stderr, " execute the commands in the script file\n");
fprintf(stderr, "\n");