Re: x32 psABI draft version 0.2

2011-02-21 Thread Jan Beulich
 On 18.02.11 at 18:53, H.J. Lu hjl.to...@gmail.com wrote:
 How about only allowing REL relocations in executables and DSOes?

That'd be at least part of it, but I'd still prefer not forbidding them
altogether, but also not requiring an implementation to support
them (just to repeat it - in a long abandoned new OS of ours we
had ignored the forbidding, and allowed REL in relocatable objects
[which were the only objects used there, the loadable ones
distinguished from normal ones by the presence of some OS-
specific data structures], with the static linker picking the type
depending on the module's needs).

Jan



Triplet for ARM Linux HardFP ABI, again

2011-02-21 Thread Guillem Jover
Hi!

This was already discussed in this list some time ago [0]. But it came
up again when restarting the discussion for the proposed new armhf port
for Debian.

  [0] http://gcc.gnu.org/ml/gcc/2010-07/msg00179.html

My arguments for why a distinct triplet is needed can be found in [1],
it's a big long though. Most of the points there revolve around the
fact that we rely on the toolchains as configured by _default_ to
produce the expected output targetting a concrete architecture, it
also has implications for the file system paths.

  [1] http://lists.debian.org/debian-dpkg/2011/02/msg00039.html

It seems from reading the past discussion on this list that the main
objection was that the triplet should not be used to decide what
floating point ABI to use in gcc. No problem with that!

So, given the arguments put forward in [1], which I think are quite
compelling (but then I guess I'm obviously biased), I was wondering
if you'd consider accepting something ressembling the attached patch
(completely untested, though), which would seem like a compromise we
all might be able to live with, and which would allows us to use a
unique triplet, w/o needing to abuse the vendor field, while gcc would
not need to do anything based on that, our Debian gcc packaging
would choose the floating point ABI depending on the target Debian
architecture, in the same way we do other ABI selections independently
from the triplet.

thanks,
guillem
diff --git a/configure b/configure
index 501c6ff..0bdf69a 100755
--- a/configure
+++ b/configure
@@ -3236,7 +3236,7 @@ case ${target} in
 noconfigdirs=$noconfigdirs target-libffi target-qthreads
 libgloss_dir=arm
 ;;
-  arm*-*-linux-gnueabi)
+  arm*-*-linux-gnueabi*)
 noconfigdirs=$noconfigdirs target-qthreads
 case ${with_newlib} in
   no) noconfigdirs=$noconfigdirs target-newlib target-libgloss
diff --git a/configure.ac b/configure.ac
index 9121d65..89514f5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -682,7 +682,7 @@ case ${target} in
 noconfigdirs=$noconfigdirs target-libffi target-qthreads
 libgloss_dir=arm
 ;;
-  arm*-*-linux-gnueabi)
+  arm*-*-linux-gnueabi*)
 noconfigdirs=$noconfigdirs target-qthreads
 case ${with_newlib} in
   no) noconfigdirs=$noconfigdirs target-newlib target-libgloss
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index b64ba55..642b317 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -1841,7 +1841,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),)
   LIBRARY_VERSION := $(LIB_VERSION)
 endif
 
-ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ,)
+ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(arch) $(osys)-$(word 4,$(targ,)
   LIBGNAT_TARGET_PAIRS = \
   a-intnam.adsa-intnam-linux.ads \
   s-inmaop.adbs-inmaop-posix.adb \
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 54b822e..1a47343 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -820,13 +820,13 @@ arm*-*-linux*)			# ARM GNU/Linux with ELF
 	esac
 	tmake_file=${tmake_file} t-linux arm/t-arm
 	case ${target} in
-	arm*-*-linux-*eabi)
+	arm*-*-linux-*eabi*)
 	tm_file=$tm_file arm/bpabi.h arm/linux-eabi.h
 	tm_file=$tm_file ../../libgcc/config/arm/bpabi-lib.h
 	tmake_file=$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc
 	# Define multilib configuration for arm-linux-androideabi.
 	case ${target} in
-	*-androideabi)
+	*-androideabi*)
 		tmake_file=$tmake_file arm/t-linux-androideabi
 		;;
 	esac
@@ -848,7 +848,7 @@ arm*-*-uclinux*)		# ARM ucLinux
 	tm_file=dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h
 	tmake_file=arm/t-arm arm/t-arm-elf
 	case ${target} in
