diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2017-11-06 11:41:49 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2017-11-06 11:41:49 +0000 |
commit | 6b6b9e5b90fe324eb46ea833ad16afcee437f024 (patch) | |
tree | 1f26dd643b65b9dcd9044e8d60d471680f32df1d /gcc | |
parent | d276dc3174209bfa5a8199a8b9fd7bec176c26b1 (diff) | |
download | gcc-6b6b9e5b90fe324eb46ea833ad16afcee437f024.zip gcc-6b6b9e5b90fe324eb46ea833ad16afcee437f024.tar.gz gcc-6b6b9e5b90fe324eb46ea833ad16afcee437f024.tar.bz2 |
gcov: New directory.
* gnat.dg/gcov: New directory.
* gnat.dg/gcov/gcov.exp: New driver.
* gnat.dg/gcov/check.adb: New test.
From-SVN: r254447
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/gcov/check.adb | 27 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/gcov/gcov.exp | 44 |
3 files changed, 77 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ceb0f43..1c3a2fa 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2017-11-06 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/gcov: New directory. + * gnat.dg/gcov/gcov.exp: New driver. + * gnat.dg/gcov/check.adb: New test. + 2017-11-06 Christophe Lyon <christophe.lyon@linaro.org> * gcc.c-torture/execute/pr23135.c: Move dg-add-options after diff --git a/gcc/testsuite/gnat.dg/gcov/check.adb b/gcc/testsuite/gnat.dg/gcov/check.adb new file mode 100644 index 0000000..b3cb8e3 --- /dev/null +++ b/gcc/testsuite/gnat.dg/gcov/check.adb @@ -0,0 +1,27 @@ +-- { dg-options "-fprofile-arcs -ftest-coverage" } +-- { dg-do run { target native } } */ + +procedure Check is + + function Add1 (I1, I2 : Integer) return Integer is + begin + return I1 + I2; -- count(1) + end; + + function Add2 (I1, I2 : Integer) return Integer is + pragma Suppress (Overflow_Check); + begin + return I1 + I2; -- count(1) + end; + +begin + if Add1 (1, 2) /= 3 then + raise Program_Error; + end if; + + if Add2 (1, 2) /= 3 then + raise Program_Error; + end if; +end; + +-- { dg-final { run-gcov check.adb } } diff --git a/gcc/testsuite/gnat.dg/gcov/gcov.exp b/gcc/testsuite/gnat.dg/gcov/gcov.exp new file mode 100644 index 0000000..732ff87 --- /dev/null +++ b/gcc/testsuite/gnat.dg/gcov/gcov.exp @@ -0,0 +1,44 @@ +# Copyright (C) 1997-2017 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. + +# Gcov test driver. + +# Load support procs. +load_lib gnat-dg.exp +load_lib gcov.exp + +global GCC_UNDER_TEST + +# For now find gcov in the same directory as $GCC_UNDER_TEST. +if { ![is_remote host] && [string match "*/*" [lindex $GCC_UNDER_TEST 0]] } { + set GCOV [file dirname [lindex $GCC_UNDER_TEST 0]]/gcov +} else { + set GCOV gcov +} + +# Initialize harness. +dg-init + +# Delete old .gcda files. +set files [glob -nocomplain *.gcda] +if { $files != "" } { + eval "remote_file build delete $files" +} + +# Main loop. +dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.adb]] "" "" + +dg-finish |