diff options
Diffstat (limited to 'llvm/lib/Target')
3 files changed, 19 insertions, 2 deletions
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp index 2613d242a3b..7fba4849438 100644 --- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp +++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp @@ -102,10 +102,17 @@ AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(const Triple &T) { } AArch64MCAsmInfoCOFF::AArch64MCAsmInfoCOFF() { - CommentString = ";"; PrivateGlobalPrefix = ".L"; PrivateLabelPrefix = ".L"; AlignmentIsInBytes = false; SupportsDebugInformation = true; ExceptionsType = ExceptionHandling::WinEH; } + +AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF() { + CommentString = ";"; +} + +AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF() { + CommentString = "//"; +} diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h index 2d7107a3724..afde87b4092 100644 --- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h +++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h @@ -38,6 +38,14 @@ struct AArch64MCAsmInfoCOFF : public MCAsmInfoCOFF { explicit AArch64MCAsmInfoCOFF(); }; +struct AArch64MCAsmInfoMicrosoftCOFF : public AArch64MCAsmInfoCOFF { + explicit AArch64MCAsmInfoMicrosoftCOFF(); +}; + +struct AArch64MCAsmInfoGNUCOFF : public AArch64MCAsmInfoCOFF { + explicit AArch64MCAsmInfoGNUCOFF(); +}; + } // namespace llvm #endif diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp index 3141f259ac2..8618069fb0d 100644 --- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp +++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp @@ -69,8 +69,10 @@ static MCAsmInfo *createAArch64MCAsmInfo(const MCRegisterInfo &MRI, MCAsmInfo *MAI; if (TheTriple.isOSBinFormatMachO()) MAI = new AArch64MCAsmInfoDarwin(); + else if (TheTriple.isWindowsMSVCEnvironment()) + MAI = new AArch64MCAsmInfoMicrosoftCOFF(); else if (TheTriple.isOSBinFormatCOFF()) - MAI = new AArch64MCAsmInfoCOFF(); + MAI = new AArch64MCAsmInfoGNUCOFF(); else { assert(TheTriple.isOSBinFormatELF() && "Invalid target"); MAI = new AArch64MCAsmInfoELF(TheTriple); |

