Re: typos

2013-07-03 Thread Ondrej Bilka
On Wed, Jul 03, 2013 at 12:41:42AM +0200, Veres Lajos wrote:
 Hi,
 
 I wrote a small misspell finder/fixer script and when I have a little
 spare time I clean OS projects with it. 
 (https://github.com/vlajos/misspell_fixer)
 I ran it on this repository:
 svn://gcc.gnu.org/svn/gcc/trunk
 The patch is around 800kb.
 What is the best way to handle this modifications?
 I mean most of the modifications are in the comments and in the
 documentations, but a code-review is needed anyway. The script itself
 isn't enough intelligent.
 So how could I smooth the way to land these modifications?
 
 Thanks:
I am writing similar tool, that checks more style issues. 
I could try to integrate that.

My idea is run this as pre-commit hook, separate comments from diff, check it 
with aspell and print 
misspelings in standard output so user can filter them.


Re: typos

2013-07-03 Thread Veres Lajos
On Wed, 3 Jul 2013, Ondrej Bilka wrote:

 On Wed, Jul 03, 2013 at 12:41:42AM +0200, Veres Lajos wrote:
  Hi,
 
  I wrote a small misspell finder/fixer script and when I have a little
  spare time I clean OS projects with it. 
  (https://github.com/vlajos/misspell_fixer)
  I ran it on this repository:
  svn://gcc.gnu.org/svn/gcc/trunk
  The patch is around 800kb.
  What is the best way to handle this modifications?
  I mean most of the modifications are in the comments and in the
  documentations, but a code-review is needed anyway. The script itself
  isn't enough intelligent.
  So how could I smooth the way to land these modifications?

 I am writing similar tool, that checks more style issues.
 I could try to integrate that.

 My idea is run this as pre-commit hook, separate comments from diff, check it 
 with aspell and print
 misspelings in standard output so user can filter them.

Classic spellchekers are not really efficient for finding typos in program
sources. There are too many false positives.
Anyway can I help somehow?

And if the script will be done you should run it for the whole
codebase. Otherwise the issues won't be fixed until anybody touches them.

-- 
Veres Lajos
vla...@gmail.com
+36 20 438 5909


Re: [boost] lots of warning with gcc-4.8.1 + boost-1.54.0

2013-07-03 Thread Jonathan Wakely
On 3 July 2013 02:41, Nathan Ridge wrote:
 Lots of warnings like this:

 ./boost/bind/arg.hpp:37:22: warning: typedef ‘T_must_be_placeholder’ locally
 defined but not used [-Wunused-local-typedefs]

 when building 1.54.0 with gcc-4.8.1 (fedora f19)

 This warning is new in GCC 4.8, and I have been seeing a ton of them
 not just in boost, but in every codebase I've built.

It was new in GCC 4.7, http://gcc.gnu.org/gcc-4.7/changes.html

It affects Boost more than most code because of the prevalent use of
concept checks and static assertions which are usually implemented
using typedefs but only conditionally compiled.

I keep being surprised noone's disabled it in gcc.jam yet.


Re: [boost] lots of warning with gcc-4.8.1 + boost-1.54.0

2013-07-03 Thread Jonathan Wakely
On 3 July 2013 02:41, Nathan Ridge wrote:
 Lots of warnings like this:

 ./boost/bind/arg.hpp:37:22: warning: typedef ‘T_must_be_placeholder’ locally
 defined but not used [-Wunused-local-typedefs]

 when building 1.54.0 with gcc-4.8.1 (fedora f19)

 This warning is new in GCC 4.8, and I have been seeing a ton of them
 not just in boost, but in every codebase I've built.

It was new in GCC 4.7, http://gcc.gnu.org/gcc-4.7/changes.html

It affects Boost more than most code because of the prevalent use of
concept checks and static assertions which are usually implemented
using typedefs but only conditionally compiled.

I keep being surprised noone's disabled it in gcc.jam yet.

 CC'ing the gcc folks.

That's not very helpful because posting to the Boost list is
subscription only (you'll have two copies of this mail, because the
first one I sent from an address subscribed to the GCC list but not
this one.)


Re: [boost] lots of warning with gcc-4.8.1 + boost-1.54.0

2013-07-03 Thread Daniel James
On 3 July 2013 09:32, Jonathan Wakely jwakely.bo...@kayari.org wrote:

 I keep being surprised noone's disabled it in gcc.jam yet.

That wouldn't work for headers, as they get included when building
with other build systems. Since this is new, I guess we can use
pragmas to disable the warning, but that's a pain.


Re: typos

2013-07-03 Thread Martin Jambor
Hi,

On Wed, Jul 03, 2013 at 09:55:14AM +0200, Veres Lajos wrote:
 On Wed, 3 Jul 2013, Ondrej Bilka wrote:
 
  On Wed, Jul 03, 2013 at 12:41:42AM +0200, Veres Lajos wrote:
   Hi,
  
   I wrote a small misspell finder/fixer script and when I have a little
   spare time I clean OS projects with it. 
   (https://github.com/vlajos/misspell_fixer)
   I ran it on this repository:
   svn://gcc.gnu.org/svn/gcc/trunk
   The patch is around 800kb.
   What is the best way to handle this modifications?
   I mean most of the modifications are in the comments and in the
   documentations, but a code-review is needed anyway. The script itself
   isn't enough intelligent.
   So how could I smooth the way to land these modifications?
 
  I am writing similar tool, that checks more style issues.
  I could try to integrate that.
 
  My idea is run this as pre-commit hook, separate comments from diff, check 
  it with aspell and print
  misspelings in standard output so user can filter them.
 
 Classic spellchekers are not really efficient for finding typos in program
 sources. There are too many false positives.
 Anyway can I help somehow?
 
 And if the script will be done you should run it for the whole
 codebase. Otherwise the issues won't be fixed until anybody touches them.
 

perhaps you should be aware that there are people who prefer exactly
that, though the discussions so far have been about
formatting/whitespace problems only.  The reason is simpler history
browsing which such changes complicate for little gain (I personally
can cope with it but I see the point).

On the other hand, I think that this would matter much less for lines
where there are only comments.  So I'd suggest cherry-picking these
and submitting fixes in them.  If the patch is large, split it into a
number of patches for easier review.  If there are errors in
identifiers etc. I assume that needs to be handled on case by case
basis, although some related cases can certainly be dealt with
together (and it would upset history a bit so there might even be
opposition to that).

Thanks,

Martin


RE: [boost] lots of warning with gcc-4.8.1 + boost-1.54.0

2013-07-03 Thread Nathan Ridge
 On 3 July 2013 02:41, Nathan Ridge wrote:
 Lots of warnings like this:

 ./boost/bind/arg.hpp:37:22: warning: typedef ‘T_must_be_placeholder’ locally
 defined but not used [-Wunused-local-typedefs]

 when building 1.54.0 with gcc-4.8.1 (fedora f19)

 This warning is new in GCC 4.8, and I have been seeing a ton of them
 not just in boost, but in every codebase I've built.

 It was new in GCC 4.7, http://gcc.gnu.org/gcc-4.7/changes.html

I stand corrected. (What's new in 4.8 is it being included in -Wall,
which is why I never noticed it in 4.7).

 It affects Boost more than most code because of the prevalent use of
 concept checks and static assertions which are usually implemented
 using typedefs but only conditionally compiled.

I've seen spews of that warning for other large projects, such as
clang or wxWidgets, not just boost.

Would GCC consider removing it from -Wall?

 CC'ing the gcc folks.

 That's not very helpful because posting to the Boost list is
 subscription only (you'll have two copies of this mail, because the
 first one I sent from an address subscribed to the GCC list but not
 this one.)

My apologies.

Regards,
Nate  

Re: typos

2013-07-03 Thread Veres Lajos
On Wed, 3 Jul 2013, Martin Jambor wrote:

  And if the script will be done you should run it for the whole
  codebase. Otherwise the issues won't be fixed until anybody touches them.
 

 perhaps you should be aware that there are people who prefer exactly
 that, though the discussions so far have been about
 formatting/whitespace problems only.  The reason is simpler history
 browsing which such changes complicate for little gain (I personally
 can cope with it but I see the point).

 On the other hand, I think that this would matter much less for lines
 where there are only comments.  So I'd suggest cherry-picking these
 and submitting fixes in them.  If the patch is large, split it into a
 number of patches for easier review.  If there are errors in
 identifiers etc. I assume that needs to be handled on case by case
 basis, although some related cases can certainly be dealt with
 together (and it would upset history a bit so there might even be
 opposition to that).

Around 99% of the typos are in comments and documentations a few of them
are only in function/variable names (living code).
I think it is not really history obtrusive.

I will create a small subset for preview and send it for reviewing.
(I would not do the whole before getting a green signal... It could take
me at least 4-5 hours to review the whole patch...)

-- 
Veres Lajos
vla...@gmail.com
+36 20 438 5909


Re: Git mirror: asan branch

2013-07-03 Thread Thomas Schwinge
Hi!

On Wed, 3 Jul 2013 00:18:17 +0200, Andreas Schwab sch...@linux-m68k.org wrote:
 Thomas Schwinge tho...@codesourcery.com writes:
 
  If I configure my local Git checkout of the GCC Git mirror to include all
  branches, per http://gcc.gnu.org/wiki/GitMirror#Fetching_all_branches,
  then I get:
 
  fatal: refs/remotes/origin/asan tracks both refs/heads/asan and 
  refs/remotes/asan
 
  Is that a local problem of mine, or a glitch in the gcc.gnu.org Git
  repository configuration?
 
 It's a bug in the remotes configuration.  The two remotes should be
 stored into different namespaces (eg refs/remotes/origin/heads/* and
 refs/remotes/origin/remotes/*), instead of trying to merge them
 together.

OK, that of course works, but from the wiki page I got the idea that it
explicitly was meant to merge these together.  So assuming this used to
work in the past, I wonder what so that it no longer does; such as Git
allowing such duplicates merging in the past, and/or was the intersection
of refs/remotes/* and refs/heads/* meant to be the empty set (then I
assume the merging would work, too), but no longer is?


Grüße,
 Thomas


pgp_ptpHtlMiu.pgp
Description: PGP signature


Re: Git mirror: asan branch

2013-07-03 Thread Jason Merrill

On 07/03/2013 02:47 AM, Thomas Schwinge wrote:

OK, that of course works, but from the wiki page I got the idea that it
explicitly was meant to merge these together.  So assuming this used to
work in the past, I wonder what so that it no longer does; such as Git
allowing such duplicates merging in the past, and/or was the intersection
of refs/remotes/* and refs/heads/* meant to be the empty set (then I
assume the merging would work, too), but no longer is?


Hmm, it looks like I wrote that up without actually doing it myself, 
oops.  I'll correct the wiki.


Jason




GNU Tools Cauldron 2013 - Registrations are now closed (plus FAQ)

2013-07-03 Thread Diego Novillo

An update on this year's Cauldron.

We have reached the maximum number of attendees that we can
accept.  Registrations are now closed.  If you still wish to
attend, contact us at tools-cauldron-ad...@googlegroups.com.
We have started a waiting list and will let you know if a slot
opens up

If you had registered but will no longer be able to attend,
please let us know so we can free up that slot for someone else.

Some miscellaneous notes for recent questions:

- The first night, we will meet at the Computer History Museum
  (http://www.computerhistory.org/directions/).  Registration
  starts at 18:30.  There will be a buffet dinner from 19:00 to
  21:00.

- Public transit directions from the Hotel Avante to the Google
  Campus are available online (e.g., http://goo.gl/maps/uKMUH)

- The conference will be held at Building 1200 (1200 Charleston
  Rd, Mountain View).  We will be using the conference rooms
  Tambourine and Triangle.

- We will likely be able to record all the presentations.  More
  details to follow.

- If you are presenting, you may bring your laptop or a usb stick
  with your presentation in pdf format.  There is wireless
  connectivity available.



Diego.


Remove the __GXX_EXPERIMENTAL_CXX0X__?

2013-07-03 Thread Ed Smith-Rowland

While thinking about C++ n3694 feature test macros I noticed we still define 
__GXX_EXPERIMENTAL_CXX0X__ macro in c-family/c-cppbuiltin.c.
We got rid of all uses of it in libstdc++.
I propose we get rid of it here too.
User's shouldn't be relying on it.  No?

OTOH, it may have been a proxy for __cplusplus for users for a good while.  
People may still be using it even if the library no longer uses it.

What do folks think?



Error: no such instruction: `eovq -32(%rbp),%rdx'

2013-07-03 Thread Dmitry Mikushin

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Dear all,

With gcc-4.7-20130629 and binutils-2.23.2 I'm getting

Error: no such instruction: `eovq -32(%rbp),%rdx'

There was no such issue with May' gcc snapshot and binutils-2.22. Is it
a binutils-specific problem? Which version of binutils is known to work
well with gcc-4.7-20130629 ?

Thanks,
- - D.

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQEcBAEBAgAGBQJR1JpTAAoJENwm3+sbf/pMvYoH/2/eao48G2782OaR3654uvJU
xdFODidyTMFQXDIF3KXqYFl1AplPN5q95Te71RiAuuqyZLcIjPP3QzrYprgqmtaW
RaOLYZ+qHjBlaBK7R8nsERZEGw+C2wcafHah9SFYTTJJWRl2kdita+z/KytlGPlc
qhpv64sT0nSeQxDzLca2bzEmveIYfXM/FdPC9GD8tH5tMKeKawwaqN4pnKR9Y9DM
9LyRKWW/CcjisJrrks2UotrlcMuyfw92VWYEj4G80ildDA3ISLfgeX3z3z9lK688
ugmJxKxghuzr988MILPXzqsFI5+0OF3OVqg+7Mc5Rl6A9HnRFj16fj+c+OtAJB4=
=fivA
-END PGP SIGNATURE-



Re: Remove the __GXX_EXPERIMENTAL_CXX0X__?

2013-07-03 Thread Marc Glisse

On Wed, 3 Jul 2013, Ed Smith-Rowland wrote:

While thinking about C++ n3694 feature test macros I noticed we still define 
__GXX_EXPERIMENTAL_CXX0X__ macro in c-family/c-cppbuiltin.c.

We got rid of all uses of it in libstdc++.
I propose we get rid of it here too.
User's shouldn't be relying on it.  No?

OTOH, it may have been a proxy for __cplusplus for users for a good while. 
People may still be using it even if the library no longer uses it.


What do folks think?


Please keep it. Removing it won't gain you anything, and people do rely on 
it.


--
Marc Glisse


Re: Error: no such instruction: `eovq -32(%rbp),%rdx'

2013-07-03 Thread H.J. Lu
On Wed, Jul 3, 2013 at 2:40 PM, Dmitry Mikushin dmi...@kernelgen.org wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Dear all,

 With gcc-4.7-20130629 and binutils-2.23.2 I'm getting

 Error: no such instruction: `eovq -32(%rbp),%rdx'

 There was no such issue with May' gcc snapshot and binutils-2.22. Is it
 a binutils-specific problem? Which version of binutils is known to work
 well with gcc-4.7-20130629 ?


I assume it is x86-64.  Do you have a testcase?
I couldn't find anything in GCC x86 backend to
generate eovq.  Do you have a typo in asm
statement?

--
H.J.


Re: Remove the __GXX_EXPERIMENTAL_CXX0X__?

2013-07-03 Thread Gabriel Dos Reis
On Wed, Jul 3, 2013 at 4:39 PM, Ed Smith-Rowland 3dw...@verizon.net wrote:
 While thinking about C++ n3694 feature test macros I noticed we still define
 __GXX_EXPERIMENTAL_CXX0X__ macro in c-family/c-cppbuiltin.c.
 We got rid of all uses of it in libstdc++.
 I propose we get rid of it here too.
 User's shouldn't be relying on it.  No?

 OTOH, it may have been a proxy for __cplusplus for users for a good while.
 People may still be using it even if the library no longer uses it.

 What do folks think?

Deprecate it for 4.9.x.
Remove it later.  We don't need to keep around
this macro which has been obsolete for at least
two releases.

-- Gaby


Re: typos

2013-07-03 Thread Veres Lajos
On Wed, 3 Jul 2013, Veres Lajos wrote:

 Around 99% of the typos are in comments and documentations a few of them
 are only in function/variable names (living code).
 I think it is not really history obtrusive.

 I will create a small subset for preview and send it for reviewing.
 (I would not do the whole before getting a green signal... It could take
 me at least 4-5 hours to review the whole patch...)

http://lavela.hu/gcc.misspell-fixer.20130704.notrevised.patch.bz2
This is the patch generated by the misspell fixer script.
(This is the patch against the whole tree.)
I did NOT reviewed it yet.
What do you think could it be usefull? Should I review the file?
Probably I could remove some false positives, but I am not a C expert.

-- 
Veres Lajos
vla...@gmail.com
+36 20 438 5909


Re: Error: no such instruction: `eovq -32(%rbp),%rdx'

2013-07-03 Thread Anthony Foiani
Dmitry Mikushin dmi...@kernelgen.org writes:

 Error: no such instruction: `eovq -32(%rbp),%rdx'

That's only a one-bit error away from movq ...

('m' = 0x6d = 0b 0110 1101,
 'e' = 0x65 = 0b 0110 0101)

Maybe run memory tester overnight?

(This is from personal experience -- I had a bad stick of RAM that
caused all sorts of bizarre compile problems.  I eventually isolated
the problem and replaced the DIMM; the compile problems went away.)

Good luck!

Best regards,
Anthony Foiani


La mejor base de datos de Mexico

2013-07-03 Thread Su Empresa

La mejor base de datos Mexicana a su alcance

10 millones de registros mayores de edad
765 mil empresas con datos completos

Y por si fuera poco:

3 suites de software para windows y Mac
150 servidores SMTP ilimitados para envio masivo de correos
Videotutoriales de uso

Todo actualizado a Julio 2013

Lo invitamos a conocer lo que podemos hacer a favor de su empresa en:
http://fur.ly/9mwh




[Bug fortran/57791] Waste work in gfc_check_pointer_assign()

2013-07-03 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57791

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org ---
(In reply to Po-Chun Chang from comment #0)
 Suggested patch
 
 In method gfc_check_pointer_assign() in expr.c, the loop on line 3763
 should break immediately after warn is set to true. All the iterations
 after warn set to true do not perform any useful work, at best they just
 set warn again to true.

I concur.

(Note that the nesting depth is rather shallow [one or two, rarely three and
essentially never four or more] and only pointer comparisons are done, which is
computationally cheap. Thus, the current version doesn't waste many cycles.)


[Bug tree-optimization/56982] [4.8 Regression] Bad optimization with setjmp()

2013-07-03 Thread bernd.edlinger at hotmail dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56982

--- Comment #15 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
(In reply to Mikael Pettersson from comment #14)
 Your example is invalid C.  Referring to WG14 n1494.pdf (there may be more
 recent C1x documents, but it's the one I had available right now):
 
 - you violate 7.13.1.1 which specifies where setjmp() may be called, an
 assignment statement is not one of the permitted contexts
 
 - more importantly, your auto variable a is not volatile-qualified, which
 means that its value is indeterminate after the longjmp (7.13.2.1).
 
 Please fix these issues and check again if it yields wrong results.

Thanks for pointing that out.

When I add volatile to the auto variable, the code is OK.


[Bug ada/57795] New: Fail cross building Ada

2013-07-03 Thread alexpux at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57795

Bug ID: 57795
   Summary: Fail cross building Ada
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
  Assignee: unassigned at gcc dot gnu.org
  Reporter: alexpux at gmail dot com

I try to build i686 multilib mingw toolchain with Ada from linux x86_64
toolchain.
First I build cross-compiler linux-x64 - mingw-x32. Next I try to build
mingw-x32 native toolchain from cross and get fail building libada on last
step.

make[2]: Entering directory `/home/alexx/work32/mingw32-gcc/gnattools'
# gnattools1-re
make -C ../gcc/ada/tools -f ../Makefile \
  CC=i686-w64-mingw32-gcc CFLAGS=-g -O2 -D__USE_MINGW_ACCESS -W -Wall
LDFLAGS=-static-libstdc++ -static-libgcc -Wl,--stack,12582912
ADAFLAGS=-gnatpg -gnata ADA_CFLAGS= INCLUDES=-I. -I.. -I../..
-I/home/alexx/src/gcc-4.8.1/gcc/ada -I/home/alexx/src/gcc-4.8.1/gcc/config
-I/home/alexx/src/gcc-4.8.1/gcc/../include -I/home/alexx/src/gcc-4.8.1/gcc
ADA_INCLUDES=-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude
-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/ -I.
-I/home/alexx/src/gcc-4.8.1/gcc/ada exeext=.exe
fsrcdir=/home/alexx/src/gcc-4.8.1/gcc srcdir=/home/alexx/src/gcc-4.8.1/gcc
GNATMAKE=gnatmake GNATLINK=gnatlink GNATBIND=gnatbind TOOLSCASE=cross
LIBGNAT= INCLUDES= \
  gnatmake-re gnatlink-re
make[3]: Entering directory `/home/alexx/work32/mingw32-gcc/gcc/ada/tools'
gnatmake -j0 -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude
-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/ -I.
-I/home/alexx/src/gcc-4.8.1/gcc/ada -u sdefault --GCC=i686-w64-mingw32-gcc 
gnatmake: objects up to date.
gnatmake -j0 -c
-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude
-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/ -I.
-I/home/alexx/src/gcc-4.8.1/gcc/ada gnatmake --GCC=i686-w64-mingw32-gcc -g -O2
-D__USE_MINGW_ACCESS -W -Wall  -gnatpg -gnata
i686-w64-mingw32-gcc -c -I./
-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude
-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/ -I.
-I/home/alexx/src/gcc-4.8.1/gcc/ada -g -O2 -D__USE_MINGW_ACCESS -W -Wall
-gnatpg -gnata -I- /home/alexx/src/gcc-4.8.1/gcc/ada/osint.adb
i686-w64-mingw32-gcc -c -I./
-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude
-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/ -I.
-I/home/alexx/src/gcc-4.8.1/gcc/ada -g -O2 -D__USE_MINGW_ACCESS -W -Wall
-gnatpg -gnata -I- /home/alexx/src/gcc-4.8.1/gcc/ada/prj.adb
osint.adb:3182:07: warning: types for unchecked conversion have different sizes
gnatmake: /home/alexx/src/gcc-4.8.1/gcc/ada/osint.adb compilation error
make[3]: *** [gnatmake-re] Error 4
make[3]: Leaving directory `/home/alexx/work32/mingw32-gcc/gcc/ada/tools'
make[2]: *** [gnattools-cross] Error 2
make[2]: Leaving directory `/home/alexx/work32/mingw32-gcc/gnattools'
make[1]: *** [all-gnattools] Error 2
make[1]: Leaving directory `/home/alexx/work32/mingw32-gcc'
make: *** [all] Error 2

I see that gcc got wrong headers and libs
(I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude
-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/) from linux native
toolchain. But it can be pointed to headers and libs from cross toolchain.
I do this operation with different gcc - 4.7.3 and 4.8.1 with the same result.
My dirty hack to resolve it is to copy ada headers and libs from cross
toolchain to native toolchain. Then build finishing fine.


Regards,
Alexey.


[Bug ada/57772] Bug box in gnat_to_gnu, at ada/gcc-interface/trans.c:5778 on legal Ada 2005 quantifier expression with exponentiation

2013-07-03 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57772

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ebotcazou at gcc dot gnu.org
 Resolution|--- |FIXED
   Target Milestone|--- |4.7.3

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Fixed in GCC 4.7.x and later.


[Bug tree-optimization/57796] New: AVX2 gather vectorization: code bloat and reduction of performance

2013-07-03 Thread vincenzo.innocente at cern dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57796

Bug ID: 57796
   Summary: AVX2 gather vectorization: code bloat and reduction of
performance
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vincenzo.innocente at cern dot ch

At least in scimark2 sparse matrix multiplication the use of gather
instructions ends in code bloat and a substantial reduction of performance

the test below has been performed on a INTEL 4770K at fixed freq of 3.495GHz
using gcc version 4.9.0 20130630 (experimental) [trunk revision 200570] (GCC) 

the easiest is just to download scimark2 compile and run as

mkdir scimark2TMP
cd scimark2TMP
wget http://math.nist.gov/scimark2/scimark2_1c.zip .
unzip scimark2_1c.zip
gcc -v
gcc -Ofast -march=corei7-avx *.c -lm
./a.out 5 | grep Sparse matmult
./a.out -large 5 | grep Sparse matmult
gcc -Ofast -march=corei7-avx -mavx2 -mfma *.c -lm
./a.out 5 | grep Sparse matmult
./a.out -large 5 | grep Sparse matmult
gcc -Ofast -march=corei7-avx  -S SparseCompRow.c -o SparseCompRow_avx.s
gcc -Ofast -march=corei7-avx -mavx2 -mfma -S SparseCompRow.c -o
SparseCompRow_avx2.s
wc SparseCompRow_avx.s
wc SparseCompRow_avx2.s

my results

gcc version 4.9.0 20130630 (experimental) [trunk revision 200570] (GCC) 
Sparse matmult  Mflops:  2245.34(N=1000, nz=5000)
Sparse matmult  Mflops:  2030.24(N=10, nz=100)
Sparse matmult  Mflops:  1842.84(N=1000, nz=5000)
Sparse matmult  Mflops:  1754.18(N=10, nz=100)
 113  269 2156 SparseCompRow_avx.s
 289  778 5910 SparseCompRow_avx2.s


[Bug middle-end/57786] Waste work in distribute_notes()

2013-07-03 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57786

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-07-03
 CC||ebotcazou at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Confirmed, thanks for spotting it.


[Bug middle-end/57786] Waste work in distribute_notes()

2013-07-03 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57786

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|ebotcazou at gcc dot gnu.org   |
   Assignee|unassigned at gcc dot gnu.org  |ebotcazou at gcc dot 
gnu.org

--- Comment #2 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Taking care of it.


[Bug c++/57793] [4.7/4.8/4.9 Regression] ICE wiith bitfields in get_bit_range

2013-07-03 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57793

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-07-03
Summary|Cross-Compiler Templates|[4.7/4.8/4.9 Regression]
   |and Bitfields Ask to Report |ICE wiith bitfields in
   |Problem |get_bit_range
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
I can confirm this on x86_64-linux -m32, no need for a cross-compiler. I doubt
however that it's a C++ front-end issue.


[Bug c++/57794] using keyword for function alias doesn't work with plus suffix return type

2013-07-03 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57794

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-07-03
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
I'm not at all convinced this is legal code. Can you please attach a
*self-contained* snippet?


[Bug tree-optimization/50789] Gather vectorization

2013-07-03 Thread vincenzo.innocente at cern dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50789

--- Comment #13 from vincenzo Innocente vincenzo.innocente at cern dot ch ---
I just submitted a specific bug-report as PR57796


[Bug c++/57794] using keyword for function alias doesn't work with plus suffix return type

2013-07-03 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57794

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
It's not valid code, [] introduces a lambda expression, not a function type,
but a lambda expression must have a body.

Maybe you mean:

using to_lower_fn_ptr = auto (input_base_type, const std::locale) -
input_base_type;

which compiles fine.


[Bug tree-optimization/57796] AVX2 gather vectorization: code bloat and reduction of performance

2013-07-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57796

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org,
   ||kyukhin at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
The gather vectorization has been written without access to hw and perhaps some
tuning might be needed.  But I don't have enough info how it should be tuned,
what the exact costs are.


[Bug c++/56037] Spurious syntax error triggered before ambiguity resolution of type-id

2013-07-03 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56037

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Reduced:

struct T
{
  T(int, int);
};

int main()
{
  static const int zero = 0;
  (T(int(zero), int(zero)));
}


[Bug c++/12333] [DR 272] Explicit call to MyClass::~MyClass() not allowed

2013-07-03 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12333

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|gcc-bugs at gcc dot gnu.org|
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #15 from Paolo Carlini paolo.carlini at oracle dot com ---
Looking into this.


[Bug fortran/57785] [4.7/4.8/4.9 Regression] DOT_PRODUCT error with constant complex array

2013-07-03 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57785

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
  Known to work||4.4.3
Summary|DOT_PRODUCT error with  |[4.7/4.8/4.9 Regression]
   |constant complex array  |DOT_PRODUCT error with
   ||constant complex array
  Known to fail||4.5.3, 4.7.3, 4.9.0

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org ---
Patch: http://gcc.gnu.org/ml/fortran/2013-07/msg4.html

(It's a regression since GCC 4.5 [r148243, which added compile-time
simplification]. However, GCC 4.5 and 4.6 are no longer maintained.)


[Bug other/57797] New: configure --enable-languages=c builds libstdc++-v3

2013-07-03 Thread earnie at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57797

Bug ID: 57797
   Summary: configure --enable-languages=c builds libstdc++-v3
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: earnie at users dot sourceforge.net

When specifying --enable-languages=c the libstdc++-v3 directory is being
configured and built.  I had to remove the directory from the source to prevent
the build.  Here is the full set of configure options:

--prefix=/mingw --enable-languages=c --disable-sjlj-exceptions --with-dwarf2
--enable-shared --disable-win32-registry --disable-build-poststage1-with-cxx
--enable-version-specific-runtime-libs --host=i686-pc-mingw32
--target=i686-pc-mingw32 --build=i686-pc-mingw32 --disable-multilib
--without-pic --with-gnu-ld --with-gnu-as --without-readline
--disable-libstdcxx --enable-lto --enable-multilib --enable-multiarch
--disable-tls --enable-threads --disable-cxx --enable-assembly --enable-fft
--disable-nls --disable-rpath


[Bug c++/57775] default argument for template parameter error for friend definition in template

2013-07-03 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57775

Daniel Krügler daniel.kruegler at googlemail dot com changed:

   What|Removed |Added

 CC||daniel.kruegler@googlemail.
   ||com

--- Comment #1 from Daniel Krügler daniel.kruegler at googlemail dot com ---
The problem still exists for gcc 4.9.0 20130616 (experimental). It sounds a bit
familiar to me, though.

[Bug fortran/57798] New: Incorrect handling of sum over first dimension of a product of automatic arrays

2013-07-03 Thread stephan.kramer at imperial dot ac.uk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57798

Bug ID: 57798
   Summary: Incorrect handling of sum over first dimension of a
product of automatic arrays
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: stephan.kramer at imperial dot ac.uk

The test code below results in a segfault evaluating the sum() in the print
statement. This is compiling with gfortran 4.8.1 (4.8.1-4ubuntu1 on Ubuntu
Saucy) without any flags. If bounds checking is switched on (-fbounds-check) I
get a bounds violation error with a random number reported for one of the
bounds:

Fortran runtime error: Dimension 1 of array 'func' has extent 2 instead of
4196256

Is this possibly related to the optimisation requested in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36841 ?




program test
  implicit none

  call sub(2, 11)

  contains

function func(m, n)
  integer, intent(in):: m,n
  real, dimension(m, n):: func

  func = 0.0

end function func

subroutine sub(m, n)
  integer, intent(in):: m, n
  real, dimension(m,n):: y

  y = 0.0
  print *, sum(y*func(m,n), dim=1)

end subroutine sub

end program test


[Bug bootstrap/57797] configure --enable-languages=c builds libstdc++-v3

2013-07-03 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57797

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

  Component|other   |bootstrap

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
(In reply to Earnie from comment #0)
 --disable-build-poststage1-with-cxx

You know this doesn't work for GCC 4.8, right?


[Bug fortran/57798] [4.8/4.9 Regression] Incorrect handling of sum over first dimension of a product of automatic arrays

2013-07-03 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57798

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

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-07-03
Summary|Incorrect handling of sum   |[4.8/4.9 Regression]
   |over first dimension of a   |Incorrect handling of sum
   |product of automatic arrays |over first dimension of a
   ||product of automatic arrays
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Confirmed. It appeared between revision 190090 (2012-08-02: OK) and 190271
(2012-08-09: wrong bounds). Valgrind reports

==70092== Invalid write of size 4
==70092==at 0x10DD1: func.1887 (pr57798.f90:12)
==70092==by 0x10C32: sub.1867 (pr57798.f90:21)
==70092==by 0x10D2F: MAIN__ (pr57798.f90:4)
==70092==by 0x10E1A: main (pr57798.f90:4)
==70092==  Address 0x100440480 is 0 bytes inside a block of size 1 alloc'd
==70092==at 0x100012679: malloc (vg_replace_malloc.c:266)
==70092==by 0x10C0B: sub.1867 (pr57798.f90:21)
==70092==by 0x10D2F: MAIN__ (pr57798.f90:4)
==70092==by 0x10E1A: main (pr57798.f90:4)


[Bug target/57363] IBM long double: adding NaN and number raises inexact exception

2013-07-03 Thread azanella at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57363

--- Comment #2 from Adhemerval Zanella azanella at linux dot vnet.ibm.com ---
You are correct and I meant in my first comment QNaN for the NaN work. And I
believe the patch is still correct: for IBM long double SNaN will be
represented
by first double being the NaN (the second double is ignored) and the first sum
(z = a + c) will trigger exception if any.


[Bug target/57777] [4.7/4.8/4.9 Regression] Python module fails compilation with -march=core-avx2 -O3

2013-07-03 Thread julian.ospald at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5

--- Comment #9 from Julian Ospald julian.ospald at googlemail dot com ---
patch tested with gcc-4.9.0_alpha20130505, works as well


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-07-03 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030

--- Comment #19 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
(In reply to Eric Botcazou from comment #18)
 Let's just reapply r192676 on the mainline.  We just need to make sure that
 the failures on i686 don't reappear.

Done now less than half a year later!
(Just r192676, no dse.c or cselib.c changes, leaving that to interested
parties.)


[Bug java/57799] New: ICE in jcf-parse.c

2013-07-03 Thread hearn at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57799

Bug ID: 57799
   Summary: ICE in jcf-parse.c
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
  Assignee: unassigned at gcc dot gnu.org
  Reporter: hearn at google dot com

Whilst compiling a JAR containing the following snippet of code, I get a
segfault that looks like this:

#0  0x00535541 in rewrite_reflection_indexes (arg=0x7fffd5f0) at
../../gcc-4.8.1/gcc/java/jcf-parse.c:754
#1  0x0050c7d7 in make_class_data (type=0x75f82dc8) at
../../gcc-4.8.1/gcc/java/class.c:2193
#2  0x0050cbb1 in finish_class () at
../../gcc-4.8.1/gcc/java/class.c:2255
#3  0x0053946b in parse_class_file () at
../../gcc-4.8.1/gcc/java/jcf-parse.c:1661
#4  0x0053a37a in parse_zip_file_entries () at
../../gcc-4.8.1/gcc/java/jcf-parse.c:2101
#5  0x00539dd0 in java_parse_file () at
../../gcc-4.8.1/gcc/java/jcf-parse.c:1931
#6  0x008e60b7 in compile_file () at ../../gcc-4.8.1/gcc/toplev.c:543
#7  0x008e7fed in do_compile () at ../../gcc-4.8.1/gcc/toplev.c:1864
#8  0x008e8158 in toplev_main (argc=22, argv=0x7fffdd18) at
../../gcc-4.8.1/gcc/toplev.c:1940
#9  0x00e9b620 in main (argc=22, argv=0x7fffdd18) at
../../gcc-4.8.1/gcc/main.c:36


I debugged it a bit, the offending class looks like this:

public class ProtobufParserMessageType extends MessageLite {
public interface ListenerMessageType extends MessageLite {
public void messageReceived(ProtobufParserMessageType handler,
MessageType msg);
public void connectionOpen(ProtobufParserMessageType handler);
public void connectionClosed(ProtobufParserMessageType handler);
}
}

The crashing class is the inner ProtobufParser$Listener.class file.

I can send a complete JAR to someone privately if you'd like to debug this
further. I tried compiling the ProtobufParser$Listener.class file independently
like this:

gcj -c -o x ProtobufParser\$Listener.class

and  no crash :(


[Bug fortran/57800] New: Waste work in gfc_match_call()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57800

Bug ID: 57800
   Summary: Waste work in gfc_match_call()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method gfc_match_call() in gcc/fortran/match.c, the loop on line 4189
should break immediately after i is set to 1. All the iterations after i
set to 1 do not perform any useful work, at best they just set i again to 1.


[Bug fortran/57801] New: Waste work in resolve_variable()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57801

Bug ID: 57801
   Summary: Waste work in resolve_variable()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method resolve_variable() in gcc/fortran/resolve.c, the loop on line 4908
should break immediately after seen is set to true. All the iterations
after seen set to true do not perform any useful work, at best they just
set seen again to true.


[Bug fortran/57802] New: Waste work in set_loop_bounds()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57802

Bug ID: 57802
   Summary: Waste work in set_loop_bounds()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method set_loop_bounds() in gcc/fortran/trans-array.c, the loop on line
4456 should break immediately after nonoptional_arr is set to true. All the
iterations after nonoptional_arr set to true do not perform any useful
work, at best they just set nonoptional_arr again to true.


[Bug target/57748] ICE on ARM with -mfloat-abi=softfp -mfpu=neo

2013-07-03 Thread philb at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57748

philb at gnu dot org changed:

   What|Removed |Added

 CC||philb at gnu dot org

--- Comment #4 from philb at gnu dot org ---
I was able to get Khem's testcase to provoke a crash at:

4761  gcc_assert (TREE_CODE (offset) == INTEGER_CST);

Apparently OFFSET is:

 plus_expr 0x76380d48
type integer_type 0x76c6 sizetype public unsigned SI
size integer_cst 0x76c5c080 constant 32
unit size integer_cst 0x76c5c0a0 constant 4
align 32 symtab 0 alias set -1 canonical type 0x76c6 precision
32 min integer_cst 0x76c5c0c0 0 max integer_cst 0x76c4b000
4294967295

arg 0 mult_expr 0x76380d20 type integer_type 0x76c6 sizetype

arg 0 nop_expr 0x76381b80 type integer_type 0x76c6
sizetype

arg 0 ssa_name 0x76374900 type integer_type 0x76c605e8
int
var var_decl 0x7637a428 jdef_stmt j_22 = PHI 0(4),
j_31(7)

version 22
arg 1 integer_cst 0x76c5c600 constant 16
arg 1 integer_cst 0x76c5c120 type integer_type 0x76c6
sizetype constant 8


[Bug middle-end/57803] New: Waste work in gfc_build_dummy_array_decl()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57803

Bug ID: 57803
   Summary: Waste work in gfc_build_dummy_array_decl()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method gfc_build_dummy_array_decl() in gcc/fortran/trans-decl.c, the loop
on line 978 should break immediately after packed is set to PACKED_PARTIAL.
All the iterations after packed set to PACKED_PARTIAL do not perform any
useful work, at best they just set packed again to PACKED_PARTIAL.


[Bug fortran/57804] New: Waste work in gfc_trans_transfer()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57804

Bug ID: 57804
   Summary: Waste work in gfc_trans_transfer()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method gfc_trans_transfer() in gcc/fortran/trans-io.c, the loop on line
2261 should break immediately after seen_vector is set to true. All the
iterations after seen_vector set to true do not perform any useful work, at
best they just set seen_vector again to true.


[Bug middle-end/57805] New: Waste work in write_roots()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57805

Bug ID: 57805
   Summary: Waste work in write_roots()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method write_roots() in gcc/gengtype.c, the loop on line 4682 should break
immediately after skip_p is set to 1. All the iterations after skip_p set
to 1 do not perform any useful work, at best they just set skip_p again to
1.


[Bug middle-end/57806] New: Waste work in propagate_nothrow()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57806

Bug ID: 57806
   Summary: Waste work in propagate_nothrow()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method propagate_nothrow() in gcc/ipa-pure-const.c, the loop on line 1432
should break immediately after can_throw is set to true. All the iterations
after can_throw set to true do not perform any useful work, at best they
just set can_throw again to true.


[Bug target/57807] New: Compile failure with __builtin_ia32_unpcklpd

2013-07-03 Thread jleahy+gcc at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57807

Bug ID: 57807
   Summary: Compile failure with __builtin_ia32_unpcklpd
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jleahy+gcc at gmail dot com

The following code sample will not compile when -masm=intel is set:
(eg. gcc -masm=intel -c foo.c)

typedef double __v2df __attribute__((__vector_size__(16)));
typedef double __m128d __attribute__((__vector_size__(16), __may_alias__));

__m128d _mm_unpacklo_pd(__m128d __A, __m128d __B) {
  return (__m128d)__builtin_ia32_unpcklpd((__v2df)__A, (__v2df)__B);
}

It generates movhpd xmm0, XMMWORD PTR [rbp-32], which should be movhpd xmm0,
QWORD PTR [rbp-32].


[Bug libstdc++/57808] New: operators == and != for regex_token_iterator need to be const

2013-07-03 Thread chasonr at newsguy dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57808

Bug ID: 57808
   Summary: operators == and != for regex_token_iterator need to
be const
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: chasonr at newsguy dot com

In libstdc++-v3/include/bits/regex.h, the methods operator== and operator!= for
regex_token_iterator are not declared const.  This is not consistent with the
C++11 standard, section 28.12.2, which specifies these operators to be declared
const.


[Bug libstdc++/57808] operators == and != for regex_token_iterator need to be const

2013-07-03 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57808

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-07-03
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
operator* and operator- too. Let's do the change, certainly cannot hurt, but a
lot more is still needed.


[Bug middle-end/57809] New: Waste work in omega_eliminate_red()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57809

Bug ID: 57809
   Summary: Waste work in omega_eliminate_red()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method omega_eliminate_red() in gcc/omega.c, the loop on line 2592 should
break immediately after red_found is set to 1. All the iterations after
red_found set to 1 do not perform any useful work, at best they just set
red_found again to 1.

There are three more similar problems in the same file gcc/omega.c:

1. omega_problem_has_red_equations(): the loop on line 4854 should break
immediately after result is set to true.

2. omega_problem_has_red_equations(): the loop on line 4907 should break
immediately after result is set to true.

3. omega_query_variable(): the loop on line 5252 should break immediately after
coupled is set to true.


[Bug rtl-optimization/57810] New: Waste work in validate_const_int()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57810

Bug ID: 57810
   Summary: Waste work in validate_const_int()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method validate_const_int() in gcc/read-rtl.c, the loop on line 804 should
break immediately after valid is set to 0. All the iterations after valid
set to 0 do not perform any useful work, at best they just set valid again
to 0.


[Bug middle-end/57809] Waste work in omega_eliminate_red()

2013-07-03 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57809

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
I think you mean wasted


[Bug middle-end/57811] New: Waste work in find_reloads()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57811

Bug ID: 57811
   Summary: Waste work in find_reloads()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method find_reloads() in gcc/reload.c, the loop on line 3324  should break
immediately after badop is set to 1. All the iterations after badop set
to 1 do not perform any useful work, at best they just set badop again to
1.

Similar problem also appears in the same method find_reloads() in line 4641.
The loop should break immediately after ok is set to 0.


[Bug rtl-optimization/57812] New: Waste work in computed_jump_p()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57812

Bug ID: 57812
   Summary: Waste work in computed_jump_p()
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pchang9 at cs dot wisc.edu
CC: nistor1 at illinois dot edu

The problem appears in revision 200588 in version 4.9.

In method computed_jump_p() in gcc/rtlanal.c, the loop on line 2801 should
break immediately after has_use_labelref is set to 1. All the iterations
after has_use_labelref set to 1 do not perform any useful work, at best
they just set has_use_labelref again to 1.



[Bug libstdc++/57779] vector insert fails to diagnose iterators pointing into *this in debug mode

2013-07-03 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57779

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||frs.dumont at gmail dot com

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
Maybe Francois is interested.


[Bug c++/12567] [Core/253] g++ fails to recognize ill-formed-ness of initializers

2013-07-03 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12567

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |SUSPENDED
Summary|g++ fails to recognize  |[Core/253] g++ fails to
   |ill-formed-ness of  |recognize ill-formed-ness
   |initializers|of initializers

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com ---
It seems to me that we are not rejecting these snippets because we are
implementing the tentative resolution of DR Core/253:

/* If default-initialization leaves part of TYPE uninitialized, returns
   a DECL for the field or TYPE itself (DR 253).  */

tree
default_init_uninitialized_part (tree type)


[Bug bootstrap/57797] configure --enable-languages=c builds libstdc++-v3

2013-07-03 Thread earnie at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57797

--- Comment #2 from Earnie earnie at users dot sourceforge.net ---
(In reply to Jonathan Wakely from comment #1)
 (In reply to Earnie from comment #0)
  --disable-build-poststage1-with-cxx
 
 You know this doesn't work for GCC 4.8, right?

No, I wasn't aware of it.  I copied it from a previous 4.7.2 build via ``gcc
-v''.

But that shouldn't cause the issue.  I notice in the target folder
i686-pc-mingw32/libgcc/config.log file that --enable-languages is modified to
include c++ and lto.  Why would that happen?


[Bug fortran/57800] Wasted work in gfc_match_call()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57800

--- Comment #1 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30433
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30433action=edit
Suggested patch


[Bug fortran/57801] Wasted work in resolve_variable()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57801

--- Comment #1 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30434
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30434action=edit
Suggested patch


[Bug fortran/57802] Wasted work in set_loop_bounds()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57802

--- Comment #1 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30435
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30435action=edit
Suggested patch


[Bug fortran/57803] Wasted work in gfc_build_dummy_array_decl()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57803

--- Comment #1 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30436
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30436action=edit
Suggested patch


[Bug fortran/57804] Waste work in gfc_trans_transfer()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57804

--- Comment #1 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30437
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30437action=edit
Suggested patch


[Bug middle-end/57805] Wasted work in write_roots()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57805

--- Comment #1 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30438
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30438action=edit
Suggested patch


[Bug middle-end/57806] Wasted work in propagate_nothrow()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57806

--- Comment #1 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30439
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30439action=edit
Suggested patch


[Bug rtl-optimization/57810] Wasted work in validate_const_int()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57810

--- Comment #1 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30440
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30440action=edit
Suggested patch


[Bug rtl-optimization/57812] Wasted work in computed_jump_p()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57812

--- Comment #1 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30441
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30441action=edit
Suggested patch


[Bug c++/57771] g++ misinterprets in static_cast

2013-07-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57771

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Wed Jul  3 20:20:30 2013
New Revision: 200647

URL: http://gcc.gnu.org/viewcvs?rev=200647root=gccview=rev
Log:
PR c++/57771
* parser.c (cp_parser_postfix_expression) case RID_STATCAST
Temporarily set parser-greater_than_is_operator_p for
cp_parser_expression and restore from saved value afterwards.

* g++.dg/template/arg9.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/template/arg9.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog

Author: jakub
Date: Wed Jul  3 20:22:16 2013
New Revision: 200648

URL: http://gcc.gnu.org/viewcvs?rev=200648root=gccview=rev
Log:
PR c++/57771
* parser.c (cp_parser_postfix_expression) case RID_STATCAST
Temporarily set parser-greater_than_is_operator_p for
cp_parser_expression and restore from saved value afterwards.

* g++.dg/template/arg9.C: New test.

Added:
branches/gcc-4_8-branch/gcc/testsuite/g++.dg/template/arg9.C
Modified:
branches/gcc-4_8-branch/gcc/cp/ChangeLog
branches/gcc-4_8-branch/gcc/cp/parser.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


[Bug middle-end/57811] Wasted work in find_reloads()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57811

--- Comment #1 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30442
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30442action=edit
Suggested patch for loop at line 3324


[Bug target/57777] [4.7 Regression] Python module fails compilation with -march=core-avx2 -O3

2013-07-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.7/4.8/4.9 Regression]|[4.7 Regression] Python
   |Python module fails |module fails compilation
   |compilation with|with -march=core-avx2 -O3
   |-march=core-avx2 -O3  |

--- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Wed Jul  3 20:23:38 2013
New Revision: 200649

URL: http://gcc.gnu.org/viewcvs?rev=200649root=gccview=rev
Log:
PR target/5
* config/i386/predicates.md (vsib_address_operand): Disallow
SYMBOL_REF or LABEL_REF in parts.disp if TARGET_64BIT  flag_pic.

* gcc.target/i386/pr5.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/predicates.md
trunk/gcc/testsuite/ChangeLog

Author: jakub
Date: Wed Jul  3 20:24:19 2013
New Revision: 200650

URL: http://gcc.gnu.org/viewcvs?rev=200650root=gccview=rev
Log:
PR target/5
* config/i386/predicates.md (vsib_address_operand): Disallow
SYMBOL_REF or LABEL_REF in parts.disp if TARGET_64BIT  flag_pic.

* gcc.target/i386/pr5.c: New test.

Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.target/i386/pr5.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/config/i386/predicates.md
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog

Fixed for 4.8.2+ so far.


[Bug rtl-optimization/57812] Wasted work in computed_jump_p()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57812

--- Comment #2 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30443
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30443action=edit
Suggested patch


[Bug middle-end/57811] Wasted work in find_reloads()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57811

--- Comment #2 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30444
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30444action=edit
Suggested patch for loop at line 3324


[Bug middle-end/57811] Wasted work in find_reloads()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57811

--- Comment #3 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30445
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30445action=edit
Suggested patch for loop at line 4641


[Bug middle-end/57809] Wasted work in omega_eliminate_red()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57809

--- Comment #2 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30446
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30446action=edit
Suggested patch for loop at line 2594


[Bug middle-end/57809] Wasted work in omega_eliminate_red()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57809

--- Comment #3 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30447
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30447action=edit
Suggested patch for loop at line 4856


[Bug middle-end/57809] Wasted work in omega_eliminate_red()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57809

--- Comment #4 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30448
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30448action=edit
Suggested patch for loop at line 4907


[Bug middle-end/57809] Wasted work in omega_eliminate_red()

2013-07-03 Thread pchang9 at cs dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57809

--- Comment #5 from Po-Chun Chang pchang9 at cs dot wisc.edu ---
Created attachment 30449
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30449action=edit
Suggested patch for loop at line 5252


[Bug c/57813] New: Change of global variable ignored

2013-07-03 Thread daniel.oertwig at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57813

Bug ID: 57813
   Summary: Change of global variable ignored
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: daniel.oertwig at gmail dot com
Target: avr51

Created attachment 30450
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30450action=edit
Source code relating to the problem

Hi, I assume this to be a bug in how the compiler optimizes its code.
Unfortunately, I don't know enough about how the gcc works to narrow down the
source of the problem.

If it's me (or my code), please tell me what I am doing wrong.

Basically I have a function operating on a global variable. This function calls
another function which changes this global variable. But the changed value is
not used by the calling function afterwards.


Task * Task_getNextReady()
{
uint8_t priority;
if (taskInfo.ready[0]) priority = 0;
else if (taskInfo.ready[1]) priority = 1;
else if (taskInfo.ready[2]) priority = 2;
else if (taskInfo.ready[3]) priority = 3;
else if (taskInfo.ready[4]) priority = 4;
else if (taskInfo.ready[5]) priority = 5;
else if (taskInfo.ready[6]) priority = 6;
else priority = 7;
// Before call to function: taskInfo.ready[priority] == task6
// After call to function: taskInfo.ready[priority] == task7
// Return value = 10
taskInfo.ready[priority]-wakeTime = Task_enforceTimeslice(priority);
// Changed task6-wakeTime = 10
// Unchanged task7-wakeTime
// Return value is task7, which is correct.
return taskInfo.ready[priority];
}

I guess i could solve this by making the variable volatile, but I don't think
that this would be correct.


[Bug c/57813] Change of global variable ignored

2013-07-03 Thread daniel.oertwig at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57813

--- Comment #1 from Daniel Oertwig daniel.oertwig at gmail dot com ---
Created attachment 30451
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30451action=edit
Disassembly of the relating parts (from *.elf file, i.e. after linking)


[Bug c/57813] Change of global variable ignored

2013-07-03 Thread daniel.oertwig at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57813

--- Comment #2 from Daniel Oertwig daniel.oertwig at gmail dot com ---
Oh, I am compiling with:

CFLAGS := 
CFLAGS += -Os
CFLAGS += -funsigned-char
CFLAGS += -funsigned-bitfields
CFLAGS += -fpack-struct
CFLAGS += -fshort-enums
CFLAGS += -ffreestanding
CFLAGS += -Wall -Wextra
CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef
CFLAGS += -Wsign-compare
CFLAGS += -std=gnu99 #-std=c99
CFLAGS += -g3 -gdwarf-2 -pg
CFLAGS += -fstack-usage


LDFLAGS :=
LDFLAGS += -Wl,--relax

using avr-gcc. There are no warnings.


[Bug c/57813] Change of global variable ignored

2013-07-03 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57813

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org ---
taskInfo.ready[priority]-wakeTime = Task_enforceTimeslice(priority);

This is the same as:
(*taskInfo.ready[priority]).wakeTime = Task_enforceTimeslice(priority);

Which means either the compiler can read the value of taskInfo.ready[priority]
before or after the function call to Task_enforceTimeslice because there is no
sequence point between them.


[Bug fortran/48244] iso-c-binding support missing on NetBSD (with patch)

2013-07-03 Thread kuehro at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48244

Kai-Uwe Eckhardt kuehro at gmx dot de changed:

   What|Removed |Added

  Attachment #23752|0   |1
is obsolete||

--- Comment #3 from Kai-Uwe Eckhardt kuehro at gmx dot de ---
Created attachment 30452
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30452action=edit
Add netbsd-stdint.h to config.gcc for gcc-4.9


[Bug fortran/48244] iso-c-binding support missing on NetBSD (with patch)

2013-07-03 Thread kuehro at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48244

--- Comment #4 from Kai-Uwe Eckhardt kuehro at gmx dot de ---
I have updated the patch for snapshot 4.9-20130630. 
If Gerald Pfeifer agrees to create a copy of freebsd-stdint.h and to keep
the copyright line as is, then this could be done easily by someone with
commit right.


[Bug c/57813] Change of global variable ignored

2013-07-03 Thread daniel.oertwig at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57813

Daniel Oertwig daniel.oertwig at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |---

--- Comment #4 from Daniel Oertwig daniel.oertwig at gmail dot com ---

Task * Task_getNextReady()
{
uint8_t priority;
if (taskInfo.ready[0]) priority = 0;
else if (taskInfo.ready[1]) priority = 1;
else if (taskInfo.ready[2]) priority = 2;
else if (taskInfo.ready[3]) priority = 3;
else if (taskInfo.ready[4]) priority = 4;
else if (taskInfo.ready[5]) priority = 5;
else if (taskInfo.ready[6]) priority = 6;
else priority = 7;
time_t delay = Task_enforceTimeslice(priority);
Task * next = taskInfo.ready[priority];
next-wakeTime = delay;
return next;
}

This code solves the issue, using the correct value of the global variable.
Please tell me if I am wrong, but I think this code should be equivalent to the
original code.

(Task_enforceTimeslice is not declared as pure, I checked just to be sure)


[Bug c/57813] Change of global variable ignored

2013-07-03 Thread daniel.oertwig at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57813

--- Comment #5 from Daniel Oertwig daniel.oertwig at gmail dot com ---
(In reply to Andrew Pinski from comment #3)
   taskInfo.ready[priority]-wakeTime = Task_enforceTimeslice(priority);
 
 This is the same as:
   (*taskInfo.ready[priority]).wakeTime = Task_enforceTimeslice(priority);
 
 Which means either the compiler can read the value of
 taskInfo.ready[priority] before or after the function call to
 Task_enforceTimeslice because there is no sequence point between them.

Shouldn't the compiler recognize that enforceTimeslice is altering the global
variable?

[Bug c/57813] Change of global variable ignored

2013-07-03 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57813

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #6 from Andrew Pinski pinskia at gcc dot gnu.org ---
(In reply to Daniel Oertwig from comment #5)
 (In reply to Andrew Pinski from comment #3)
  taskInfo.ready[priority]-wakeTime = Task_enforceTimeslice(priority);
  
  This is the same as:
  (*taskInfo.ready[priority]).wakeTime = Task_enforceTimeslice(priority);
  
  Which means either the compiler can read the value of
  taskInfo.ready[priority] before or after the function call to
  Task_enforceTimeslice because there is no sequence point between them.
 
 Shouldn't the compiler recognize that enforceTimeslice is altering the
 global variable?

No because without sequence point the left hand side or right hand side can be
done first.

[Bug c/57813] Change of global variable ignored

2013-07-03 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57813

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

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #7 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
 (In reply to Daniel Oertwig from comment #5)
  (In reply to Andrew Pinski from comment #3)
 taskInfo.ready[priority]-wakeTime = Task_enforceTimeslice(priority);
   
   This is the same as:
 (*taskInfo.ready[priority]).wakeTime = Task_enforceTimeslice(priority);
   
   Which means either the compiler can read the value of
   taskInfo.ready[priority] before or after the function call to
   Task_enforceTimeslice because there is no sequence point between them.
  
  Shouldn't the compiler recognize that enforceTimeslice is altering the
  global variable?

The GCC code that could warn about this does not look within functions being
called, so GCC does not know what enforeTimeslice is doing. Implementing this
would require a substantial amount of work, and the current devs have their
hands pretty full. Perhaps cppcheck or clang-analyzer can detect this case, but
I wouldn't be surprised if they can't.

[Bug middle-end/57809] Wasted work in omega_eliminate_red()

2013-07-03 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57809

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

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #6 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
(In reply to Po-Chun Chang from comment #5)
 Created attachment 30449 [details]
 Suggested patch for loop at line 5252

Thanks for your patches. If you want to contribute to GCC, perhaps it would be
better if you became an official contributor. Please see:
http://gcc.gnu.org/contribute.html

[Bug c++/57793] [4.7/4.8/4.9 Regression] ICE with bitfields in get_bit_range

2013-07-03 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57793

Daniel Krügler daniel.kruegler at googlemail dot com changed:

   What|Removed |Added

 CC||daniel.kruegler@googlemail.
   ||com

--- Comment #2 from Daniel Krügler daniel.kruegler at googlemail dot com ---
I can confirm this as well restricted (only when using -m32) on my 64-bit mingw
system, tested with gcc 4.9.0 20130616 (experimental)

[Bug target/57814] New: gcc.target/powerpc/pr46728-* test failures for eabi targets

2013-07-03 Thread janis at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57814

Bug ID: 57814
   Summary: gcc.target/powerpc/pr46728-* test failures for eabi
targets
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: janis at gcc dot gnu.org
CC: wschmidt at gcc dot gnu.org
Target: powerpc-none-eabi, powerpc-none-eabispe

Several of the tests added for PR46728 fail for powerpc-none-eabi and
powerpc-none-eabispe.  The tests all use -mpowerpc-gpopt; is that option
expected to work for those targets?   If not I can add directives to skip tests
using that option for powerpc-*-eabi*; if it should work then I'll provide
further information about test failures and internal compiler errors
(segfaults).

My testing has been for GCC mainline and the 4.8 branch.

It would be nice if the compiler complained when -mpowerpc-gpopt is used with
incompatible targets, but that idea was shot down in PR24913.


[Bug target/57814] gcc.target/powerpc/pr46728-* test failures for eabi targets

2013-07-03 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57814

--- Comment #1 from joseph at codesourcery dot com joseph at codesourcery dot 
com ---
On Wed, 3 Jul 2013, janis at gcc dot gnu.org wrote:

 Several of the tests added for PR46728 fail for powerpc-none-eabi and
 powerpc-none-eabispe.  The tests all use -mpowerpc-gpopt; is that option
 expected to work for those targets?   If not I can add directives to skip 
 tests
 using that option for powerpc-*-eabi*; if it should work then I'll provide
 further information about test failures and internal compiler errors
 (segfaults).

If the compiler ICEs, that's a bug, whether or not the option is expected 
to work for the given target.  So even if the tests are disabled, a bug 
should remain open in Bugzilla for the ICEs as long as those are unfixed.


[Bug c/57813] Change of global variable ignored

2013-07-03 Thread daniel.oertwig at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57813

--- Comment #8 from Daniel Oertwig daniel.oertwig at gmail dot com ---
Ok, so: Is this behaviour part of the language or a bug in gcc?
I could not find any documentation specifying that a sequence point should be
inbetween the (side-effect) evaluation of the function call and the (value)
evaluation of the assignment.


[Bug c/57813] Change of global variable ignored

2013-07-03 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57813

--- Comment #9 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
(In reply to Daniel Oertwig from comment #8)
 Ok, so: Is this behaviour part of the language or a bug in gcc?
 I could not find any documentation specifying that a sequence point should
 be inbetween the (side-effect) evaluation of the function call and the
 (value) evaluation of the assignment.

http://c-faq.com/expr/seqpoints.html
http://en.wikipedia.org/wiki/Sequence_point

[Bug target/29776] result of ffs/clz/ctz/popcount/parity are already sign-extended

2013-07-03 Thread sgunderson at bigfoot dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29776

sgunderson at bigfoot dot com changed:

   What|Removed |Added

 CC||sgunderson at bigfoot dot com

--- Comment #6 from sgunderson at bigfoot dot com ---
Without knowing anything about the GCC internals here, I could perhaps also
point out that GCC should know that these have limited range. As a trivial
example:

int foo(int x)
{
int z = __builtin_ctz(x);
if (z  2000) {
return 1;
} else {
return 0;
}
}

There's no way this function can return anything but 0, and VRP should probably
be taught that. (I wonder if this would fix the unneccessary sign extension
too?)


[Bug target/29776] result of ffs/clz/ctz/popcount/parity are already sign-extended

2013-07-03 Thread sgunderson at bigfoot dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29776

--- Comment #7 from sgunderson at bigfoot dot com ---
Wait, sorry, someone's already pointed that out. Ignore me, then...

I can at least confirm it still happens with GCC 4.8.1.


[Bug c++/57815] New: [c++11] Error spew on misspelled initializer lists

2013-07-03 Thread luto at mit dot edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57815

Bug ID: 57815
   Summary: [c++11] Error spew on misspelled initializer lists
   Product: gcc
   Version: 4.7.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: luto at mit dot edu

[This is fixed in trunk.  If the stable branch policy means it can't get
backported, then so be it.  I'm filing the bug because this issue is *really*
annoying.]

This erroneous code:

// Adding 'struct misspelled {int a, bc[2];};' makes this compile

void func() {
  misspelled object{1, {2, 3}};
}

Seems to throw the parser into an awful state.  The 4.7 branch says:

brace_problem.cc: In function ‘void func()’:
brace_problem.cc:4:3: error: ‘misspelled’ was not declared in this scope
brace_problem.cc:4:14: error: expected ‘;’ before ‘object’
brace_problem.cc:5:1: error: expected ‘}’ at end of input

This isn't so bad in a program this short, but in a bigger program I'm getting
multiple pages of errors scattered around the file, so finding the actual
problem is a needle-in-a-haystack problem.  If the offending code is inside a
class definition, then a bunch of the bogus errors are *before* the correct
one.

Trunk from today gets this right:

brace_problem.cc: In function ‘void func()’:
brace_problem.cc:4:3: error: ‘misspelled’ was not declared in this scope
   misspelled object{1, {2, 3}};
   ^

  1   2   >