-	arm*-*-uclinux*eabi)
+	arm*-*-uclinux*eabi*)
 	tm_file=$tm_file arm/bpabi.h arm/uclinux-eabi.h
 	tm_file=$tm_file ../../libgcc/config/arm/bpabi-lib.h
 	tmake_file=$tmake_file arm/t-bpabi
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 02cb7ac..fbd5e78 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -3219,7 +3219,7 @@ proc check_effective_target_sync_int_long { } {
 	 || [istarget i?86-*-*]
 	 || [istarget x86_64-*-*]
 	 || [istarget alpha*-*-*] 
-	 || [istarget arm*-*-linux-gnueabi] 
+	 || [istarget arm*-*-linux-gnueabi*]
 	 || [istarget bfin*-*linux*]
 	 || [istarget hppa*-*linux*]
 	 || [istarget s390*-*-*] 
@@ -3250,7 +3250,7 @@ proc check_effective_target_sync_char_short { } {
 	 || [istarget i?86-*-*]
 	 || [istarget x86_64-*-*]
 	 || [istarget alpha*-*-*] 
-	 || [istarget arm*-*-linux-gnueabi] 
+	 || [istarget arm*-*-linux-gnueabi*]
 	 || [istarget hppa*-*linux*]
 	 || [istarget s390*-*-*] 
 	 || [istarget powerpc*-*-*]
diff --git a/libjava/configure b/libjava/configure
index f79e53b..2084c68 

Re: Parma Polyhedra Library 0.11.1

2011-02-21 Thread Roberto Bagnara

On 02/21/2011 04:42 AM, Jack Howarth wrote:

On Sun, Feb 20, 2011 at 06:32:30PM +0100, Prof. Roberto Bagnara wrote:


We announce the availability of PPL 0.11.1, a new release of the Parma
Polyhedra Library.  This release includes several important bug fixes
and performance improvements.


Roberto,
Have you had any reports of installation problems?


Hi Jack.

No, your report was the first one.


After installing
doxygen, texlive for pdflatex and graphviz for dot, I am still running into
installation failures for the documentation. These currently appear as...

Writing index file refman.idx
No file refman.aux.
(/sw/share/texmf-dist/tex/latex/base/ts1cmr.fd)
(/sw/share/texmf-dist/tex/latex/psnfss/t1ptm.fd)
(/sw/share/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/sw/share/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
(/sw/share/texmf-dist/tex/latex/oberdiek/grfext.sty)
(/sw/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
(/sw/share/texmf-dist/tex/latex/graphics/color.sty
(/sw/share/texmf-dist/tex/latex/latexconfig/color.cfg))
(/sw/share/texmf-dist/tex/latex/hyperref/nameref.sty
(/sw/share/texmf-dist/tex/latex/oberdiek/refcount.sty)
(/sw/share/texmf-dist/tex/generic/oberdiek/gettitlestring.sty))
(/sw/share/texmf-dist/tex/latex/amsfonts/umsa.fd)
(/sw/share/texmf-dist/tex/latex/amsfonts/umsb.fd)
(/sw/share/texmf-dist/tex/latex/stmaryrd/Ustmry.fd) [1{/sw/var/lib/texmf/fonts/
map/pdftex/updmap/pdftex.map}] (/sw/share/texmf-dist/tex/latex/psnfss/ts1ptm.fd
) (/sw/share/texmf-dist/tex/latex/psnfss/t1pcr.fd) (./main.texpdfTeX warning (e
xt4): destination with the same identifier (name{page.1}) has been already used
, duplicate ignored
to be read again
\relax
l.17 ...ry.Parma\_\-Polyhedra\_\-Library}};\item S
   tarting from version 0.11,...
[1]
Underfull \hbox (badness 1337) in paragraph at lines 26--26
[]\T1/ptm/m/n/10 boxes which con-sist of Int8_-Box, Int16_-Box, Int32_-Box, Int
64_-Box, Uint8_-Box,


Hmmm... this is very strange.  I would like to reproduce the issue:
which version of Doxygen are you using?


) (/sw/src/fink.build/ppl9-0.11.1-0/ppl-0.11.1/build/../doc/GPL.tex

! LaTeX Error: Can be used only in preamble.

See the LaTeX manual or LaTeX Companion for explanation.
Type  Hreturn   for immediate help.
  ...

l.1 \documentclass
   [a4paper,12pt]{article}
?


This is even stranger: the file name should be `gpl.tex', not `GPL.tex'
Can you please double check in the `doc' subdirectory?
Cheers,

   Roberto

--
Prof. Roberto Bagnara CEO  CTO
Applied Formal Methods Laboratory BUGSENG srl
Department of Mathematics Parco Area delle Scienze 53/A
University of Parma, ItalyI-43124 Parma, Italy
http://www.cs.unipr.it/~bagnara/  http://bugseng.com/
mailto:bagn...@cs.unipr.itmailto:roberto.bagn...@bugseng.com


Release 0.9 of mpc

2011-02-21 Thread Andreas Enge
The mpc development team is pleased to announce the release 0.9 of the
library, Epilobium montanum. For more information, please see
   http://mpc.multiprecision.org/ .

Andreas


Pretty ipa branch reopened

2011-02-21 Thread Jan Hubicka
Hi,
I've copied mainline to pretty-ipa branch killing all the changes that was left 
unmerged there.
I intend to use it for IPA and LTO related development to be merged at next 
stage1, immediately
for the inliner related cleanups we seems to be cummulating at the mainling 
list.

I would like the patches to be in form submittable for mainline at stage1, but 
I expect merging
to happen by parts (even when it will make sense to merge i.e. all ipa-inline 
changes at once
if tested correctly).

Richi, please commit the cleanup changes, but wait after frescobaldi picks 
current tree for testing.

Old version of branch should be now in old-pretty-ipa for reference, but there 
is not much useful left.

Honza


Re: Find a new maintainer for option handling?

2011-02-21 Thread Jie Zhang
Hi,

Any news about this?

Regards,
Jie

On Tue, Jan 25, 2011 at 2:34 AM, Joseph S. Myers
jos...@codesourcery.com wrote:
 On Mon, 17 Jan 2011, Gerald Pfeifer wrote:

 On Wed, 12 Jan 2011, Jie Zhang wrote:
  I agree. I think Joseph is the best candidate for the maintainer of the
  option handling since he made the most changes of gcc/opts-common.c. He
  is already the maintainer of the driver. If we unify these two
  maintainerships, we save one line of MAINTAINERS. :-)

 I am not so much concerned about that one line in MAINTAINERS, more
 finding someone who is willing to take on the role.  I, too, think
 Joseph would be a great candidate, but it's his call whether he wants
 to. ;-)  (I'll be happy to raise it on the SC in case.)

 I am willing to be considered for option handling maintainership or
 reviewership.

 --
 Joseph S. Myers
 jos...@codesourcery.com



Re: Find a new maintainer for option handling?

2011-02-21 Thread Jie Zhang
Sorry, I just noticed that Joseph has been listed as the maintainer of 
option handling.


Jie

On 02/21/2011 11:56 PM, Jie Zhang wrote:

Hi,

Any news about this?

Regards,
Jie

On Tue, Jan 25, 2011 at 2:34 AM, Joseph S. Myers
jos...@codesourcery.com  wrote:

On Mon, 17 Jan 2011, Gerald Pfeifer wrote:


On Wed, 12 Jan 2011, Jie Zhang wrote:

I agree. I think Joseph is the best candidate for the maintainer of the
option handling since he made the most changes of gcc/opts-common.c. He
is already the maintainer of the driver. If we unify these two
maintainerships, we save one line of MAINTAINERS. :-)


I am not so much concerned about that one line in MAINTAINERS, more
finding someone who is willing to take on the role.  I, too, think
Joseph would be a great candidate, but it's his call whether he wants
to. ;-)  (I'll be happy to raise it on the SC in case.)


I am willing to be considered for option handling maintainership or
reviewership.

--
Joseph S. Myers
jos...@codesourcery.com




--
Jie Zhang



Re: AIX vs long double

2011-02-21 Thread Michael Haubenwallner

On 01/-10/-28163 08:59 PM, David Edelsohn wrote:
 AIX provides two versions of long double and declares all of the C99
 long double symbols in math.h header file.  One implementation aliases
 long double to IEEE double precision type and the other implementation
 aliases long double to IBM's paired double format.  All of the C99
 symbols for IEEE double precision are implemented in libm, but not all
 of the C99 symbols for the IBM long double format are implemented.
 
 IBM's proprietary XL compiler (cc, xlc) defaults to IEEE double
 precision and provides a special invocation to default to IBM long
 double (cc128, xlc128).
 
 GNU/Linux and GCC on GNU/Linux default to IEEE quad precision long double.

Just to make sure I got the type names for the different bitwidths right:
IEEE double precision: 64bit
IEEE quad precision:  128bit
IBM's paired double:  128bit, identical to IEEE quad precision?

 Because the long double choice is an ABI change, GCC on AIX switched
 to GNU/Linux compatibility with support for AIX 6.1, before the
 incomplete implementation was noticed.  This mostly worked until

Well, even that change still is incomplete within gcc, as it should link
against libc128 before libc, because even printf(%Lf) is broken right
now when not explicitly adding '-lc128' to the linkline.

Reading bug [target/19115], the reason for that switch seems not to have
been Linux compatibility at all, but AIX libc providing 128bit math functions
frexpl, ldexpl and modfl before they went into C99 standard, and including
math.h might have been missing somewhere within libstdc++ to get their
correct implementation for the selected long double bitwidth.

 libgfortran started using additional C99 functions, causing GCC
 Bugzilla
 
 [target/47032] libgfortran references complex long double functions
 missing on AIX
 
 libstdc++-v3 on AIX builds with AIX long double support,

IMO, long double bitwidth should be another multilib criterion on AIX,
selected by -mlong-double-64 and -mlong-double-128.

As there are a bunch of multilib criterions on AIX already:
Even on AIX 5.3 I get the impression that there is no need for pthread
being a multilib criterion any more, as /usr/lib/threads/libc.a is a symlink
to /usr/ccs/lib/libc.a - but I may be wrong here wrt STARTFILE_SPEC.

 although user
 programs that try to access the missing functions (copysign,
 nextafter, etc.) will experience link-time failures.  libgfortran on
 AIX fails to build with AIX long double support because it accesses
 the missing functions in its implementation.
 
 I would like to solicit feedback about how to proceed: Should GCC on
 AIX revert back to 64 bit long double size, allowing all libraries to
 build and work, but breaking GCC/G++ ABI on AIX? Or should it continue
 to utilize 128 bit long double, building libstdc++-v3 that works if
 the user program does not utilize the missing symbols and fails to
 build libgfortran?

Please remember that even printf is broken on AIX 6.1 now. I doubt
people (know to) add '-lc128' when building with gcc on AIX 6.1 at all.

And not having the gcc-libraries with long-double-64 support available
prevents mixing gcc-built libraries with xlc-built libraries.

FWIW: For C++, AIX 6.1 math.h defines public inline functions to rename math
functions (except frexpl, ldexpl, modfl) to the __FFl128 variant. This does
not work with gcc when building with -O0, as they result in weak symbols, being
ignored at linktime due to static symbols from libm.a with original name and
using 64bit long double. This is reported to IBM and I got confirmation last
week that they're working on how to fix it.

Thank you!
/haubi/


Re: [Python-Dev] Bug in linking to gomp with python; causes crash in matplotlib.

2011-02-21 Thread Hoyt Koepke
 An associated bug report would be appreciated (mailing list
 discussions are useful for raising awareness, but are more likely to
 be forgotten over time than bug reports): http://bugs.python.org

Just did that; thanks!

-- Hoyt


+ Hoyt Koepke
+ University of Washington Department of Statistics
+ http://www.stat.washington.edu/~hoytak/
+ hoy...@gmail.com
++


Re: Triplet for ARM Linux HardFP ABI, again

2011-02-21 Thread Joseph S. Myers
On Mon, 21 Feb 2011, Guillem Jover wrote:

 if you'd consider accepting something ressembling the attached patch

A pre-existing condition, but in general where the code you're changing 
hardcodes gnu that's wrong - arm*-*-linux-uclibceabi is also meant to be 
valid.  So if you allow a suffix here, the general form to accept 
consistently would be arm*-*-linux-*eabi*.

-- 
Joseph S. Myers
jos...@codesourcery.com


x32 psABI draft version 0.3

2011-02-21 Thread H.J. Lu
On Mon, Feb 21, 2011 at 12:04 AM, Jan Beulich jbeul...@novell.com wrote:
 On 18.02.11 at 18:53, H.J. Lu hjl.to...@gmail.com wrote:
 How about only allowing REL relocations in executables and DSOes?

 That'd be at least part of it, but I'd still prefer not forbidding them
 altogether, but also not requiring an implementation to support
 them (just to repeat it - in a long abandoned new OS of ours we
 had ignored the forbidding, and allowed REL in relocatable objects
 [which were the only objects used there, the loadable ones
 distinguished from normal ones by the presence of some OS-
 specific data structures], with the static linker picking the type
 depending on the module's needs).


I updated x32 psABI draft to version 0.3 with

---
The AMD64 LP64 ABI architecture uses only Elf64_Rela relocation entries
with explicit addends. The r_addend member serves as the relocation
addend.

The AMD64 X32 ABI architecture uses only Elf32_Rela relocation entries
in relocatable files. Relocations contained within executable files or
shared objects
may use either Elf32_Rela relocation or Elf32_Rel relocation.
---

which is similar to ia64 psABI where rel relocations are only allowed within
executable files or shared objects.


H.J.


Re: RFC: A new MIPS64 ABI

2011-02-21 Thread Richard Sandiford
David Daney dda...@caviumnetworks.com writes:
 Background:

 Current MIPS 32-bit ABIs (both o32 and n32) are restricted to 2GB of
 user virtual memory space.  This is due the way MIPS32 memory space is
 segmented.  Only the range from 0..2^31-1 is available.  Pointer
 values are always sign extended.

 Because there are not already enough MIPS ABIs, I present the ...

 Proposal: A new ABI to support 4GB of address space with 32-bit
 pointers.

FWIW, I'd be happy to see this go into GCC.

Richard


http://gcc.gnu.org/onlinedocs/gcc-3.3.6/gcc/Min-and-Max.html

2011-02-21 Thread Robert Gezelter

Gentlemen,

The example of the C preprocessor implementation of MIN is erroneous:

 #define MIN(X,Y) ((X)  (Y) ? : (X) : (Y))

should read:

 #define MIN(X,Y) ((X)  (Y) ? (X) : (Y))

- Bob
+--+
| Robert Bob Gezelter   E-Mail:  gezel...@rlgsc.com  |
| Robert Gezelter Software Consultant Voice:   +1 (718) 463 1079   |
| 35-20 167th Street, Suite 215   Fax:   (on Request)  |
| Flushing, New York  11358-1731   |
| United States of Americahttp://www.rlgsc.com |
+--+


Re: testsuite question

2011-02-21 Thread Christian Grössler

On 19.02.11 23:01, Richard Guenther wrote:

On Sat, Feb 19, 2011 at 10:53 PM, Christian Grössler
ch...@groessler.org  wrote:


The failures come from the assembler which complains about the out of range
shift counts.

Should I disable them or is there any reason unknown to me that these tests
make sense?


You need to make sure that the tests only invoke undefined behavior
at runtime, thus emit valid assembly from your target description.


Thanks. So I can simply mask the shift count to be in the supported range,
or even generate a nops for the instructions, correct?

chris


Re: AIX vs long double

2011-02-21 Thread David Edelsohn
On Mon, Feb 21, 2011 at 12:50 PM, Michael Haubenwallner
michael.haubenwall...@salomon.at wrote:

 On 01/-10/-28163 08:59 PM, David Edelsohn wrote:
 AIX provides two versions of long double and declares all of the C99
 long double symbols in math.h header file.  One implementation aliases
 long double to IEEE double precision type and the other implementation
 aliases long double to IBM's paired double format.  All of the C99
 symbols for IEEE double precision are implemented in libm, but not all
 of the C99 symbols for the IBM long double format are implemented.

 IBM's proprietary XL compiler (cc, xlc) defaults to IEEE double
 precision and provides a special invocation to default to IBM long
 double (cc128, xlc128).

 GNU/Linux and GCC on GNU/Linux default to IEEE quad precision long double.

 Just to make sure I got the type names for the different bitwidths right:
 IEEE double precision: 64bit
 IEEE quad precision:  128bit
 IBM's paired double:  128bit, identical to IEEE quad precision?

Double precision and quad precision are colloquial names for floating
point formats defined by IEEE standard for floating point 754.  IBM's
128 bit format does not conform to the IEEE quad precision standard.
The IBM format is explained online in a few places and in the GCC
sources: it is the sum of two double precision numbers, providing
extended precision without extended exponent.

 IMO, long double bitwidth should be another multilib criterion on AIX,
 selected by -mlong-double-64 and -mlong-double-128.

 As there are a bunch of multilib criterions on AIX already:
 Even on AIX 5.3 I get the impression that there is no need for pthread
 being a multilib criterion any more, as /usr/lib/threads/libc.a is a symlink
 to /usr/ccs/lib/libc.a - but I may be wrong here wrt STARTFILE_SPEC.

AIX already has too many multilibs and multilibs on AIX already take a
tediously long time to build.  The AIX support for 128 bit long double
is incomplete, so adding a multilib gives the wrong impression.

Also, pthread on AIX is needed.  Unlike GNU/Linux, AIX does not
provide weak symbol definitions of pthread functions.  And AIX headers
behave differently based on the definition of REENTRANT.

- David


Re: http://gcc.gnu.org/onlinedocs/gcc-3.3.6/gcc/Min-and-Max.html

2011-02-21 Thread Jonathan Wakely
On 21 February 2011 20:57, Robert Gezelter wrote:
 Gentlemen,

 The example of the C preprocessor implementation of MIN is erroneous:

     #define MIN(X,Y) ((X)  (Y) ? : (X) : (Y))

 should read:

     #define MIN(X,Y) ((X)  (Y) ? (X) : (Y))

Thanks for the report, but I don't think anyone's going to fix
problems in 3.x manuals, 4.3 is the oldest maintained version.


Re: Parma Polyhedra Library 0.11.1

2011-02-21 Thread Jack Howarth
On Mon, Feb 21, 2011 at 12:10:03PM +0100, Roberto Bagnara wrote:
 On 02/21/2011 04:42 AM, Jack Howarth wrote:
 On Sun, Feb 20, 2011 at 06:32:30PM +0100, Prof. Roberto Bagnara wrote:

 We announce the availability of PPL 0.11.1, a new release of the Parma
 Polyhedra Library.  This release includes several important bug fixes
 and performance improvements.

 Roberto,
 Have you had any reports of installation problems?

 Hi Jack.

 No, your report was the first one.

Roberto,
   The problems seems to stem from the absence of pre-generated files for...

ppl-user-java-interface-0.11.1-html.tar.gz
ppl-user-java-interface-0.11.1.pdf
ppl-user-java-interface-0.11.1.ps.gz

in the doc directory of the source tarball. The fink ppl9 package builds
using --with-java=$JAVA_HOME so that those missing files are autogenerated
by make install. Can you post a new tarball with those missing files added?
Jack
ps Those missing files are present in the ppl-0.11 tarball.


 After installing
 doxygen, texlive for pdflatex and graphviz for dot, I am still running into
 installation failures for the documentation. These currently appear as...

 Writing index file refman.idx
 No file refman.aux.
 (/sw/share/texmf-dist/tex/latex/base/ts1cmr.fd)
 (/sw/share/texmf-dist/tex/latex/psnfss/t1ptm.fd)
 (/sw/share/texmf-dist/tex/context/base/supp-pdf.mkii
 [Loading MPS to PDF converter (version 2006.09.02).]
 ) (/sw/share/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
 (/sw/share/texmf-dist/tex/latex/oberdiek/grfext.sty)
 (/sw/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
 (/sw/share/texmf-dist/tex/latex/graphics/color.sty
 (/sw/share/texmf-dist/tex/latex/latexconfig/color.cfg))
 (/sw/share/texmf-dist/tex/latex/hyperref/nameref.sty
 (/sw/share/texmf-dist/tex/latex/oberdiek/refcount.sty)
 (/sw/share/texmf-dist/tex/generic/oberdiek/gettitlestring.sty))
 (/sw/share/texmf-dist/tex/latex/amsfonts/umsa.fd)
 (/sw/share/texmf-dist/tex/latex/amsfonts/umsb.fd)
 (/sw/share/texmf-dist/tex/latex/stmaryrd/Ustmry.fd) 
 [1{/sw/var/lib/texmf/fonts/
 map/pdftex/updmap/pdftex.map}] 
 (/sw/share/texmf-dist/tex/latex/psnfss/ts1ptm.fd
 ) (/sw/share/texmf-dist/tex/latex/psnfss/t1pcr.fd) (./main.texpdfTeX warning 
 (e
 xt4): destination with the same identifier (name{page.1}) has been already 
 used
 , duplicate ignored
 to be read again
 \relax
 l.17 ...ry.Parma\_\-Polyhedra\_\-Library}};\item S
tarting from version 
 0.11,...
 [1]
 Underfull \hbox (badness 1337) in paragraph at lines 26--26
 []\T1/ptm/m/n/10 boxes which con-sist of Int8_-Box, Int16_-Box, Int32_-Box, 
 Int
 64_-Box, Uint8_-Box,

 Hmmm... this is very strange.  I would like to reproduce the issue:
 which version of Doxygen are you using?

 ) (/sw/src/fink.build/ppl9-0.11.1-0/ppl-0.11.1/build/../doc/GPL.tex

 ! LaTeX Error: Can be used only in preamble.

 See the LaTeX manual or LaTeX Companion for explanation.
 Type  Hreturn   for immediate help.
   ...

 l.1 \documentclass
[a4paper,12pt]{article}
 ?

 This is even stranger: the file name should be `gpl.tex', not `GPL.tex'
 Can you please double check in the `doc' subdirectory?
 Cheers,

Roberto

 -- 
 Prof. Roberto Bagnara CEO  CTO
 Applied Formal Methods Laboratory BUGSENG srl
 Department of Mathematics Parco Area delle Scienze 53/A
 University of Parma, ItalyI-43124 Parma, Italy
 http://www.cs.unipr.it/~bagnara/  http://bugseng.com/
 mailto:bagn...@cs.unipr.itmailto:roberto.bagn...@bugseng.com


Graduate research - how GCC compiles PTHREAD Mutex routines into x86/Linux Kernel 2.6 assembler

2011-02-21 Thread Edmon Begoli
Hi,

My name is Edmon Begoli and I am a graduate student in computer science.

I am writing a graduate research paper on how are concurrent routines complied
in different languages. I want to start with a sort of a base case showing how
are Mutexes and thread initiation routines in C compiled by GCC into assembler.

I tried to look into a assembly and I did search for several days
forums and forums and manuals
but I could not find some simple example or a piece of a source code
that shows how may
piece of code like this:

http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003117100

be compiled into for example some basic version of Intel x86 assembler
on Linux 2.6 kernel.
Just a basic idea.

I am hoping that you could point me to a code, example or a tutorial
that shows how
is this done in GCC. I am looking for the most basic and
straightforward examples
and tutorial.

Thank you in advance,
Edmon Begoli


Re: Parma Polyhedra Library 0.11.1

2011-02-21 Thread Dongsheng Song
On Mon, Feb 21, 2011 at 01:32, Prof. Roberto Bagnara
bagn...@cs.unipr.it wrote:

 We announce the availability of PPL 0.11.1, a new release of the Parma
 Polyhedra Library.  This release includes several important bug fixes
 and performance improvements.

 The precise list of user-visible changes is available at

    http://www.cs.unipr.it/ppl/Download/ftp/releases/0.11.1/NEWS

 For more information, please come and visit the PPL web site at

    http://www.cs.unipr.it/ppl/

 On behalf of all the past and present developers listed at
 http://www.cs.unipr.it/ppl/Credits/ and in the file CREDITS,

 Abramo Bagnara  Roberto Bagnara  Patricia M. Hill  Enea Zaffanella

 --
 Prof. Roberto Bagnara                     CEO  CTO
 Applied Formal Methods Laboratory         BUGSENG srl
 Department of Mathematics                 Parco Area delle Scienze 53/A
 University of Parma, Italy                I-43124 Parma, Italy
 http://www.cs.unipr.it/~bagnara/          http://bugseng.com/
 mailto:bagn...@cs.unipr.it                mailto:roberto.bagn...@bugseng.com


When I build on i686-w64-mingw32 target:

libtool: compile:  i686-w64-mingw32-g++ -DHAVE_CONFIG_H -I.
-I/home/oracle/src/ppl-0.11.1/src -I.. -I..
-I/home/oracle/src/ppl-0.11.1/src
-I/home/oracle/tmp/gcc-4.5-windows-obj/misc//include -g -O2
-frounding-math -march=x86-64 -O2 -flto -pipe -D_WIN32 -W -Wall -MT
fpu-ia32.lo -MD -MP -MF .deps/fpu-ia32.Tpo -c
/home/oracle/src/ppl-0.11.1/src/fpu-ia32.cc  -DDLL_EXPORT -DPIC -o
.libs/fpu-ia32.o
/home/oracle/src/ppl-0.11.1/src/fpu-ia32.cc: In function 'void
Parma_Polyhedra_Library::detect_sse_unit()':
/home/oracle/src/ppl-0.11.1/src/fpu-ia32.cc:52:7: error: 'NULL' was
not declared in this scope
make[3]: *** [fpu-ia32.lo] Error 1
make[3]: Leaving directory `/tmp/x/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/tmp/x/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/x'
make: *** [all] Error 2

Here is my patch:

$ git diff src/fpu-ia32.cc
diff --git a/src/fpu-ia32.cc b/src/fpu-ia32.cc
index d361411..8a2a6a2 100644
--- a/src/fpu-ia32.cc
+++ b/src/fpu-ia32.cc
@@ -30,6 +30,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include fpu.defs.hh
 #include csetjmp
 #include csignal
+#include cstddef

 namespace {


And I'm doubt the assumption GMP does not support exception when cross
compiling:

$ git diff m4/ac_check_gmp.m4
diff --git a/m4/ac_check_gmp.m4 b/m4/ac_check_gmp.m4
index c5dd1c9..8c2af74 100644
--- a/m4/ac_check_gmp.m4
+++ b/m4/ac_check_gmp.m4
@@ -181,8 +181,8 @@ int main() {
   ac_cv_gmp_supports_exceptions=yes,
   AC_MSG_RESULT(no)
   ac_cv_gmp_supports_exceptions=no,
-  AC_MSG_RESULT([assuming not])
-  ac_cv_gmp_supports_exceptions=no)
+  AC_MSG_RESULT([assuming yes])
+  ac_cv_gmp_supports_exceptions=yes)

 gmp_supports_exceptions=${ac_cv_gmp_supports_exceptions}
 if test x$gmp_supports_exceptions = xyes

--
Dongsheng


Re: Triplet for ARM Linux HardFP ABI, again

2011-02-21 Thread Guillem Jover
On Mon, 2011-02-21 at 17:59:06 +, Joseph S. Myers wrote:
 On Mon, 21 Feb 2011, Guillem Jover wrote:
  if you'd consider accepting something ressembling the attached patch
 
 A pre-existing condition, but in general where the code you're changing 
 hardcodes gnu that's wrong - arm*-*-linux-uclibceabi is also meant to be 
 valid.  So if you allow a suffix here, the general form to accept 
 consistently would be arm*-*-linux-*eabi*.

Ok, so something like the attached then (again completely untested)?

I've changed the ada part to just match on arm% linux% in the same way
the other targets do, as there didn't seem anything GNU EABI specific
in commit 8f0372dd2b828c0a0ee05dee4496a021da9cee40 (r155808).

And should probably not be touching the uclinux match.

thanks,
guillem
diff --git a/configure b/configure
index 501c6ff..43ff04f 100755
--- a/configure
+++ b/configure
@@ -3236,7 +3236,7 @@ case ${target} in
 noconfigdirs=$noconfigdirs target-libffi target-qthreads
 libgloss_dir=arm
 ;;
-  arm*-*-linux-gnueabi)
+  arm*-*-linux-*eabi*)
 noconfigdirs=$noconfigdirs target-qthreads
 case ${with_newlib} in
   no) noconfigdirs=$noconfigdirs target-newlib target-libgloss
