This enables the -fopenmp=<library> option to the set of options supported by flang. The generated arguments for the FC1 compilation will appear in a slightly different order, so one test had to be updated to be less sensitive to order of the arguments.
62 lines
4.0 KiB
Fortran
62 lines
4.0 KiB
Fortran
! RUN: %flang -target x86_64-linux-gnu -fopenmp=libomp -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-OPENMP
|
|
! RUN: %flang -target x86_64-linux-gnu -fopenmp=libgomp -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-NO-OPENMP
|
|
! RUN: %flang -target x86_64-linux-gnu -fopenmp=libiomp5 -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-OPENMP
|
|
! RUN: %flang -target x86_64-apple-darwin -fopenmp=libomp -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-OPENMP
|
|
! RUN: %flang -target x86_64-apple-darwin -fopenmp=libgomp -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-NO-OPENMP
|
|
! RUN: %flang -target x86_64-apple-darwin -fopenmp=libiomp5 -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-OPENMP
|
|
! RUN: %flang -target x86_64-freebsd -fopenmp=libomp -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-OPENMP
|
|
! RUN: %flang -target x86_64-freebsd -fopenmp=libgomp -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-NO-OPENMP
|
|
! RUN: %flang -target x86_64-freebsd -fopenmp=libiomp5 -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-OPENMP
|
|
! RUN: %flang -target x86_64-windows-gnu -fopenmp=libomp -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-OPENMP
|
|
! RUN: %flang -target x86_64-windows-gnu -fopenmp=libgomp -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-NO-OPENMP --check-prefix=CHECK-WARNING
|
|
! RUN: %flang -target x86_64-windows-gnu -fopenmp=libiomp5 -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-FC1-OPENMP
|
|
|
|
! CHECK-FC1-OPENMP: "-fc1"
|
|
! CHECK-FC1-OPENMP: "-fopenmp"
|
|
!
|
|
! CHECK-WARNING: warning: The library '-fopenmp=={{.*}}' is not supported, openmp is not be enabled
|
|
! CHECK-FC1-NO-OPENMP: "-fc1"
|
|
! CHECK-FC1-NO-OPENMP-NOT: "-fopenmp"
|
|
!
|
|
! RUN: %flang -target x86_64-linux-gnu -fopenmp=libomp %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-OMP
|
|
! RUN: %flang -target x86_64-linux-gnu -fopenmp=libgomp %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-GOMP --check-prefix=CHECK-LD-GOMP-RT
|
|
! RUN: %flang -target x86_64-linux-gnu -fopenmp=libiomp5 %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-IOMP5
|
|
!
|
|
! RUN: %flang -target x86_64-darwin -fopenmp=libomp %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-OMP
|
|
! RUN: %flang -target x86_64-darwin -fopenmp=libgomp %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-GOMP --check-prefix=CHECK-LD-GOMP-NO-RT
|
|
! RUN: %flang -target x86_64-darwin -fopenmp=libiomp5 %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-IOMP5
|
|
!
|
|
! RUN: %flang -target x86_64-freebsd -fopenmp=libomp %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-OMP
|
|
! RUN: %flang -target x86_64-freebsd -fopenmp=libgomp %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-GOMP --check-prefix=CHECK-LD-GOMP-NO-RT
|
|
! RUN: %flang -target x86_64-freebsd -fopenmp=libiomp5 %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-IOMP5
|
|
!
|
|
! RUN: %flang -target x86_64-windows-gnu -fopenmp=libomp %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-OMP
|
|
! RUN: %flang -target x86_64-windows-gnu -fopenmp=libgomp %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-GOMP --check-prefix=CHECK-LD-GOMP-NO-RT
|
|
! RUN: %flang -target x86_64-windows-gnu -fopenmp=libiomp5 %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-LD-IOMP5MD
|
|
!
|
|
! CHECK-LD-OMP: "{{.*}}ld{{(.exe)?}}"
|
|
! CHECK-LD-OMP: "-lomp"
|
|
!
|
|
! CHECK-LD-GOMP: "{{.*}}ld{{(.exe)?}}"
|
|
! CHECK-LD-GOMP: "-lgomp"
|
|
! CHECK-LD-GOMP-RT: "-lrt"
|
|
! CHECK-LD-GOMP-NO-RT-NOT: "-lrt"
|
|
!
|
|
! CHECK-LD-IOMP5: "{{.*}}ld{{(.exe)?}}"
|
|
! CHECK-LD-IOMP5: "-liomp5"
|
|
!
|
|
! CHECK-LD-IOMP5MD: "{{.*}}ld{{(.exe)?}}"
|
|
! CHECK-LD-IOMP5MD: "-liomp5md"
|
|
!
|
|
! We'd like to check that the default is sane, but until we have the ability
|
|
! to *always* semantically analyze OpenMP without always generating runtime
|
|
! calls (in the event of an unsupported runtime), we don't have a good way to
|
|
! test the CC1 invocation. Instead, just ensure we do eventually link *some*
|
|
! OpenMP runtime.
|
|
!
|
|
! CHECK-LD-ANY: "{{.*}}ld{{(.exe)?}}"
|
|
! CHECK-LD-ANY: "-l{{(omp|gomp|iomp5)}}"
|
|
!
|
|
! CHECK-LD-ANYMD: "{{.*}}ld{{(.exe)?}}"
|
|
! CHECK-LD-ANYMD: "-l{{(omp|gomp|iomp5md)}}"
|