llvmc: remove dynamic plugins.
[oota-llvm.git] / tools / llvmc / src / Hooks.cpp
1 #include <string>
2 #include <vector>
3
4 namespace hooks {
5 typedef std::vector<std::string> StrVec;
6
7 /// ConvertToMAttr - Convert -m* and -mno-* to -mattr=+*,-*
8 std::string ConvertToMAttr(const StrVec& Opts) {
9   std::string out("-mattr=");
10
11   bool firstIter = true;
12   for (StrVec::const_iterator B = Opts.begin(), E = Opts.end(); B!=E; ++B) {
13     const std::string& Arg = *B;
14
15     if (firstIter)
16       firstIter = false;
17     else
18       out += ",";
19
20     if (Arg.find("no-") == 0 && Arg[3] != 0) {
21       out += '-';
22       out += Arg.c_str() + 3;
23     }
24     else {
25       out += '+';
26       out += Arg;
27     }
28   }
29
30   return out;
31 }
32
33 }