# UNSUPPORTED: system-windows # Basic selection where -fmultilib-flag=debug selects the debug variant. # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o /dev/null 2>&1 \ # RUN: --target=amdgcn-amd-amdhsa -mcpu=gfx1030 -fmultilib-flag=debug -nogpulib \ # RUN: | FileCheck --check-prefix=CHECK-DEBUG %s # CHECK-DEBUG: "-cc1" "-triple" "amdgcn-amd-amdhsa" # CHECK-DEBUG: "-L{{[^"]*}}/debug" # Default behavior where no variant path is prepended. # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o /dev/null 2>&1 \ # RUN: --target=amdgcn-amd-amdhsa -mcpu=gfx1030 -nogpulib \ # RUN: | FileCheck --check-prefix=CHECK-DEFAULT %s # CHECK-DEFAULT-NOT: "-L{{[^"]*}}/debug" # CHECK-DEFAULT-NOT: "-L{{[^"]*}}/release" # CHECK-DEFAULT-NOT: "-L{{[^"]*}}/noexcept" # Multiple matches stacking on top of each-other. # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o /dev/null 2>&1 \ # RUN: --target=amdgcn-amd-amdhsa -mcpu=gfx1030 -fmultilib-flag=debug -fno-exceptions -nogpulib \ # RUN: | FileCheck --check-prefix=CHECK-LAYERED %s # CHECK-LAYERED: "-L{{[^"]*}}/noexcept" # CHECK-LAYERED-SAME: "-L{{[^"]*}}/debug" # Lists selected variant directories. # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -print-multi-directory 2>&1 \ # RUN: --target=amdgcn-amd-amdhsa -mcpu=gfx1030 -fmultilib-flag=debug \ # RUN: | FileCheck --check-prefix=CHECK-PRINT-DIR %s # CHECK-PRINT-DIR: debug # Lists all non-default variants with flags. # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -print-multi-lib 2>&1 \ # RUN: --target=amdgcn-amd-amdhsa -mcpu=gfx1030 \ # RUN: | FileCheck --check-prefix=CHECK-PRINT-LIB %s # CHECK-PRINT-LIB: debug;@fmultilib-flag=debug # CHECK-PRINT-LIB: release;@fmultilib-flag=release # CHECK-PRINT-LIB: noexcept;@fno-exceptions # Error emitted when custom flag value is invalid. # RUN: not %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o /dev/null 2>&1 \ # RUN: --target=amdgcn-amd-amdhsa -mcpu=gfx1030 -fmultilib-flag=nonexistent -nogpulib \ # RUN: | FileCheck --check-prefix=CHECK-NOMATCH %s # CHECK-NOMATCH: error: unsupported option '-fmultilib-flag=nonexistent' # Check exclusivity so that only one of debug/release selected. # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -print-multi-directory 2>&1 \ # RUN: --target=amdgcn-amd-amdhsa -mcpu=gfx1030 -fmultilib-flag=release \ # RUN: | FileCheck --check-prefix=CHECK-EXCLUSIVE %s # CHECK-EXCLUSIVE: release # CHECK-EXCLUSIVE-NOT: debug --- MultilibVersion: 1.0 Groups: - Name: build-type Type: Exclusive Variants: - Dir: . Flags: [] - Dir: debug Flags: [-fmultilib-flag=debug] Group: build-type - Dir: release Flags: [-fmultilib-flag=release] Group: build-type - Dir: noexcept Flags: [-fno-exceptions] Mappings: [] Flags: - Name: build-type Values: - Name: none - Name: debug - Name: release Default: none ...