Fixes VS support for llvmc mcc16 llvmc example.
authorOscar Fuentes <ofv@wanadoo.es>
Mon, 25 Jul 2011 17:24:54 +0000 (17:24 +0000)
committerOscar Fuentes <ofv@wanadoo.es>
Mon, 25 Jul 2011 17:24:54 +0000 (17:24 +0000)
Patch by arrowdodger!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135918 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvmc/examples/mcc16/Hooks.cpp

index 95158efeece06b9a5036a6af6980d13e6efb2b30..bbb8438bc37966f027748bb6f80fda0c6353b53e 100644 (file)
@@ -3,9 +3,10 @@
 #include "llvm/Support/raw_ostream.h"
 
 #include <string>
+#include <locale>
 
 namespace llvmc {
-  extern char *ProgramName;
+  extern const char *ProgramName;
 
   namespace autogenerated {
     extern llvm::cl::opt<std::string> Parameter_p;
@@ -31,6 +32,7 @@ namespace hooks {
 // It is __partname format in lower case.
 std::string
 GetLowerCasePartDefine(void) {
+   std::locale loc;
   std::string Partname;
   if (autogenerated::Parameter_p.empty()) {
     Partname = "16f1xxx";
@@ -40,7 +42,7 @@ GetLowerCasePartDefine(void) {
 
   std::string LowerCase;
   for (unsigned i = 0; i < Partname.size(); i++) {
-    LowerCase.push_back(std::tolower(Partname[i]));
+    LowerCase.push_back(std::tolower(Partname[i], loc));
   }
 
   return "__" + LowerCase;
@@ -48,6 +50,7 @@ GetLowerCasePartDefine(void) {
 
 std::string
 GetUpperCasePartDefine(void) {
+   std::locale loc;
   std::string Partname;
   if (autogenerated::Parameter_p.empty()) {
     Partname = "16f1xxx";
@@ -57,7 +60,7 @@ GetUpperCasePartDefine(void) {
 
   std::string UpperCase;
   for (unsigned i = 0; i < Partname.size(); i++) {
-    UpperCase.push_back(std::toupper(Partname[i]));
+    UpperCase.push_back(std::toupper(Partname[i], loc));
   }
 
   return "__" +  UpperCase;