47 lines · plain
1! Ensure argument -fdefault* work as expected.2! TODO: Add checks when actual codegen is possible for this family3 4!--------------------------5! FLANG DRIVER (flang)6!--------------------------7! RUN: rm -rf %t/dir-flang && mkdir -p %t/dir-flang && %flang -fsyntax-only -module-dir %t/dir-flang %s 2>&18! RUN: cat %t/dir-flang/m.mod | FileCheck %s --check-prefix=NOOPTION9! RUN: rm -rf %t/dir-flang && mkdir -p %t/dir-flang && %flang -fsyntax-only -fdefault-real-8 -module-dir %t/dir-flang %s 2>&110! RUN: cat %t/dir-flang/m.mod | FileCheck %s --check-prefix=REAL811! RUN: rm -rf %t/dir-flang && mkdir -p %t/dir-flang && %flang -fsyntax-only -fdefault-real-8 -fdefault-double-8 -module-dir %t/dir-flang %s 2>&112! RUN: cat %t/dir-flang/m.mod | FileCheck %s --check-prefix=DOUBLE813! RUN: not %flang -fsyntax-only -fdefault-double-8 %s 2>&1 | FileCheck %s --check-prefix=ERROR14 15!-----------------------------------------16! FRONTEND FLANG DRIVER (flang -fc1)17!-----------------------------------------18! RUN: rm -rf %t/dir-flang && mkdir -p %t/dir-flang && %flang_fc1 -fsyntax-only -module-dir %t/dir-flang %s 2>&119! RUN: cat %t/dir-flang/m.mod | FileCheck %s --check-prefix=NOOPTION20! RUN: rm -rf %t/dir-flang && mkdir -p %t/dir-flang && %flang_fc1 -fsyntax-only -fdefault-real-8 -module-dir %t/dir-flang %s 2>&121! RUN: cat %t/dir-flang/m.mod | FileCheck %s --check-prefix=REAL822! RUN: rm -rf %t/dir-flang && mkdir -p %t/dir-flang && %flang_fc1 -fsyntax-only -fdefault-real-8 -fdefault-double-8 -module-dir %t/dir-flang %s 2>&123! RUN: cat %t/dir-flang/m.mod | FileCheck %s --check-prefix=DOUBLE824! RUN: not %flang_fc1 -fsyntax-only -fdefault-double-8 %s 2>&1 | FileCheck %s --check-prefix=ERROR25 26! NOOPTION: integer(4),parameter::real_kind=4_427! NOOPTION-NEXT: intrinsic::kind28! NOOPTION-NEXT: integer(4),parameter::double_kind=8_429 30! REAL8: integer(4),parameter::real_kind=8_431! REAL8-NEXT: intrinsic::kind32! REAL8-NEXT: integer(4),parameter::double_kind=16_433 34! DOUBLE8: integer(4),parameter::real_kind=8_435! DOUBLE8-NEXT: intrinsic::kind36! DOUBLE8-NEXT: integer(4),parameter::double_kind=8_437 38! ERROR: Use of `-fdefault-double-8` requires `-fdefault-real-8`39 40module m41 implicit none42 real :: x43 double precision :: y44 integer, parameter :: real_kind = kind(x) !-fdefault-real-845 integer, parameter :: double_kind = kind(y) !-fdefault-double-846end47