brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · 73474e1 Raw
69 lines · cpp
1// RUN: rm -rf %t2// RUN: cd %S3// REQUIRES: x86-registered-target4// RUN: %clang_cc1 -fmodules -x c++ -fmodules-cache-path=%t \5// RUN:   -iquote Inputs/merge-target-features \6// RUN:   -fno-implicit-modules \7// RUN:   -fmodule-map-file-home-is-cwd \8// RUN:   -emit-module -fmodule-name=foo -o %t/foo.pcm \9// RUN:   -triple i386-unknown-unknown \10// RUN:   -target-cpu i386 -target-feature +sse2 \11// RUN:   Inputs/merge-target-features/module.modulemap12//13// RUN: not %clang_cc1 -fmodules -x c++ -fmodules-cache-path=%t \14// RUN:   -iquote Inputs/merge-target-features \15// RUN:   -fno-implicit-modules \16// RUN:   -fmodule-map-file-home-is-cwd \17// RUN:   -fmodule-map-file=Inputs/merge-target-features/module.modulemap \18// RUN:   -fmodule-file=%t/foo.pcm \19// RUN:   -triple i386-unknown-unknown \20// RUN:   -target-cpu i386 \21// RUN:   -fsyntax-only merge-target-features.cpp 2>&1 \22// RUN:   | FileCheck --check-prefix=SUBSET --implicit-check-not=error: %s23// SUBSET: error: precompiled file '{{.*}}foo.pcm' was compiled with the target feature '+sse2' but the current translation unit is not24// SUBSET: error: {{.*}} configuration mismatch25//26// RUN: %clang_cc1 -fmodules -x c++ -fmodules-cache-path=%t \27// RUN:   -iquote Inputs/merge-target-features \28// RUN:   -fno-implicit-modules \29// RUN:   -fmodule-map-file-home-is-cwd \30// RUN:   -fmodule-map-file=Inputs/merge-target-features/module.modulemap \31// RUN:   -fmodule-file=%t/foo.pcm \32// RUN:   -triple i386-unknown-unknown \33// RUN:   -target-cpu i386 -target-feature +sse2 \34// RUN:   -fsyntax-only merge-target-features.cpp 2>&1 \35// RUN:   | FileCheck --allow-empty --check-prefix=SAME %s36// SAME-NOT: error:37//38// RUN: %clang_cc1 -fmodules -x c++ -fmodules-cache-path=%t \39// RUN:   -iquote Inputs/merge-target-features \40// RUN:   -fno-implicit-modules \41// RUN:   -fmodule-map-file-home-is-cwd \42// RUN:   -fmodule-map-file=Inputs/merge-target-features/module.modulemap \43// RUN:   -fmodule-file=%t/foo.pcm \44// RUN:   -triple i386-unknown-unknown \45// RUN:   -target-cpu i386 -target-feature +sse2 -target-feature +sse3 \46// RUN:   -fsyntax-only merge-target-features.cpp 2>&1 \47// RUN:   | FileCheck --allow-empty --check-prefix=SUPERSET %s48// SUPERSET-NOT: error:49//50// RUN: not %clang_cc1 -fmodules -x c++ -fmodules-cache-path=%t \51// RUN:   -iquote Inputs/merge-target-features \52// RUN:   -fno-implicit-modules \53// RUN:   -fmodule-map-file-home-is-cwd \54// RUN:   -fmodule-map-file=Inputs/merge-target-features/module.modulemap \55// RUN:   -fmodule-file=%t/foo.pcm \56// RUN:   -triple i386-unknown-unknown \57// RUN:   -target-cpu i386 -target-feature +cx16 \58// RUN:   -fsyntax-only merge-target-features.cpp 2>&1 \59// RUN:   | FileCheck --check-prefix=MISMATCH --implicit-check-not=error: %s60// MISMATCH: error: precompiled file '{{.*}}foo.pcm' was compiled with the target feature '+sse2' but the current translation unit is not61// MISMATCH: error: current translation unit is compiled with the target feature '+cx16' but the precompiled file '{{.*}}foo.pcm' was not62// MISMATCH: error: {{.*}} configuration mismatch63 64#include "foo.h"65 66int test(int x) {67  return foo(x);68}69