[PATCH] D153885: [Clang][Driver] Change missing multilib error to warning
This revision was automatically updated to reflect the committed changes. Closed by commit rGdc8cbbd55f80: [Clang][Driver] Change missing multilib error to warning (authored by michaelplatings). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153885/new/ https://reviews.llvm.org/D153885 Files: clang/include/clang/Basic/DiagnosticDriverKinds.td clang/lib/Driver/ToolChains/BareMetal.cpp clang/test/Driver/baremetal-multilib.yaml Index: clang/test/Driver/baremetal-multilib.yaml === --- clang/test/Driver/baremetal-multilib.yaml +++ clang/test/Driver/baremetal-multilib.yaml @@ -23,7 +23,7 @@ # RUN: %T/baremetal_multilib/bin/clang -no-canonical-prefixes -x c++ %s -### -o %t.out 2>&1 \ # RUN: --target=thumbv7em-none-eabi -mfpu=fpv4-sp-d16 --sysroot= \ # RUN: | FileCheck --check-prefix=CHECK-NO-MATCH %s -# CHECK-NO-MATCH: error: no multilib found matching flags: +# CHECK-NO-MATCH: warning: no multilib found matching flags: # CHECK-NO-MATCH-SAME: --target=thumbv7em-none-unknown-eabi # CHECK-NO-MATCH: note: available multilibs are: # CHECK-NO-MATCH: --target=thumbv6m-none-unknown-eabi -mfpu=none Index: clang/lib/Driver/ToolChains/BareMetal.cpp === --- clang/lib/Driver/ToolChains/BareMetal.cpp +++ clang/lib/Driver/ToolChains/BareMetal.cpp @@ -175,7 +175,7 @@ Result.Multilibs = ErrorOrMultilibSet.get(); if (Result.Multilibs.select(Flags, Result.SelectedMultilibs)) return; - D.Diag(clang::diag::err_drv_no_matching_multilib) << llvm::join(Flags, " "); + D.Diag(clang::diag::warn_drv_missing_multilib) << llvm::join(Flags, " "); std::stringstream ss; for (const Multilib : Result.Multilibs) ss << "\n" << llvm::join(Multilib.flags(), " "); Index: clang/include/clang/Basic/DiagnosticDriverKinds.td === --- clang/include/clang/Basic/DiagnosticDriverKinds.td +++ clang/include/clang/Basic/DiagnosticDriverKinds.td @@ -737,8 +737,9 @@ def err_drv_expand_response_file : Error< "failed to expand response file: %0">; -def err_drv_no_matching_multilib : Error< - "no multilib found matching flags: %0">; +def warn_drv_missing_multilib : Warning< + "no multilib found matching flags: %0">, + InGroup>; def note_drv_available_multilibs : Note< "available multilibs are:%0">; } Index: clang/test/Driver/baremetal-multilib.yaml === --- clang/test/Driver/baremetal-multilib.yaml +++ clang/test/Driver/baremetal-multilib.yaml @@ -23,7 +23,7 @@ # RUN: %T/baremetal_multilib/bin/clang -no-canonical-prefixes -x c++ %s -### -o %t.out 2>&1 \ # RUN: --target=thumbv7em-none-eabi -mfpu=fpv4-sp-d16 --sysroot= \ # RUN: | FileCheck --check-prefix=CHECK-NO-MATCH %s -# CHECK-NO-MATCH: error: no multilib found matching flags: +# CHECK-NO-MATCH: warning: no multilib found matching flags: # CHECK-NO-MATCH-SAME: --target=thumbv7em-none-unknown-eabi # CHECK-NO-MATCH: note: available multilibs are: # CHECK-NO-MATCH: --target=thumbv6m-none-unknown-eabi -mfpu=none Index: clang/lib/Driver/ToolChains/BareMetal.cpp === --- clang/lib/Driver/ToolChains/BareMetal.cpp +++ clang/lib/Driver/ToolChains/BareMetal.cpp @@ -175,7 +175,7 @@ Result.Multilibs = ErrorOrMultilibSet.get(); if (Result.Multilibs.select(Flags, Result.SelectedMultilibs)) return; - D.Diag(clang::diag::err_drv_no_matching_multilib) << llvm::join(Flags, " "); + D.Diag(clang::diag::warn_drv_missing_multilib) << llvm::join(Flags, " "); std::stringstream ss; for (const Multilib : Result.Multilibs) ss << "\n" << llvm::join(Multilib.flags(), " "); Index: clang/include/clang/Basic/DiagnosticDriverKinds.td === --- clang/include/clang/Basic/DiagnosticDriverKinds.td +++ clang/include/clang/Basic/DiagnosticDriverKinds.td @@ -737,8 +737,9 @@ def err_drv_expand_response_file : Error< "failed to expand response file: %0">; -def err_drv_no_matching_multilib : Error< - "no multilib found matching flags: %0">; +def warn_drv_missing_multilib : Warning< + "no multilib found matching flags: %0">, + InGroup>; def note_drv_available_multilibs : Note< "available multilibs are:%0">; } ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D153885: [Clang][Driver] Change missing multilib error to warning
michaelplatings updated this revision to Diff 535102. michaelplatings added a comment. Rename variable Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153885/new/ https://reviews.llvm.org/D153885 Files: clang/include/clang/Basic/DiagnosticDriverKinds.td clang/lib/Driver/ToolChains/BareMetal.cpp clang/test/Driver/baremetal-multilib.yaml Index: clang/test/Driver/baremetal-multilib.yaml === --- clang/test/Driver/baremetal-multilib.yaml +++ clang/test/Driver/baremetal-multilib.yaml @@ -23,7 +23,7 @@ # RUN: %T/baremetal_multilib/bin/clang -no-canonical-prefixes -x c++ %s -### -o %t.out 2>&1 \ # RUN: --target=thumbv7em-none-eabi -mfpu=fpv4-sp-d16 --sysroot= \ # RUN: | FileCheck --check-prefix=CHECK-NO-MATCH %s -# CHECK-NO-MATCH: error: no multilib found matching flags: +# CHECK-NO-MATCH: warning: no multilib found matching flags: # CHECK-NO-MATCH-SAME: --target=thumbv7em-none-unknown-eabi # CHECK-NO-MATCH: note: available multilibs are: # CHECK-NO-MATCH: --target=thumbv6m-none-unknown-eabi -mfpu=none Index: clang/lib/Driver/ToolChains/BareMetal.cpp === --- clang/lib/Driver/ToolChains/BareMetal.cpp +++ clang/lib/Driver/ToolChains/BareMetal.cpp @@ -175,7 +175,7 @@ Result.Multilibs = ErrorOrMultilibSet.get(); if (Result.Multilibs.select(Flags, Result.SelectedMultilibs)) return; - D.Diag(clang::diag::err_drv_no_matching_multilib) << llvm::join(Flags, " "); + D.Diag(clang::diag::warn_drv_missing_multilib) << llvm::join(Flags, " "); std::stringstream ss; for (const Multilib : Result.Multilibs) ss << "\n" << llvm::join(Multilib.flags(), " "); Index: clang/include/clang/Basic/DiagnosticDriverKinds.td === --- clang/include/clang/Basic/DiagnosticDriverKinds.td +++ clang/include/clang/Basic/DiagnosticDriverKinds.td @@ -737,8 +737,9 @@ def err_drv_expand_response_file : Error< "failed to expand response file: %0">; -def err_drv_no_matching_multilib : Error< - "no multilib found matching flags: %0">; +def warn_drv_missing_multilib : Warning< + "no multilib found matching flags: %0">, + InGroup>; def note_drv_available_multilibs : Note< "available multilibs are:%0">; } Index: clang/test/Driver/baremetal-multilib.yaml === --- clang/test/Driver/baremetal-multilib.yaml +++ clang/test/Driver/baremetal-multilib.yaml @@ -23,7 +23,7 @@ # RUN: %T/baremetal_multilib/bin/clang -no-canonical-prefixes -x c++ %s -### -o %t.out 2>&1 \ # RUN: --target=thumbv7em-none-eabi -mfpu=fpv4-sp-d16 --sysroot= \ # RUN: | FileCheck --check-prefix=CHECK-NO-MATCH %s -# CHECK-NO-MATCH: error: no multilib found matching flags: +# CHECK-NO-MATCH: warning: no multilib found matching flags: # CHECK-NO-MATCH-SAME: --target=thumbv7em-none-unknown-eabi # CHECK-NO-MATCH: note: available multilibs are: # CHECK-NO-MATCH: --target=thumbv6m-none-unknown-eabi -mfpu=none Index: clang/lib/Driver/ToolChains/BareMetal.cpp === --- clang/lib/Driver/ToolChains/BareMetal.cpp +++ clang/lib/Driver/ToolChains/BareMetal.cpp @@ -175,7 +175,7 @@ Result.Multilibs = ErrorOrMultilibSet.get(); if (Result.Multilibs.select(Flags, Result.SelectedMultilibs)) return; - D.Diag(clang::diag::err_drv_no_matching_multilib) << llvm::join(Flags, " "); + D.Diag(clang::diag::warn_drv_missing_multilib) << llvm::join(Flags, " "); std::stringstream ss; for (const Multilib : Result.Multilibs) ss << "\n" << llvm::join(Multilib.flags(), " "); Index: clang/include/clang/Basic/DiagnosticDriverKinds.td === --- clang/include/clang/Basic/DiagnosticDriverKinds.td +++ clang/include/clang/Basic/DiagnosticDriverKinds.td @@ -737,8 +737,9 @@ def err_drv_expand_response_file : Error< "failed to expand response file: %0">; -def err_drv_no_matching_multilib : Error< - "no multilib found matching flags: %0">; +def warn_drv_missing_multilib : Warning< + "no multilib found matching flags: %0">, + InGroup>; def note_drv_available_multilibs : Note< "available multilibs are:%0">; } ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D153885: [Clang][Driver] Change missing multilib error to warning
simon_tatham added inline comments. Comment at: clang/include/clang/Basic/DiagnosticDriverKinds.td:740 -def err_drv_no_matching_multilib : Error< - "no multilib found matching flags: %0">; +def warn_drv_no_matching_multilib : Warning< + "no multilib found matching flags: %0">, Tiny clarity nit: any chance of renaming this identifier to `warn_drv_missing_multilib`, while we're renaming it anyway? Then the command-line option to control the warning matches the identifier inside the code, and makes it easier to guess the spelling of either one if you had the other one already in mind. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153885/new/ https://reviews.llvm.org/D153885 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D153885: [Clang][Driver] Change missing multilib error to warning
michaelplatings created this revision. michaelplatings added a reviewer: simon_tatham. Herald added a project: All. michaelplatings requested review of this revision. Herald added subscribers: cfe-commits, MaskRay. Herald added a project: clang. The error could be awkward to work around when experimenting with flags that didn't have a matching multilib. It also broke many tests when multilib.yaml was present in the build directory. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D153885 Files: clang/include/clang/Basic/DiagnosticDriverKinds.td clang/include/clang/Basic/DiagnosticGroups.td clang/lib/Driver/ToolChains/BareMetal.cpp clang/test/Driver/baremetal-multilib.yaml Index: clang/test/Driver/baremetal-multilib.yaml === --- clang/test/Driver/baremetal-multilib.yaml +++ clang/test/Driver/baremetal-multilib.yaml @@ -23,7 +23,7 @@ # RUN: %T/baremetal_multilib/bin/clang -no-canonical-prefixes -x c++ %s -### -o %t.out 2>&1 \ # RUN: --target=thumbv7em-none-eabi -mfpu=fpv4-sp-d16 --sysroot= \ # RUN: | FileCheck --check-prefix=CHECK-NO-MATCH %s -# CHECK-NO-MATCH: error: no multilib found matching flags: +# CHECK-NO-MATCH: warning: no multilib found matching flags: # CHECK-NO-MATCH-SAME: --target=thumbv7em-none-unknown-eabi # CHECK-NO-MATCH: note: available multilibs are: # CHECK-NO-MATCH: --target=thumbv6m-none-unknown-eabi -mfpu=none Index: clang/lib/Driver/ToolChains/BareMetal.cpp === --- clang/lib/Driver/ToolChains/BareMetal.cpp +++ clang/lib/Driver/ToolChains/BareMetal.cpp @@ -175,7 +175,7 @@ Result.Multilibs = ErrorOrMultilibSet.get(); if (Result.Multilibs.select(Flags, Result.SelectedMultilibs)) return; - D.Diag(clang::diag::err_drv_no_matching_multilib) << llvm::join(Flags, " "); + D.Diag(clang::diag::warn_drv_no_matching_multilib) << llvm::join(Flags, " "); std::stringstream ss; for (const Multilib : Result.Multilibs) ss << "\n" << llvm::join(Multilib.flags(), " "); Index: clang/include/clang/Basic/DiagnosticGroups.td === --- clang/include/clang/Basic/DiagnosticGroups.td +++ clang/include/clang/Basic/DiagnosticGroups.td @@ -1435,3 +1435,6 @@ // Warnings and fixes to support the "safe buffers" programming model. def UnsafeBufferUsage : DiagGroup<"unsafe-buffer-usage">; + +// Warnings for multilib +def MissingMultilib : DiagGroup<"missing-multilib">; Index: clang/include/clang/Basic/DiagnosticDriverKinds.td === --- clang/include/clang/Basic/DiagnosticDriverKinds.td +++ clang/include/clang/Basic/DiagnosticDriverKinds.td @@ -737,8 +737,9 @@ def err_drv_expand_response_file : Error< "failed to expand response file: %0">; -def err_drv_no_matching_multilib : Error< - "no multilib found matching flags: %0">; +def warn_drv_no_matching_multilib : Warning< + "no multilib found matching flags: %0">, + InGroup; def note_drv_available_multilibs : Note< "available multilibs are:%0">; } Index: clang/test/Driver/baremetal-multilib.yaml === --- clang/test/Driver/baremetal-multilib.yaml +++ clang/test/Driver/baremetal-multilib.yaml @@ -23,7 +23,7 @@ # RUN: %T/baremetal_multilib/bin/clang -no-canonical-prefixes -x c++ %s -### -o %t.out 2>&1 \ # RUN: --target=thumbv7em-none-eabi -mfpu=fpv4-sp-d16 --sysroot= \ # RUN: | FileCheck --check-prefix=CHECK-NO-MATCH %s -# CHECK-NO-MATCH: error: no multilib found matching flags: +# CHECK-NO-MATCH: warning: no multilib found matching flags: # CHECK-NO-MATCH-SAME: --target=thumbv7em-none-unknown-eabi # CHECK-NO-MATCH: note: available multilibs are: # CHECK-NO-MATCH: --target=thumbv6m-none-unknown-eabi -mfpu=none Index: clang/lib/Driver/ToolChains/BareMetal.cpp === --- clang/lib/Driver/ToolChains/BareMetal.cpp +++ clang/lib/Driver/ToolChains/BareMetal.cpp @@ -175,7 +175,7 @@ Result.Multilibs = ErrorOrMultilibSet.get(); if (Result.Multilibs.select(Flags, Result.SelectedMultilibs)) return; - D.Diag(clang::diag::err_drv_no_matching_multilib) << llvm::join(Flags, " "); + D.Diag(clang::diag::warn_drv_no_matching_multilib) << llvm::join(Flags, " "); std::stringstream ss; for (const Multilib : Result.Multilibs) ss << "\n" << llvm::join(Multilib.flags(), " "); Index: clang/include/clang/Basic/DiagnosticGroups.td === --- clang/include/clang/Basic/DiagnosticGroups.td +++ clang/include/clang/Basic/DiagnosticGroups.td @@ -1435,3 +1435,6 @@ // Warnings and fixes to support the "safe buffers" programming model. def UnsafeBufferUsage : DiagGroup<"unsafe-buffer-usage">; + +// Warnings for multilib +def MissingMultilib :