[llvm] r338493 - [AArch64] Disallow the MachO specific .loh directive for windows
Martin Storsjo via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 31 23:50:18 PDT 2018
Author: mstorsjo
Date: Tue Jul 31 23:50:18 2018
New Revision: 338493
URL: http://llvm.org/viewvc/llvm-project?rev=338493&view=rev
Log:
[AArch64] Disallow the MachO specific .loh directive for windows
Also add a test for it being unsupported for linux.
Differential Revision: https://reviews.llvm.org/D49929
Modified:
llvm/trunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/trunk/test/MC/AArch64/arm64-directive_loh.s
Modified: llvm/trunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp?rev=338493&r1=338492&r2=338493&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp (original)
+++ llvm/trunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp Tue Jul 31 23:50:18 2018
@@ -4859,7 +4859,6 @@ bool AArch64AsmParser::ParseDirective(As
const MCObjectFileInfo::Environment Format =
getContext().getObjectFileInfo()->getObjectFileType();
bool IsMachO = Format == MCObjectFileInfo::IsMachO;
- bool IsCOFF = Format == MCObjectFileInfo::IsCOFF;
StringRef IDVal = DirectiveID.getIdentifier();
SMLoc Loc = DirectiveID.getLoc();
@@ -4875,11 +4874,12 @@ bool AArch64AsmParser::ParseDirective(As
parseDirectiveUnreq(Loc);
else if (IDVal == ".inst")
parseDirectiveInst(Loc);
- else if (!IsMachO && !IsCOFF)
- return true;
- else if (IDVal == MCLOHDirectiveName())
- parseDirectiveLOH(IDVal, Loc);
- else
+ else if (IsMachO) {
+ if (IDVal == MCLOHDirectiveName())
+ parseDirectiveLOH(IDVal, Loc);
+ else
+ return true;
+ } else
return true;
return false;
}
Modified: llvm/trunk/test/MC/AArch64/arm64-directive_loh.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AArch64/arm64-directive_loh.s?rev=338493&r1=338492&r2=338493&view=diff
==============================================================================
--- llvm/trunk/test/MC/AArch64/arm64-directive_loh.s (original)
+++ llvm/trunk/test/MC/AArch64/arm64-directive_loh.s Tue Jul 31 23:50:18 2018
@@ -1,5 +1,7 @@
# RUN: not llvm-mc -triple arm64-apple-darwin < %s 2> %t | FileCheck %s
# RUN: FileCheck --check-prefix=CHECK-ERRORS < %t %s
+# RUN: not llvm-mc -triple aarch64-linux-gnu < %s 2>&1 | FileCheck --check-prefix=UNKNOWN %s
+# RUN: not llvm-mc -triple aarch64-win32-gnu < %s 2>&1 | FileCheck --check-prefix=UNKNOWN %s
.globl _fct1
_fct1:
@@ -15,6 +17,8 @@ _fct1:
# CHECK: .loh AdrpAdrp L1, L2
# CHECK: .loh AdrpAdrp L1, L2
+# UNKNOWN: error: unknown directive
+# UNKNOWN-NEXT: .loh AdrpAdrp L1, L2
.loh AdrpAdrp L1, L2
.loh 1 L1, L2
More information about the llvm-commits
mailing list