From: Eric Botcazou Date: Mon, 6 Nov 2017 11:41:49 +0000 (+0000) Subject: gcov: New directory. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6b6b9e5b90fe324eb46ea833ad16afcee437f024;p=gcc.git 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 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ceb0f430126..1c3a2fa2abb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2017-11-06 Eric Botcazou + + * gnat.dg/gcov: New directory. + * gnat.dg/gcov/gcov.exp: New driver. + * gnat.dg/gcov/check.adb: New test. + 2017-11-06 Christophe Lyon * 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 00000000000..b3cb8e36b92 --- /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 00000000000..732ff877638 --- /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 +# . + +# 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