diff --git a/configure.ac b/configure.ac
index 9121d65..e1a42e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -682,7 +682,7 @@ case ${target} in
 noconfigdirs=$noconfigdirs target-libffi target-qthreads
 libgloss_dir=arm
 ;;
-  arm*-*-linux-gnueabi)
+  arm*-*-linux-*eabi*)
 noconfigdirs=$noconfigdirs target-qthreads
 case ${with_newlib} in
   no) noconfigdirs=$noconfigdirs target-newlib target-libgloss
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index b64ba55..cbe6b70 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -1841,7 +1841,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),)
   LIBRARY_VERSION := $(LIB_VERSION)
 endif
 
-ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ,)
+ifeq ($(strip $(filter-out arm% linux%,$(arch) $(osys))),)
   LIBGNAT_TARGET_PAIRS = \
   a-intnam.adsa-intnam-linux.ads \
   s-inmaop.adbs-inmaop-posix.adb \
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 54b822e..1a47343 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -820,13 +820,13 @@ arm*-*-linux*)			# ARM GNU/Linux with ELF
 	esac
 	tmake_file=${tmake_file} t-linux arm/t-arm
 	case ${target} in
-	arm*-*-linux-*eabi)
+	arm*-*-linux-*eabi*)
 	tm_file=$tm_file arm/bpabi.h arm/linux-eabi.h
 	tm_file=$tm_file ../../libgcc/config/arm/bpabi-lib.h
 	tmake_file=$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc
 	# Define multilib configuration for arm-linux-androideabi.
 	case ${target} in
-	*-androideabi)
+	*-androideabi*)
 		tmake_file=$tmake_file arm/t-linux-androideabi
 		;;
 	esac
@@ -848,7 +848,7 @@ arm*-*-uclinux*)		# ARM ucLinux
 	tm_file=dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h
 	tmake_file=arm/t-arm arm/t-arm-elf
 	case ${target} in
-	arm*-*-uclinux*eabi)
+	arm*-*-uclinux*eabi*)
 	tm_file=$tm_file arm/bpabi.h arm/uclinux-eabi.h
 	tm_file=$tm_file ../../libgcc/config/arm/bpabi-lib.h
 	tmake_file=$tmake_file arm/t-bpabi
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 02cb7ac..885c0e0 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -3219,7 +3219,7 @@ proc check_effective_target_sync_int_long { } {
 	 || [istarget i?86-*-*]
 	 || [istarget x86_64-*-*]
 	 || [istarget alpha*-*-*] 
-	 || [istarget arm*-*-linux-gnueabi] 
+	 || [istarget arm*-*-linux-*eabi*]
 	 || [istarget bfin*-*linux*]
 	 || [istarget hppa*-*linux*]
 	 || [istarget s390*-*-*] 
@@ -3250,7 +3250,7 @@ proc check_effective_target_sync_char_short { } {
 	 || [istarget i?86-*-*]
 	 || [istarget x86_64-*-*]
 	 || [istarget alpha*-*-*] 
-	 || [istarget arm*-*-linux-gnueabi] 
+	 || [istarget arm*-*-linux-*eabi*]
 	 || [istarget hppa*-*linux*]
 	 || [istarget s390*-*-*] 
 	 || [istarget powerpc*-*-*]
diff --git a/libjava/configure b/libjava/configure
index f79e53b..47e3f23 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -20527,7 +20527,7 @@ case ${host} in
 # on Darwin -single_module speeds up loading of the dynamic libraries.
 extra_ldflags_libjava=-Wl,-single_module
 ;;
-arm*linux*eabi)
+arm*-*-linux-*eabi*)
 # Some of the ARM unwinder code is actually in libstdc++.  We
 # could in principle replicate it in libgcj, but it's better to
 # have a dependency on libstdc++.
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 8187eec..b59abb3 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -919,7 +919,7 @@ case ${host} in
 # on Darwin -single_module speeds up loading of the dynamic libraries.
  

gcc 4.5.2 configuration issues

2011-02-21 Thread Gururaj, Rao
Hi,

Is there any standalone gcc 4.5.2 build without the support of gmp, mpfr and 
mpc.


Pls. let me know what features are integrated using gcc 4.5.2 to incorporate 
for any builds.


Regards,
Gururaj
Build  Release Engr



Re: Graduate research - how GCC compiles PTHREAD Mutex routines into x86/Linux Kernel 2.6 assembler

2011-02-21 Thread Basile Starynkevitch
On Mon, 21 Feb 2011 22:26:09 -0500
Edmon Begoli ebeg...@gmail.com wrote:

 Hi,
 
 My name is Edmon Begoli and I am a graduate student in computer science.
 
 I am writing a graduate research paper on how are concurrent routines complied
 in different languages. I want to start with a sort of a base case showing how
 are Mutexes and thread initiation routines in C compiled by GCC into 
 assembler.
 

You question very probably belongs more to gcc-help@

 I tried to look into a assembly and I did search for several days
 forums and forums and manuals
 but I could not find some simple example or a piece of a source code
 that shows how may
 piece of code like this:
 
 http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003117100
 
 be compiled into for example some basic version of Intel x86 assembler
 on Linux 2.6 kernel.

your example there is

#include pthread.h 
pthread_mutex_t count_mutex; 
long long count; 
void increment_count() 
   { pthread_mutex_lock(count_mutex); 
 count = count + 1;
 pthread_mutex_unlock(count_mutex); 
   }   

