blob: 0743c305adff1d13c11193891ab370e62bc0893f [file]
!===----------------------------------------------------------------------===!
! This directory can be used to add Integration tests involving multiple
! stages of the compiler (for eg. from Fortran to LLVM IR). It should not
! contain executable tests. We should only add tests here sparingly and only
! if there is no other way to test. Repeat this message in each test that is
! added to this directory and sub-directories.
!===----------------------------------------------------------------------===!
! REQUIRES: aarch64-registered-target && x86-registered-target
! RUN: %flang_fc1 -triple aarch64 -emit-llvm -mcmodel=tiny %s -o - | FileCheck %s -check-prefix=CHECK-TINY
! RUN: %flang_fc1 -emit-llvm -mcmodel=small %s -o - | FileCheck %s -check-prefix=CHECK-SMALL
! RUN: %flang_fc1 -triple x86_64-unknown-linux-gnu -emit-llvm -mcmodel=kernel %s -o - | FileCheck %s -check-prefix=CHECK-KERNEL
! RUN: %flang_fc1 -triple x86_64-unknown-linux-gnu -emit-llvm -mcmodel=medium %s -o - | FileCheck %s -check-prefix=CHECK-MEDIUM
! RUN: %flang_fc1 -emit-llvm -mcmodel=large %s -o - | FileCheck %s -check-prefix=CHECK-LARGE
! CHECK-TINY: !llvm.module.flags = !{{{.*}}}
! CHECK-TINY: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 0}
! CHECK-SMALL: !llvm.module.flags = !{{{.*}}}
! CHECK-SMALL: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 1}
! CHECK-KERNEL: !llvm.module.flags = !{{{.*}}}
! CHECK-KERNEL: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 2}
! CHECK-MEDIUM: !llvm.module.flags = !{{{.*}}}
! CHECK-MEDIUM: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 3}
! CHECK-LARGE: !llvm.module.flags = !{{{.*}}}
! CHECK-LARGE: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 4}