OSDN Git Service

Provide support for retaining the version number found in a config file.
authorReid Spencer <rspencer@reidspencer.com>
Sun, 22 Aug 2004 18:03:25 +0000 (18:03 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sun, 22 Aug 2004 18:03:25 +0000 (18:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15995 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvmc/CompilerDriver.h
tools/llvmc/Configuration.cpp

index 4b825e2..e5bf42f 100644 (file)
@@ -89,6 +89,7 @@ namespace llvm {
 
       struct ConfigData {
         ConfigData();
+        std::string version;    ///< The version number.
         std::string langName;   ///< The name of the source language 
         StringTable opts;       ///< The o10n options for each level
         Action PreProcessor;    ///< PreProcessor command line
index a381d56..a3c62d6 100644 (file)
@@ -181,6 +181,18 @@ namespace {
         error("Expecting '='");
     }
 
+    void parseVersion() {
+      if (next() == EQUALS) {
+        while (next_is_real()) {
+          if (token == STRING || token == OPTION)
+            confDat->version = ConfigLexerState.StringVal;
+          else
+            error("Expecting a version string");
+        }
+      } else
+        error("Expecting '='");
+    }
+
     void parseLang() {
       switch (next() ) {
         case NAME: 
@@ -357,6 +369,7 @@ namespace {
 
     void parseAssignment() {
       switch (token) {
+        case VERSION:       parseVersion(); break;
         case LANG:          parseLang(); break;
         case PREPROCESSOR:  parsePreprocessor(); break;
         case TRANSLATOR:    parseTranslator(); break;