From 0af8b635793eb9bebd47e9dbff5fa9f558ee6495 Mon Sep 17 00:00:00 2001 From: No Author Date: Wed, 15 Dec 2004 12:34:40 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'gcc-3_4-branch'. From-SVN: r92188 --- gcc/testsuite/g++.dg/template/typename8.C | 10 ++ gcc/testsuite/gcc.dg/ftrapv-2.c | 107 ++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 gcc/testsuite/g++.dg/template/typename8.C create mode 100644 gcc/testsuite/gcc.dg/ftrapv-2.c diff --git a/gcc/testsuite/g++.dg/template/typename8.C b/gcc/testsuite/g++.dg/template/typename8.C new file mode 100644 index 000000000000..85f585d944a3 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/typename8.C @@ -0,0 +1,10 @@ +// PR c++/18738 + +namespace foo { + typedef int my_type; +} + +template +struct A { + typename foo::my_type bar(); +}; diff --git a/gcc/testsuite/gcc.dg/ftrapv-2.c b/gcc/testsuite/gcc.dg/ftrapv-2.c new file mode 100644 index 000000000000..de66129ba70a --- /dev/null +++ b/gcc/testsuite/gcc.dg/ftrapv-2.c @@ -0,0 +1,107 @@ +/* Copyright (C) 2004 Free Software Foundation. + + PR other/18665 + Verify that -ftrapv doesn't produce bogus results + on 64-bit platforms. + + Written by Eric Botcazou */ + +/* { dg-do run } */ +/* { dg-options "-ftrapv" } */ + +extern void abort(void); + +int __attribute__((noinline)) +iabsv(int a) +{ + return abs(a); +} + +int __attribute__((noinline)) +iaddv(int a, int b) +{ + return a + b; +} + +int __attribute__((noinline)) +isubv(int a, int b) +{ + return a - b; +} + +int __attribute__((noinline)) +imulv(int a, int b) +{ + return a * b; +} + +int __attribute__((noinline)) +inegv(int a) +{ + return -a; +} + +long __attribute__((noinline)) +labsv(long a) +{ + return abs(a); +} + +long __attribute__((noinline)) +laddv(long a, long b) +{ + return a + b; +} + +long __attribute__((noinline)) +lsubv(long a, long b) +{ + return a - b; +} + +long __attribute__((noinline)) +lmulv(long a, long b) +{ + return a * b; +} + +long __attribute__((noinline)) +lnegv(long a) +{ + return -a; +} + +int main(void) +{ + if (iabsv (-1) != 1) + abort (); + + if (iaddv (2,-3) != -1) + abort (); + + if (isubv (2,3) != -1) + abort (); + + if (imulv (-2,3) != -6) + abort (); + + if (inegv (-1) != 1) + abort (); + + if (labsv (-1L) != 1L) + abort (); + + if (laddv (2L,-3L) != -1L) + abort (); + + if (lsubv (2L,3L) != -1L) + abort (); + + if (lmulv (-2L,3L) != -6L) + abort (); + + if (lnegv (-1L) != 1L) + abort (); + + return 0; +} -- 2.47.2