aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-11-26 22:26:19 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-11-26 22:26:19 +0100
commit8b1f4e1f8aec774a185fe1f315ad4361161d5dc3 (patch)
treeef9676d5ba75973cb72324a63282a4b37cbe645c /gcc
parent60d4173b756e7dde2eb263b6c913cc84be79be12 (diff)
downloadgcc-8b1f4e1f8aec774a185fe1f315ad4361161d5dc3.zip
gcc-8b1f4e1f8aec774a185fe1f315ad4361161d5dc3.tar.gz
gcc-8b1f4e1f8aec774a185fe1f315ad4361161d5dc3.tar.bz2
re PR target/88195 (misleading error message for unsupported builtin)
PR target/88195 * config/i386/i386.c (def_builtin2): If tcode == VOID_FTYPE_UINT64 and !TARGET_64BIT, return NULL_TREE. * gcc.target/i386/pr88195.c: New test. From-SVN: r266487
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/i386.c8
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/gcc.target/i386/pr88195.c8
4 files changed, 21 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 42f2ff0..2d7bcb8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2018-11-26 Jakub Jelinek <jakub@redhat.com>
+ PR target/88195
+ * config/i386/i386.c (def_builtin2): If tcode == VOID_FTYPE_UINT64
+ and !TARGET_64BIT, return NULL_TREE.
+
PR c++/86900
* dwarf2out.c (secname_for_decl): For functions with
DECL_SECTION_NAME if in_cold_section_p, try to return
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 8515980..95abde9 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -30220,9 +30220,13 @@ def_builtin2 (HOST_WIDE_INT mask, const char *name,
{
tree decl = NULL_TREE;
- ix86_builtins_isa[(int) code].isa2 = mask;
if (tcode == VOID_FTYPE_UINT64)
- ix86_builtins_isa[(int) code].isa = OPTION_MASK_ISA_64BIT;
+ {
+ if (!TARGET_64BIT)
+ return decl;
+ ix86_builtins_isa[(int) code].isa = OPTION_MASK_ISA_64BIT;
+ }
+ ix86_builtins_isa[(int) code].isa2 = mask;
if (mask == 0
|| (mask & ix86_isa_flags2) != 0
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4043524..47f8b19 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2018-11-26 Jakub Jelinek <jakub@redhat.com>
+ PR target/88195
+ * gcc.target/i386/pr88195.c: New test.
+
PR testsuite/88090
* obj-c++.dg/attributes/method-nonnull-1.mm (my_size_t): New typedef.
(MyArray::removeObjectAtIndex): Use my_size_t instead of size_t and
diff --git a/gcc/testsuite/gcc.target/i386/pr88195.c b/gcc/testsuite/gcc.target/i386/pr88195.c
new file mode 100644
index 0000000..cd12adc
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr88195.c
@@ -0,0 +1,8 @@
+/* PR target/88195 */
+/* { dg-options "-mptwrite" } */
+
+void
+foo (void)
+{
+ __builtin_ia32_ptwrite64 (1); /* { dg-warning "implicit declaration of function" "" { target ia32 } } */
+}