diff options
author | Fangrui Song <i@maskray.me> | 2024-04-19 11:52:02 -0700 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2024-04-19 11:52:02 -0700 |
commit | 30b9537ff438366547f968c7909718e27d65c815 (patch) | |
tree | 4d6e4460aecab3dfddda9bda360c3cb580ddeb8e | |
parent | 5b4ed0dc9fac9144efe74da77517dcff46e731e9 (diff) | |
download | llvm-30b9537ff438366547f968c7909718e27d65c815.zip llvm-30b9537ff438366547f968c7909718e27d65c815.tar.gz llvm-30b9537ff438366547f968c7909718e27d65c815.tar.bz2 |
[Driver] Add m_Group to -m[no-]strict-align
so that `Args.ClaimAllArgs(options::OPT_CompileOnly_Group);` in
Driver::handleArguments will claim the options even if only linking is
performed.
Fix #87945
-rw-r--r-- | clang/include/clang/Driver/Options.td | 4 | ||||
-rw-r--r-- | clang/test/Driver/riscv-features.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index d83031b0..46225e2 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -4747,9 +4747,9 @@ def munaligned_symbols : Flag<["-"], "munaligned-symbols">, Group<m_Group>, HelpText<"Expect external char-aligned symbols to be without ABI alignment (SystemZ only)">; def mno_unaligned_symbols : Flag<["-"], "mno-unaligned-symbols">, Group<m_Group>, HelpText<"Expect external char-aligned symbols to be without ABI alignment (SystemZ only)">; -def mstrict_align : Flag<["-"], "mstrict-align">, +def mstrict_align : Flag<["-"], "mstrict-align">, Group<m_Group>, HelpText<"Force all memory accesses to be aligned (AArch64/LoongArch/RISC-V only)">; -def mno_strict_align : Flag<["-"], "mno-strict-align">, +def mno_strict_align : Flag<["-"], "mno-strict-align">, Group<m_Group>, HelpText<"Allow memory accesses to be unaligned (AArch64/LoongArch/RISC-V only)">; def mno_thumb : Flag<["-"], "mno-thumb">, Group<m_arm_Features_Group>; def mrestrict_it: Flag<["-"], "mrestrict-it">, Group<m_arm_Features_Group>, diff --git a/clang/test/Driver/riscv-features.c b/clang/test/Driver/riscv-features.c index 5e1db5b..cfe293c 100644 --- a/clang/test/Driver/riscv-features.c +++ b/clang/test/Driver/riscv-features.c @@ -37,6 +37,8 @@ // RUN: %clang --target=riscv32-unknown-elf -### %s -mno-strict-align 2>&1 | FileCheck %s -check-prefix=FAST-UNALIGNED-ACCESS // RUN: %clang --target=riscv32-unknown-elf -### %s -mstrict-align 2>&1 | FileCheck %s -check-prefix=NO-FAST-UNALIGNED-ACCESS +// RUN: touch %t.o +// RUN: %clang --target=riscv32-unknown-elf -### %t.o -mno-strict-align -mstrict-align // FAST-UNALIGNED-ACCESS: "-target-feature" "+unaligned-scalar-mem" "-target-feature" "+unaligned-vector-mem" // NO-FAST-UNALIGNED-ACCESS: "-target-feature" "-unaligned-scalar-mem" "-target-feature" "-unaligned-vector-mem" |