Author: Yaxun (Sam) Liu Date: 2020-09-28T23:07:39-04:00 New Revision: 5a3023a91c0ec82e7272569c5ca7a6eb372b129f
URL: https://github.com/llvm/llvm-project/commit/5a3023a91c0ec82e7272569c5ca7a6eb372b129f DIFF: https://github.com/llvm/llvm-project/commit/5a3023a91c0ec82e7272569c5ca7a6eb372b129f.diff LOG: [HIP] Return non-zero value for invalid target ID This is part of https://reviews.llvm.org/D60620 Added: Modified: clang/lib/Driver/Driver.cpp clang/test/Driver/hip-invalid-target-id.hip Removed: ################################################################################ diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 69336f6f94b66..9cc4b8212981b 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -2790,6 +2790,7 @@ class OffloadingActionBuilder final { parseTargetID(getHIPOffloadTargetTriple(), IdStr, &Features); if (!ArchStr) { C.getDriver().Diag(clang::diag::err_drv_bad_target_id) << IdStr; + C.setContainsError(); return StringRef(); } auto CanId = getCanonicalTargetID(ArchStr.getValue(), Features); diff --git a/clang/test/Driver/hip-invalid-target-id.hip b/clang/test/Driver/hip-invalid-target-id.hip index aad29c555b581..cbd6f59b08543 100644 --- a/clang/test/Driver/hip-invalid-target-id.hip +++ b/clang/test/Driver/hip-invalid-target-id.hip @@ -2,7 +2,7 @@ // REQUIRES: x86-registered-target // REQUIRES: amdgpu-registered-target -// RUN: %clang -### -target x86_64-linux-gnu \ +// RUN: not %clang -### -target x86_64-linux-gnu \ // RUN: -x hip --offload-arch=gfx908 \ // RUN: --offload-arch=gfx908xnack \ // RUN: --rocm-path=%S/Inputs/rocm \ @@ -10,7 +10,7 @@ // NOPLUS: error: Invalid target ID: gfx908xnack -// RUN: %clang -### -target x86_64-linux-gnu \ +// RUN: not %clang -### -target x86_64-linux-gnu \ // RUN: -x hip --offload-arch=gfx900 \ // RUN: --offload-arch=gfx908:xnack+:xnack+ \ // RUN: --rocm-path=%S/Inputs/rocm \ @@ -18,7 +18,7 @@ // ORDER: error: Invalid target ID: gfx908:xnack+:xnack+ -// RUN: %clang -### -target x86_64-linux-gnu \ +// RUN: not %clang -### -target x86_64-linux-gnu \ // RUN: -x hip --offload-arch=gfx908 \ // RUN: --offload-arch=gfx908:unknown+ \ // RUN: --offload-arch=gfx908+sram-ecc+unknown \ @@ -28,7 +28,7 @@ // UNK: error: Invalid target ID: gfx908:unknown+ -// RUN: %clang -### -target x86_64-linux-gnu \ +// RUN: not %clang -### -target x86_64-linux-gnu \ // RUN: -x hip --offload-arch=gfx908 \ // RUN: --offload-arch=gfx908:sram-ecc+:unknown+ \ // RUN: --offload-arch=gfx900+xnack \ @@ -37,7 +37,7 @@ // MIXED: error: Invalid target ID: gfx908:sram-ecc+:unknown+ -// RUN: %clang -### -target x86_64-linux-gnu \ +// RUN: not %clang -### -target x86_64-linux-gnu \ // RUN: -x hip --offload-arch=gfx908 \ // RUN: --offload-arch=gfx900:sram-ecc+ \ // RUN: --rocm-path=%S/Inputs/rocm \ @@ -45,7 +45,7 @@ // UNSUP: error: Invalid target ID: gfx900:sram-ecc+ -/ RUN: %clang -### -target x86_64-linux-gnu \ +/ RUN: not %clang -### -target x86_64-linux-gnu \ // RUN: -x hip --offload-arch=gfx908 \ // RUN: --offload-arch=gfx900:xnack \ // RUN: --rocm-path=%S/Inputs/rocm \ @@ -53,7 +53,7 @@ // NOSIGN: error: Invalid target ID: gfx900:xnack -// RUN: %clang -### -target x86_64-linux-gnu \ +// RUN: not %clang -### -target x86_64-linux-gnu \ // RUN: -x hip --offload-arch=gfx908 \ // RUN: --offload-arch=gfx900+xnack \ // RUN: --rocm-path=%S/Inputs/rocm \ _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits