about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libmain/shared.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc
index 80463308a3f0..39439f8e1921 100644
--- a/src/libmain/shared.cc
+++ b/src/libmain/shared.cc
@@ -26,12 +26,15 @@ static void initAndRun(int argc, char * * argv)
     while (argc--) args.push_back(*argv++);
     args.erase(args.begin());
     
-    /* Expand compound dash options (i.e., `-qlf' -> `-q -l -f'). */
+    /* Expand compound dash options (i.e., `-qlf' -> `-q -l -f'), and
+       ignore options for the ATerm library. */
     for (Strings::iterator it = args.begin();
          it != args.end(); )
     {
         string arg = *it;
-        if (arg.length() > 2 && arg[0] == '-' && arg[1] != '-') {
+        if (string(arg, 0, 4) == "-at-")
+            it = args.erase(it);
+        else if (arg.length() > 2 && arg[0] == '-' && arg[1] != '-') {
             for (unsigned int i = 1; i < arg.length(); i++)
                 if (isalpha(arg[i]))
                     args.insert(it, (string) "-" + arg[i]);