4.3.1-3
This commit is contained in:
parent
7cd0f0de73
commit
5d277e24e6
@ -1,2 +1,2 @@
|
|||||||
gcc-4.3.1-20080612.tar.bz2
|
gcc-4.3.1-20080624.tar.bz2
|
||||||
fastjar-0.95.tar.gz
|
fastjar-0.95.tar.gz
|
||||||
|
@ -1,138 +0,0 @@
|
|||||||
2008-06-12 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
PR c/36507
|
|
||||||
* c-decl.c (merge_decls): Don't clear DECL_EXTERNAL for
|
|
||||||
nested inline functions.
|
|
||||||
(start_decl, start_function): Don't invert DECL_EXTERNAL
|
|
||||||
for nested inline functions.
|
|
||||||
|
|
||||||
* gcc.dg/inline-28.c: New test.
|
|
||||||
* gcc.dg/inline-29.c: New test.
|
|
||||||
* gcc.dg/inline-30.c: New test.
|
|
||||||
|
|
||||||
--- gcc/c-decl.c.jj 2008-05-08 01:06:20.000000000 +0200
|
|
||||||
+++ gcc/c-decl.c 2008-06-12 17:40:19.000000000 +0200
|
|
||||||
@@ -1763,7 +1763,9 @@ merge_decls (tree newdecl, tree olddecl,
|
|
||||||
|| !DECL_DECLARED_INLINE_P (olddecl)
|
|
||||||
|| !DECL_EXTERNAL (olddecl))
|
|
||||||
&& DECL_EXTERNAL (newdecl)
|
|
||||||
- && !lookup_attribute ("gnu_inline", DECL_ATTRIBUTES (newdecl)))
|
|
||||||
+ && !lookup_attribute ("gnu_inline", DECL_ATTRIBUTES (newdecl))
|
|
||||||
+ && (DECL_CONTEXT (newdecl) == NULL_TREE
|
|
||||||
+ || TREE_CODE (DECL_CONTEXT (newdecl)) != FUNCTION_DECL))
|
|
||||||
DECL_EXTERNAL (newdecl) = 0;
|
|
||||||
|
|
||||||
if (DECL_EXTERNAL (newdecl))
|
|
||||||
@@ -3264,7 +3266,8 @@ start_decl (struct c_declarator *declara
|
|
||||||
if (declspecs->inline_p
|
|
||||||
&& !flag_gnu89_inline
|
|
||||||
&& TREE_CODE (decl) == FUNCTION_DECL
|
|
||||||
- && lookup_attribute ("gnu_inline", DECL_ATTRIBUTES (decl)))
|
|
||||||
+ && (lookup_attribute ("gnu_inline", DECL_ATTRIBUTES (decl))
|
|
||||||
+ || current_function_decl))
|
|
||||||
{
|
|
||||||
if (declspecs->storage_class == csc_auto && current_scope != file_scope)
|
|
||||||
;
|
|
||||||
@@ -6094,7 +6097,8 @@ start_function (struct c_declspecs *decl
|
|
||||||
if (declspecs->inline_p
|
|
||||||
&& !flag_gnu89_inline
|
|
||||||
&& TREE_CODE (decl1) == FUNCTION_DECL
|
|
||||||
- && lookup_attribute ("gnu_inline", DECL_ATTRIBUTES (decl1)))
|
|
||||||
+ && (lookup_attribute ("gnu_inline", DECL_ATTRIBUTES (decl1))
|
|
||||||
+ || current_function_decl))
|
|
||||||
{
|
|
||||||
if (declspecs->storage_class != csc_static)
|
|
||||||
DECL_EXTERNAL (decl1) = !DECL_EXTERNAL (decl1);
|
|
||||||
--- gcc/testsuite/gcc.dg/inline-28.c.jj 2008-06-12 17:19:10.000000000 +0200
|
|
||||||
+++ gcc/testsuite/gcc.dg/inline-28.c 2008-06-12 18:21:03.000000000 +0200
|
|
||||||
@@ -0,0 +1,28 @@
|
|
||||||
+/* PR c/36507 */
|
|
||||||
+/* { dg-do run } */
|
|
||||||
+/* { dg-options "-O0 -std=gnu89" } */
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main (void)
|
|
||||||
+{
|
|
||||||
+ int i = 2;
|
|
||||||
+ auto inline int f1 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ inline int f2 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ auto inline int f3 (void);
|
|
||||||
+ auto inline int f3 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ auto inline int f4 (void);
|
|
||||||
+ inline int f4 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ return f1 () + f2 () + f3 () + f4 () - 8;
|
|
||||||
+}
|
|
||||||
--- gcc/testsuite/gcc.dg/inline-29.c.jj 2008-06-12 17:19:10.000000000 +0200
|
|
||||||
+++ gcc/testsuite/gcc.dg/inline-29.c 2008-06-12 18:21:08.000000000 +0200
|
|
||||||
@@ -0,0 +1,28 @@
|
|
||||||
+/* PR c/36507 */
|
|
||||||
+/* { dg-do run } */
|
|
||||||
+/* { dg-options "-O0 -std=gnu99" } */
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main (void)
|
|
||||||
+{
|
|
||||||
+ int i = 2;
|
|
||||||
+ auto inline int f1 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ inline int f2 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ auto inline int f3 (void);
|
|
||||||
+ auto inline int f3 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ auto inline int f4 (void);
|
|
||||||
+ inline int f4 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ return f1 () + f2 () + f3 () + f4 () - 8;
|
|
||||||
+}
|
|
||||||
--- gcc/testsuite/gcc.dg/inline-30.c.jj 2008-06-12 17:19:10.000000000 +0200
|
|
||||||
+++ gcc/testsuite/gcc.dg/inline-30.c 2008-06-12 18:21:13.000000000 +0200
|
|
||||||
@@ -0,0 +1,28 @@
|
|
||||||
+/* PR c/36507 */
|
|
||||||
+/* { dg-do run } */
|
|
||||||
+/* { dg-options "-O0 -std=gnu99 -fgnu89-inline" } */
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main (void)
|
|
||||||
+{
|
|
||||||
+ int i = 2;
|
|
||||||
+ auto inline int f1 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ inline int f2 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ auto inline int f3 (void);
|
|
||||||
+ auto inline int f3 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ auto inline int f4 (void);
|
|
||||||
+ inline int f4 (void)
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+ return f1 () + f2 () + f3 () + f4 () - 8;
|
|
||||||
+}
|
|
17
gcc43.spec
17
gcc43.spec
@ -1,6 +1,6 @@
|
|||||||
%define DATE 20080612
|
%define DATE 20080624
|
||||||
%define gcc_version 4.3.1
|
%define gcc_version 4.3.1
|
||||||
%define gcc_release 2
|
%define gcc_release 3
|
||||||
%define _unpackaged_files_terminate_build 0
|
%define _unpackaged_files_terminate_build 0
|
||||||
%define multilib_64_archs sparc64 ppc64 s390x x86_64
|
%define multilib_64_archs sparc64 ppc64 s390x x86_64
|
||||||
%define include_gappletviewer 1
|
%define include_gappletviewer 1
|
||||||
@ -143,7 +143,6 @@ Patch13: gcc43-i386-libgomp.patch
|
|||||||
Patch14: gcc43-rh251682.patch
|
Patch14: gcc43-rh251682.patch
|
||||||
Patch15: gcc43-sparc-config-detection.patch
|
Patch15: gcc43-sparc-config-detection.patch
|
||||||
Patch16: gcc43-libgomp-omp_h-multilib.patch
|
Patch16: gcc43-libgomp-omp_h-multilib.patch
|
||||||
Patch17: gcc43-pr36507.patch
|
|
||||||
|
|
||||||
# On ARM EABI systems, we do want -gnueabi to be part of the
|
# On ARM EABI systems, we do want -gnueabi to be part of the
|
||||||
# target triple.
|
# target triple.
|
||||||
@ -444,7 +443,6 @@ which are required to run programs compiled with the GNAT.
|
|||||||
%patch14 -p0 -b .rh251682~
|
%patch14 -p0 -b .rh251682~
|
||||||
%patch15 -p0 -b .sparc-config-detection~
|
%patch15 -p0 -b .sparc-config-detection~
|
||||||
%patch16 -p0 -b .libgomp-omp_h-multilib~
|
%patch16 -p0 -b .libgomp-omp_h-multilib~
|
||||||
%patch17 -p0 -b .pr36507~
|
|
||||||
|
|
||||||
tar xzf %{SOURCE4}
|
tar xzf %{SOURCE4}
|
||||||
|
|
||||||
@ -1666,6 +1664,17 @@ fi
|
|||||||
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
|
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jun 24 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-3
|
||||||
|
- update from gcc-4_3-branch
|
||||||
|
- PRs c++/35317, c++/35320, documentation/30739, fortran/34908,
|
||||||
|
fortran/36276, fortran/36538, java/36247, middle-end/36584,
|
||||||
|
rtl-optimization/35604, target/36336, target/36424,
|
||||||
|
tree-optimization/36493, tree-optimization/36498,
|
||||||
|
tree-optimization/36504, tree-optimization/36519
|
||||||
|
- don't mark hard registers as reg pointers (#451068, target/36533)
|
||||||
|
- allow more compute_antic iterations (#450889, tree-optimization/36508)
|
||||||
|
- fix #pragma omp task copyfn registration with cgraph (c++/36523)
|
||||||
|
|
||||||
* Thu Jun 12 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-2
|
* Thu Jun 12 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-2
|
||||||
- update from gcc-4_3-branch
|
- update from gcc-4_3-branch
|
||||||
- PRs c++/36408, middle-end/35336, middle-end/36506, testsuite/36443,
|
- PRs c++/36408, middle-end/35336, middle-end/36506, testsuite/36443,
|
||||||
|
Loading…
Reference in New Issue
Block a user