aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-11-23 09:08:47 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2016-11-23 09:08:47 +0100
commitec1c569473de7c478653b6f518d8d8bba18e3f1b (patch)
treead134efbf24d7e4a890b64a180a763b6ff99b23b /gcc/c-family
parent43fd192f76a0121197dcc3975a49b79b201f6411 (diff)
downloadgcc-ec1c569473de7c478653b6f518d8d8bba18e3f1b.zip
gcc-ec1c569473de7c478653b6f518d8d8bba18e3f1b.tar.gz
gcc-ec1c569473de7c478653b6f518d8d8bba18e3f1b.tar.bz2
re PR target/78451 (FAIL: gcc.target/i386/sse-22a.c: error: inlining failed in call to always_inline '_mm512_setzero_ps')
PR target/78451 * c-pragma.c (handle_pragma_target): Don't replace current_target_pragma, but chainon the new args to the current one. * gcc.target/i386/pr78451.c: New test. * gcc.target/i386/pr69255-1.c: Use #pragma GCC push_options and #pragma GCC pop_options around the first #pragma GCC target. * gcc.target/i386/pr69255-2.c: Likewise. * gcc.target/i386/pr69255-3.c: Likewise. From-SVN: r242740
Diffstat (limited to 'gcc/c-family')
-rw-r--r--gcc/c-family/ChangeLog6
-rw-r--r--gcc/c-family/c-pragma.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index d0d4417..3b41282 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,9 @@
+2016-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/78451
+ * c-pragma.c (handle_pragma_target): Don't replace
+ current_target_pragma, but chainon the new args to the current one.
+
2016-11-22 Nathan Sidwell <nathan@acm.org>
* array-notation-common.c (cilkplus_extract_an_trplets): Fix
diff --git a/gcc/c-family/c-pragma.c b/gcc/c-family/c-pragma.c
index 58ef5c9..2ecacb8 100644
--- a/gcc/c-family/c-pragma.c
+++ b/gcc/c-family/c-pragma.c
@@ -893,7 +893,7 @@ handle_pragma_target(cpp_reader *ARG_UNUSED(dummy))
args = nreverse (args);
if (targetm.target_option.pragma_parse (args, NULL_TREE))
- current_target_pragma = args;
+ current_target_pragma = chainon (current_target_pragma, args);
}
}