As far as I know, there is nothing special in GCC to compile such a code. All 
the interesting stuff happens in pthread routines (like pthread_mutex_lock). To 
understand in detail what GCC is doing, you could save the above code chunk in 
a file lockedcount.c -inside an otherwise emptyy directory- and compile that 
file with
  gcc -phtread -S -O2 -fdump-tree-all -fverbose-asm lockedcount.c

Then you'll see the generated assembly code lockedcount.s and many dump files 
which are showing the various internal representations (Gimple, Gimple/SSA, 
...) of the code within GCC.

On my computer the function gets compiled to

.p2align 4,,15
.globl increment_count
.type   increment_count, @function
increment_count:
.LFB1:
.cfi_startproc
subq$8, %rsp#,
.cfi_def_cfa_offset 16
movl$count_mutex, %edi  #,
callpthread_mutex_lock  #
addq$1, count(%rip) #, count
movl$count_mutex, %edi  #,
addq$8, %rsp#,
.cfi_def_cfa_offset 8
jmp pthread_mutex_unlock#
.cfi_endproc
.LFE1:

As you can see, the synchronisation routines (pthread_mutex_lock...) get called 
like any other ordinary routine. All the synchronisation magic happens inside 
them (in the libpthread.so library). You'll need to dig the source code of 
glibc/NPTL to understand the details.

When your work is done, please publish it (in English) on some publicly 
accessible web page. I'm sure that would interest some people. 

Regards, good luck.
-- 
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basileatstarynkevitchdotnet mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***


Does config.h include tm.h for now?

2011-02-21 Thread Mingjie Xing
Hi,

I notice that the internals document says The header file config.h
includes tm.h and most compiler source files include config.h. in
Target Description Macros and Functions section.

This may need modification since config.h doesn't include tm.h for
now, if I'm not wrong.

Thanks,
Mingjie


[Bug fortran/46244] gfc_compare_derived_types is buggy

2011-02-21 Thread paul.richard.thomas at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46244

--- Comment #16 from paul.richard.thomas at gmail dot com paul.richard.thomas 
at gmail dot com 2011-02-21 08:25:51 UTC ---
Dear Mikael,

snip

 Actually none of the gfc_compare_type/gfc_TK_compatible changes are absolutely
 necessary to fix this bug. It is just I found it odd that gfc_compare_type was
 calling gfc_type_compatible (compatible types are not necessary
 equal/equivalent), so I changed it so that gfc_type_compatible calls
 gfc_compare_type instead. And then the new gfc_TK_compatible function to not
 upset the testsuite.

 Maybe I just don't understand what compare types means. :-(

snip

 Hem, yes, who wrote this? ( I hope it's not me ;-) ).

There have been a number of contributors over the years.  Therein lies
the problem.  Quick fix has been piled on quick fix and the result is
something of a mess.

It is just I found it odd that gfc_compare_type was calling
gfc_type_compatible (compatible types are not necessary
equal/equivalent), so I changed it so that gfc_type_compatible calls
gfc_compare_type instead.

That was indeed very peculiar.  I know who the culprit was but I am
not telling :-)

If you have time to put this right I, for one, would be very pleased.

A

Paul


[Bug c/47796] The code to write to a bit_field data strucuture will be removed unexpectedly with gcc 4.5.1 -O2 option

2011-02-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47796

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution||INVALID

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-02-21 
08:29:03 UTC ---
Undefined behavior means anything can happen, so wondering why undefined
behavior doesn't always behave the same doesn't make any sense.  And, both gcc
4.4.5 and 4.5.2 do warn about this with -Wstrict-aliasing=1 -O2:
pr47796.c:25: warning: dereferencing type-punned pointer might break
strict-aliasing rules
pr47796.c:31: warning: dereferencing type-punned pointer might break
strict-aliasing rules
Please stop reopening this.


[Bug preprocessor/39029] #pragma once is not exported from the precompiled headers

2011-02-21 Thread olafvdspek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39029

--- Comment #3 from Olaf van der Spek olafvdspek at gmail dot com 2011-02-21 
09:37:03 UTC ---
g++ -o b.h.gch a.h 
g++ c.cpp 

a.h:
#pragma once // a.h:1:9: warning: #pragma once in main file

c.cpp:
#include b.h
#include b.h // c.cpp:2:15: error: b.h: No such file or directory

int main()
{
}


[Bug libfortran/47830] errors in intrinsics/c99_functions.c

2011-02-21 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47830

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||build
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.02.21 09:37:55
 CC||burnus at gcc dot gnu.org
 Ever Confirmed|0   |1
  Known to fail||4.3.5, 4.4.5, 4.5.2, 4.6.0

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2011-02-21 
09:37:55 UTC ---
Confirmed. In Fortran 2003 such a code would be valid ...

(In reply to comment #0)
 There are two errors

For those having - like me - problems to spot the second error:

   static long double prechalf = nexafterl (0.5L, LDBL_MAX);
  long double prechalf = nextafterl (0.5L, LDBL_MAX);


[Bug target/47822] [4.6 Regression] Multiple test suite failures due to revision 170321

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47822

--- Comment #15 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
09:44:34 UTC ---
(In reply to comment #11)
 Could you try building with the patch on a ppc box if you have one, without 
 the
 Fix to tree.c in it, so that it will fail, if the problem isn't really 
 fixed.
  If you don't, then a second set of hands testing would be nice, if we want to
 put this into the tree before stage1.  Richard, should the darwin fix go in
 now, or wait til stage1?

The patch looks good to me and is fine for stage4.


[Bug other/47824] Option to enable all warning (-Wall-real?)

2011-02-21 Thread olafvdspek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47824

Olaf van der Spek olafvdspek at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|DUPLICATE   |

--- Comment #6 from Olaf van der Spek olafvdspek at gmail dot com 2011-02-21 
09:45:21 UTC ---
(In reply to comment #5)
 It is implicitly in the manual as those that are not mentioned as enabled by
 Wall or Wextra. 

So The list in the manual already. is false.

 It would be nice to have a list of options enabled by default
 and another list of options never enabled by default or by other option.
 However, I doubt that any of the current GCC devs will ever bother to create
 such lists, so if you are interested, please send a documentation patch. It is
 a matter of reading about all warning options mentioned in
 http://gcc.gnu.org/onlinedocs/gcc/ and creating the lists.

I'll have a look.
However, I still think an option to really enable (almost) all warnings should
be added. I don't agree with the comments in the earlier report.


[Bug middle-end/42722] move_by_pieces() incorrectly pushes structures to stack

2011-02-21 Thread bigotp at acm dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42722

--- Comment #12 from Peter A. Bigot bigotp at acm dot org 2011-02-21 09:45:15 
UTC ---
Created attachment 23418
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23418
Test case (requires msp430 back end)

Sorry, I don't speak dejagnu well enough yet to put target test conditionals
into the code; this test lives in the gcc.target/msp430 directory in my
environment.


[Bug middle-end/42722] move_by_pieces() incorrectly pushes structures to stack

2011-02-21 Thread bigotp at acm dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42722

--- Comment #13 from Peter A. Bigot bigotp at acm dot org 2011-02-21 09:45:52 
UTC ---
Created attachment 23419
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23419
Generated code before patch applied


[Bug middle-end/42722] move_by_pieces() incorrectly pushes structures to stack

2011-02-21 Thread bigotp at acm dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42722

--- Comment #14 from Peter A. Bigot bigotp at acm dot org 2011-02-21 09:46:30 
UTC ---
Created attachment 23420
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23420
Generated code after patch applied


[Bug target/39570] cabs and cabsf are named differently on NetBSD 5

2011-02-21 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39570

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #10 from Tobias Burnus burnus at gcc dot gnu.org 2011-02-21 
09:48:08 UTC ---
(In reply to comment #9)
 Yep, that would have worked.  Thanks for the clue.

Is there any update on this issue?

(Cf. also bug 47716 comment 6
 and http://www.mailinglistarchive.com/fort...@gcc.gnu.org/msg17593.html )


[Bug middle-end/42722] move_by_pieces() incorrectly pushes structures to stack

2011-02-21 Thread bigotp at acm dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42722

--- Comment #15 from Peter A. Bigot bigotp at acm dot org 2011-02-21 09:48:23 
UTC ---
Created attachment 23421
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23421
Fixes problem


[Bug middle-end/42722] move_by_pieces() incorrectly pushes structures to stack

2011-02-21 Thread bigotp at acm dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42722

--- Comment #16 from Peter A. Bigot bigotp at acm dot org 2011-02-21 09:50:00 
UTC ---
I've now taken over the msp430 back end and created the attached patch and test
case.  This is relative to the gcc trunk as of a couple weeks ago; still
present in all releases up to that point.

Sorry it doesn't show up with any other back end, but perhaps an appeal to
inspection could work while we get the msp430 target ready for integration: 
This is the only conditional of four in the same block that does not check for
data.reverse before doing its thing.

It's definitely wrong.


[Bug middle-end/31469] move_by_pieces in expr.c function bug

2011-02-21 Thread bigotp at acm dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31469

--- Comment #1 from Peter A. Bigot bigotp at acm dot org 2011-02-21 09:51:24 
UTC ---
Created attachment 23422
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23422
Fixes problem (resubmit, lost due to collision)


[Bug middle-end/31469] move_by_pieces in expr.c function bug

2011-02-21 Thread bigotp at acm dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31469

Peter A. Bigot bigotp at acm dot org changed:

   What|Removed |Added

 CC||bigotp at acm dot org

--- Comment #2 from Peter A. Bigot bigotp at acm dot org 2011-02-21 09:53:10 
UTC ---
(In reply to comment #1)
 Created attachment 23422 [details]
 Fixes problem (resubmit, lost due to collision)

Sorry, bugzilla confused me, this attachment was intended for 42722.


[Bug target/47831] New: avoid if-convertion if the conditional instructions and following conditional branch has the same condition

2011-02-21 Thread carrot at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47831

   Summary: avoid if-convertion if the conditional instructions
and following conditional branch has the same
condition
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: car...@google.com
Target: arm-linux-androideabi


Created attachment 23423
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23423
testcase

Compile the attached source code with options -march=armv7-a -mthumb -Os, GCC
4.6 generates

ras_validate:
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
push{r0, r1, r4, r5, r6, lr}
addr4, sp, #4
movsr2, #4
movr1, r4
movr5, r0
blfoo
cmpr0, #0
itge// A
movger6, r0// B
bge.L3   // C
b.L7   // D
.L4:
addsr3, r6, r4
movr0, r5
subsr6, r6, #1
ldrbr1, [r3, #-1]@ zero_extendqisi2
blbar
addsr3, r0, #1
beq.L2
.L3:
cmpr6, #0
bne.L4
movr0, r6
b.L2
.L7:
movr0, #-1
.L2:
pop{r2, r3, r4, r5, r6, pc}

Instruction sequence ABCD can be replaced with

   blt.L7
   movr6, r0
   b  .L3

In both cases (lt or ge) the executed instructions is not longer than original
code. So it's shorter and faster.


[Bug target/47822] [4.6 Regression] Multiple test suite failures due to revision 170321

2011-02-21 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47822

--- Comment #16 from Dominique d'Humieres dominiq at lps dot ens.fr 
2011-02-21 10:03:36 UTC ---
(In reply to comment #15)
  Could you try building with the patch on a ppc box if you have one, without 
  the
  Fix to tree.c in it, so that it will fail, if the problem isn't really 
  fixed.
   If you don't, then a second set of hands testing would be nice, if we want 
  to
  put this into the tree before stage1.  Richard, should the darwin fix go in
  now, or wait til stage1?
 
 The patch looks good to me and is fine for stage4.

Unfortunately it does not fix the problem on ppc.


[Bug objc/47832] New: [4.6 Regression] ObjC errors on structures with flexible data members

2011-02-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47832

   Summary: [4.6 Regression] ObjC errors on structures with
flexible data members
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: objc
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ja...@gcc.gnu.org
CC: nic...@gcc.gnu.org, ia...@gcc.gnu.org


struct S
{
  int s;
  unsigned char *t[];
};
@interface T
{
  struct S *u;
};
@end
@implementation T
{
};
@end

used to compile just fine in 4.5, but 4.6 rejects this
rh678928.m:14:1: error: instance variable has unknown size

I don't know ObjC enough to say whether this is intentional or not (and whether
ObjC standard actually talks about flexible array members at all).  If flexible
array members should be allowed, then it would just need to make sure the
element type is complete, rather than the array type.

This breaks build of raidem, for original testcase see
http://bugzilla.redhat.com/678928


[Bug target/47822] [4.6 Regression] Multiple test suite failures due to revision 170321

2011-02-21 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47822

--- Comment #17 from Iain Sandoe iains at gcc dot gnu.org 2011-02-21 10:08:51 
UTC ---
there was no intention to create a hack (or any other form of expedient work);  

...  if it is wrong, then it is likely a mistake on my part when importing the
original implementation from the 4.3-era branch.

--

I have applied the patch @ comment #8 to r170338 on i686-darwin9 and
powerpc-darwin9. 

It works on i686 ... 
... but it does not work on powerpc.
(both as comment #8 is written and with RS6000_BUILTIN_CFSTRING as the argument
to darwin_init_cfstring_builtins)

--

checking in gdb for cc1obj and lto1 --  darwin_init_cfstring_builtins () is
being called for both (and with the same index value in each case).  The
routine appears be initializing the built-in correctly in both cases.

(the same reported error is also present for a simple CFString c program, so
not likely an objc problem).

the programs compile and execute correctly without lto.

.. any hints as to what additional steps are required for ppc would be
appreciated.


[Bug fortran/47348] wrong string length with array constructor

2011-02-21 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47348

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.02.21 10:33:10
 Ever Confirmed|0   |1

--- Comment #7 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-02-21 
10:33:10 UTC ---
Any plan to backport the fix in revision 170317?


[Bug objc/47832] [4.6 Regression] ObjC errors on structures with flexible data members

2011-02-21 Thread nicola at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47832

--- Comment #1 from Nicola Pero nicola at gcc dot gnu.org 2011-02-21 10:37:10 
UTC ---
Hi Jakub,

 @interface T
 {
   struct S *u;
 };
 @end

struct S * is a pointer, right ?  So it's always the size of a pointer ?
In that case, I don't see any reason why it shouldn't be possible to use
it as an instance variable - it's a bug in the compiler if this is not
allowed. :-)

I think the new check in GCC 4.6 was supposed to catch the case

struct S
{
  int s;
  unsigned char *t[];
};
@interface T
{
  struct S u;
};
@end
@implementation T
{
};
@end

this shouldn't be allowed.  The reason is easy to understand:

 * the list of instance variables in a class (inside @interface T { ... } @end)
   is compiled into a struct in the end ;-)

 * but, if the class is subclassed, the subclass instance variables are added
   at the end of the superclass's struct

 * so, if the list of instance variables ends with a flexible array member,
   you get in trouble when you subclass the class, because the subclass
instance
   variable struct will have a flexible array member *inside* (not at the end)
   of the struct. ;-)

So, flexible array members should not be allowed as instance variables
anywhere.
This is what GCC 4.6 is trying to prevent.

But, in the testcase you show, the instance variable is not a flexible
array member; it's a pointer to a flexible array member.  You can have
pointers to anything you want as instance variables. ;-)

I hope this helps with the Objective-C side.

Looking at the code, the check in encode_array() is not good enough.  When the
instance variable type is encoded, the compiler will follow the pointer and
encode a description of the struct.  The check in encode_array() will then
abort because the struct contains a flexible array member, without realizing
it is part of the struct pointed to.

I guess the fix should remove the check from encode_array() and move it higher
up when instance variables are added.

I can do the fix myself tonight (ie, in the next 12/24 hours) if you want.

Thanks


[Bug libfortran/47830] errors in intrinsics/c99_functions.c

2011-02-21 Thread kuehro at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47830

--- Comment #2 from Kai-Uwe Eckhardt kuehro at gmx dot de 2011-02-21 10:38:16 
UTC ---
Hi,

  There are two errors
 
 For those having - like me - problems to spot the second error:
 
static long double prechalf = nexafterl (0.5L, LDBL_MAX);
   long double prechalf = nextafterl (0.5L, LDBL_MAX);

well besides the typo nexfaterl declaring a variable static in
block scope is evaluated as a const qualifier which cannot be
assigned using a function. At least the default compiler on
NetBSD gcc-4.1.3 tells me so. I tried to look it up in the C99
standard, if this is a compiler error or not. Mabey it would be cleaner
to put the declaration at the beginning of the function roundl.

Kai-Uwe Eckhardt


[Bug target/47825] SSE bitwise operations on floats work -g, fail -O3

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47825

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||x86_64-*-*
 Status|RESOLVED|REOPENED
   Last reconfirmed||2011.02.21 10:40:58
 CC||hjl at gcc dot gnu.org
  Component|c   |target
 Resolution|INVALID |
 Ever Confirmed|0   |1

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
10:40:58 UTC ---
The issue is that maskarray is initialized as array of ints but then you
load it as array of floats, the scheduler re-orders those so you see
a load from uninitialized stack:

test_setelement:
.LFB546:
subq$40, %rsp
.LCFI0:
movaps  16(%rsp), %xmm0
movl$0, 16(%rsp)
movl$0, 20(%rsp)
movaps  %xmm0, %xmm1
andnps  .LC1(%rip), %xmm0
movl$0, 24(%rsp)
movl$-1, 28(%rsp)
...

what is a bit inconsistent is that for mm_load_pd we use a type that
allows aliasing:

/* The Intel API is flexible enough that we must allow aliasing with other
   vector types, and their scalar components.  */
typedef long long __m128i __attribute__ ((__vector_size__ (16),
__may_alias__));
typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));

...

/* Load two DPFP values from P.  The address must be 16-byte aligned.  */
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__,
__artificial__))
_mm_load_pd (double const *__P)
{
  return *(__m128d *)__P;
}

