4.8.0-0.5

This commit is contained in:
Jakub Jelinek 2013-01-22 09:26:09 +01:00
parent f16dbfc81a
commit 6980affb9b
7 changed files with 74 additions and 65 deletions

1
.gitignore vendored
View File

@ -53,3 +53,4 @@
/gcc-4.8.0-20130121.tar.bz2 /gcc-4.8.0-20130121.tar.bz2
/cloog-0.18.0.tar.gz /cloog-0.18.0.tar.gz
/isl-0.11.1.tar.bz2 /isl-0.11.1.tar.bz2
/gcc-4.8.0-20130122.tar.bz2

View File

@ -1,9 +1,9 @@
%global DATE 20130121 %global DATE 20130122
%global SVNREV 195337 %global SVNREV 195359
%global gcc_version 4.8.0 %global gcc_version 4.8.0
# Note, gcc_release must be integer, if you want to add suffixes to # Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line. # %{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 _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64 %global multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@ -198,7 +198,7 @@ Patch11: gcc48-libstdc++-docs.patch
Patch12: gcc48-no-add-needed.patch Patch12: gcc48-no-add-needed.patch
Patch13: gcc48-pr55608.patch Patch13: gcc48-pr55608.patch
Patch14: gcc48-pr55742.patch Patch14: gcc48-pr55742.patch
Patch15: gcc48-pr56022.patch Patch15: gcc48-pr56052.patch
Patch1000: fastjar-0.97-segfault.patch Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch Patch1001: fastjar-0.97-len1.patch
@ -752,7 +752,7 @@ package or when debugging this package.
%patch12 -p0 -b .no-add-needed~ %patch12 -p0 -b .no-add-needed~
%patch13 -p0 -b .pr55608~ %patch13 -p0 -b .pr55608~
%patch14 -p0 -E -b .pr55742~ %patch14 -p0 -E -b .pr55742~
%patch15 -p0 -b .pr56022~ %patch15 -p0 -b .pr56052~
%if 0%{?_enable_debug_packages} %if 0%{?_enable_debug_packages}
cat > split-debuginfo.sh <<\EOF cat > split-debuginfo.sh <<\EOF
@ -2976,6 +2976,13 @@ fi
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog %changelog
* Tue Jan 22 2013 Jakub Jelinek <jakub@redhat.com> 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 <jakub@redhat.com> 4.8.0-0.4 * Mon Jan 21 2013 Jakub Jelinek <jakub@redhat.com> 4.8.0-0.4
- updated from trunk - updated from trunk
- PRs ada/864, bootstrap/55792, bootstrap/55961, c++/52343, c++/55663, - PRs ada/864, bootstrap/55792, bootstrap/55961, c++/52343, c++/55663,

View File

@ -412,7 +412,7 @@
+ +
+ if (cloog_pointers__.inited) + if (cloog_pointers__.inited)
+ return cloog_pointers__.h != NULL; + 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; + cloog_pointers__.h = h;
+ if (h == NULL) + if (h == NULL)
+ return false; + return false;

View File

@ -2,7 +2,7 @@
* toplev.c (toplev_main_argv): New variable. * toplev.c (toplev_main_argv): New variable.
(toplev_main): Initialize it. (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. directory.
--- gcc/toplev.c.jj 2008-12-09 23:59:10.000000000 +0100 --- gcc/toplev.c.jj 2008-12-09 23:59:10.000000000 +0100
@ -35,7 +35,7 @@
- -
- if (cloog_pointers__.inited) - if (cloog_pointers__.inited)
- return cloog_pointers__.h != NULL; - return cloog_pointers__.h != NULL;
- h = dlopen ("libcloog-isl.so.3", RTLD_LAZY); - h = dlopen ("libcloog-isl.so.4", RTLD_LAZY);
+ void *h = NULL; + void *h = NULL;
+ extern const char **toplev_main_argv; + extern const char **toplev_main_argv;
+ char *buf, *p; + char *buf, *p;
@ -44,10 +44,10 @@
+ if (cloog_pointers__.inited) + if (cloog_pointers__.inited)
+ return cloog_pointers__.h != NULL; + return cloog_pointers__.h != NULL;
+ len = progname - toplev_main_argv[0]; + 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); + memcpy (buf, toplev_main_argv[0], len);
+ strcpy (buf + len, "libcloog-isl.so.3"); + strcpy (buf + len, "libcloog-isl.so.4");
+ len += sizeof "libcloog-isl.so.3"; + len += sizeof "libcloog-isl.so.4";
+ p = strstr (buf, "/libexec/"); + p = strstr (buf, "/libexec/");
+ if (p != NULL) + if (p != NULL)
+ { + {
@ -64,7 +64,7 @@
+ { + {
+ len = progname - toplev_main_argv[0]; + len = progname - toplev_main_argv[0];
+ memcpy (buf, toplev_main_argv[0], len); + memcpy (buf, toplev_main_argv[0], len);
+ strcpy (buf + len, "libcloog-isl.so.3"); + strcpy (buf + len, "libcloog-isl.so.4");
+ } + }
+ } + }
+ if (h == NULL) + if (h == NULL)

View File

@ -1,52 +0,0 @@
2013-01-21 Martin Jambor <mjambor@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) {}

53
gcc48-pr56052.patch Normal file
View File

@ -0,0 +1,53 @@
2013-01-21 Jakub Jelinek <jakub@redhat.com>
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

View File

@ -1,4 +1,4 @@
be78a47bd82523250eb3e91646db5b3d cloog-0.18.0.tar.gz be78a47bd82523250eb3e91646db5b3d cloog-0.18.0.tar.gz
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
bce1586384d8635a76d2f017fb067cd2 isl-0.11.1.tar.bz2 bce1586384d8635a76d2f017fb067cd2 isl-0.11.1.tar.bz2
f9dd93bbd1ad08bbbd71d2e3c36b0da0 gcc-4.8.0-20130121.tar.bz2 a0898ee557790b350f33fd6e0f5f9b37 gcc-4.8.0-20130122.tar.bz2