From 6980affb9bdc057eb99364e45f14639519fe35f9 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Jan 22 2013 08:26:09 +0000 Subject: 4.8.0-0.5 --- diff --git a/.gitignore b/.gitignore index 2bdff75..cbec4a2 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ /gcc-4.8.0-20130121.tar.bz2 /cloog-0.18.0.tar.gz /isl-0.11.1.tar.bz2 +/gcc-4.8.0-20130122.tar.bz2 diff --git a/gcc.spec b/gcc.spec index 4a88059..f1f3bae 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20130121 -%global SVNREV 195337 +%global DATE 20130122 +%global SVNREV 195359 %global gcc_version 4.8.0 # Note, gcc_release must be integer, if you want to add suffixes to # %{release}, append them after %{gcc_release} on Release: line. -%global gcc_release 0.4 +%global gcc_release 0.5 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha @@ -198,7 +198,7 @@ Patch11: gcc48-libstdc++-docs.patch Patch12: gcc48-no-add-needed.patch Patch13: gcc48-pr55608.patch Patch14: gcc48-pr55742.patch -Patch15: gcc48-pr56022.patch +Patch15: gcc48-pr56052.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -752,7 +752,7 @@ package or when debugging this package. %patch12 -p0 -b .no-add-needed~ %patch13 -p0 -b .pr55608~ %patch14 -p0 -E -b .pr55742~ -%patch15 -p0 -b .pr56022~ +%patch15 -p0 -b .pr56052~ %if 0%{?_enable_debug_packages} cat > split-debuginfo.sh <<\EOF @@ -2976,6 +2976,13 @@ fi %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin %changelog +* Tue Jan 22 2013 Jakub Jelinek 4.8.0-0.5 +- updated from trunk + - PRs c++/56059, fortran/55919, rtl-optimization/56023, + tree-optimization/56051 +- fix up cloog dlopen patches for upgrade to cloog-0.18.0 +- fix Fortran OpenMP OOP ICE (PR fortran/56052) + * Mon Jan 21 2013 Jakub Jelinek 4.8.0-0.4 - updated from trunk - PRs ada/864, bootstrap/55792, bootstrap/55961, c++/52343, c++/55663, diff --git a/gcc48-cloog-dl.patch b/gcc48-cloog-dl.patch index 344bf6d..52b5c51 100644 --- a/gcc48-cloog-dl.patch +++ b/gcc48-cloog-dl.patch @@ -412,7 +412,7 @@ + + if (cloog_pointers__.inited) + return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog-isl.so.3", RTLD_LAZY); ++ h = dlopen ("libcloog-isl.so.4", RTLD_LAZY); + cloog_pointers__.h = h; + if (h == NULL) + return false; diff --git a/gcc48-cloog-dl2.patch b/gcc48-cloog-dl2.patch index 77ffb89..2f647a3 100644 --- a/gcc48-cloog-dl2.patch +++ b/gcc48-cloog-dl2.patch @@ -2,7 +2,7 @@ * toplev.c (toplev_main_argv): New variable. (toplev_main): Initialize it. - * graphite.c (init_cloog_pointers): Load libcloog-isl.so.3 from gcc's private + * graphite.c (init_cloog_pointers): Load libcloog-isl.so.4 from gcc's private directory. --- gcc/toplev.c.jj 2008-12-09 23:59:10.000000000 +0100 @@ -35,7 +35,7 @@ - - if (cloog_pointers__.inited) - return cloog_pointers__.h != NULL; -- h = dlopen ("libcloog-isl.so.3", RTLD_LAZY); +- h = dlopen ("libcloog-isl.so.4", RTLD_LAZY); + void *h = NULL; + extern const char **toplev_main_argv; + char *buf, *p; @@ -44,10 +44,10 @@ + if (cloog_pointers__.inited) + return cloog_pointers__.h != NULL; + len = progname - toplev_main_argv[0]; -+ buf = XALLOCAVAR (char, len + sizeof "libcloog-isl.so.3"); ++ buf = XALLOCAVAR (char, len + sizeof "libcloog-isl.so.4"); + memcpy (buf, toplev_main_argv[0], len); -+ strcpy (buf + len, "libcloog-isl.so.3"); -+ len += sizeof "libcloog-isl.so.3"; ++ strcpy (buf + len, "libcloog-isl.so.4"); ++ len += sizeof "libcloog-isl.so.4"; + p = strstr (buf, "/libexec/"); + if (p != NULL) + { @@ -64,7 +64,7 @@ + { + len = progname - toplev_main_argv[0]; + memcpy (buf, toplev_main_argv[0], len); -+ strcpy (buf + len, "libcloog-isl.so.3"); ++ strcpy (buf + len, "libcloog-isl.so.4"); + } + } + if (h == NULL) diff --git a/gcc48-pr56022.patch b/gcc48-pr56022.patch deleted file mode 100644 index e0ef478..0000000 --- a/gcc48-pr56022.patch +++ /dev/null @@ -1,52 +0,0 @@ -2013-01-21 Martin Jambor - - 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) {} diff --git a/gcc48-pr56052.patch b/gcc48-pr56052.patch new file mode 100644 index 0000000..07f1165 --- /dev/null +++ b/gcc48-pr56052.patch @@ -0,0 +1,53 @@ +2013-01-21 Jakub Jelinek + + PR fortran/56052 + * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL + and DECL_IGNORED_P on select_type_temporary and don't set + DECL_BY_REFERENCE. + + * gfortran.dg/gomp/pr56052.f90: New test. + +--- gcc/fortran/trans-decl.c.jj 2013-01-11 09:02:50.000000000 +0100 ++++ gcc/fortran/trans-decl.c 2013-01-21 18:11:39.684529593 +0100 +@@ -1397,6 +1397,12 @@ gfc_get_symbol_decl (gfc_symbol * sym) + DECL_IGNORED_P (decl) = 1; + } + ++ if (sym->attr.select_type_temporary) ++ { ++ DECL_ARTIFICIAL (decl) = 1; ++ DECL_IGNORED_P (decl) = 1; ++ } ++ + if (sym->attr.dimension || sym->attr.codimension) + { + /* Create variables to hold the non-constant bits of array info. */ +@@ -1496,7 +1502,8 @@ gfc_get_symbol_decl (gfc_symbol * sym) + && POINTER_TYPE_P (TREE_TYPE (decl)) + && !sym->attr.pointer + && !sym->attr.allocatable +- && !sym->attr.proc_pointer) ++ && !sym->attr.proc_pointer ++ && !sym->attr.select_type_temporary) + DECL_BY_REFERENCE (decl) = 1; + + if (sym->attr.vtab +--- gcc/testsuite/gfortran.dg/gomp/pr56052.f90.jj 2013-01-21 18:14:38.716547446 +0100 ++++ gcc/testsuite/gfortran.dg/gomp/pr56052.f90 2013-01-21 18:14:59.425432249 +0100 +@@ -0,0 +1,16 @@ ++! PR fortran/56052 ++! { dg-do compile } ++! { dg-options "-fopenmp" } ++ ++subroutine middle(args) ++ type args_t ++ end type ++ type, extends(args_t) :: scan_args_t ++ end type ++ class(args_t),intent(inout) :: args ++ !$omp single ++ select type (args) ++ type is (scan_args_t) ++ end select ++ !$omp end single ++end subroutine middle diff --git a/sources b/sources index 71effe7..194c22a 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ be78a47bd82523250eb3e91646db5b3d cloog-0.18.0.tar.gz 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz bce1586384d8635a76d2f017fb067cd2 isl-0.11.1.tar.bz2 -f9dd93bbd1ad08bbbd71d2e3c36b0da0 gcc-4.8.0-20130121.tar.bz2 +a0898ee557790b350f33fd6e0f5f9b37 gcc-4.8.0-20130122.tar.bz2