1// REQUIRES: clang-driver, amdgpu-registered-target 2 3// Check bundle ID for code object v2. 4 5// RUN: %clang -### -target x86_64-linux-gnu \ 6// RUN: -mno-code-object-v3 \ 7// RUN: --offload-arch=gfx906 -nogpulib \ 8// RUN: %s 2>&1 | FileCheck -check-prefixes=V2,V2-WARN %s 9 10// RUN: %clang -### -target x86_64-linux-gnu \ 11// RUN: -mcode-object-version=2 \ 12// RUN: --offload-arch=gfx906 -nogpulib \ 13// RUN: %s 2>&1 | FileCheck -check-prefix=V2 %s 14 15// V2-WARN: warning: argument '-mno-code-object-v3' is deprecated, use '-mcode-object-version=2' instead [-Wdeprecated] 16// V2: "-mllvm" "--amdhsa-code-object-version=2" 17// V2: "-targets=host-x86_64-unknown-linux,hip-amdgcn-amd-amdhsa--gfx906" 18 19// Check bundle ID for code object v3. 20 21// RUN: %clang -### -target x86_64-linux-gnu \ 22// RUN: -mcode-object-v3 \ 23// RUN: --offload-arch=gfx906 -nogpulib \ 24// RUN: %s 2>&1 | FileCheck -check-prefixes=V3,V3-WARN %s 25 26// RUN: %clang -### -target x86_64-linux-gnu \ 27// RUN: -mcode-object-version=3 \ 28// RUN: --offload-arch=gfx906 -nogpulib \ 29// RUN: %s 2>&1 | FileCheck -check-prefix=V3 %s 30 31// RUN: %clang -### -target x86_64-linux-gnu \ 32// RUN: -mcode-object-version=4 -mcode-object-version=3 \ 33// RUN: --offload-arch=gfx906 -nogpulib \ 34// RUN: %s 2>&1 | FileCheck -check-prefix=V3 %s 35 36// V3-WARN: warning: argument '-mcode-object-v3' is deprecated, use '-mcode-object-version=3' instead [-Wdeprecated] 37// V3: "-mllvm" "--amdhsa-code-object-version=3" 38// V3: "-targets=host-x86_64-unknown-linux,hip-amdgcn-amd-amdhsa--gfx906" 39 40// Check bundle ID for code object version 4. 41 42// RUN: %clang -### -target x86_64-linux-gnu \ 43// RUN: -mcode-object-version=4 \ 44// RUN: --offload-arch=gfx906 -nogpulib \ 45// RUN: %s 2>&1 | FileCheck -check-prefix=V4 %s 46 47// V4: "-mllvm" "--amdhsa-code-object-version=4" 48// V4: "-targets=host-x86_64-unknown-linux,hipv4-amdgcn-amd-amdhsa--gfx906" 49 50// Check bundle ID for code object version default 51 52// RUN: %clang -### -target x86_64-linux-gnu \ 53// RUN: --offload-arch=gfx906 -nogpulib \ 54// RUN: %s 2>&1 | FileCheck -check-prefix=VD %s 55 56// VD: "-targets=host-x86_64-unknown-linux,hipv4-amdgcn-amd-amdhsa--gfx906" 57 58// Check invalid code object version option. 59 60// RUN: %clang -### -target x86_64-linux-gnu \ 61// RUN: -mcode-object-version=1 \ 62// RUN: --offload-arch=gfx906 -nogpulib \ 63// RUN: %s 2>&1 | FileCheck -check-prefix=INVALID %s 64// INVALID: error: invalid integral value '1' in '-mcode-object-version=1' 65// INVALID-NOT: error: invalid integral value 66 67// Check warnings are emitted for legacy options before -mcode-object-version options. 68// Check warnings are emitted only once. 69 70// RUN: %clang -### -target x86_64-linux-gnu \ 71// RUN: -mno-code-object-v3 -mcode-object-v3 -mcode-object-version=4 \ 72// RUN: --offload-arch=gfx906 -nogpulib \ 73// RUN: %s 2>&1 | FileCheck -check-prefixes=WARN %s 74// WARN: warning: argument '-mno-code-object-v3' is deprecated, use '-mcode-object-version=2' instead [-Wdeprecated] 75// WARN: warning: argument '-mcode-object-v3' is deprecated, use '-mcode-object-version=3' instead [-Wdeprecated] 76// WARN-NOT: warning: argument {{.*}} is deprecated 77