Driver: Add Option flags.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66067 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/OptTable.cpp b/lib/Driver/OptTable.cpp
index 7313348..335d772 100644
--- a/lib/Driver/OptTable.cpp
+++ b/lib/Driver/OptTable.cpp
@@ -95,21 +95,14 @@
     Opt = new JoinedAndSeparateOption(info.Name, Group, Alias); break;
   }
 
-  // FIXME: Set flags.
   for (const char *s = info.Flags; *s; ++s) {
     switch (*s) {
-    default:
-      assert(0 && "Invalid option flag.");
-    case 'l':
-      break;
-    case 'i':
-      break;
-    case 'J':
-      break;
-    case 'S':
-      break;
-    case 'U':
-      break;
+    default: assert(0 && "Invalid option flag.");
+    case 'l': Opt->setLinkerInput(true); break;
+    case 'i': Opt->setNoOptAsInput(true); break;
+    case 'J': Opt->setForceJoinedRender(true); break;
+    case 'S': Opt->setForceSeparateRender(true); break;
+    case 'U': Opt->setUnsupported(true); break;
     }
   }