[PATCH] D87426: Disallow fbasic-block-sections on non-ELF, non-x86 targets.
Snehasish Kumar via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 9 20:58:46 PDT 2020
snehasish marked 3 inline comments as done.
snehasish added a comment.
Thanks for the quick review @MaskRay, PTAL.
================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:4892
+ } else {
+ D.Diag(diag::warn_drv_unsupported_opt_for_target)
+ << A->getAsString(Args) << TripleStr;
----------------
MaskRay wrote:
> This should be an error
Sure, can you provide a reference/guidance for when err vs warn is appropriate for driver checks? Most of the code in this file uses err but there are some cases of warn being used.
================
Comment at: clang/test/Driver/fbasic-block-sections.c:5
+// RUN: %clang -### -target x86_64-linux-gnu -fbasic-block-sections=labels %s -S 2>&1 | FileCheck -check-prefix=CHECK-OPT-LABELS %s
+// RUN: %clang -### -target arm-unknown-linux -fbasic-block-sections=all %s -S 2>&1 | FileCheck -check-prefix=CHECK-TRIPLE %s
+// RUN: %clang -### -target x86_64-apple-darwin10 -fbasic-block-sections=all %s -S 2>&1 | FileCheck -check-prefix=CHECK-TRIPLE %s
----------------
MaskRay wrote:
> `%clang -###` -> `not %clang -fsyntax-only`
What I really want to check for is the absence of the flag for the particular triple. Using -fsyntax-only means that the cc1 args are not emitted. I've added a check for the diagnostic message but retained `-###` so that I can keep the check for the absence of `-fbasic-block-sections=all`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D87426/new/
https://reviews.llvm.org/D87426
More information about the cfe-commits
mailing list