summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-16 07:51:43 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-16 07:51:43 +0000
commitd15bbcc92bfe142521c42c3ce96dc75909bd2bb7 (patch)
tree96f51500bef661a5467b5f2359018ff935073b55
parentd7f82fee8b5adfc0c5be46cfcb8e171134ad5fa9 (diff)
downloadgcc-d15bbcc92bfe142521c42c3ce96dc75909bd2bb7.tar.gz
* lib/target_suports.exp
(check_effective_target_has_w_floating_suffix): New procedure. (check_effective_target_has_q_floating_suffix): Ditto. * g++.dg/cpp0x/gnu_fext-numeric-literals.C: Add dg-error directive for unsupported non-standard suffix on floating constant. * g++.dg/cpp0x/std_fext-numeric-literals.C: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193551 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C8
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/std_fext-numeric-literals.C8
-rw-r--r--gcc/testsuite/lib/target-supports.exp17
4 files changed, 34 insertions, 8 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7b18ff1d737..8851fdbb6f6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2012-11-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/target_suports.exp
+ (check_effective_target_has_w_floating_suffix): New procedure.
+ (check_effective_target_has_q_floating_suffix): Ditto.
+ * g++.dg/cpp0x/gnu_fext-numeric-literals.C: Add dg-error directive
+ for unsupported non-standard suffix on floating constant.
+ * g++.dg/cpp0x/std_fext-numeric-literals.C: Ditto.
+
2012-11-14 Jakub Jelinek <jakub@redhat.com>
* lib/asan-dg.exp: New file.
diff --git a/gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C b/gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C
index f4ccd26a3d2..ad98db9f8f2 100644
--- a/gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C
+++ b/gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C
@@ -91,10 +91,10 @@ main()
auto rfp = 1.0r; // { dg-error "fixed-point types not supported" }
auto Rfp = 1.0R; // { dg-error "fixed-point types not supported" }
- auto wfp = 1.0w;
- auto Wfp = 1.0W;
- auto qfp = 1.0q;
- auto Qfp = 1.0Q;
+ auto wfp = 1.0w; // { dg-error "unsupported" "" { target { ! has_w_floating_suffix } } }
+ auto Wfp = 1.0W; // { dg-error "unsupported" "" { target { ! has_w_floating_suffix } } }
+ auto qfp = 1.0q; // { dg-error "unsupported" "" { target { ! has_q_floating_suffix } } }
+ auto Qfp = 1.0Q; // { dg-error "unsupported" "" { target { ! has_q_floating_suffix } } }
}
// { dg-warning "literal operator suffixes not preceded by" "" { target *-*-* } 7 }
diff --git a/gcc/testsuite/g++.dg/cpp0x/std_fext-numeric-literals.C b/gcc/testsuite/g++.dg/cpp0x/std_fext-numeric-literals.C
index d59c181ee72..e71cdc5abb0 100644
--- a/gcc/testsuite/g++.dg/cpp0x/std_fext-numeric-literals.C
+++ b/gcc/testsuite/g++.dg/cpp0x/std_fext-numeric-literals.C
@@ -91,10 +91,10 @@ main()
auto rfp = 1.0r; // { dg-error "fixed-point types not supported" }
auto Rfp = 1.0R; // { dg-error "fixed-point types not supported" }
- auto wfp = 1.0w;
- auto Wfp = 1.0W;
- auto qfp = 1.0q;
- auto Qfp = 1.0Q;
+ auto wfp = 1.0w; // { dg-error "unsupported" "" { target { ! has_w_floating_suffix } } }
+ auto Wfp = 1.0W; // { dg-error "unsupported" "" { target { ! has_w_floating_suffix } } }
+ auto qfp = 1.0q; // { dg-error "unsupported" "" { target { ! has_q_floating_suffix } } }
+ auto Qfp = 1.0Q; // { dg-error "unsupported" "" { target { ! has_q_floating_suffix } } }
}
// { dg-warning "literal operator suffixes not preceded by" "" { target *-*-* } 7 }
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index dd3a75aaef4..184e1611b21 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1742,6 +1742,23 @@ proc check_effective_target_double64plus { } {
}]
}
+# Return 1 if the target supports 'w' suffix on floating constant
+# 0 otherwise.
+
+proc check_effective_target_has_w_floating_suffix { } {
+ return [check_no_compiler_messages w_fp_suffix object {
+ float dummy = 1.0w;
+ } "-std=gnu++03 -w"]
+}
+
+# Return 1 if the target supports 'q' suffix on floating constant
+# 0 otherwise.
+
+proc check_effective_target_has_q_floating_suffix { } {
+ return [check_no_compiler_messages q_fp_suffix object {
+ float dummy = 1.0q;
+ } "-std=gnu++03 -w"]
+}
# Return 1 if the target supports compiling fixed-point,
# 0 otherwise.