[doc] Adjust reference to ACATS in sourcebuild.texi

2011-04-24 Thread Gerald Pfeifer
Installed on mainline; if someone wants me to, happy to apply to older
branches as well.

Gerald

2011-04-24  Gerald Pfeifer  

* doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
testsuite and make it version agnostic.

Index: doc/sourcebuild.texi
===
--- doc/sourcebuild.texi(revision 172909)
+++ doc/sourcebuild.texi(working copy)
@@ -2113,9 +2113,9 @@
 @node Ada Tests
 @section Ada Language Testsuites
 
-The Ada testsuite includes executable tests from the ACATS 2.5
+The Ada testsuite includes executable tests from the ACATS
 testsuite, publicly available at
-@uref{http://www.adaic.org/compilers/acats/2.5}.
+@uref{http://www.ada-auth.org/acats.html}.
 
 These tests are integrated in the GCC testsuite in the
 @file{ada/acats} directory, and


[other/48748, committed] Document __is_standard_layout,, __is_literal_type, and __is_trivial

2011-04-24 Thread Paolo Carlini

Hi,

I committed as obvious this patchlet to mainline and 4_6-branch. Tested 
make info and make dvi.


Thanks,
Paolo.


2011-04-24  Paolo Carlini  

PR other/48748
* doc/extend.texi (Type Traits): Document __is_standard_layout,
__is_literal_type, and __is_trivial; update throughout about
possibly cv-qualified void types.
Index: doc/extend.texi
===
--- doc/extend.texi (revision 172909)
+++ doc/extend.texi (working copy)
@@ -14305,63 +14305,63 @@ If @code{type} is const qualified or is a referenc
 false.  Otherwise if @code{__has_trivial_assign (type)} is true then the trait
 is true, else if @code{type} is a cv class or union type with copy assignment
 operators that are known not to throw an exception then the trait is true,
-else it is false.  Requires: @code{type} shall be a complete type, an array
-type of unknown bound, or is a @code{void} type.
+else it is false.  Requires: @code{type} shall be a complete type, 
+(possibly cv-qualified) @code{void}, or an array of unknown bound.
 
 @item __has_nothrow_copy (type)
 If @code{__has_trivial_copy (type)} is true then the trait is true, else if
 @code{type} is a cv class or union type with copy constructors that
 are known not to throw an exception then the trait is true, else it is false.
-Requires: @code{type} shall be a complete type, an array type of
-unknown bound, or is a @code{void} type.
+Requires: @code{type} shall be a complete type, (possibly cv-qualified)
+@code{void}, or an array of unknown bound.
 
 @item __has_nothrow_constructor (type)
 If @code{__has_trivial_constructor (type)} is true then the trait is
 true, else if @code{type} is a cv class or union type (or array
 thereof) with a default constructor that is known not to throw an
-exception then the trait is true, else it is false.  Requires:
-@code{type} shall be a complete type, an array type of unknown bound,
-or is a @code{void} type.
+exception then the trait is true, else it is false.  Requires: 
+@code{type} shall be a complete type, (possibly cv-qualified) 
+@code{void}, or an array of unknown bound.
 
 @item __has_trivial_assign (type)
 If @code{type} is const qualified or is a reference type then the trait is
 false.  Otherwise if @code{__is_pod (type)} is true then the trait is
 true, else if @code{type} is a cv class or union type with a trivial
 copy assignment ([class.copy]) then the trait is true, else it is
-false.  Requires: @code{type} shall be a complete type, an array type
-of unknown bound, or is a @code{void} type.
+false.  Requires: @code{type} shall be a complete type, (possibly 
+cv-qualified) @code{void}, or an array of unknown bound.
 
 @item __has_trivial_copy (type)
 If @code{__is_pod (type)} is true or @code{type} is a reference type 
 then the trait is true, else if @code{type} is a cv class or union type
 with a trivial copy constructor ([class.copy]) then the trait
 is true, else it is false.  Requires: @code{type} shall be a complete
-type, an array type of unknown bound, or is a @code{void} type.
+type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
 
 @item __has_trivial_constructor (type)
 If @code{__is_pod (type)} is true then the trait is true, else if
 @code{type} is a cv class or union type (or array thereof) with a
 trivial default constructor ([class.ctor]) then the trait is true,
-else it is false.  Requires: @code{type} shall be a complete type, an
-array type of unknown bound, or is a @code{void} type.
+else it is false.  Requires: @code{type} shall be a complete
+type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
 
 @item __has_trivial_destructor (type)
 If @code{__is_pod (type)} is true or @code{type} is a reference type then
 the trait is true, else if @code{type} is a cv class or union type (or
 array thereof) with a trivial destructor ([class.dtor]) then the trait
 is true, else it is false.  Requires: @code{type} shall be a complete
-type, an array type of unknown bound, or is a @code{void} type.
+type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
 
 @item __has_virtual_destructor (type)
 If @code{type} is a class type with a virtual destructor
 ([class.dtor]) then the trait is true, else it is false.  Requires:
-@code{type}  shall be a complete type, an array type of unknown bound,
-or is a @code{void} type.
+@code{type} shall be a complete type, (possibly cv-qualified)
+@code{void}, or an array of unknown bound.
 
 @item __is_abstract (type)
 If @code{type} is an abstract class ([class.abstract]) then the trait
 is true, else it is false.  Requires: @code{type} shall be a complete
-type, an array type of unknown bound, or is a @code{void} type.
+type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
 
 @item __is_base_of (base_type, derived_type)
 If @code{base_type} is a base class of @code{derived_type}
@@ -14386,23 +14386,3

[doc, libjava] Refer to our bug reporting instructions instead of Bugzilla

2011-04-24 Thread Gerald Pfeifer
This is in line with a general trend to make this our primary reference
around bug reporting.  If we keep referring to Bugzilla directly, how can
we expect that anyone reads the instructions?  (Which, by the way, we need
to continue to make more concise.)

Gerald


2011-04-24  Gerald Pfeifer  

* README: Refer to our generic bug reporting page.

Index: README
===
--- README  (revision 172912)
+++ README  (working copy)
@@ -15,6 +15,8 @@
 BUGS
 
 
-Please submit bug reports via this URL:
+Please refer to
 
-   http://gcc.gnu.org/bugzilla
+   http://gcc.gnu.org/bugs/
+
+on when and how to submit a bug report.


Re: Fix WPA corruption seen in LTO bootstrap

2011-04-24 Thread Jan Hubicka
> Hi,
> the problems with LTO build reported by Toon is caused by a hack disabling
> jump function in ipa-prop on wpa.  The hack is no longer needed and it is 
> wrong,
> since jump function makes no sense when they are not updated. Consequentely
> inline cost metrics get lost.
> 
> I am testing the following patch that also fortifies the datastructures
> for array overruns (this was how the problem manifested itself).
> 
> Bootstrapping/regtesting x86_64-linux, will commit it if passes.
> 
> Honza
> 
>   * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
>   WPA hack.

Martin,
since indirect inlining at WPA time is enabled for 4.6, I think it is just 
matter
of testcase showing that the fix is needed for 4.6, too (i.e. arrange function A
to be inlined to B that passes through callback but use different formal ID to 
do so.)

Honza


[libstdc++] Adjust FAQ link in libsupc++/cxxabi.h

2011-04-24 Thread Gerald Pfeifer
On the way, add a blank after the URL so that it's easier to copy and
paste or just click in an editor or somesuch.

Installed on mainline.  Not necessary on older branches since there is
a redirect in place.

Gerald


2011-04-24  Gerald Pfeifer  

* libsupc++/cxxabi.h: Adjust link to FAQ entry.
 
Index: libsupc++/cxxabi.h
===
--- libsupc++/cxxabi.h  (revision 172621)
+++ libsupc++/cxxabi.h  (working copy)
@@ -583,7 +583,7 @@
  *
  *  A brief overview of an ABI is given in the libstdc++ FAQ, question
  *  5.8 (you may have a copy of the FAQ locally, or you can view the online
- *  version at http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#5_8).
+ *  version at http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#5_8 ).
  *
  *  GCC subscribes to a cross-vendor ABI for C++, sometimes
  *  called the IA64 ABI because it happens to be the native ABI for that


[libstdc++, doc] Fix link to libgomp online documentation

2011-04-24 Thread Gerald Pfeifer
Installed.

Gerald


2011-04-24  Gerald Pfeifer  
 
* doc/xml/manual/parallel_mode.xml: Fix link to libgomp online
documentation.  Expand link text.

Index: doc/xml/manual/parallel_mode.xml
===
--- doc/xml/manual/parallel_mode.xml(revision 172914)
+++ doc/xml/manual/parallel_mode.xml(working copy)
@@ -109,8 +109,8 @@
   and runtime support, in particular support for OpenMP. Adding this support is
   not difficult: just compile your application with the compiler
   flag -fopenmp. This will link
-  in libgomp, the GNU
-  OpenMP http://www.w3.org/1999/xlink"; 
xlink:href="http://gcc.gnu.org/onlinedocs/libgomp";>implementation,
+  in libgomp, the
+  OpenMP http://www.w3.org/1999/xlink"; 
xlink:href="http://gcc.gnu.org/onlinedocs/libgomp/";>GNU implementation,
   whose presence is mandatory.
 
 


[wwwdocs] projects/tree-ssa/lno.html link fix

2011-04-24 Thread Gerald Pfeifer
The link to WRap-IT here was broken and I did not find a replacement,
thus avoiding the link altogether.

Installed.

Gerald

Index: lno.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/projects/tree-ssa/lno.html,v
retrieving revision 1.5
diff -u -r1.5 lno.html
--- lno.html9 Jun 2004 17:33:26 -   1.5
+++ lno.html22 Apr 2011 22:33:44 -
@@ -46,8 +46,8 @@
 described in these
 http://icps.u-strasbg.fr/pco/locality.htm";>papers.
 A more general framework for loop nests transformations has been 
-proposed using the same high level polyhedral representation: 
-http://www.lri.fr/~girbal/site_wrapit/";>WRaP-IT.
+proposed using the same high level polyhedral representation in
+the WRaP-IT project.
 
 
 


[wwwdocs] Adjust a couple of Ada-related links in readings.html

2011-04-24 Thread Gerald Pfeifer
Installed.

Gerald

Index: readings.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/readings.html,v
retrieving revision 1.213
diff -u -r1.213 readings.html
--- readings.html   23 Apr 2011 22:55:53 -  1.213
+++ readings.html   24 Apr 2011 09:01:06 -
@@ -521,15 +521,15 @@

  http://www.ada-auth.org/ais.html";>Ada Issues

-   http://www.adaic.com/standards/";>List of Ada standards (Ada
-   Information Clearinghouse):
+   http://www.adaic.org/ada-resources/standards/";>List of
+ Ada standards (Ada Information Clearinghouse):

- http://www.adaic.com/standards/05aarm/html/AA-TTL.html";>
- Annotated Ada 2005 Reference Manual
- http://www.adaic.com/standards/05rm/html/RM-TTL.html";>
- Ada 2005 Reference Manual
- http://www.adaic.com/standards/05rat/html/Rat-TTL.html";>
- Ada 2005 Rationale
+ http://www.adaic.org/resources/add_content/standards/05aarm/html/AA-TTL.html";>Annotated
+   Ada 2005 Reference Manual
+ http://www.adaic.org/resources/add_content/standards/05rm/html/RM-TTL.html";>Ada 2005
+   Reference Manual
+ http://www.adaic.org/resources/add_content/standards/05rat/html/Rat-TTL.html";>Ada 2005
+   Rationale
  http://www.adaic.com/standards/95aarm/html/AA-TTL.html";>
  Annotated Ada 95 Reference Manual
  http://www.adaic.com/standards/95lrm/html/RM-TTL.html";>


[wwwdocs] Update bug reporting instructions

2011-04-24 Thread Gerald Pfeifer
Ask for bugs to be reproduced with a current release.  Suggest use
of -Wextra in addition to -Wall.

Installed.

Gerald

Index: bugs/index.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/bugs/index.html,v
retrieving revision 1.106
diff -u -r1.106 index.html
--- bugs/index.html 18 Oct 2010 09:42:35 -  1.106
+++ bugs/index.html 24 Apr 2011 09:49:35 -
@@ -49,12 +49,10 @@
 
 Before you report a bug, please check the 
 list of well-known bugs and, if possible,
-try a current development snapshot.
-If you want to report a bug with versions of GCC before 3.4 we strongly
-recommend upgrading to the current release first.
+try a current release or development snapshot.
 
 Before reporting that GCC compiles your code incorrectly, please
-compile it with gcc -Wall and see whether this shows
+compile it with gcc -Wall -Wextra and see whether this shows
 anything wrong with your code that could be the cause instead of a bug
 in GCC.
 


Re: [PATCH] Properly build integer constants

2011-04-24 Thread H.J. Lu
On Fri, Apr 22, 2011 at 12:27 PM, Richard Guenther  wrote:
>
> There is a scary comment before build_int_cst_type why build_int_cst
> can't be sane.  Fortunately it is not true.  If it were there would
> be other code to be fixed.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
>
> Richard.
>
> 2011-04-22  Richard Guenther  
>
>        * tree.c (build_int_cst): Properly create canonicalized integer
>        constants.
>        (build_int_cst_type): Remove scary comments.
>

This caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48753

-- 
H.J.


[x32] PATCH: Require ia32 instead of ilp32

2011-04-24 Thread H.J. Lu
Hi,

I checked in this patch to require ia32 instead of ilp32 on ia32 tests.


H.J.

commit 7412d91e93cf1a153f500101ba53c7ab2f7cdc96
Author: H.J. Lu 
Date:   Sat Apr 16 07:45:26 2011 -0700

Require ia32 instead of ilp32.

diff --git a/gcc/testsuite/ChangeLog.x32 b/gcc/testsuite/ChangeLog.x32
index 468594d..11cca91 100644
--- a/gcc/testsuite/ChangeLog.x32
+++ b/gcc/testsuite/ChangeLog.x32
@@ -1,3 +1,9 @@
+2011-04-16  H.J. Lu  
+
+   * gcc.target/i386/avx-vinsertps-3.c: Require ia32 instead of
+   ilp32.
+   * gcc.target/i386/sse4_1-insertps-3.c: Likewise.
+
 2011-04-09  H.J. Lu  
 
* gcc.target/i386/pr48389.c: Require ia32 instead of ilp32.
diff --git a/gcc/testsuite/gcc.target/i386/avx-vinsertps-3.c 
b/gcc/testsuite/gcc.target/i386/avx-vinsertps-3.c
index 9397729..515ee41 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vinsertps-3.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vinsertps-3.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target ilp32 } } */
+/* { dg-do run { target ia32 } } */
 /* { dg-require-effective-target avx } */
 /* { dg-options "-O2 -mfpmath=sse -mavx -mtune=geode" } */
 
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-insertps-3.c 
b/gcc/testsuite/gcc.target/i386/sse4_1-insertps-3.c
index 75a8073..7c71664 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-insertps-3.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-insertps-3.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target ilp32 } } */
+/* { dg-do run { target ia32 } } */
 /* { dg-require-effective-target sse4 } */
 /* { dg-options "-O2 -msse4.1 -mtune=geode" } */
 


