================ @@ -0,0 +1,65 @@ +! Test that -ffpe-trap= is forwarded from the Flang driver to the frontend. + +! RUN: %flang -ffpe-trap=invalid,zero,overflow -fsyntax-only -### %s 2>&1 \ +! RUN: | FileCheck --check-prefix=CHECK-FORWARD %s +! CHECK-FORWARD: -fc1 +! CHECK-FORWARD-SAME: -ffpe-trap=invalid,zero,overflow + +! Test all supported exception types +! RUN: %flang -ffpe-trap=invalid,zero,overflow,underflow,inexact,denormal -fsyntax-only -### %s 2>&1 \ +! RUN: | FileCheck --check-prefix=CHECK-ALL %s +! CHECK-ALL: -fc1 +! CHECK-ALL-SAME: -ffpe-trap=invalid,zero,overflow,underflow,inexact,denormal + +! Test a single exception type +! RUN: %flang -ffpe-trap=invalid -fsyntax-only -### %s 2>&1 \ +! RUN: | FileCheck --check-prefix=CHECK-SINGLE %s +! CHECK-SINGLE: -fc1 +! CHECK-SINGLE-SAME: -ffpe-trap=invalid + +! Only the last -ffpe-trap= is forwarded to the frontend. +! RUN: %flang -ffpe-trap=invalid -ffpe-trap=overflow -fsyntax-only -### %s 2>&1 \ +! RUN: | FileCheck --check-prefix=CHECK-LAST %s +! CHECK-LAST: -fc1 +! CHECK-LAST-SAME: -ffpe-trap=overflow +! CHECK-LAST-NOT: -ffpe-trap=invalid + +! "none" and an empty list are accepted and disable halting. +! RUN: %flang_fc1 -ffpe-trap=none -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-OK --allow-empty %s +! RUN: %flang_fc1 -ffpe-trap= -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-OK --allow-empty %s +! RUN: %flang_fc1 -ffpe-trap=invalid,none -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-OK --allow-empty %s +! CHECK-OK-NOT: error: ---------------- tarunprabhu wrote:
This is not necessary. If an error were to occur, a non-zero error code would be returned and this test would fail. https://github.com/llvm/llvm-project/pull/208828 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
