Really big cleanup.
- New target type "mingw" was introduced
- Same things for both mingw & cygwin are marked as "cygming" (as in
gcc)
- .lcomm is supported here, so allow LLVM to use it
- Correctly use underscored versions of setjmp & _longjmp for both mingw
& cygwin


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32833 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp
index 65d2e7d..4f55f42a 100644
--- a/lib/Target/X86/X86AsmPrinter.cpp
+++ b/lib/Target/X86/X86AsmPrinter.cpp
@@ -111,7 +111,7 @@
 
     // Emit initial debug information.
     DW.BeginModule(&M);
-  } else if (Subtarget->isTargetELF() || Subtarget->isTargetCygwin()) {
+  } else if (Subtarget->isTargetELF() || Subtarget->isTargetCygMing()) {
     // Emit initial debug information.
     DW.BeginModule(&M);
   }
@@ -161,7 +161,7 @@
           } else
             O << TAI->getCOMMDirective()  << name << "," << Size;
         } else {
-          if (!Subtarget->isTargetCygwin()) {
+          if (!Subtarget->isTargetCygMing()) {
             if (I->hasInternalLinkage())
               O << "\t.local\t" << name << "\n";
           }
@@ -179,7 +179,7 @@
           O << "\t.globl " << name << "\n"
             << "\t.weak_definition " << name << "\n";
           SwitchToDataSection(".section __DATA,__const_coal,coalesced", I);
-        } else if (Subtarget->isTargetCygwin()) {
+        } else if (Subtarget->isTargetCygMing()) {
           std::string SectionName(".section\t.data$linkonce." +
                                   name +
                                   ",\"aw\"");
@@ -218,7 +218,7 @@
              I->getSection() == ".dtors")) {
           std::string SectionName = ".section " + I->getSection();
           
-          if (Subtarget->isTargetCygwin()) {
+          if (Subtarget->isTargetCygMing()) {
             SectionName += ",\"aw\"";
           } else {
             assert(!Subtarget->isTargetDarwin());
@@ -310,7 +310,7 @@
     // linker can safely perform dead code stripping.  Since LLVM never
     // generates code that does this, it is always safe to set.
     O << "\t.subsections_via_symbols\n";
-  } else if (Subtarget->isTargetELF() || Subtarget->isTargetCygwin()) {
+  } else if (Subtarget->isTargetELF() || Subtarget->isTargetCygMing()) {
     // Emit final debug information.
     DW.EndModule();
   }