aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2012-05-29 01:54:09 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2012-05-29 01:54:09 +0000
commit0de9dab58d9ea8f1464c3b47be6634f6d507c7f6 (patch)
treec1e500928c73ba2f4d22637c54e32ac4e348bcd3
parent64f5af47c50af743fb0a58d5b074ee17d1101b22 (diff)
downloadgcc-0de9dab58d9ea8f1464c3b47be6634f6d507c7f6.zip
gcc-0de9dab58d9ea8f1464c3b47be6634f6d507c7f6.tar.gz
gcc-0de9dab58d9ea8f1464c3b47be6634f6d507c7f6.tar.bz2
trap-1.c, [...]: New tests.
* gcc.target/cris/torture/trap-1.c, gcc.target/cris/torture/trap-2.c, gcc.target/cris/torture/trap-3.c, gcc.target/cris/torture/trap-v0.c, gcc.target/cris/torture/trap-v3.c: New tests. From-SVN: r187943
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/gcc.target/cris/torture/trap-1.c13
-rw-r--r--gcc/testsuite/gcc.target/cris/torture/trap-2.c11
-rw-r--r--gcc/testsuite/gcc.target/cris/torture/trap-3.c10
-rw-r--r--gcc/testsuite/gcc.target/cris/torture/trap-v0.c11
-rw-r--r--gcc/testsuite/gcc.target/cris/torture/trap-v3.c12
6 files changed, 65 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index fa1ef57..b08556c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2012-05-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * gcc.target/cris/torture/trap-1.c,
+ gcc.target/cris/torture/trap-2.c,
+ gcc.target/cris/torture/trap-3.c,
+ gcc.target/cris/torture/trap-v0.c,
+ gcc.target/cris/torture/trap-v3.c: New tests.
+
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/25137
diff --git a/gcc/testsuite/gcc.target/cris/torture/trap-1.c b/gcc/testsuite/gcc.target/cris/torture/trap-1.c
new file mode 100644
index 0000000..48363fb
--- /dev/null
+++ b/gcc/testsuite/gcc.target/cris/torture/trap-1.c
@@ -0,0 +1,13 @@
+/* Check that "break 8" defaults according to CPU version. */
+/* { dg-do compile } */
+/* { dg-skip-if "" { "*-*-*" } { "-march*" } { "" } } */
+/* { dg-final { scan-assembler "break 8" { target { ! cris-*-elf } } } } */
+/* { dg-final { scan-assembler-not "bsr" { target { ! cris-*-elf } } } } */
+/* { dg-final { scan-assembler-not "jsr" { target { ! cris-*-elf } } } } */
+/* { dg-final { scan-assembler-not "break\[ \t\]" { target cris-*-elf } } } */
+/* { dg-final { scan-assembler "\[jb\]sr \[_\]\?abort" { target cris-*-elf } } } */
+
+void do_trap (void)
+{
+ __builtin_trap ();
+}
diff --git a/gcc/testsuite/gcc.target/cris/torture/trap-2.c b/gcc/testsuite/gcc.target/cris/torture/trap-2.c
new file mode 100644
index 0000000..155d5fe
--- /dev/null
+++ b/gcc/testsuite/gcc.target/cris/torture/trap-2.c
@@ -0,0 +1,11 @@
+/* As trap-1.c but forcing on. */
+/* { dg-do compile } */
+/* { dg-options "-mtrap-using-break8" } */
+/* { dg-final { scan-assembler "break 8" } } */
+/* { dg-final { scan-assembler-not "bsr" } } */
+/* { dg-final { scan-assembler-not "jsr" } } */
+
+void do_trap (void)
+{
+ __builtin_trap ();
+}
diff --git a/gcc/testsuite/gcc.target/cris/torture/trap-3.c b/gcc/testsuite/gcc.target/cris/torture/trap-3.c
new file mode 100644
index 0000000..dfa0924
--- /dev/null
+++ b/gcc/testsuite/gcc.target/cris/torture/trap-3.c
@@ -0,0 +1,10 @@
+/* Like trap-1.c and trap-2.c but force calls to abort. */
+/* { dg-do compile } */
+/* { dg-options "-mno-trap-using-break8" } */
+/* { dg-final { scan-assembler-not "break\[ \t\]" } } */
+/* { dg-final { scan-assembler "\[jb\]sr \[_\]\?abort" } } */
+
+void do_trap (void)
+{
+ __builtin_trap ();
+}
diff --git a/gcc/testsuite/gcc.target/cris/torture/trap-v0.c b/gcc/testsuite/gcc.target/cris/torture/trap-v0.c
new file mode 100644
index 0000000..084fb28
--- /dev/null
+++ b/gcc/testsuite/gcc.target/cris/torture/trap-v0.c
@@ -0,0 +1,11 @@
+/* As trap-1.c but with CPU version specified, excluding. */
+/* { dg-do compile } */
+/* { dg-skip-if "" { "*-*-*" } { "-march=*" } { "" } } */
+/* { dg-options "-march=v0" } */
+/* { dg-final { scan-assembler-not "break\[ \t\]" } } */
+/* { dg-final { scan-assembler "\[jb\]sr \[_\]\?abort" } } */
+
+void do_trap (void)
+{
+ __builtin_trap ();
+}
diff --git a/gcc/testsuite/gcc.target/cris/torture/trap-v3.c b/gcc/testsuite/gcc.target/cris/torture/trap-v3.c
new file mode 100644
index 0000000..e004c5b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/cris/torture/trap-v3.c
@@ -0,0 +1,12 @@
+/* As trap-1.c but with CPU version specified, including. */
+/* { dg-do compile } */
+/* { dg-skip-if "" { "*-*-*" } { "-march=*" } { "" } } */
+/* { dg-options "-march=v3" } */
+/* { dg-final { scan-assembler "break 8" } } */
+/* { dg-final { scan-assembler-not "bsr" } } */
+/* { dg-final { scan-assembler-not "jsr" } } */
+
+void do_trap (void)
+{
+ __builtin_trap ();
+}