PR target/43804

2011-04-24 Thread Andreas Schwab
I have checked in Richard's patch for PR43804.

Andreas.

2011-04-24  Richard Sandiford  

PR target/43804
* config/m68k/constraints.md (T): Allow PIC operands that satisfy
LEGITIMATE_PIC_OPERAND_P.

Index: gcc/config/m68k/constraints.md
===
--- gcc/config/m68k/constraints.md  (revision 172919)
+++ gcc/config/m68k/constraints.md  (working copy)
@@ -94,7 +94,8 @@
 (define_constraint "T"
   "Used for operands that satisfy 's' when -mpcrel is not in effect."
   (and (match_code "symbol_ref,label_ref,const")
-   (match_test "!flag_pic")))
+   (match_test "!TARGET_PCREL")
+   (match_test "!flag_pic || LEGITIMATE_PIC_OPERAND_P (op)")))
 
 (define_memory_constraint "Q"
   "Means address register indirect addressing mode."

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


[patch, libgfortran] Fix numerous formatting bugs

2011-04-24 Thread Jerry DeLisle

Hi folks,

This patch is a little intrusive and because of the interplay between the 
different bugs, I wanted to combine the solution. Thanks to Thomas Henlich for 
reporting these bugs and testing.


This patch fixes 48488, 48602 (partially), 48615, and 48684. The adjustments 
made require changing several test cases in the testsuite. You may review the 
patch to see thos adjustments and what is being done.


The final solution to 48602 I want to do as a second phase to this. The second 
phase will attempt to avoid floating point comparisons which are sensitive to 
optimizations and or printf behavior.


Regression tested on x86-64. I do have some concern that the test cases modified 
may have issues on other platforms because we have increased the default 
precision on some reals.  If this happens we should be able to adjust test cases 
by not using default formatting. The Change Log summarizes. One new test case is 
added.


OK for trunk?

Regards,

Jerry

2011-04-24  Jerry DeLisle  

PR libgfortran/48488
PR libgfortran/48602
PR libgfortran/48615
PR libgfortran/48684
* io/write.c (set_fnode_default): Adjust default widths to assure
round trip on write and read.
* io/write_float.def (output_float_FMT_G_): Use volatile rather than
asm volatile to avoid optimization issue. Correctly calculate the
number of blanks (nb) to be appended and simplify calculation logic.
(write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
default widths. Eliminate the code that attempted to reduce the
the precision used in later sprintf functions.
Index: gcc/testsuite/gfortran.dg/fmt_g.f
===
--- gcc/testsuite/gfortran.dg/fmt_g.f	(revision 172909)
+++ gcc/testsuite/gfortran.dg/fmt_g.f	(working copy)
@@ -31,13 +31,13 @@
WRITE(buffer,"(G12.5E5,'<')") -1.
if (buffer.ne."<") call abort
WRITE(buffer,"(G13.5E5,'<')") -1.
-   if (buffer.ne."-1.  <") call abort
+   if (buffer.ne."*<") call abort
WRITE(buffer,"(G14.5E5,'<')") -1.
-   if (buffer.ne." -1.  <") call abort
+   if (buffer.ne."-1.   <") call abort
WRITE(buffer,"(G15.5E5,'<')") -1.
-   if (buffer.ne."  -1.  <") call abort
+   if (buffer.ne." -1.   <") call abort
WRITE(buffer,"(G16.5E5,'<')") -1.
-   if (buffer.ne."   -1.  <") call abort
+   if (buffer.ne."  -1.   <") call abort
 
STOP
END
Index: gcc/testsuite/gfortran.dg/fmt_g0_1.f08
===
--- gcc/testsuite/gfortran.dg/fmt_g0_1.f08	(revision 172909)
+++ gcc/testsuite/gfortran.dg/fmt_g0_1.f08	(working copy)
@@ -2,19 +2,19 @@
 ! PR36420 Fortran 2008: g0 edit descriptor 
 ! Test case provided by Jerry DeLisle 
 character(25) :: string = "(g0,g0,g0)" 
-character(33) :: buffer
+character(50) :: buffer
 write(buffer, '(g0,g0,g0)') ':',12340,':'
 if (buffer.ne.":12340:") call abort
 write(buffer, string) ':',0,':'
 if (buffer.ne.":0:") call abort
-write(buffer, string) ':',1.0/3.0,':'
-if (buffer.ne.":.3334:") call abort
-write(buffer, '(1x,a,g0,a)') ':',1.0/3.0,':'
-if (buffer.ne." :.3334:") call abort
+write(buffer, string) ':',1.0_8/3.0_8,':'
+if (buffer.ne.":.1:") call abort
+write(buffer, '(1x,a,g0,a)') ':',1.0_8/3.0_8,':'
+if (buffer.ne." :.1:") call abort
 write(buffer, string) ':',"hello",':'
-if (buffer.ne.":hello:") call abort
+if (buffer.ne.":hello:") call abort 
 write(buffer, "(g0,g0,g0,g0)") ':',.true.,.false.,':'
 if (buffer.ne.":TF:") call abort
-write(buffer, "(g0,g0,',',g0,g0)") '(',( 1.2345, 2.4567 ),')'
-if (buffer.ne."(1.2345001,2.4567001)") call abort
+write(buffer, "(g0,g0,',',g0,g0)") '(',( 1.2345_8, 2.4567_8 ),')'
+if (buffer.ne."(1.2344,2.45670001)") call abort
 end
Index: gcc/testsuite/gfortran.dg/round_3.f08
===
--- gcc/testsuite/gfortran.dg/round_3.f08	(revision 0)
+++ gcc/testsuite/gfortran.dg/round_3.f08	(revision 0)
@@ -0,0 +1,75 @@
+! { dg-do run }
+! PR48615 Invalid UP/DOWN rounding with E and ES descriptors
+! Test case provided by Thomas Henlich.
+program pr48615
+call checkfmt("(RU,F17.0)", 2.5, "   3.")
+call checkfmt("(RU,-1P,F17.1)", 2.5, "  0.3")
+call checkfmt("(RU,E17.1)", 2.5, "  0.3E+01") ! 0.2E+01
+call checkfmt("(RU,1P,E17.0)", 2.5,  "   3.E+00")
+call checkfmt("(RU,ES17.0)", 2.5,"   3.E+00") ! 2.E+00
+call checkfmt("(RU,EN17.0)", 2.5,"   3.E+00")
+
+call checkfmt("(RD,F17.0)", 2.5, "   2.")
+call checkfmt("(RD,-1P,F17.1)", 2.5,

[wwwdocs] Make status section of the title page more concise

2011-04-24 Thread Gerald Pfeifer
This removes "Older maintained release series" and the like which
were emphasized, even, in favor of focusing on the version numbers.

Overall this means we have less text on the main page, but basically
the same contents.

Gerald

Index: gcc.css
===
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc.css,v
retrieving revision 1.17
diff -u -r1.17 gcc.css
--- gcc.css 10 Apr 2011 21:51:47 -  1.17
+++ gcc.css 24 Apr 2011 19:35:45 -
@@ -19,6 +19,7 @@
 dl.news dd   { margin-left:3ex; }
 
 dl.status{ margin-top:0; }
+dl.status .version { font-weight:bold; }
 dl.status dd { margin-left:3ex; }
 
 .td_title {
Index: index.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v
retrieving revision 1.793
retrieving revision 1.795
diff -u -r1.793 -r1.795
--- index.html  21 Apr 2011 09:32:37 -  1.793
+++ index.html  24 Apr 2011 19:39:39 -  1.795
@@ -102,12 +102,11 @@
 
 
 
-Status
+Release Series and Status
 
 
 
-Current release series:
-  GCC 4.6.0
+GCC 4.6.0
   (changes)
 
   Status:
@@ -124,8 +123,7 @@
   regressions.
 
 
-Previous release series:
-  GCC 4.5.2
+GCC 4.5.2
   (changes)
 
   Status:
@@ -142,8 +140,7 @@
   regressions.
 
 
-Older maintained release series:
-  GCC 4.4.6
+GCC 4.4.6
   (changes)
 
   Status:
@@ -160,9 +157,9 @@
   regressions.
 
 
- Oldest maintained release series:
-   GCC 4.3.5
- 
+GCC 4.3.5
+  (oldest maintained release series)
+
Status:
http://gcc.gnu.org/ml/gcc/2010-05/msg00435.html";>2010-05-22
(regression fixes and docs only).
@@ -175,7 +172,7 @@
regressions.
  
 
-Active development:
+Active development:
   GCC 4.7.0 (changes)
 
   Status:


Re: [PATCH] FIx PR47647, revert an earlier patch

2011-04-24 Thread H.J. Lu
On Sat, Feb 19, 2011 at 4:52 PM, H.J. Lu  wrote:
> On Fri, Feb 18, 2011 at 8:19 AM, Richard Guenther  wrote:
>>
>> This reverts lazy BLOCK_VARS streaming as I thought back in time
>> that VAR_DECLs have BLOCKs as DECL_CONTEXT while they have
>> FUNCTION_DECLs ... so the patch doesn't work at all and instead
>> causes us to not stream in any BLOCKs, resulting in no local
>> decls at all in debug info.  Not good.
>>
>> Fixed with the following which also makes latent guality issues
>> re-appear - they were hidden by
>>
>> pr41353-1.gdb:3: Error in sourced command file:^M
>> No symbol "vari2" in current context.^M
>> UNSUPPORTED: gcc.dg/guality/pr41353-1.c  -O2 -flto -flto-partition=none
>> line 17 vari2 == 3 * 17
>>
>> where "No symbol "vari2" in current context" isn't treated the
>> same as "" ...
>>
>> I have filed bugs for some LTO debug info issues I noticed.
>>
>> Bootstrapped and tested on x86_64-unknown-linux-gnu, ok?
>>
>> Thanks,
>> Richard.
>>
>> 2011-02-18  Richard Guenther  
>>
>>        PR lto/47647
>>        * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
>>        Remove lazy BLOCK_VARS streaming.
>>        (lto_input_ts_block_tree_pointers): Likewise.
>>        * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
>>
>
> This may have caused:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47820
>

This also caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48354


-- 
H.J.


[gcc patch] Move ENUM_BITFIELD to ansidecl.h

2011-04-24 Thread Jan Kratochvil
Hi,

[patch] ENUM_BITFIELD broke GDB
http://sourceware.org/ml/binutils/2011-04/msg00333.html

ENUM_BITFIELD has been now defined in bfdlink.h which is included only in some
GDB sources.  There would be needed some
#ifndef ENUM_BITFIELD
#define ENUM_BITFIELD
but I find it fragile.

Is approved its unification into ansidecl.h across gcc/binutils/gdb?

GCC still builds with the patch.


Thanks,
Jan


include/
2011-04-25  Jan Kratochvil  

* ansidecl.h (ENUM_BITFIELD): New, from gcc/system.h.

contrib/
2011-04-25  Jan Kratochvil  

* paranoia.cc (ENUM_BITFIELD): Remove.

gcc/
2011-04-25  Jan Kratochvil  

* system.h (ENUM_BITFIELD): Remove.

libcpp/
2011-04-25  Jan Kratochvil  

* system.h (ENUM_BITFIELD): Remove.

^^^ gcc approval
--

for binutils part:
include/
2011-04-25  Jan Kratochvil  

* bfdlink.h (ENUM_BITFIELD): Remove.

gdb/
2011-04-25  Jan Kratochvil  

* defs.h (ENUM_BITFIELD): Remove.

--- include/ansidecl.h  (revision 172929)
+++ include/ansidecl.h  (working copy)
@@ -416,6 +416,15 @@ So instead we use the macro below and te
 #define EXPORTED_CONST const
 #endif
 
+/* Be conservative and only use enum bitfields with GCC.
+   FIXME: provide a complete autoconf test for buggy enum bitfields.  */
+
+#if (GCC_VERSION > 2000)
+#define ENUM_BITFIELD(TYPE) __extension__ enum TYPE
+#else
+#define ENUM_BITFIELD(TYPE) unsigned int
+#endif
+
 #ifdef __cplusplus
 }
 #endif
--- contrib/paranoia.cc (revision 172929)
+++ contrib/paranoia.cc (working copy)
@@ -169,7 +169,6 @@ lines
 };
 #undef DEFTREECODE
 
-#define ENUM_BITFIELD(X) enum X
 #define class klass
 
 #include "real.h"
--- gcc/system.h(revision 172929)
+++ gcc/system.h(working copy)
@@ -598,15 +598,6 @@ extern int vsnprintf(char *, size_t, con
 #define HOST_BIT_BUCKET "/dev/null"
 #endif
 
-/* Be conservative and only use enum bitfields with GCC.
-   FIXME: provide a complete autoconf test for buggy enum bitfields.  */
-
-#if (GCC_VERSION > 2000)
-#define ENUM_BITFIELD(TYPE) __extension__ enum TYPE
-#else
-#define ENUM_BITFIELD(TYPE) unsigned int
-#endif
-
 #ifndef offsetof
 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
 #endif
--- libcpp/system.h (revision 172929)
+++ libcpp/system.h (working copy)
@@ -357,15 +357,6 @@ extern void abort (void);
|| (__STDC_VERSION__ >= 199901L))
 #endif
 
-/* Be conservative and only use enum bitfields with GCC.
-   FIXME: provide a complete autoconf test for buggy enum bitfields.  */
-
-#if (GCC_VERSION > 2000)
-#define ENUM_BITFIELD(TYPE) __extension__ enum TYPE
-#else
-#define ENUM_BITFIELD(TYPE) unsigned int
-#endif
-
 #ifndef offsetof
 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
 #endif
--- include/bfdlink.h
+++ include/bfdlink.h
@@ -24,12 +24,6 @@
 #ifndef BFDLINK_H
 #define BFDLINK_H
 
-#if (__GNUC__ * 1000 + __GNUC_MINOR__ > 2000)
-#define ENUM_BITFIELD(TYPE) __extension__ enum TYPE
-#else
-#define ENUM_BITFIELD(TYPE) unsigned int
-#endif
-
 /* Which symbols to strip during a link.  */
 enum bfd_link_strip
 {
--- gdb/defs.h
+++ gdb/defs.h
@@ -271,15 +271,6 @@ struct cleanup
 void *arg;
   };
 
-/* Be conservative and use enum bitfields only with GCC.
-   This is copied from gcc 3.3.1, system.h.  */
-
-#if defined(__GNUC__) && (__GNUC__ >= 2)
-#define ENUM_BITFIELD(TYPE) enum TYPE
-#else
-#define ENUM_BITFIELD(TYPE) unsigned int
-#endif
-
 /* vec.h-style vectors of strings want a typedef for char * .  */
 
 typedef char * char_ptr;