but for mm_load_ps we don't:

/* Internal data types for implementing the intrinsics.  */
typedef float __v4sf __attribute__ ((__vector_size__ (16)));

...

/* Load four SPFP values from P.  The address must be 16-byte aligned.  */
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__,
__artificial__))
_mm_load_ps (float const *__P)
{
  return (__m128) *(__v4sf *)__P;
}


re-opening to investigate that.  HJ, are the SSE1 intrinsics not
aliasing in the Intel API?  The above snippets are from trunk.


[Bug objc/47832] [4.6 Regression] ObjC errors on structures with flexible data members

2011-02-21 Thread nicola at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47832

Nicola Pero nicola at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.02.21 10:42:14
   Target Milestone|--- |4.6.0
 Ever Confirmed|0   |1

--- Comment #2 from Nicola Pero nicola at gcc dot gnu.org 2011-02-21 10:42:14 
UTC ---
Yes, confirmed.  Good testcase.

Thanks


[Bug target/47822] [4.6 Regression] Multiple test suite failures due to revision 170321

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47822

--- Comment #18 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
10:44:03 UTC ---
(In reply to comment #16)
 (In reply to comment #15)
   Could you try building with the patch on a ppc box if you have one, 
   without the
   Fix to tree.c in it, so that it will fail, if the problem isn't really 
   fixed.
If you don't, then a second set of hands testing would be nice, if we 
   want to
   put this into the tree before stage1.  Richard, should the darwin fix go 
   in
   now, or wait til stage1?
  
  The patch looks good to me and is fine for stage4.
 
 Unfortunately it does not fix the problem on ppc.

Of course, the patch doesn't touch rs6000 which has exactly the same problem.


[Bug bootstrap/47827] gcc fails to bootstrap on i386-pc-solaris2.10

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47827

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
10:44:59 UTC ---
Fixed.


[Bug libfortran/47830] errors in intrinsics/c99_functions.c

2011-02-21 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47830

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2011-02-21 
11:19:33 UTC ---
(In reply to comment #2)
 well besides the typo nexfaterl

Well, that was actually the problem I had - my brain magically added the t
;-)

(For NetBSD there is also PR 39570, which is about cabsf warnings.)


[Bug objc/47832] [4.6 Regression] ObjC errors on structures with flexible data members

2011-02-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47832

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-02-21 
12:02:58 UTC ---
As I said, I don't know ObjC, so if you could fix it, I'd appreciate it.

That said, ISO C99 allows:

struct A { int a; char b[]; };

struct A a; // Here sizeof (a) will be offsetof (struct A, b[0])

but doesn't allow:

struct B { struct A a; int i; };

So, for ObjC I guess it depends if in @interface there are variables (then
variables with flexible array members in theory could be treated there like ISO
C99 treats variables), or they are treated as struct fields, in which cases
fields with flex array members should be rejected.  And you're right that it is
weird to reject there pointers to structs with flexible array members, unless
ObjC somehow encodes all the types each pointer points to, transitively.


[Bug c++/47833] New: ICE during GC in gt_ggc_mx_pending_template

2011-02-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47833

   Summary: ICE during GC in gt_ggc_mx_pending_template
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ja...@gcc.gnu.org


template int int
foo () throw ()
{
  return 0;
}

int
foo ()
{
  if (false)
{
#define A(N) fooN ();
#define B(N) A(N##0) A(N##1) A(N##2) A(N##3) A(N##4) A(N##5) A(N##6) A(N##7)
A(N##8) A(N##9)
#define C(N) B(N##0) B(N##1) B(N##2) B(N##3) B(N##4) B(N##5) B(N##6) B(N##7)
B(N##8) B(N##9)
#define D(N) C(N##0) C(N##1) C(N##2) C(N##3) C(N##4) C(N##5) C(N##6) C(N##7)
C(N##8) C(N##9)
#define E(N) D(N##0) D(N##1) D(N##2) D(N##3) D(N##4) D(N##5) D(N##6) D(N##7)
D(N##8) D(N##9)
#define F(N) E(N##0) E(N##1) E(N##2) E(N##3) E(N##4) E(N##5) E(N##6) E(N##7)
E(N##8) E(N##9)
#define G(N) F(N##0) F(N##1) F(N##2) F(N##3) F(N##4) F(N##5) F(N##6) F(N##7)
F(N##8) F(N##9)
  G(1)
}
  return 0;
}

ICEs in 4.5/4.6, because the pending_templates list is too long and GC recurses
on it.


[Bug fortran/47348] wrong string length with array constructor

2011-02-21 Thread pault at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47348

--- Comment #8 from Paul Thomas pault at gcc dot gnu.org 2011-02-21 12:06:42 
UTC ---
(In reply to comment #7)
 Any plan to backport the fix in revision 170317?

I had not planned so to do but would respond positively to popular pressure how
far back would you want to go?

Paul


[Bug c++/47833] ICE during GC in gt_ggc_mx_pending_template

2011-02-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47833

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.02.21 12:07:27
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-02-21 
12:07:27 UTC ---
Created attachment 23424
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23424
gcc46-pr47833.patch

Untested fix.  The testcase takes over a minute to compile at -O0 on a fast
box, so is not suitable for regression testing.


[Bug target/47487] ICE in rs6000_output_function_epilogue, at config/rs6000/rs6000.c:21782 building 64bit libgo

2011-02-21 Thread amodra at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47487

Alan Modra amodra at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.02.21 12:10:03
 CC||amodra at gmail dot com
 Ever Confirmed|0   |1

--- Comment #2 from Alan Modra amodra at gmail dot com 2011-02-21 12:10:03 
UTC ---
This is just a lack of

else if (strcmp (language_string, GNU Go) == 0)
  i = mumble;


[Bug c++/47834] New: Compiler uses unsafe math optimizations even -funsafe-math-optimizations is not given

2011-02-21 Thread stenedjo at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47834

   Summary: Compiler uses unsafe math optimizations even
-funsafe-math-optimizations is not given
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: stene...@gmail.com


Created attachment 23425
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23425
Complete program needed for the bug triggering

Dear Sirs,


I have different result of executing program if I compile it with -On (n=1,2,3)
optimization flag relative to compilation without optimizations. It seems that
-On flag forces -funsafe-math-optimizations and/or -fassociative-math and/or
-freciprocal-math without possibility to disable it. It effects in g++
including MinGW.

I send you program based on the floating point arithmetic rounding properties
in the attachment. The only correct result of the executing this code based on
the Shewchuk's summation algorithm is 0. This is realy result of the program
compiled by the command line

g++ shewchuk.cpp

but if I compile it by any of the command lines

g++ -O3 shewchuk.cpp
g++ -O3 -fno-unsafe-math-optimizations -fno-associative-math
-fno-reciprocal-math shewchuk.cpp

I obtain the result different than zero.


Best regards


[Bug middle-end/35797] Compiler does not recognize faulty warnings starting with -Wno-

2011-02-21 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35797

Manuel López-Ibáñez manu at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||manu at gcc dot gnu.org
 Resolution||WORKSFORME

--- Comment #3 from Manuel López-Ibáñez manu at gcc dot gnu.org 2011-02-21 
12:22:37 UTC ---
This is working as desired.


[Bug other/47824] Option to enable all warning (-Wall-real?)

2011-02-21 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47824

--- Comment #7 from Manuel López-Ibáñez manu at gcc dot gnu.org 2011-02-21 
12:30:27 UTC ---
(In reply to comment #6)
 
 I'll have a look.
 However, I still think an option to really enable (almost) all warnings should
 be added. I don't agree with the comments in the earlier report.

Feel free to create a patch 

http://gcc.gnu.org/contribute.html

and submit it for review to gcc-patches. I think the general consensus among
GCC devs is that such an option is not wanted, but if you still think is good,
discussing it without a patch that defines exactly which options should be
enabled is pointless.

There are literally thousands of bugs that GCC devs would like to see fixed
(search for NEW or REOPENED bugs) and several other thousands UNCONFIRMED bugs
that need to be reviewed and confirmed. Keeping this one open forever is just
distracting and a waste of time and effort!

I am not going to close it again. If I have convinced you of the negative
impact, please close this as DUPLICATED as Andrew did, or at least put it in
WAITING. Otherwise, I guess in a few years you will have forgotten about this,
and some GCC dev after stumbling into it for the nth time will close it
forever.


[Bug c++/47834] Compiler uses unsafe math optimizations even -funsafe-math-optimizations is not given

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47834

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
12:35:53 UTC ---
You are running into PR323, use -ffloat-store or -mpc32 or use SSE and
-mfpmath=sse.

*** This bug has been marked as a duplicate of bug 323 ***


[Bug middle-end/323] optimized code gives strange floating point results

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||stenedjo at gmail dot com

--- Comment #180 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
12:35:53 UTC ---
*** Bug 47834 has been marked as a duplicate of this bug. ***


[Bug other/47824] Option to enable all warning (-Wall-real?)

2011-02-21 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47824

--- Comment #8 from Jonathan Wakely redi at gcc dot gnu.org 2011-02-21 
12:39:28 UTC ---
(In reply to comment #6)
 (In reply to comment #5)
  It is implicitly in the manual as those that are not mentioned as enabled by
  Wall or Wextra. 
 
 So The list in the manual already. is false.

The information is in the manual, even if not as an explicit list.

I expect adding an explicit list would soon get out of date as it just
increases the burden on contributors when adding new options.

  It would be nice to have a list of options enabled by default
  and another list of options never enabled by default or by other option.
  However, I doubt that any of the current GCC devs will ever bother to create
  such lists, so if you are interested, please send a documentation patch. It 
  is
  a matter of reading about all warning options mentioned in
  http://gcc.gnu.org/onlinedocs/gcc/ and creating the lists.
 
 I'll have a look.
 However, I still think an option to really enable (almost) all warnings should
 be added. I don't agree with the comments in the earlier report.

The fact you don't agree doesn't change the fact this is a duplicate of that
report, marking it as such helps keep the discussion in one place. Please don't
reopen this report.  If you want a new one for the documentation issue please
open a new PR.


[Bug other/47824] Option to enable all warning (-Wall-real?)

2011-02-21 Thread olafvdspek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47824

--- Comment #9 from Olaf van der Spek olafvdspek at gmail dot com 2011-02-21 
12:47:24 UTC ---
  So The list in the manual already. is false.
 
 The information is in the manual, even if not as an explicit list.

That's true, but not what was said.

 I expect adding an explicit list would soon get out of date as it just
 increases the burden on contributors when adding new options.

Adding options that can't be easily enabled / found doesn't seem very useful.

 The fact you don't agree doesn't change the fact this is a duplicate of that
 report, marking it as such helps keep the discussion in one place. Please 
 don't
 reopen this report.  

How do I reopen the other report?

 If you want a new one for the documentation issue please
 open a new PR.

Why? Seems easier to use this one for it.


[Bug target/38306] [4.4/4.5/4.6 Regression] 15% slowdown w.r.t. 4.3 of computational kernel on some architectures

2011-02-21 Thread Joost.VandeVondele at pci dot uzh.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38306

--- Comment #23 from Joost VandeVondele Joost.VandeVondele at pci dot uzh.ch 
2011-02-21 12:53:30 UTC ---
(In reply to comment #22)
 What is the performance with 4.3 -O2?  

4.3:
 gfortran -O2 -march=native -funroll-loops -ffast-math test.f90 ; ./a.out
Time for evaluation [s]:4.373

4.6:
  gfortran -O2 -march=native -funroll-loops -ffast-math test.f90 ; ./a.out
Time for evaluation [s]:4.347

so, same performance. 

Given that vectorization only happens at -O3, it is an important optimization
level for numerical codes. Nevertheless, I would propose to remove the
regression tag, and instead refocus the bug on the what current trunk does at
-O3 vs -O2 -ftree-vectorize as noted in comment #21

 gfortran -O2 -march=native -funroll-loops  -ffast-math  -ftree-vectorize 
 test.f90 ; ./a.out
Time for evaluation [s]:2.694

 gfortran -O3 -march=native -funroll-loops  -ffast-math  -ftree-vectorize 
 test.f90 ; ./a.out
Time for evaluation [s]:4.536


[Bug other/47824] Option to enable all warning (-Wall-real?)

2011-02-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47824

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution||DUPLICATE

--- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2011-02-21 
12:55:51 UTC ---
Dup.

*** This bug has been marked as a duplicate of bug 31573 ***


[Bug c++/31573] -Wall-all to enable all warnings

2011-02-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31573

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2011-02-21 
12:55:51 UTC ---
*** Bug 47824 has been marked as a duplicate of this bug. ***


[Bug fortran/40850] double free in nested types with allocatable components

2011-02-21 Thread mikael at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40850

Mikael Morin mikael at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mikael at gcc dot gnu.org

--- Comment #12 from Mikael Morin mikael at gcc dot gnu.org 2011-02-21 
12:57:31 UTC ---
(In reply to comment #11)
 I don't know whether it fixes comment 0 or comment 4

Sorry, I forgot to precise. 
It fixes neither. 
More precisely for comments 0 and 4, it does fix a read of freed memory:

==82785== Invalid read of size 8
==82785==at 0x400F21: __mod_all_MOD_add (in
/usr/home/mik/gfortran/pr40850/comment_0)
==82785==by 0x4023D9: MAIN__ (in /usr/home/mik/gfortran/pr40850/comment_0)
==82785==by 0x402703: main (in /usr/home/mik/gfortran/pr40850/comment_0)
==82785==  Address 0x14be678 is 8 bytes inside a block of size 112 free'd

but doesn't fix a double free affecting comments 0, 4 and 8:

==82785== Invalid free() / delete / delete[]
==82785==at 0x25A37E: free (in
/usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==82785==by 0x402609: MAIN__ (in /usr/home/mik/gfortran/pr40850/comment_0)
==82785==by 0x402703: main (in /usr/home/mik/gfortran/pr40850/comment_0)
==82785==  Address 0x14be3d0 is 0 bytes inside a block of size 8 free'd



Comment 8 is not affected by the invalid read as the containing entity is not
allocatable, hence not explicitly freed at the end. Thus, components release
can't happen before containing entity's release. 

For the remaining double free, the temporary for the array constructor is
filled using simple copies, and thus has components pointing to the original
array. Those components are freed by the temporary array cleanup, and again
during the final release of all allocatables. 
One could fix it by not freeing the temporary's components (no deep/nested
free), but I have the feeling (haven't completely made my mind about it) that
the proper fix, in the general case, is to create nested temporaries and do
deep copies. And yes, that would be horribly expensive :-(.


[Bug fortran/40850] double free in nested types with allocatable components

2011-02-21 Thread mikael at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40850

--- Comment #13 from Mikael Morin mikael at gcc dot gnu.org 2011-02-21 
13:01:23 UTC ---
Comment 5 is not affected by the double free as the allocatable components are
never allocated during the program, only the containing entity is.


[Bug c/47796] The code to write to a bit_field data strucuture will be removed unexpectedly with gcc 4.5.1 -O2 option

2011-02-21 Thread qihua.dai at intel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47796

--- Comment #7 from qihua.dai at intel dot com 2011-02-21 13:02:41 UTC ---
Hi,

I used -Wall -O2. But no warning for this situation.

gcc will print strict-aliasing related warning.

  struct tmp1_s tmp;

  tmp.a = 0xc; // this code line is removed unexpected after -O2 optimization

  tmp.d = 0x1; // this code line is removed unexpected after -O2 optimization

  data = *((unsigned int *)pTmp);



But, below code can fix above this warning. But this code might be removed by
gcc �CO2 in the situation of this bug.

  struct tmp1_s tmp;

  unsigned int *pData;

  tmp.a = 0xc; // this code line is removed unexpected after -O2 optimization

  tmp.d = 0x1; // this code line is removed unexpected after -O2 optimization

  pData = (unsigned int *)pTmp;

  data = *pData;


In addition, if cannot access bit field structure using an unsigned int, how to
share different bit field structure? For example,
void func(unsigned int data)
data can be bit field structure tmp1_s, or tmp2_s according to bit[31] (0 is
tmp1_s, 1 is tmp2_s)



struct tmp1_s {

unsigned int a : 12;

unsigned int b : 12;

unsigned int c : 7;

unsigned int d : 1;

}



struct tmp2_s {

unsigned int a : 1;

unsigned int b : 12;

unsigned int c : 12;

unsigned int d : 6;

unsigned int e : 1;

}





- Qihua

-Original Message-
From: jakub at gcc dot gnu.org [mailto:gcc-bugzi...@gcc.gnu.org]
Sent: 2011年2月21日 16:29
To: Dai, Qihua
Subject: [Bug c/47796] The code to write to a bit_field data strucuture will be
removed unexpectedly with gcc 4.5.1 -O2 option



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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 CC||jakub at gcc dot gnu.org

 Resolution||INVALID



--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-02-21
08:29:03 UTC ---

Undefined behavior means anything can happen, so wondering why undefined

behavior doesn't always behave the same doesn't make any sense.  And, both gcc

4.4.5 and 4.5.2 do warn about this with -Wstrict-aliasing=1 -O2:

pr47796.c:25: warning: dereferencing type-punned pointer might break

strict-aliasing rules

pr47796.c:31: warning: dereferencing type-punned pointer might break

strict-aliasing rules

Please stop reopening this.



--

Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email

--- You are receiving this mail because: ---

You reported the bug.


[Bug objc/47832] [4.6 Regression] ObjC errors on structures with flexible data members

2011-02-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47832

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P2  |P4


[Bug other/47824] Option to enable all warning (-Wall-real?)

2011-02-21 Thread olafvdspek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47824

--- Comment #11 from Olaf van der Spek olafvdspek at gmail dot com 2011-02-21 
13:11:04 UTC ---
 Dup.

No kidding?


[Bug libfortran/47567] Wrong output for small absolute values with F editing

2011-02-21 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47567

Thomas Henlich thenlich at users dot sourceforge.net changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |

--- Comment #20 from Thomas Henlich thenlich at users dot sourceforge.net 
2011-02-21 13:22:59 UTC ---
print (F3.0), -0.0   ! = -0.
print (F2.0), -0.0   ! = **
print (F1.0), -0.0   ! = 0

print (F3.1), -0.0   ! = -.0
print (F2.1), -0.0   ! = **
print (F1.1), -0.0   ! = 0

I think it's still wrong: It is not possible for any value to fit into a field
of width w, but not into w+1.

Either

1) For the special case of a zero, we consider the minus sign and the decimal
symbol optional (which I think does not conform to the standard), then the
result should be:

print (F3.0), -0.0   ! = -0.
print (F2.0), -0.0   ! = -0 (or 0. or 0)
print (F1.0), -0.0   ! = 0

print (F3.1), -0.0   ! = -.0
print (F2.1), -0.0   ! = -0 (or .0 or 0)
print (F1.1), -0.0   ! = 0

or

2) We never consider the minus sign nor the decimal symbol optional (which I
think is required by the standard), then the result should be:

print (F0.0), -0.0   ! = -0.
print (F3.0), -0.0   ! = -0.
print (F2.0), -0.0   ! = **
print (F1.0), -0.0   ! = *

print (F0.1), -0.0   ! = -.0
print (F3.1), -0.0   ! = -.0
print (F2.1), -0.0   ! = **
print (F1.1), -0.0   ! = *


[Bug bootstrap/47820] [4.6 Regression] LTO bootstrap failed with bootstrap-profiled

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47820

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
13:38:54 UTC ---
Author: rguenth
Date: Mon Feb 21 13:38:48 2011
New Revision: 170359

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=170359
Log:
2011-02-21  Richard Guenther  rguent...@suse.de

PR lto/47820
* lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
(lto_input_ts_block_tree_pointers): Hook a BLOCK into the
TUs context.
* lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers): 
Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-streamer-in.c
trunk/gcc/lto-streamer-out.c


[Bug bootstrap/47820] [4.6 Regression] LTO bootstrap failed with bootstrap-profiled

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47820

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
13:42:36 UTC ---
Fixed.


[Bug debug/47106] -fcompare-debug failure (length) with -fpartial-inlining -flto -fconserve-stack

2011-02-21 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47106

John David Anglin danglin at gcc dot gnu.org changed:

   What|Removed |Added

 CC||danglin at gcc dot gnu.org

--- Comment #16 from John David Anglin danglin at gcc dot gnu.org 2011-02-21 
13:44:58 UTC ---
Executing on host: /test/gnu/gcc/objdir/gcc/testsuite/g++/../../g++
-B/test/gnu/
gcc/objdir/gcc/testsuite/g++/../../
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/debug
/pr47106.C  -nostdinc++
-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v
3/include/hppa2.0w-hp-hpux11.11
-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/lib
stdc++-v3/include -I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++
-I/test/gnu/gcc/gcc
/libstdc++-v3/include/backward -I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util
-
fmessage-length=0 -gstabs1 -O -fpartial-inlining -flto -fconserve-stack
-fcompar
e-debug  -S  -o pr47106.s(timeout = 300)
cc1plus: error: LTO support has not been enabled in this configuration
compiler exited with status 1
output is:
cc1plus: error: LTO support has not been enabled in this configuration

FAIL: g++.dg/debug/pr47106.C -gstabs1 (test for excess errors)
Excess errors:
cc1plus: error: LTO support has not been enabled in this configuration


[Bug target/47825] SSE bitwise operations on floats work -g, fail -O3

2011-02-21 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47825

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 CC|hjl at gcc dot gnu.org  |hjl.tools at gmail dot com,
   ||ubizjak at gmail dot com

--- Comment #6 from H.J. Lu hjl.tools at gmail dot com 2011-02-21 13:53:02 
UTC ---
(In reply to comment #5)

 /* Load four SPFP values from P.  The address must be 16-byte aligned.  */
 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__,
 __artificial__))
 _mm_load_ps (float const *__P)
 {
   return (__m128) *(__v4sf *)__P;
 }
 
 
 re-opening to investigate that.  HJ, are the SSE1 intrinsics not
 aliasing in the Intel API?  The above snippets are from trunk.

It is a bug and should be fixed.


[Bug libfortran/47567] Wrong output for small absolute values with F editing

2011-02-21 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47567

--- Comment #21 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-02-21 
14:22:51 UTC ---
OK, can you tell I am time slicing this one.  ;)


[Bug c++/47199] [4.6 Regression] [C++0x] ICE: expected class 'type', have 'declaration' (function_decl) in same_type_ignoring_top_level_qualifiers_p, at cp/typeck.c:1407 with -fno-elide-constructors

2011-02-21 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47199

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED

--- Comment #3 from Jason Merrill jason at gcc dot gnu.org 2011-02-21 
14:26:06 UTC ---
Fixed.


[Bug tree-optimization/47835] New: FAIL: gcc.dg/pr46909.c scan-tree-dump ifcombine optimizing two comparisons to x_[0-9]+\(D\) != 4

2011-02-21 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47835

   Summary: FAIL: gcc.dg/pr46909.c scan-tree-dump ifcombine
optimizing two comparisons to x_[0-9]+\(D\) != 4
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa1.1-hp-hpux10.20
Target: hppa1.1-hp-hpux10.20
 Build: hppa1.1-hp-hpux10.20


Executing on host: /xxx/gnu/gcc/objdir/gcc/xgcc -B/xxx/gnu/gcc/objdir/gcc/
/xxx/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr46909.c   -O2 -fdump-tree-ifcombine -S 
-o pr46909.s(timeout = 300)
PASS: gcc.dg/pr46909.c (test for excess errors)
FAIL: gcc.dg/pr46909.c scan-tree-dump ifcombine optimizing two comparisons to
x_[0-9]+\(D\) != 4

See `!= 6' in tree dump.


[Bug libfortran/47567] Wrong output for small absolute values with F editing

2011-02-21 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47567

--- Comment #22 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-02-21 
14:32:14 UTC ---
On my system I get with:
print *, --
print (F0.0), -0.0   ! = -0.
print (F3.0), -0.0   ! = -0.
print (F2.0), -0.0   ! = **
print (F1.0), -0.0   ! = *
print *, --
print (F0.1), -0.0   ! = -.0
print (F3.1), -0.0   ! = -.0
print (F2.1), -0.0   ! = **
print (F1.1), -0.0   ! = *

This. The difference being my signature zero.
 --
-0.
-0.
**
0
 --
-.0
-.0
**
0

I confess, it does not look consistent. Next time slice, I will update it.  ;)


[Bug objc/47832] [4.6 Regression] ObjC errors on structures with flexible data members

2011-02-21 Thread nicola at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47832

--- Comment #4 from Nicola Pero nicola at gcc dot gnu.org 2011-02-21 14:33:14 
UTC ---

 for ObjC I guess it depends if in @interface there are variables (then
 variables with flexible array members in theory could be treated there like 
 ISO
 C99 treats variables), or they are treated as struct fields, in which cases
 fields with flex array members should be rejected

I see your point.  They are struct fields.

Thanks


[Bug tree-optimization/42108] [4.4/4.5/4.6 Regression] 50% performance regression

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42108

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Last reconfirmed|2009-11-19 16:49:51 |2011-02-21 16:49:51

--- Comment #51 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
14:33:16 UTC ---
Re-confirmed.  The PR42131 fix didn't improve the situation.


[Bug fortran/47778] reading two arrays of structures from namelist fails

2011-02-21 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47778

--- Comment #4 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-02-21 
14:35:20 UTC ---
Status update. I have more or less isolated the problem in list-read.c.  I do
not have an exact solution yet, but I am able to get the test case to work. I
just need now to find the right place to make the tweak.


[Bug tree-optimization/47835] FAIL: gcc.dg/pr46909.c scan-tree-dump ifcombine optimizing two comparisons to x_[0-9]+\(D\) != 4

2011-02-21 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47835

--- Comment #1 from John David Anglin danglin at gcc dot gnu.org 2011-02-21 
14:37:14 UTC ---
Created attachment 23426
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23426
Tree dump.


[Bug regression/47836] New: Some Cross Compiler can't build target-libiberty or target-zlib

2011-02-21 Thread th.r.klein at web dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47836

   Summary: Some Cross Compiler can't build target-libiberty or
target-zlib
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: regression
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: th.r.kl...@web.de


With upcoming 4.6 building of target-libiberty and target-zlib is enabled (at
most platforms) per default.
It should be possible to disable this behavior e.g. with switches like:
--without-target-libiberty
--without-target-zlib

Previous versions did not try to build these libraries for cross compilers.


Index: configure.ac
===
--- configure.ac(revision 170359)
+++ configure.ac(working copy)
@@ -262,6 +262,16 @@ skipdirs=
 # Noconfigdirs are removed loudly.
 noconfigdirs=

+# Make sure we don't let target-libiberty be added if we didn't want it.
+if test x$with_target_libiberty = xno ; then
+  noconfigdirs=$noconfigdirs target-libiberty
+fi
+
+# Make sure we don't let target-zlib be added if we didn't want it.
+if test x$with_target_zlib = xno ; then
+  noconfigdirs=$noconfigdirs target-zlib
+fi
+
 use_gnu_ld=
 # Make sure we don't let GNU ld be added if we didn't want it.
 if test x$with_gnu_ld = xno ; then
Index: configure
===
--- configure   (revision 170359)
+++ configure   (working copy)
@@ -2801,6 +2801,16 @@ skipdirs=
 # Noconfigdirs are removed loudly.
 noconfigdirs=

+# Make sure we don't let target-libiberty be added if we didn't want it.
+if test x$with_target_libiberty = xno ; then
+  noconfigdirs=$noconfigdirs target-libiberty
+fi
+
+# Make sure we don't let target-zlib be added if we didn't want it.
+if test x$with_target_zlib = xno ; then
+  noconfigdirs=$noconfigdirs target-zlib
+fi
+
 use_gnu_ld=
 # Make sure we don't let GNU ld be added if we didn't want it.
 if test x$with_gnu_ld = xno ; then


[Bug c/47837] New: FAIL: gcc.dg/uninit-pred-7_a.c bogus warning (test for bogus messages, line 26)

2011-02-21 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47837

   Summary: FAIL: gcc.dg/uninit-pred-7_a.c bogus warning (test for
bogus messages, line 26)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa1.1-hp-hpux10.20
Target: hppa1.1-hp-hpux10.20
 Build: hppa1.1-hp-hpux10.20


Executing on host: /xxx/gnu/gcc/objdir/gcc/xgcc -B/xxx/gnu/gcc/objdir/gcc/
/xxx/gnu/gcc/gcc/gcc/testsuite/gcc.dg/uninit-pred-7_a.c   -Wuninitialized -O2
-S  -o 
uninit-pred-7_a.s(timeout = 300)
/xxx/gnu/gcc/gcc/gcc/testsuite/gcc.dg/uninit-pred-7_a.c: In function
'foo':/xxx/gnu/gcc/gcc/gcc/testsuite/gcc.dg/uninit-pred-7_a.c:26:11: warning:
'v' may 
be used uninitialized in this function [-Wuninitialized]
/xxx/gnu/gcc/gcc/gcc/testsuite/gcc.dg/uninit-pred-7_a.c: In function 'foo_2':
/xxx/gnu/gcc/gcc/gcc/testsuite/gcc.dg/uninit-pred-7_a.c:48:12: warning: 'v' may
be used uninitialized in this function [-Wuninitialized]
output is:
/xxx/gnu/gcc/gcc/gcc/testsuite/gcc.dg/uninit-pred-7_a.c: In function
'foo':/xxx/gnu/gcc/gcc/gcc/testsuite/gcc.dg/uninit-pred-7_a.c:26:11: warning:
'v' may 
be used uninitialized in this function [-Wuninitialized]
/xxx/gnu/gcc/gcc/gcc/testsuite/gcc.dg/uninit-pred-7_a.c: In function 'foo_2':
/xxx/gnu/gcc/gcc/gcc/testsuite/gcc.dg/uninit-pred-7_a.c:48:12: warning: 'v' may 
be used uninitialized in this function [-Wuninitialized]

PASS: gcc.dg/uninit-pred-7_a.c bogus warning (test for bogus messages, line 20)
PASS: gcc.dg/uninit-pred-7_a.c bogus warning (test for bogus messages, line 23)
FAIL: gcc.dg/uninit-pred-7_a.c bogus warning (test for bogus messages, line 26)
PASS: gcc.dg/uninit-pred-7_a.c bogus warning (test for bogus messages, line 42)
PASS: gcc.dg/uninit-pred-7_a.c bogus warning (test for bogus messages, line 45)
PASS: gcc.dg/uninit-pred-7_a.c warning (test for warnings, line 48)
PASS: gcc.dg/uninit-pred-7_a.c bogus warning (test for bogus messages, line 51)
PASS: gcc.dg/uninit-pred-7_a.c (test for excess errors)


[Bug target/47487] ICE in rs6000_output_function_epilogue, at config/rs6000/rs6000.c:21782 building 64bit libgo

2011-02-21 Thread bergner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47487

--- Comment #3 from Peter Bergner bergner at gcc dot gnu.org 2011-02-21 
15:02:40 UTC ---
I don't recall anyone adding GO support for powerpc{,64}-linux, so I'm guessing
such a patch should be added when that is submitted?


[Bug fortran/46321] [OOP] Polymorphic deallocation

2011-02-21 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46321

--- Comment #2 from janus at gcc dot gnu.org 2011-02-21 15:06:10 UTC ---
(In reply to comment #1)
 Note: There are four cases where a polymorphic deallocate is needed - though
 some might end up in the same code path:
 
 - explicit DEALLOCATE (cf. comment 0)
 - implicit deallocate at the end of the scope
 - implicit deallocate via INTENT(OUT) (cf. PR 47637)
 - implicit deallocate when doing polymorphic reallocate on assignment (PR
 43366)

Some more things we need to consider:
* explicit deallocation with STAT or ERRMSG
* deallocation of allocatable components (explicit/implicit)


[Bug c++/47207] [4.6 Regression] [C++0x] ICE: in decl_constant_var_p, at cp/decl2.c:3563 on invalid code

2011-02-21 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47207

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||jason at gcc dot gnu.org

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org 2011-02-21 
15:11:14 UTC ---
Mine.


[Bug tree-optimization/47838] New: FAIL: gcc.dg/tree-ssa/foldconst-2.c scan-tree-dump-not optimized fundamentals..0

2011-02-21 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47838

   Summary: FAIL: gcc.dg/tree-ssa/foldconst-2.c scan-tree-dump-not
optimized fundamentals..0
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa1.1-hp-hpux10.20
Target: hppa1.1-hp-hpux10.20
 Build: hppa1.1-hp-hpux10.20


Executing on host: /xxx/gnu/gcc/objdir/gcc/xgcc -B/xxx/gnu/gcc/objdir/gcc/
/xxx/
gnu/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa/foldconst-2.c   -O2
-fdump-tree-optimi
zed -S  -o foldconst-2.s(timeout = 300)
PASS: gcc.dg/tree-ssa/foldconst-2.c (test for excess errors)
FAIL: gcc.dg/tree-ssa/foldconst-2.c scan-tree-dump-not optimized
fundamentals.0



[Bug tree-optimization/47838] FAIL: gcc.dg/tree-ssa/foldconst-2.c scan-tree-dump-not optimized fundamentals..0

2011-02-21 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47838

--- Comment #1 from John David Anglin danglin at gcc dot gnu.org 2011-02-21 
15:12:18 UTC ---
Created attachment 23427
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23427
Tree dump.


[Bug tree-optimization/47835] FAIL: gcc.dg/pr46909.c scan-tree-dump ifcombine optimizing two comparisons to x_[0-9]+\(D\) != 4

2011-02-21 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47835

Mikael Pettersson mikpe at it dot uu.se changed:

   What|Removed |Added

 CC||mikpe at it dot uu.se

--- Comment #2 from Mikael Pettersson mikpe at it dot uu.se 2011-02-21 
15:14:06 UTC ---
I see the same pr46909 failure on powerpc64-linux too, with every weekly trunk
snapshot since 2010-12-18.


[Bug c++/47207] [4.6 Regression] [C++0x] ICE: in decl_constant_var_p, at cp/decl2.c:3563 on invalid code

2011-02-21 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47207

--- Comment #3 from Jason Merrill jason at gcc dot gnu.org 2011-02-21 
15:35:52 UTC ---
Author: jason
Date: Mon Feb 21 15:35:44 2011
New Revision: 170365

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=170365
Log:
PR c++/47207
* decl2.c (decl_constant_var_p): A constexpr var needs an
initializer to be constant.
* semantics.c (cxx_eval_constant_expression): Complain about
constexpr var used in its own initializer.
* call.c (set_up_extended_ref_temp): Set
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P too.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-diag2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/38219] gcc.dg/tree-ssa/vrp47.c fails on powerpc

2011-02-21 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38219

--- Comment #11 from John David Anglin danglin at gcc dot gnu.org 2011-02-21 
15:51:59 UTC ---
Still fails on hppa1.1-hp-hpux10.20 with 4.6.0 revision 170207.


[Bug debug/47106] -fcompare-debug failure (length) with -fpartial-inlining -flto -fconserve-stack

2011-02-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47106

--- Comment #17 from Jakub Jelinek jakub at gcc dot gnu.org 2011-02-21 
15:53:54 UTC ---
Author: jakub
Date: Mon Feb 21 15:53:49 2011
New Revision: 170366

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=170366
Log:
PR debug/47106
* g++.dg/debug/pr47106.C: Require effective target lto.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/debug/pr47106.C


[Bug rtl-optimization/47477] [4.6 regression] Sub-optimal mov at end of method

2011-02-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47477

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.6.0   |4.7.0


[Bug fortran/47839] New: ICE in dwarf2out.c:add_AT_specification

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47839

   Summary: ICE in dwarf2out.c:add_AT_specification
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: lto
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


Building 459.GemsFDTD (and 416.gamess) with -O3 -ffast-math -flto -g ICEs
because the Fortran frontend seemingly puts imported variables in the
BLOCK tree of the imported function and does not mark them external.

The variable in question is huy_param from huygens_mod, imported from
nft_store

SUBROUTINE NFT_Store(Ex,Ey,Ez,Hx,Hy,Hz,t,ts)

USE excite_mod,  ONLY : excitation
USE huygens_mod, ONLY : Huy_param, HuyPulseType

and

MODULE Huygens_mod
...
real(kind=rfp), dimension(excite_max_no_param), PUBLIC :: Huy_param


I tried to create a small testcase but failed sofar.  It doesn't ICE
with -flto-partition=none but it does with -flto-partition=1to1.

With partially linking 459.GemsFDTD I get the ICE with

/abuild/rguenther/install-trunk/usr/local/bin/gfortran globalvar.f90 PEC.f90 -o
GemsFDTD -flto -flto-partition=none -r -nostdlib -O -g

which is then obviously related to a different variable.  Trying to
reduce the sources now.


[Bug fortran/47839] ICE in dwarf2out.c:add_AT_specification

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47839

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
16:19:20 UTC ---
--- a.f90

MODULE globalvar_mod
integer:: xstart, ystart, zstart, xstop, ystop, zstop
CONTAINS
END MODULE globalvar_mod

--- b.f90

MODULE PEC_mod
CONTAINS
SUBROUTINE PECapply(Ex,Ey,Ez)
USE globalvar_mod, ONLY : xstart, ystart, zstart, xstop, ystop, zstop
real(kind=8), dimension(xstart:xstop+1,ystart:ystop+1,zstart:zstop+1),  
intent(inout) :: Ex, Ey, Ez
END SUBROUTINE PECapply
END MODULE PEC_mod


 gfortran a.f90 b.f90 -flto -flto-partition=none -r -nostdlib -g
lto1: internal compiler error: in add_AT_specification, at dwarf2out.c:7558
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug c/47772] warnings from -Wmissing-field-initializers contradict documentation

2011-02-21 Thread webmas...@sky-siteweb.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47772

Jonathan 'Sky' Squirawski webmas...@sky-siteweb.com changed:

   What|Removed |Added

 CC||webmas...@sky-siteweb.com

--- Comment #2 from Jonathan 'Sky' Squirawski webmas...@sky-siteweb.com 
2011-02-21 16:55:39 UTC ---
I've the same problem with gcc 4.5.2.

Here another test case:

/*==*/
typedef struct bar_t {
int a;
int b;
} bar_t;

typedef struct foo_ok_t {
int   bar;
bar_t foo;
} foo_ok_t;

typedef struct foo_nok_t {
bar_t bar;
bar_t foo;
} foo_nok_t;

int main(void) {
foo_ok_t foo_ok;
foo_nok_t foo_nok;

foo_ok = (foo_ok_t){
.bar = 32,
};

foo_nok = (foo_nok_t){
.bar = (bar_t){ .a = 32, .b = 42 },
};

return 0;
}
/*==*/


The first assignment doesn't trigger any warning, but the second one gives:
test.c:29:5: warning: missing initializer
test.c:29:5: warning: (near initialization for ‘(anonymous).foo’)


[Bug libfortran/47802] [4.6 Regression] libgfortran/intrinsics/ctime.c:75:3: error: too few arguments to function 'ctime_r'

2011-02-21 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47802

--- Comment #6 from Jeffrey A. Law law at redhat dot com 2011-02-21 16:56:18 
UTC ---
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 02/18/11 13:56, dave at hiauly1 dot hia.nrc.ca wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47802
 
 --- Comment #2 from dave at hiauly1 dot hia.nrc.ca 2011-02-18 20:56:54 UTC ---
 Is there no way to get a posix compliant ctime?  Alternatively, we'll need
 autoconf magic to detect the extra arg.  I know at one time it was relatively
 common, so autoconf magic might be around somewhere.  Assuming it is you just
 have to do something like


 #if defined (oddballctime)
   *date = ctime_r (now, cbuf, CSZ);
 #else
   *date = ctime_r (now, cbuf);
 #endif
 
 Using ctime_r is a bit of a can of worms.  The GNU autoconf manual recommends
 not using ctime_r unless the inputs are known to be within certain limits.
Correct.  The problem is some implementations can trigger buffer
overflows for bad input.  Certain implementations pass in a buffer size
parameter to deal with that problem, others (glibc) presumably do some
checking before dumping results into the user supplied buffer to make
sure they don't exceed the 26 bytes or whatever the minimum size of hte
buffer is supposed to be.

Even for checking versions like glibc, if the wrong sized buffer is
passed in, then it'll probably break.

I guess the question we need to ask is how important are these routines
and should we be issuing warnings when they are used, much like is done
with gets.  If we don't need them, I'd much prefer to see them go away
as they're a rats nest of security issues.

Just a quick glance at the code in libgfortran/ctime.c and I'm pretty
sure it's vulnerable to a buffer overflow attack.


Jeff
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNYpkoAAoJEBRtltQi2kC7HwcH/3IEgG2sh265kwu9kKQQ87gf
um1qKykJo4/Ph3W4UF7q1G26mw5luemVE6ga4+4nEzpivH0hzgsxWADDPXjQzq26
tqUXwh0nKi5665O1rcW88EZpej5J0MDLtUBTQXv1DipQWDBa/YjDqrmO4IRkw+MK
QlkgPvCqosS1wvlbVJ9xKpTn2XY8tVTPdLlAMI3iBbbtDcsWMdKxaG5mpnhh8P4i
HkVepfpRr5RtpuVN3SJ6AWhqR0PQgS1e2PB2WbbY8bvNy5ev1GggJZj/3j101jza
/QseJ16lj3CqOMHCppHOhXGL8bxMFW17AWv/hL74+gTn9rZCH/JUjOQ+YzRgs0A=
=SpA9
-END PGP SIGNATURE-


[Bug tree-optimization/47838] FAIL: gcc.dg/tree-ssa/foldconst-2.c scan-tree-dump-not optimized fundamentals..0

2011-02-21 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47838

Mikael Pettersson mikpe at it dot uu.se changed:

   What|Removed |Added

 CC||mikpe at it dot uu.se

--- Comment #2 from Mikael Pettersson mikpe at it dot uu.se 2011-02-21 
17:03:34 UTC ---
I see the foldconst-2 failure also on powerpc64-linux, ever since the 20100904
trunk snapshot.


[Bug fortran/47839] ICE in dwarf2out.c:add_AT_specification

2011-02-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47839

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.02.21 17:04:46
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-02-21 
17:04:46 UTC ---
We merge the decls during symtab merging.  The prevailing one looks for example
like

(gdb) call debug_tree (prevailing-decl)
 var_decl 0x75b3b0a0 zstart
type integer_type 0x77ee3498 int public SI
size integer_cst 0x77ed36e0 constant 32
unit size integer_cst 0x77ed33e8 constant 4
align 32 symtab 0 alias set -1 canonical type 0x77ee3498 precision
32 min integer_cst 0x77ed3668 -2147483648 max integer_cst 0x77ed3690
2147483647
pointer_to_this pointer_type 0x77ef03f0
used public static SI file mod.f90 line 2 col 0 size integer_cst
0x77ed36e0 32 unit size integer_cst 0x77ed33e8 4
align 32 context namespace_decl 0x75b31678 globalvar_mod

while the non-prevailing one is

 var_decl 0x75b3b640 zstart
type integer_type 0x77ee3498 int public SI
size integer_cst 0x77ed36e0 constant 32
unit size integer_cst 0x77ed33e8 constant 4
align 32 symtab 0 alias set -1 canonical type 0x77ee3498 precision
32 min integer_cst 0x77ed3668 -2147483648 max integer_cst 0x77ed3690
2147483647
pointer_to_this pointer_type 0x77ef03f0
used public ignored external SI file t.f90 line 4 col 0 size integer_cst
0x77ed36e0 32 unit size integer_cst 0x77ed33e8 4
align 32

note that it is public and external and has a NULL DECL_CONTEXT.

The C frontend for a local extern declaration has

 var_decl 0x75b481e0 i
type integer_type 0x77ee6498 int public SI
size integer_cst 0x77ed36e0 constant 32
unit size integer_cst 0x77ed33e8 constant 4
align 32 symtab 0 alias set -1 canonical type 0x77ee6498 precision
32 min integer_cst 0x77ed3668 -2147483648 max integer_cst 0x77ed3690
2147483647
pointer_to_this pointer_type 0x77ef7540
used public external common SI defer-output file t.c line 8 col 15 size
integer_cst 0x77ed36e0 32 unit size integer_cst 0x77ed33e8 4
align 32 context function_decl 0x75b49000 foo

thus puts it into function context.  This decl is solely used for the BLOCK
tree, in the function a public external global var is used (which is
then merged with the static one from the other TU).

void foo (void)
{
  extern int i;
  i = 0;
}

---

int i;



Simplified Fortran testcase:

MODULE globalvar_mod
integer:: xstop
CONTAINS
END MODULE globalvar_mod

---

MODULE PEC_mod
CONTAINS
SUBROUTINE PECapply(Ex)
USE globalvar_mod, ONLY : xstop
real(kind=8), dimension(1:xstop), intent(inout) :: Ex
END SUBROUTINE PECapply
END MODULE PEC_mod

it's important that PECapply is inside a module.

The decl is built by gfc_get_symbol_decl and put into the function via
gfc_add_decl_to_function - which is I think in general bogus for
imported decls.  Its context is later cleared in pushdecl, but the
variable isn't removed from BLOCK_VARS.

I think we want to avoid gfc_add_decl_to_function in the first place.


  1   2   >