aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-11-17 07:12:01 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2019-11-17 07:12:01 +0100
commitcfe871e3ec6a28f5fb7602ab44407613b6787ef2 (patch)
tree5a205f355fa894711302726a5b8792dbcf6fae3d
parentf6e86b330363306d772ed69dfb864532bf5de5b6 (diff)
downloadgcc-cfe871e3ec6a28f5fb7602ab44407613b6787ef2.zip
gcc-cfe871e3ec6a28f5fb7602ab44407613b6787ef2.tar.gz
gcc-cfe871e3ec6a28f5fb7602ab44407613b6787ef2.tar.bz2
method.c (lookup_comparison_result): Use %qD instead of %<%T::%D%> to print the decl.
* method.c (lookup_comparison_result): Use %qD instead of %<%T::%D%> to print the decl. (lookup_comparison_category): Use %qD instead of %<std::%D%> to print the decl. * g++.dg/cpp2a/spaceship-err3.C: New test. From-SVN: r278375
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/method.c4
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/spaceship-err3.C14
4 files changed, 27 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 429ffd6..4730d79 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2019-11-17 Jakub Jelinek <jakub@redhat.com>
+
+ * method.c (lookup_comparison_result): Use %qD instead of %<%T::%D%>
+ to print the decl.
+ (lookup_comparison_category): Use %qD instead of %<std::%D%> to print
+ the decl.
+
2019-11-15 Paolo Carlini <paolo.carlini@oracle.com>
* typeck.c (cp_truthvalue_conversion): Add tsubst_flags_t parameter
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index acba6c6..a707940 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -924,7 +924,7 @@ lookup_comparison_result (tree type, const char *name_str,
if (decl == error_mark_node || TREE_CODE (decl) == TREE_LIST)
qualified_name_lookup_error (type, name, decl, input_location);
else
- error ("%<%T::%D%> is not a static data member", type, decl);
+ error ("%qD is not a static data member", decl);
inform (input_location, "determining value of %qs", "operator<=>");
}
return error_mark_node;
@@ -951,7 +951,7 @@ lookup_comparison_category (comp_cat_tag tag,
if (decl == error_mark_node || TREE_CODE (decl) == TREE_LIST)
qualified_name_lookup_error (std_node, name, decl, input_location);
else
- error ("%<std::%D%> is not a type", decl);
+ error ("%qD is not a type", decl);
inform (input_location, "forming type of %qs", "operator<=>");
}
return error_mark_node;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ef5bd71..0a4ce6d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2019-11-17 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/cpp2a/spaceship-err3.C: New test.
+
2019-11-16 Richard Sandiford <richard.sandiford@arm.com>
* gcc.dg/vect/vect-alias-check-18.c: New test.
diff --git a/gcc/testsuite/g++.dg/cpp2a/spaceship-err3.C b/gcc/testsuite/g++.dg/cpp2a/spaceship-err3.C
new file mode 100644
index 0000000..e756ebc
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp2a/spaceship-err3.C
@@ -0,0 +1,14 @@
+// { dg-do compile { target c++2a } }
+
+namespace std
+{
+ int strong_ordering;
+ struct partial_ordering {
+ static int equivalent ();
+ };
+}
+
+auto a = 1 <=> 2; // { dg-error "'std::strong_ordering' is not a type" }
+ // { dg-message "forming type of 'operator<=>'" "" { target *-*-* } .-1 }
+auto b = 3.0 <=> 4.0; // { dg-error "'std::partial_ordering::equivalent\\(\\)' is not a static data member" }
+ // { dg-message "determining value of 'operator<=>'" "" { target *-*-* } .-1 }