[gcc] 4.8.0-0.4

Jakub Jelinek jakub at fedoraproject.org
Mon Jan 21 17:05:32 UTC 2013


commit 1f0b14bc67ee69430bf2a51b5cf159d70587daf7
Author: Jakub Jelinek <jakub at redhat.com>
Date:   Mon Jan 21 18:05:27 2013 +0100

    4.8.0-0.4

 gcc48-pr56022.patch |   52 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)
---
diff --git a/gcc48-pr56022.patch b/gcc48-pr56022.patch
new file mode 100644
index 0000000..e0ef478
--- /dev/null
+++ b/gcc48-pr56022.patch
@@ -0,0 +1,52 @@
+2013-01-21  Martin Jambor  <mjambor at suse.cz>
+
+	PR middle-end/56022
+	* function.c (allocate_struct_function): Call
+	invoke_set_current_function_hook earlier.
+
+	* gcc.target/i386/pr56022.c: New test.
+
+--- gcc/function.c
++++ gcc/function.c
+@@ -4479,7 +4479,6 @@ get_last_funcdef_no (void)
+ void
+ allocate_struct_function (tree fndecl, bool abstract_p)
+ {
+-  tree result;
+   tree fntype = fndecl ? TREE_TYPE (fndecl) : NULL_TREE;
+ 
+   cfun = ggc_alloc_cleared_function ();
+@@ -4498,8 +4497,13 @@ allocate_struct_function (tree fndecl, b
+       DECL_STRUCT_FUNCTION (fndecl) = cfun;
+       cfun->decl = fndecl;
+       current_function_funcdef_no = get_next_funcdef_no ();
++    }
++
++  invoke_set_current_function_hook (fndecl);
+ 
+-      result = DECL_RESULT (fndecl);
++  if (fndecl != NULL_TREE)
++    {
++      tree result = DECL_RESULT (fndecl);
+       if (!abstract_p && aggregate_value_p (result, fndecl))
+ 	{
+ #ifdef PCC_STATIC_STRUCT_RETURN
+@@ -4518,8 +4522,6 @@ allocate_struct_function (tree fndecl, b
+          but is this worth the hassle?  */
+       cfun->can_throw_non_call_exceptions = flag_non_call_exceptions;
+     }
+-
+-  invoke_set_current_function_hook (fndecl);
+ }
+ 
+ /* This is like allocate_struct_function, but pushes a new cfun for FNDECL
+--- gcc/testsuite/gcc.target/i386/pr56022.c
++++ gcc/testsuite/gcc.target/i386/pr56022.c
+@@ -0,0 +1,7 @@
++/* { dg-do compile } */
++/* { dg-options "-mavx" } */
++
++typedef float __m256 __attribute__ ((__vector_size__ (32), __may_alias__));
++__attribute__((target("no-avx"))) static int currentImplementationSupported()
++{}
++__m256 foo0(__m256 a) {}


More information about the scm-commits mailing list