[Bug libstdc++/55320] Invalid delete with throwing copy-c'tor passed to std::function

2012-11-14 Thread benjamin.kircher at gmail dot com


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



--- Comment #1 from Benjamin Kircher benjamin.kircher at gmail dot com 
2012-11-14 08:10:06 UTC ---

Sorry.



System type was

$ uname -a

Linux snip 3.2.0-4-486 #1 Debian 3.2.32-1 i686 GNU/Linux

$ file a.out 

a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically

linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=snip, not

stripped





Command line that produced the error was

$ g++ -g -std=c++11 -Wall -Wextra -pedantic main.cpp


[Bug bootstrap/55321] New: [4.8 regression] Ada bootstrap failure on armv5tel-linux-gnueabi

2012-11-14 Thread mikpe at it dot uu.se


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



 Bug #: 55321

   Summary: [4.8 regression] Ada bootstrap failure on

armv5tel-linux-gnueabi

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: bootstrap

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: mi...@it.uu.se





Attempting to bootstrap gcc-4.8-2012 on armv5tel-linux-gnueabi w/ Ada fails

with:



/mnt/scratch/objdir48/./gcc/xgcc -B/mnt/scratch/objdir48/./gcc/

-B/mnt/scratch/install48/armv5tel-unknown-linux-gnueabi/bin/

-B/mnt/scratch/install48/armv5tel-unknown-linux-gnueabi/lib/ -isystem

/mnt/scratch/install48/armv5tel-unknown-linux-gnueabi/include -isystem

/mnt/scratch/install48/armv5tel-unknown-linux-gnueabi/sys-include-c -g -O2 

-fPIC  -W -Wall -gnatpg -nostdinc   s-stposu.adb -o s-stposu.o

s-stposu.ads: In function

'System.Storage_Pools.Subpools.Root_Storage_Pool_With_Subpoolsdf':

s-stposu.ads:198:9: warning: 'A40s' may be used uninitialized in this function

[-Wmaybe-uninitialized]

s-stposu.ads: In function 'System.Storage_Pools.Subpools.Root_Subpooldf':

s-stposu.ads:240:9: warning: 'A69s' may be used uninitialized in this function

[-Wmaybe-uninitialized]

+===GNAT BUG DETECTED==+

| 4.8.0 2012 (experimental) (armv5tel-unknown-linux-gnueabi) GCC error:|

| in merge_latch_edges, at cfgloop.c:678   |

| Error detected around s-stposu.adb:565:8 |

| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|

| Use a subject line meaningful to you and us to track the bug.|

| Include the entire contents of this bug box in the report.   |

| Include the exact gcc or gnatmake command that you entered.  |

| Also include sources listed below in gnatchop format |

| (concatenated together with no headers between files).   |

+==+



Please include these source files with error report

Note that list may not be accurate in some cases,

so please double check that the problem can still

be reproduced with the set of files listed.

Consider also -gnatd.n switch (see debug.adb).



system.ads

s-stposu.adb

s-stposu.ads

s-stopoo.ads

ada.ads

a-finali.ads

s-finroo.ads

s-stoele.ads

s-finmas.ads

a-except.ads

s-parame.ads

s-stalib.ads

a-unccon.ads

s-traent.ads

s-addima.ads

s-io.ads

s-soflin.ads

s-stache.ads

s-spsufi.ads

a-tags.ads

s-stoele.adb

s-exctab.ads

a-stream.ads

s-imgboo.ads

s-secsta.ads





raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:432

make[7]: *** [s-stposu.o] Error 1

make[7]: Leaving directory `/mnt/scratch/objdir48/gcc/ada/rts'

make[6]: *** [gnatlib] Error 2

make[6]: Leaving directory `/mnt/scratch/objdir48/gcc/ada'

make[5]: *** [gnatlib-shared-default] Error 2

make[5]: Leaving directory `/mnt/scratch/objdir48/gcc/ada'

make[4]: *** [gnatlib-shared-dual] Error 2

make[4]: Leaving directory `/mnt/scratch/objdir48/gcc/ada'

make[3]: *** [gnatlib-shared] Error 2

make[3]: Leaving directory `/mnt/scratch/objdir48/gcc/ada'

make[2]: *** [gnatlib-shared] Error 2

make[2]: Leaving directory

`/mnt/scratch/objdir48/armv5tel-unknown-linux-gnueabi/libada'

make[1]: *** [all-target-libada] Error 2

make[1]: Leaving directory `/mnt/scratch/objdir48'

make: *** [bootstrap] Error 2



4.8-20121028 succeeded to bootstrap so this is a recent regression.



Full configuration parameters:

/mnt/scratch/gcc-4.8-2012/configure --prefix=/mnt/scratch/install48

--enable-bootstrap --enable-shared --enable-threads=posix

--enable-checking=release --with-system-zlib --enable-__cxa_atexit

--disable-libunwind-exceptions --enable-languages=c,c++,fortran,ada

--disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre

--enable-libgcj-multifile --disable-java-maintainer-mode

--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib

--disable-sjlj-exceptions --with-arch=armv5te --with-tune=xscale

--build=armv5tel-unknown-linux-gnueabi --disable-plugin --disable-lto

--disable-libmudflap


[Bug bootstrap/55293] bootstrap failure: invalid conversion from 'char**' to 'const char**' [-fpermissive]

2012-11-14 Thread mikpe at it dot uu.se


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



--- Comment #15 from Mikael Pettersson mikpe at it dot uu.se 2012-11-14 
08:34:11 UTC ---

FWIW, I bootstrapped a pure 64-bit gcc-4.7.2 on Solaris 10/SPARC64 yesterday,

with C, Ada, and C++, using a normal 32-bit-but-64-bit-capable gcc-4.7.2 as

host compiler.  About the only issue was that I had to coerce the host compiler

to generate 64-bit code by default; for that I put



#!/bin/sh

exec gcc -m64 $@



in a gcc64 shell script and passed the path to it in CC when configuring gcc.



Overriding CFLAGS might have worked too, but I didn't try that.


[Bug target/55317] [i386-regression] just don't strip stdcall suffix in gcc

2012-11-14 Thread mikpe at it dot uu.se


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



--- Comment #1 from Mikael Pettersson mikpe at it dot uu.se 2012-11-14 
08:42:23 UTC ---

Duplicate of PR55268?


[Bug bootstrap/55293] bootstrap failure: invalid conversion from 'char**' to 'const char**' [-fpermissive]

2012-11-14 Thread ebotcazou at gcc dot gnu.org


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



--- Comment #16 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-14 
08:49:46 UTC ---

 FWIW, I bootstrapped a pure 64-bit gcc-4.7.2 on Solaris 10/SPARC64 yesterday,

 with C, Ada, and C++, using a normal 32-bit-but-64-bit-capable gcc-4.7.2 as

 host compiler.  About the only issue was that I had to coerce the host 
 compiler

 to generate 64-bit code by default; for that I put

 

 #!/bin/sh

 exec gcc -m64 $@

 

 in a gcc64 shell script and passed the path to it in CC when configuring 
 gcc.



That's not even necessary, just do CC=gcc -m64 ./configure [options].



 Overriding CFLAGS might have worked too, but I didn't try that.



Nope, fiddling with CFLAGS, BOOT_CFLAGS and the like is strongly discouraged.


[Bug target/54429] [SH] SImode values get ferried through FPUL and FP regs for -O0

2012-11-14 Thread olegendo at gcc dot gnu.org


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



--- Comment #5 from Oleg Endo olegendo at gcc dot gnu.org 2012-11-14 09:45:22 
UTC ---

(In reply to comment #4)

 

 makes the unwanted subreg propagation go away, but ends up in another reload

 trouble:

 

 sh_tmp.cpp:92:1: error: unable to find a register to spill in class

 'TARGET_REGS'

  }

  ^

 sh_tmp.cpp:92:1: error: this is the insn:

 (insn 7 4 8 2 (set (reg:SI 1 r1 [165])

 (subreg:SI (reg:DF 70 fr6 [ y ]) 0)) sh_tmp.cpp:91 244 {movsi_ie}

  (expr_list:REG_DEAD (reg:DF 70 fr6 [ y ])

 (nil)))

 



The test case I was using for tracking this:



extern double copysign(double,double);

double test1(double x, double y)

{

  return copysign(-x,y);

}



Interestingly, without any patches applied, compiling the function above with

-O2 -m4 -ml results in:



_test1:

fmov.s  fr6,@-r15 ! 49movsf_ie/7[length = 2]

fmov.s  fr7,@-r15 ! 50movsf_ie/7[length = 2]

mov.l   .L8,r1! 43movsi_ie/1[length = 2]

mov.l   @r15+,r2  ! 51movdf_k/3[length = 4]

mov.l   @r15+,r3

tst r3,r1 ! 10tstsi_t/2[length = 2]

fmovfr4,fr0   ! 52movsf_ie/1[length = 2]

fmovfr5,fr1   ! 53movsf_ie/1[length = 2]

bt/s.L6   ! 11*cbranch_t[length = 2]

fabsdr0   ! 9absdf2_i[length = 2]

fnegdr0   ! 12negdf2_i[length = 2]

.L6:

rts

nop   ! 56*return_i[length = 4]

.L9:

.align 2

.L8:

.long   -2147483648





and -O2 -m4 -mb is:



_test1:

fldsfr6,fpul  ! 46movsi_ie/22[length = 2]

sts fpul,r1   ! 47movsi_ie/20[length = 2]

fmovfr4,fr0   ! 48movsf_ie/1[length = 2]

fmovfr5,fr1   ! 49movsf_ie/1[length = 2]

cmp/pz  r1! 10cmpgesi_t/1[length = 2]

bt/s.L6   ! 11*cbranch_t[length = 2]

fabsdr0   ! 9absdf2_i[length = 2]

fnegdr0   ! 12negdf2_i[length = 2]

.L6:

rts

nop   ! 52*return_i[length = 4]



This is probably due to the 'sh_cannot_change_mode_class'.  On big endian the

DFmode reg can be accessed as SImode, but not on little endian because of the

subreg ordering.  Maybe it would be better to not do all the GP - FPUL - FP

reg transfers during reload but emit the necessary insn sequences before

reload.


[Bug libstdc++/55320] Invalid delete with throwing copy-c'tor passed to std::function

2012-11-14 Thread daniel.kruegler at googlemail dot com

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

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

   What|Removed |Added

 CC||daniel.kruegler at
   ||googlemail dot com

--- Comment #2 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-11-14 09:45:56 UTC ---
On gcc 4.8 HEAD on my mingw-64-bit-system the program behaves normally and just
outputs catched


[Bug c/55322] New: Suggestion: Warn suspicious usage of arrays of structures

2012-11-14 Thread stilgarwolf at gmail dot com


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



 Bug #: 55322

   Summary: Suggestion: Warn suspicious usage of arrays of

structures

Classification: Unclassified

   Product: gcc

   Version: unknown

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: stilgarw...@gmail.com





struct {

   int x;

   int y;

} array[10];



void xxx() {

   int i=9;



   while(i--) {

  array[i].x = 0;

  array-y = 0;   /* an optional warning for this usage may be helpful */

   }

}


[Bug libstdc++/55320] Invalid delete with throwing copy-c'tor passed to std::function

2012-11-14 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-14

 CC||jwakely.gcc at gmail dot

   ||com

 Ever Confirmed|0   |1



--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-14 
10:42:44 UTC ---

On Linux Seg faults everywhere, thus doesn't seem a regression, but we should

look into it. Maybe Jon can help..


[Bug c++/55323] New: [4.8] ICE in expand_aggr_init_1, at cp/init.c:1718

2012-11-14 Thread vincenzo.innocente at cern dot ch

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

 Bug #: 55323
   Summary: [4.8] ICE in expand_aggr_init_1, at cp/init.c:1718
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: vincenzo.innoce...@cern.ch


there is a syntax error (correctly reported)
the ICE requires the instantiation in a() 

cat varcrash.cc 
#includealgorithm
struct foo {
  foo(int a, float b);
};

struct bar : public foo {
  templatetypename... Args
  explicit bar(Args ... args) : 
foo(2,std::forwardArgs(args)){}
};


void a() {
  bar b(2,1.);

}
pb-d-128-141-131-26:bugs48 innocent$ c++ -O2 -std=c++11 -c varcrash.cc 
varcrash.cc: In constructor ‘bar::bar(Args ...)’:
varcrash.cc:9:35: error: parameter packs not expanded with ‘...’:
 foo(2,std::forwardArgs(args)){}
   ^
varcrash.cc:9:35: note: ‘args’
varcrash.cc:9:35: note: ‘Args’
varcrash.cc: In instantiation of ‘bar::bar(Args ...) [with Args = {int,
double}]’:
varcrash.cc:14:13:   required from here
varcrash.cc:9:35: internal compiler error: in expand_aggr_init_1, at
cp/init.c:1718

varcrash.cc:9:35: internal compiler error: Abort trap: 6
c++: internal compiler error: Abort trap: 6 (program cc1plus)
Abort trap: 6
pb-d-128-141-131-26:bugs48 innocent$ c++ -v
Using built-in specs.
COLLECT_GCC=c++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin12.2.0/4.8.0/lto-wrapper
Target: x86_64-apple-darwin12.2.0
Configured with: ./configure --enable-languages=c,c++,fortran
--disable-multilib --disable-bootstrap --enable-lto -disable-libitm
Thread model: posix
gcc version 4.8.0 20121109 (experimental) [trunk revision 193360] (GCC)


[Bug tree-optimization/54619] GCC aborts during compilation with '-O2 -mips16'

2012-11-14 Thread vries at gcc dot gnu.org


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



vries at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-14

 CC||vries at gcc dot gnu.org

  Component|target  |tree-optimization

 Ever Confirmed|0   |1



--- Comment #2 from vries at gcc dot gnu.org 2012-11-14 11:20:31 UTC ---

Confirmed.



Discussed here: http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01378.html.



Changing component to tree-optimization since problem is in ivopts passing

VOIDmode to TARGET_ADDRESS_COST.


[Bug c++/18016] Warn about member variables initialized with itself

2012-11-14 Thread redi at gcc dot gnu.org


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



 CC||brunonery+bugzilla at

   ||brunonery dot com



--- Comment #16 from Jonathan Wakely redi at gcc dot gnu.org 2012-11-14 
11:40:50 UTC ---

*** Bug 55318 has been marked as a duplicate of this bug. ***


[Bug c++/55318] Missing uninitialized warning

2012-11-14 Thread redi at gcc dot gnu.org


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||DUPLICATE



--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2012-11-14 
11:40:50 UTC ---

You need to use -Winit-self



For 4.8 this is included in -Wall



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


[Bug libstdc++/55320] Invalid delete with throwing copy-c'tor passed to std::function

2012-11-14 Thread redi at gcc dot gnu.org


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

 AssignedTo|unassigned at gcc dot   |redi at gcc dot gnu.org

   |gnu.org |

   Target Milestone|--- |4.7.3


[Bug libstdc++/55320] Invalid delete with throwing copy-c'tor passed to std::function

2012-11-14 Thread redi at gcc dot gnu.org


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



--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2012-11-14 
12:12:19 UTC ---

Untested:



--- functional.orig 2012-11-14 12:11:32.442993035 +

+++ functional  2012-11-14 12:11:34.315184425 +

@@ -2318,8 +2318,8 @@

if (_My_handler::_M_not_empty_function(__f))

  {

_M_invoker = _My_handler::_M_invoke;

-   _M_manager = _My_handler::_M_manager;

_My_handler::_M_init_functor(_M_functor, std::move(__f));

+   _M_manager = _My_handler::_M_manager;

  }

   }


[Bug target/55268] gcc4.8 mingw-w64 wrong stdcall import symbols generated after rev 193204

2012-11-14 Thread ktietz at gcc dot gnu.org


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



Kai Tietz ktietz at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-14

 CC||ktietz at gcc dot gnu.org

 Ever Confirmed|0   |1



--- Comment #2 from Kai Tietz ktietz at gcc dot gnu.org 2012-11-14 12:28:22 
UTC ---

I have the following patch which should solve this issue:



Index: i386.c

===

--- i386.c  (Revision 193485)

+++ i386.c  (Arbeitskopie)

@@ -28805,7 +28805,10 @@

   /* For function version, add the target suffix to the assembler name.  */

   if (TREE_CODE (decl) == FUNCTION_DECL

DECL_FUNCTION_VERSIONED (decl))

-return ix86_mangle_function_version_assembler_name (decl, id);

+id = ix86_mangle_function_version_assembler_name (decl, id);

+#ifdef TARGET_MANGLE_DECL_ASSEMBLER_NAME

+  id = TARGET_MANGLE_DECL_ASSEMBLER_NAME (decl, id);

+#endif



   return id;

 }


[Bug target/55268] gcc4.8 mingw-w64 wrong stdcall import symbols generated after rev 193204

2012-11-14 Thread ktietz at gcc dot gnu.org


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



Kai Tietz ktietz at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jojelino at gmail dot com



--- Comment #3 from Kai Tietz ktietz at gcc dot gnu.org 2012-11-14 12:36:25 
UTC ---

*** Bug 55317 has been marked as a duplicate of this bug. ***


[Bug target/55317] [i386-regression] just don't strip stdcall suffix in gcc

2012-11-14 Thread ktietz at gcc dot gnu.org


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



Kai Tietz ktietz at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 CC||ktietz at gcc dot gnu.org

 Resolution||DUPLICATE



--- Comment #2 from Kai Tietz ktietz at gcc dot gnu.org 2012-11-14 12:36:25 
UTC ---

Yes, it is a duplicate



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


[Bug ada/55324] New: diagnostic about abstract new in type derivation misleading due to being overly terse

2012-11-14 Thread georggcc at googlemail dot com


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



 Bug #: 55324

   Summary: diagnostic about abstract new in type derivation

misleading due to being overly terse

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: enhancement

  Priority: P3

 Component: ada

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: georg...@googlemail.com





When deriving an abstract type from a tagged type but omitting the record

extension part, GNAT says that abstract is not allowed here. Actually it is,

following LRM 3.4 about derived_type_definition (similarly, 12.5.1), but only

if followed by the record extension part.

Maybe the here of the message could be expanded a bit, here[, only for ...]



package x is



   type T is abstract tagged null record;



   type S is abstract new T;  -- with null record;



end x;



$ gnatmake -gnatwa -gnaty -gnatv x.ads

gcc -c -gnatwa -gnaty -gnatv x.ads



GNAT 4.8.0 20120611 (experimental)

Copyright 1992-2012, Free Software Foundation, Inc.



Compiling: x.ads (source file time stamp: 2012-11-14 12:13:28)



 5.type S is abstract new T;  -- with null record;

 |

 abstract not allowed here, ignored



 7 lines: 1 error

gnatmake: x.ads compilation error


[Bug c++/54413] Option for turning off compiler extensions for -std=c++11 with respect to complex/fixed-point numbers missing

2012-11-14 Thread 3dw4rd at verizon dot net


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



--- Comment #18 from Ed Smith-Rowland 3dw4rd at verizon dot net 2012-11-14 
13:07:00 UTC ---

I added a bullet for this flag in gcc-4.8/changes.html.



How does one close a bug?


[Bug c++/54413] Option for turning off compiler extensions for -std=c++11 with respect to complex/fixed-point numbers missing

2012-11-14 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED

   Target Milestone|--- |4.8.0



--- Comment #19 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-14 
13:18:18 UTC ---

Doesn't seem so ambiguous to me ;)


[Bug c++/54413] Option for turning off compiler extensions for -std=c++11 with respect to complex/fixed-point numbers missing

2012-11-14 Thread redi at gcc dot gnu.org


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



--- Comment #20 from Jonathan Wakely redi at gcc dot gnu.org 2012-11-14 
13:21:06 UTC ---

(In reply to comment #18)

 I added a bullet for this flag in gcc-4.8/changes.html.



Thanks!



 How does one close a bug?



You need to have the right permission bits set on your account, which are

automatically set if you use an @gcc.gnu.org account.


[Bug c/55322] Suggestion: Warn suspicious usage of arrays of structures

2012-11-14 Thread mpolacek at gcc dot gnu.org


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



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 CC||mpolacek at gcc dot gnu.org



--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org 2012-11-14 
13:30:28 UTC ---

IMHO we don't want to warn on this.  It's legal to write array-y = 0 or

(*array).y = 0.


[Bug other/55292] libsanitizer doesn't support x32

2012-11-14 Thread hjl at gcc dot gnu.org


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



--- Comment #1 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2012-11-14 
13:46:01 UTC ---

Author: hjl

Date: Wed Nov 14 13:45:56 2012

New Revision: 193500



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193500

Log:

Check __x86_64__ instead of __WORDSIZE



PR other/55292

Backport from upstream revision 167883

* sanitizer_common/sanitizer_linux.cc (internal_mmap): Check

__x86_64__ instead of __WORDSIZE.

(internal_filesize): Likwise.



Modified:

trunk/libsanitizer/ChangeLog

trunk/libsanitizer/sanitizer_common/sanitizer_linux.cc


[Bug other/55292] libsanitizer doesn't support x32

2012-11-14 Thread hjl.tools at gmail dot com


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



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



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||FIXED



--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2012-11-14 13:47:25 
UTC ---

Fixed.


[Bug tree-optimization/55253] [4.8 Regression] Revision 193298 miscompiles sqlite with -Os

2012-11-14 Thread jamborm at gcc dot gnu.org


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



Martin Jambor jamborm at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED



--- Comment #7 from Martin Jambor jamborm at gcc dot gnu.org 2012-11-14 
14:02:26 UTC ---

Fixed.


[Bug target/54791] AIX-only: Constructors are not called in main program.

2012-11-14 Thread dje at gcc dot gnu.org


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



--- Comment #24 from David Edelsohn dje at gcc dot gnu.org 2012-11-14 
14:20:06 UTC ---

I successfully built GCC 4.7 earlier this week.



You may need to use GMP 4.3.2, not GMP 5.0


[Bug c++/54466] [C++11] Recursive Type Alias, Member Function Pointer, Segmentation Fault

2012-11-14 Thread mattyclarkson at gmail dot com


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



--- Comment #12 from Matt Clarkson mattyclarkson at gmail dot com 2012-11-14 
14:24:11 UTC ---

@Dodji, thanks for fixing this :)  What release will this be in? 4.8.1?


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #21 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
14:24:43 UTC ---

Patch posted at http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01116.html which

assumes the libsanitizer maintainers import mach_override/mach_override.h and

mach_override/mach_override.c.


[Bug c++/54466] [C++11] Recursive Type Alias, Member Function Pointer, Segmentation Fault

2012-11-14 Thread redi at gcc dot gnu.org


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0



--- Comment #13 from Jonathan Wakely redi at gcc dot gnu.org 2012-11-14 
14:29:19 UTC ---

4.8.0


[Bug c++/55323] [4.8] ICE in expand_aggr_init_1, at cp/init.c:1718

2012-11-14 Thread daniel.kruegler at googlemail dot com

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

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

   What|Removed |Added

 CC||daniel.kruegler at
   ||googlemail dot com

--- Comment #1 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-11-14 14:43:03 UTC ---
Reducing:

//--
struct foo {
  foo(int a, float b);
};

struct bar : foo {
  templatetypename... Args
  bar(Args... args) : foo(2, args){}
};

bar b(2,1.);
//--

gives me

7|internal compiler error: in expand_aggr_init_1, at cp/init.c:1718|

for gcc 4.8.0 20121104 (experimental)

using flags

-std=c++11 -pedantic -Wall


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #22 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
14:45:48 UTC ---

Revised patch posted at

http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01119.html.


[Bug c++/55323] ICE in expand_aggr_init_1, at cp/init.c:1718

2012-11-14 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-14

Summary|[4.8] ICE in|ICE in expand_aggr_init_1,

   |expand_aggr_init_1, at  |at cp/init.c:1718

   |cp/init.c:1718  |

 Ever Confirmed|0   |1


[Bug bootstrap/55051] [4.8 Regression] profiledbootstrap failed

2012-11-14 Thread hjl.tools at gmail dot com


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



--- Comment #4 from H.J. Lu hjl.tools at gmail dot com 2012-11-14 15:06:44 
UTC ---

With revision 193500, we got



libdecnumber -I../../src-trunk/gcc/../libdecnumber/bid -I../libdecnumber

-I../../src-trunk/gcc/../libbacktrace../../src-trunk/gcc/gimple-iterator.c

-o gimple-iterator.o

../../src-trunk/gcc/fold-const.c:16732:1: internal compiler error: in

edge_badness, at ipa-inline.c:921

 }

 ^

0x11ddca7 edge_badness

../../src-trunk/gcc/ipa-inline.c:921

0x11ddf41 update_edge_key

../../src-trunk/gcc/ipa-inline.c:987

0x11df257 inline_small_functions

../../src-trunk/gcc/ipa-inline.c:1476

0x11dff6a ipa_inline

../../src-trunk/gcc/ipa-inline.c:1794

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.

make[6]: *** [fold-const.o] Error 1


[Bug bootstrap/55051] [4.8 Regression] profiledbootstrap failed

2012-11-14 Thread hjl.tools at gmail dot com


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



--- Comment #5 from H.J. Lu hjl.tools at gmail dot com 2012-11-14 15:08:53 
UTC ---

There are



  badness = (relative_time_benefit (callee_info, edge, edge_time)

 * (INT_MIN / 16 / RELATIVE_TIME_BENEFIT_RANGE));

  badness /= (growth * MAX (1, callee_info-growth));

  gcc_checking_assert (badness =0  badness = INT_MIN / 16);


[Bug bootstrap/55051] [4.8 Regression] profiledbootstrap failed

2012-11-14 Thread markus at trippelsdorf dot de


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



Markus Trippelsdorf markus at trippelsdorf dot de changed:



   What|Removed |Added



 CC||markus at trippelsdorf dot

   ||de



--- Comment #6 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-11-14 15:13:08 UTC ---

(In reply to comment #5)

 There are

 

   badness = (relative_time_benefit (callee_info, edge, edge_time)

  * (INT_MIN / 16 / RELATIVE_TIME_BENEFIT_RANGE));

   badness /= (growth * MAX (1, callee_info-growth));

   gcc_checking_assert (badness =0  badness = INT_MIN / 16);



Yes, badness is 1 in this case...

I'm reducing the issue right now.


[Bug bootstrap/55051] [4.8 Regression] profiledbootstrap failed

2012-11-14 Thread hubicka at ucw dot cz


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



--- Comment #7 from Jan Hubicka hubicka at ucw dot cz 2012-11-14 15:35:26 UTC 
---

 --- Comment #6 from Markus Trippelsdorf markus at trippelsdorf dot de 
 2012-11-14 15:13:08 UTC ---

 (In reply to comment #5)

  There are

  

badness = (relative_time_benefit (callee_info, edge, edge_time)

   * (INT_MIN / 16 / RELATIVE_TIME_BENEFIT_RANGE));

badness /= (growth * MAX (1, callee_info-growth));

gcc_checking_assert (badness =0  badness = INT_MIN / 16);

 

 Yes, badness is 1 in this case...

 I'm reducing the issue right now.



Thanks, I was just about to start looking into FDO inlining re-tunning.



relative_time_benefit should be in range 0...INT_MAX / 64 so it should end up

in multipling -4 times that should be safe.



I am going to try to reproduce it now.

/bin/bash: ./:q: Permission denied


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #23 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
15:51:44 UTC ---

Created attachment 28683

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28683

debug output from mach_override running use_after_free test case



Debugging output from mach_override/mach_override.c using test case built with

proposed patch using...



gcc-fsf-4.8 -faddress-sanitizer -framework CoreFoundation -O1

-fno-omit-frame-pointer -g -o use-after-free use-after-free.c -lasan


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #24 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
15:59:55 UTC ---

Created attachment 28684

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28684

disassembled use-after-free.o from clang 3.2



Disassembled use-after-free.o generated with...



/sw/opt/llvm-3.2/bin/clang -fsanitize=address -O1 -fno-omit-frame-pointer -g

use-after-free.c --save-temps 

objdump -d use-after-free.o  use-after-free.clang.disasm


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #25 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
16:02:03 UTC ---

Created attachment 28685

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28685

disassembled use-after-free.o from gcc trunk



Disassembled use-after-free.o generated with...



gcc-fsf-4.8 -faddress-sanitizer -framework CoreFoundation -O1

-fno-omit-frame-pointer -g -o use-after-free use-after-free.c -lasan

--save-temps

objdump -d use-after-free.o  use-after-free.gcc48.disasm


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #26 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
16:03:03 UTC ---

Created attachment 28686

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28686

diff between disassembled use-after-free.o generated by clang 3.2 and gcc trunk


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #27 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
16:06:10 UTC ---

The error in mach_override.c occurs for the use-after-free.c test case at...



Replacing function at 0x1119ef630

First 16 bytes of the function: 48 8d 5 11 4f b 0 53 48 8d 5f e0 48 89 77 90 

To disassemble, save the following function as disas.c and run:

  gcc -c disas.c  gobjdump -d disas.o

The first 16 bytes of the original function will start after four nop

instructions.



void foo() {

  asm volatile(nop;nop;nop;nop;);

  asm volatile(.byte 0x48, 0x8d, 0x5, 0x11, 0x4f, 0xb, 0x0, 0x53;);

  asm volatile(.byte 0x48, 0x8d, 0x5f, 0xe0, 0x48, 0x89, 0x77, 0x90;);

}



Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48 8d  FAIL

Matching: 48 8d  FAIL

Matching: 48 8d  FAIL

Matching: 48 8d  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48 8d  FAIL

Matching: 48 8d  FAIL

Matching: 48  FAIL

Matching: 48 8d  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48  FAIL

Matching: 48 8d  FAIL

mach_override: some instructions unknown! Need to update mach_override.c

overridePossible = false @299

err = f801

../../../../gcc-4.8-20121114/libsanitizer/interception/mach_override/mach_override.c:308

err = f801

../../../../gcc-4.8-20121114/libsanitizer/interception/mach_override/mach_override.c:321

err = f801

../../../../gcc-4.8-20121114/libsanitizer/interception/mach_override/mach_override.c:327

err = f801

../../../../gcc-4.8-20121114/libsanitizer/interception/mach_override/mach_override.c:340

err = f801

../../../../gcc-4.8-20121114/libsanitizer/interception/mach_override/mach_override.c:345

First 16 bytes of the function after slicing: 48 8d 5 11 4f b 0 53 48 8d 5f e0

48 89 77 90


[Bug c++/55325] New: [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread hp at gcc dot gnu.org


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



 Bug #: 55325

   Summary: [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C

excess errors

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Keywords: wrong-code

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: h...@gcc.gnu.org

CC: e...@gcc.gnu.org

  Host: x86_64-unknown-linux-gnu

Target: cris-axis-elf, sh4-linux, i686-linux, x86_64-linux





This test previously passed, now it fails.

A patch in the revision range (last_known_working:first_known_failing)

193374:193385

exposed or caused this regression.  Since then it fails as follows:



Running /tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/dg.exp ...

...

FAIL: g++.dg/cpp0x/constexpr-complex.C (test for excess errors)





In g++.log for cris-elf:

Executing on host:

/tmp/hpautotest-gcc1/cris-elf/gccobj/gcc/testsuite/g++/../../g++

-B/tmp/hpautotest-gcc1/cris-elf/gccobj/gcc/testsuite/g++/../../

/tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/cpp0x/constexpr-complex.C 

-fno-diagnostics-show-caret  -nostdinc++

-I/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libstdc++-v3/include/cris-elf

-I/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libstdc++-v3/include

-I/tmp/hpautotest-gcc1/gcc/libstdc++-v3/libsupc++

-I/tmp/hpautotest-gcc1/gcc/libstdc++-v3/include/backward

-I/tmp/hpautotest-gcc1/gcc/libstdc++-v3/testsuite/util -fmessage-length=0 

-std=c++0x  -S   -isystem

/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./newlib/targ-include -isystem

/tmp/hpautotest-gcc1/gcc/newlib/libc/include  -o constexpr-complex.s   

(timeout = 300)

/tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/cpp0x/constexpr-complex.C: In

constructor 'constexpr complex::complex(float, float)':

/tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/cpp0x/constexpr-complex.C:12:26:

error: unable to find numeric literal operator 'operator fi'



Looks like the regression is universal:

sh4-linux: http://gcc.gnu.org/ml/gcc-testresults/2012-11/msg01164.html

i686-linux: http://gcc.gnu.org/ml/gcc-testresults/2012-11/msg01171.html

x86_64-linux: http://gcc.gnu.org/ml/gcc-testresults/2012-11/msg01173.html



Author of suspect patch in revision range CC:ed.


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread glider at google dot com


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



Alexander Potapenko glider at google dot com changed:



   What|Removed |Added



 CC||glider at google dot com



--- Comment #28 from Alexander Potapenko glider at google dot com 2012-11-14 
16:13:47 UTC ---

===

t.o: file format mach-o-x86-64





Disassembly of section .text:



 _foo:

   0:55   push   %rbp

   1:48 89 e5 mov%rsp,%rbp

   4:90   nop

   5:90   nop

   6:90   nop

   7:90   nop

   8:48 8d 05 11 4f 0b 00 lea0xb4f11(%rip),%rax# b4f20

_foo.eh+0xb4ee8

   f:53   push   %rbx

  10:48 8d 5f e0  lea-0x20(%rdi),%rbx

  14:48 89 77 90  mov%rsi,-0x70(%rdi)

  18:5d   pop%rbp

  19:c3   retq   

===



mach_override must be choking on the lea instruction.

The easiest way to handle it is to add 48 8d 05 00 00 00 00 to the list of

instructions and mark it as lea $imm(%rip),%rax. You can also dive into the

opcodes a bit and mask the bits that select the destination register.

I'll take a look at mach_override.c code to suggest the actual patch.


[Bug c++/55326] New: FAIL: g++.dg/cpp0x/constexpr-complex.C (test for excess errors)

2012-11-14 Thread gretay at gcc dot gnu.org


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



 Bug #: 55326

   Summary: FAIL: g++.dg/cpp0x/constexpr-complex.C (test for

excess errors)

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: gre...@gcc.gnu.org

CC: 3dw...@verizon.net

Target: arm-none-eabi





New test failures on arm:



FAIL: g+.dg/parse/template23.C -std=c+11 (test for errors, line 8)

FAIL: g+.dg/parse/template23.C -std=c+11 (test for errors, line 9)

FAIL: g+.dg/parse/template23.C -std=c+11 (test for excess errors)

FAIL: g++.dg/cpp0x/constexpr-complex.C (test for excess errors)



Caused by r193382, described here:

http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00347.html



/work/bisect/build-complex-193382/gcc/testsuite/g++/../../g++

-B/work/bisect/build-complex-193382/gcc/testsuite/g++/../../

/work/local-checkouts/gcc-git/gcc/testsuite/g++.dg/cpp0x/constexpr-complex.C 

-fno-diagnostics-show-caret   -fmessage-length=0  -std=c++0x  -S-mthumb -o

constexpr-complex.s(timeout = 60)

/work/local-checkouts/gcc-git/gcc/testsuite/g++.dg/cpp0x/constexpr-complex.C:

In constructor 'constexpr complex::complex(float, float)':

/work/local-checkouts/gcc-git/gcc/testsuite/g++.dg/cpp0x/constexpr-complex.C:12:26:

error: unable to find numeric literal operator 'operator fi'

/work/local-checkouts/gcc-git/gcc/testsuite/g++.dg/cpp0x/constexpr-complex.C:

At global scope:

/work/local-checkouts/gcc-git/gcc/testsuite/g++.dg/cpp0x/constexpr-complex.C:17:19:

error: 'constexpr complex::complex(float, float)' called in a constant

expression



Target: arm-none-eabi

Configured with: /work/local-checkouts/gcc-git/configure --target=arm-none-eabi

--enable-languages=c,c++ --disable-shared --disable-nls --disable-lto

--disable-threads --disable-tls --disable-werror --disable-libssp

--disable-libgomp --disable-libmudflap --enable-checking=yes --without-headers

--with-newlib --with-gnu-as --with-gnu-ld

--with-gmp=/projects/pl802_weddell/tools/linux_x86_64

--with-mpfr=/projects/pl802_weddell/tools/linux_x86_64

--with-mpc=/projects/pl802_weddell/tools/linux_x86_64

--with-libelf=/projects/pl802_weddell/tools/linux_x86_64 --with-cpu=cortex-a9

--with-fpu=neon --with-float-abi=softfp

Thread model: single

gcc version 4.8.0 20121109 (experimental) (GCC)


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-14

 Ever Confirmed|0   |1



--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-14 
16:18:05 UTC ---

I also see failing g++.dg/parse/template23.C and for this one too the problem

seems related to the recent changes for PR54413.


[Bug c++/55326] FAIL: g++.dg/cpp0x/constexpr-complex.C (test for excess errors)

2012-11-14 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||DUPLICATE



--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-14 
16:19:54 UTC ---

Dup.



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


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 CC||gretay at gcc dot gnu.org



--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-14 
16:19:54 UTC ---

*** Bug 55326 has been marked as a duplicate of this bug. ***


[Bug other/55309] gcc's address-sanitizer 66% slower than clang's

2012-11-14 Thread jakub at gcc dot gnu.org


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



--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-14 
16:37:36 UTC ---

Also, this comparison doesn't have numbers for pure clang without

-fsanitize=address and gcc without -faddress-sanitizer, so likely most of the

speed differences can't be attributed just to asan.


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread glider at google dot com


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



--- Comment #29 from Alexander Potapenko glider at google dot com 2012-11-14 
16:40:53 UTC ---

Index: mach_override.c

===

--- mach_override.c(revision 167724)

+++ mach_override.c(working copy)

@@ -725,6 +725,8 @@

 { 0x2, {0xFF, 0x00}, {0x89, 0x00} },   //

mov r/m32,r32 or r/m16,r16

 { 0x3, {0xFF, 0xFF, 0xFF}, {0x49, 0x89, 0xF8} },   //

mov %rdi,%r8

 { 0x4, {0xFF, 0xFF, 0xFF, 0xFF}, {0x40, 0x0F, 0xBE, 0xCE} },   //

movsbl %sil,%ecx

+{ 0x7, {0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00},

+   {0x48, 0x8D, 0x05, 0x00, 0x00, 0x00, 0x00} },  // lea

$imm(%rip),%rax

 { 0x3, {0xFF, 0xFF, 0xFF}, {0x0F, 0xBE, 0xCE} },  // movsbl, %dh, %ecx

 { 0x3, {0xFF, 0xFF, 0x00}, {0xFF, 0x77, 0x00} },  // pushq $imm(%rdi)

 { 0x2, {0xFF, 0xFF}, {0xDB, 0xE3} }, // fninit





===

Please also make sure the interceptors work in 32-bit programs


[Bug c++/55323] ICE in expand_aggr_init_1, at cp/init.c:1718

2012-11-14 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot

   |gnu.org |com

   Target Milestone|--- |4.8.0



--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-14 
16:43:37 UTC ---

Thanks Daniel for the reduced testcase. The issue seems simple.


[Bug target/47440] Use LCM for vzeroupper insertion

2012-11-14 Thread uros at gcc dot gnu.org


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



--- Comment #8 from uros at gcc dot gnu.org 2012-11-14 16:47:43 UTC ---

Author: uros

Date: Wed Nov 14 16:47:29 2012

New Revision: 193503



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193503

Log:

PR target/47440

* config/i386/i386.c (gate_insert_vzeroupper): New function.

(rest_of_handle_insert_vzeroupper): Ditto.

(struct rtl_opt_pass pass_insert_vzeroupper): New.

(ix86_option_override): Register vzeroupper insertion pass here.

(ix86_check_avx256_register): Handle SUBREGs properly.

(ix86_init_machine_status): Remove optimize_mode_switching[AVX_U128]

initialization.





Modified:

trunk/gcc/ChangeLog

trunk/gcc/config/i386/i386.c


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #30 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
16:54:06 UTC ---

(In reply to comment #29)

Thanks with the patch applied from comment 29, now the use-after-free testcase

works without errors...



howarth% ./use-after-free

=

==30656== ERROR: AddressSanitizer heap-use-after-free on address 0x000108843f45

at pc 0x105b8bf12 bp 0x7fff5a0748e0 sp 0x7fff5a0748d8

READ of size 1 at 0x000108843f45 thread T0

#0 0x105b8bf11 (/Users/howarth/./use-after-free+0x10f11)

#1 0x7fff8bd827e0 (/usr/lib/system/libdyld.dylib+0x27e0)

#2 0x0

0x000108843f45 is located 5 bytes inside of 80-byte region

[0x000108843f40,0x000108843f90)

freed by thread T0 here:

#0 0x105b9a7a4 (/sw/lib/gcc4.8/lib/libasan.0.dylib+0xb7a4)

#1 0x105b9a92a (/sw/lib/gcc4.8/lib/libasan.0.dylib+0xb92a)

#2 0x105b8bee5 (/Users/howarth/./use-after-free+0x10ee5)

#3 0x7fff8bd827e0 (/usr/lib/system/libdyld.dylib+0x27e0)

#4 0x0

previously allocated by thread T0 here:

#0 0x105b9a255 (/sw/lib/gcc4.8/lib/libasan.0.dylib+0xb255)

#1 0x7fff94c3b152 (/usr/lib/system/libsystem_c.dylib+0x2d152)

#2 0x7fff94c3bba6 (/usr/lib/system/libsystem_c.dylib+0x2dba6)

#3 0x105b8beda (/Users/howarth/./use-after-free+0x10eda)

#4 0x7fff8bd827e0 (/usr/lib/system/libdyld.dylib+0x27e0)

Shadow byte and word:

  0x1000211087e8: fd

  0x1000211087e8: fd fd fd fd fd fd fd fd

More shadow bytes:

  0x1000211087c8: fa fa fa fa fa fa fa fa

  0x1000211087d0: fa fa fa fa fa fa fa fa

  0x1000211087d8: fa fa fa fa fa fa fa fa

  0x1000211087e0: fa fa fa fa fa fa fa fa

=0x1000211087e8: fd fd fd fd fd fd fd fd

  0x1000211087f0: fd fd fd fd fd fd fd fd

  0x1000211087f8: fa fa fa fa fa fa fa fa

  0x100021108800: fa fa fa fa fa fa fa fa

  0x100021108808: fa fa fa fa fa fa fa fa

Stats: 0M malloced (0M for red zones) by 1 calls

Stats: 0M realloced by 0 calls

Stats: 0M freed by 1 calls

Stats: 0M really freed by 0 calls

Stats: 0M (128 full pages) mmaped in 1 calls

  mmaps   by size class: 8:2047; 

  mallocs by size class: 8:1; 

  frees   by size class: 8:1; 

  rfrees  by size class: 

Stats: malloc large: 0 small slow: 1

==30656== ABORTING



I'll try to test a i386-apple-darwin10 build of gcc trunk later today (unless

the multilib for libsanitizer gets fixed first and I can test -m32 on a

x86_64-apple-darwin12 build).


[Bug c++/55318] Missing uninitialized warning

2012-11-14 Thread brunonery+bugzilla at brunonery dot com


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



--- Comment #2 from brunonery+bugzilla at brunonery dot com 2012-11-14 16:55:36 
UTC ---

Not -Winit-self alone, but together with -Wuninitialized.


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread hp at gcc dot gnu.org


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



--- Comment #3 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-14 
16:59:29 UTC ---

(In reply to comment #1)

 I also see failing g++.dg/parse/template23.C and for this one too the problem

 seems related to the recent changes for PR54413.



Right, thanks, I was just about to analyze that one.  Speaking of that commit,

some of the new tests fail for me:

FAIL: g++.dg/cpp0x/gnu_fext-numeric-literals.C (test for excess errors)

FAIL: g++.dg/cpp0x/std_fext-numeric-literals.C (test for excess errors)



and in g++.log:

Excess errors:

/tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C:94:3:

error: unsupported non-standard suffix on floating constant

/tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C:95:3:

error: unsupported non-standard suffix on floating constant

/tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C:96:3:

error: unsupported non-standard suffix on floating constant

/tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C:97:3:

error: unsupported non-standard sufffix on floating constant

maybe related, maybe material for a new PR.


[Bug other/55309] gcc's address-sanitizer 66% slower than clang's

2012-11-14 Thread markus at trippelsdorf dot de


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



--- Comment #5 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-11-14 17:02:54 UTC ---

(In reply to comment #4)

 Also, this comparison doesn't have numbers for pure clang without

 -fsanitize=address and gcc without -faddress-sanitizer, so likely most of the

 speed differences can't be attributed just to asan.



Yes. It was meant as a rough estimate.



Here is a more complete result (clang trunk build with Release mode,

gcc trunk with --enable-checking=release and lto/profiledbootstraped):



  clang (with-without):  1278.47-662.47 = 616

  gcc   (with-without):  2733.02-1168.07= 1564.95



That's still a 60.64% slowdown.


[Bug c++/55254] Warn for implicit conversion from int to char

2012-11-14 Thread redi at gcc dot gnu.org


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||diagnostic



--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2012-11-14 
17:12:23 UTC ---

An alternative would be to warn for conversion from the char literal '=' to an

integer type.  If you said '=' chances are you meant it to be a char, not

int('='). That wouldn't help if using a non-literal char though.



Or, when calling a function with two or more arguments, if all arguments

require an implicit conversion and re-ordering the arguments would require

fewer implicit conversions, suggest the arguments might be ordered incorrectly.

 That would be more work (to implement, at on every compilation)


[Bug regression/55327] New: FAIL: gcc.dg/vect/slp-perm-8.c scan-tree-dump-times vect vectorized 1 loops 2

2012-11-14 Thread gretay at gcc dot gnu.org


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



 Bug #: 55327

   Summary: FAIL: gcc.dg/vect/slp-perm-8.c scan-tree-dump-times

vect vectorized 1 loops 2

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: regression

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: gre...@gcc.gnu.org

CC: rguent...@suse.de

Target: arm-none-eabi





After r192987, the following tests started failing on arm-none-eabi:



FAIL: gcc.dg/vect/slp-perm-8.c scan-tree-dump-times vect vectorized 1 loops 2

FAIL: gcc.dg/vect/slp-perm-8.c scan-tree-dump-times vect vectorizing stmts

using SLP 1



One more loop is now vectorized using SLP.  



Similarly, the following test started failing:

FAIL: gcc.dg/vect/slp-perm-9.c scan-tree-dump-times vect permutation requires

at least three vectors 1



This message appears twice in the dump file, instead of just once, as expected.


[Bug tree-optimization/54717] [4.8 Regression] Runtime regression: polyhedron test rnflow degraded

2012-11-14 Thread sergos.gnu at gmail dot com


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



--- Comment #12 from Sergey Ostanevich sergos.gnu at gmail dot com 2012-11-14 
18:56:22 UTC ---

Actually, it is not. 

I found that PRE did not collected a memory access within the loop that caused

later missing vectorization. Here is dump before (good one) and after the

commit (bad one)



bb 88:

pretmp_263 = (integer(kind=8)) ival2_82;

pretmp_264 = pretmp_263 + -1;

pretmp_265 = *xxtrt_46(D)[pretmp_264];



bb 28:

# ival2_10 = PHI ival2_63(88), ival2_89(92)

# ival2_14 = PHI ival2_82(88), ival2_15(92)

# prephitmp_266 = PHI pretmp_265(88), prephitmp_237(92)

_83 = (integer(kind=8)) ival2_10;

_84 = _83 + -1;

_85 = *xxtrt_46(D)[_84];

_86 = (integer(kind=8)) ival2_14;

_87 = _86 + -1;

_88 = prephitmp_266;

if (_85  _88)

  goto bb 29;

else

  goto bb 90;



bb 90:

goto bb 30;



bb 29:



bb 30:

# ival2_15 = PHI ival2_14(90), ival2_10(29)

# prephitmp_237 = PHI _88(90), _85(29)

ival2_89 = ival2_10 + -1;

if (ival2_10 == ipos1_12)

  goto bb 91;

else

  goto bb 92;



   bb 92:

   goto bb 28;

-

bb 88:



bb 28:

# ival2_10 = PHI ival2_63(88), ival2_89(92)

   # ival2_14 = PHI ival2_82(88), ival2_15(92)

_83 = (integer(kind=8)) ival2_10;

_84 = _83 + -1;

_85 = *xxtrt_46(D)[_84];

_86 = (integer(kind=8)) ival2_14;

_87 = _86 + -1;

_88 = *xxtrt_46(D)[_87];

if (_85  _88)

  goto bb 29;

else

  goto bb 90;



bb 90:

goto bb 30;



bb 29:



bb 30:

# ival2_15 = PHI ival2_14(90), ival2_10(29)

ival2_89 = ival2_10 + -1;

if (ival2_10 == ipos1_12)

  goto bb 91;

else

  goto bb 92;



   bb 92:

   goto bb 28;

-



So for the loop that starting at bb 28 you can see the xxtrt_46 access was not

put into pretemp. Possible reason is exactly as it was mentioned by Richard -

there were extra candidates collected and this one become less anticipatable



Skipping partial partial redundancy for expression

{array_refpretmp_8,0,4,mem_ref0B,xxtrt_46(D)}@.MEM_30(D) (0165)   

   not partially anticipated on any to be optimized for speed edges

  ---

Found partial partial redundancy for expression

 {array_refpretmp_8,0,4,mem_ref0B,xxtrt_46(D)}@.MEM_30(D) (0165)

Created phi prephitmp_237 = PHI _88(90), _85(29)

 in block 30


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #31 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
19:10:15 UTC ---

Also fine on i386-apple-darwin10...



howarth% ./use-after-free

=

==82550== ERROR: AddressSanitizer heap-use-after-free on address 0x0207afc5 at

pc 0x1f0b bp 0xbfffe3a8 sp 0xbfffe39c

READ of size 1 at 0x0207afc5 thread T0

#0 0x1f0a (/Users/howarth/./use-after-free+0x1f0a)

#1 0x1ec0 (/Users/howarth/./use-after-free+0x1ec0)

#2 0x0 (/Users/howarth/./use-after-free+0x0)

0x0207afc5 is located 5 bytes inside of 40-byte region [0x0207afc0,0x0207afe8)

freed by thread T0 here:

#0 0x10b34 (/sw_i386/lib/gcc4.8/lib/libasan.0.dylib+0xcb34)

#1 0x10cdb (/sw_i386/lib/gcc4.8/lib/libasan.0.dylib+0xccdb)

#2 0x1ee6 (/Users/howarth/./use-after-free+0x1ee6)

#3 0x1ec0 (/Users/howarth/./use-after-free+0x1ec0)

#4 0x0 (/Users/howarth/./use-after-free+0x0)

previously allocated by thread T0 here:

#0 0x10515 (/sw_i386/lib/gcc4.8/lib/libasan.0.dylib+0xc515)

#1 0x99041ba7 (/usr/lib/libSystem.B.dylib+0x4ba7)

#2 0x9903fc77 (/usr/lib/libSystem.B.dylib+0x2c77)

#3 0x1edc (/Users/howarth/./use-after-free+0x1edc)

#4 0x1ec0 (/Users/howarth/./use-after-free+0x1ec0)

#5 0x0 (/Users/howarth/./use-after-free+0x0)

Shadow byte and word:

  0x2040f5f8: fd

  0x2040f5f8: fd fd fd fd

More shadow bytes:

  0x2040f5e8: fa fa fa fa

  0x2040f5ec: fa fa fa fa

  0x2040f5f0: fa fa fa fa

  0x2040f5f4: fa fa fa fa

=0x2040f5f8: fd fd fd fd

  0x2040f5fc: fd fd fd fd

  0x2040f600: fa fa fa fa

  0x2040f604: fa fa fa fa

  0x2040f608: fa fa fa fa

Stats: 0M malloced (0M for red zones) by 1 calls

Stats: 0M realloced by 0 calls

Stats: 0M freed by 1 calls

Stats: 0M really freed by 0 calls

Stats: 0M (128 full pages) mmaped in 1 calls

  mmaps   by size class: 7:4095; 

  mallocs by size class: 7:1; 

  frees   by size class: 7:1; 

  rfrees  by size class: 

Stats: malloc large: 0 small slow: 1

==82550== ABORTING



Alexander, can you check in

libsanitizer/interception/mach_override/mach_override.c (patched as in comment

229) and libsanitizer/interception/mach_override/mach_override.h with the build

infrastructure patch from

http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01119.html? It would be nice to be

able to start testing libsanitizer on intel darwin.


[Bug tree-optimization/55079] [4.8 regression] false positive -Warray-bounds (also seen at -O3 bootstrap)

2012-11-14 Thread hubicka at gcc dot gnu.org

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

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.8 regression] false  |[4.8 regression] false
   |positive -Warray-bounds |positive -Warray-bounds
   ||(also seen at -O3
   ||bootstrap)

--- Comment #8 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-14 
19:31:16 UTC ---
Hi,
at -O3 bootstrap we have false positive on simplify-rtx.c
../../gcc/simplify-rtx.c: In function ‘rtx_def* simplify_plus_minus(rtx_code,
machine_mode, rtx, rtx)’:
../../gcc/simplify-rtx.c:4285:63: warning: array subscript is below array
bounds [-Warray-bounds]
   while (j--  simplify_plus_minus_op_data_cmp (ops[j].op, save.op));


the siplified testcase is as follows:

int a[8];

void
test(unsigned int n)
{
  unsigned int i;
  unsigned int j;
  if (n8)
  for (j=0;jn;j++)
   {
 i = j;
 do
a[i+1]=a[i];
 while (i--);
   }
}

here we unroll the inner do loop 7 times based on the array bounds derived from
[i] access.  
Afterwards VRP proves that j is always at most 7 and thus the loop walks out of
bounds. Here we may be able to determine that the loop accesses both i and i+1
and we could actually unroll only 6 times, but we handle each of array access
independently.


Re: [Bug tree-optimization/54717] [4.8 Regression] Runtime regression: polyhedron test rnflow degraded

2012-11-14 Thread Jan Hubicka
 So for the loop that starting at bb 28 you can see the xxtrt_46 access was not
 put into pretemp. Possible reason is exactly as it was mentioned by Richard -
 there were extra candidates collected and this one become less anticipatable
 
 Skipping partial partial redundancy for expression
 {array_refpretmp_8,0,4,mem_ref0B,xxtrt_46(D)}@.MEM_30(D) (0165)   
not partially anticipated on any to be optimized for speed edges
   ---
 Found partial partial redundancy for expression
  {array_refpretmp_8,0,4,mem_ref0B,xxtrt_46(D)}@.MEM_30(D) (0165)
 Created phi prephitmp_237 = PHI _88(90), _85(29)
  in block 30

Hmm, interesting, what is the edge resonsible?
I would expect it to be the loopback edge and its frequency is:
;;   basic block 28, loop depth 0, count 0, freq 1998, maybe hot
;;prev block 92, next block 94, flags: (NEW, REACHABLE)
;;pred:   92 [100.0%, 180]  (FALLTHRU)
;;96 [100.0%, 1818]  (FALLTHRU,DFS_BACK)
  # ival2_136 = PHI ival2_62(92), ival2_144(96)
  # ival2_140 = PHI ival2_80(92), ival2_146(96)
  _137 = (integer(kind=8)) ival2_136;
  _138 = _137 + -1;
  _139 = *xxtrt_25(D)[_138];
  _141 = (integer(kind=8)) ival2_140;
  _142 = _141 + -1;
  _143 = *xxtrt_25(D)[_142];
  if (_139  _143)
goto bb 29; 
  else
goto bb 94;

1818 that should be still hot.  Or isn't the heuristic backwards? I.e. I would 
expect
the partial anticipance to sit on edge 92-28 (with freq 180) where we need to 
insert
the computation to get the other path hot.

Honza


[Bug tree-optimization/54717] [4.8 Regression] Runtime regression: polyhedron test rnflow degraded

2012-11-14 Thread hubicka at ucw dot cz


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



--- Comment #13 from Jan Hubicka hubicka at ucw dot cz 2012-11-14 19:43:00 
UTC ---

 So for the loop that starting at bb 28 you can see the xxtrt_46 access was not

 put into pretemp. Possible reason is exactly as it was mentioned by Richard -

 there were extra candidates collected and this one become less anticipatable

 

 Skipping partial partial redundancy for expression

 {array_refpretmp_8,0,4,mem_ref0B,xxtrt_46(D)}@.MEM_30(D) (0165)   

not partially anticipated on any to be optimized for speed edges

   ---

 Found partial partial redundancy for expression

  {array_refpretmp_8,0,4,mem_ref0B,xxtrt_46(D)}@.MEM_30(D) (0165)

 Created phi prephitmp_237 = PHI _88(90), _85(29)

  in block 30



Hmm, interesting, what is the edge resonsible?

I would expect it to be the loopback edge and its frequency is:

;;   basic block 28, loop depth 0, count 0, freq 1998, maybe hot

;;prev block 92, next block 94, flags: (NEW, REACHABLE)

;;pred:   92 [100.0%, 180]  (FALLTHRU)

;;96 [100.0%, 1818]  (FALLTHRU,DFS_BACK)

  # ival2_136 = PHI ival2_62(92), ival2_144(96)

  # ival2_140 = PHI ival2_80(92), ival2_146(96)

  _137 = (integer(kind=8)) ival2_136;

  _138 = _137 + -1;

  _139 = *xxtrt_25(D)[_138];

  _141 = (integer(kind=8)) ival2_140;

  _142 = _141 + -1;

  _143 = *xxtrt_25(D)[_142];

  if (_139  _143)

goto bb 29; 

  else

goto bb 94;



1818 that should be still hot.  Or isn't the heuristic backwards? I.e. I would

expect

the partial anticipance to sit on edge 92-28 (with freq 180) where we need to

insert

the computation to get the other path hot.



Honza


[Bug tree-optimization/54717] [4.8 Regression] Runtime regression: polyhedron test rnflow degraded

2012-11-14 Thread hubicka at gcc dot gnu.org


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



Jan Hubicka hubicka at gcc dot gnu.org changed:



   What|Removed |Added



 CC||hubicka at gcc dot gnu.org



--- Comment #14 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-14 
20:11:17 UTC ---

Hmm, the optimize_edge_for_speed never returns false here. The problem is that

patch assumes that interesting successors of block with partial anticipance are

blocks with partial anticipance. The anticipance however could be full and it

seems that full anticipance do not imply partial one

Index: tree-ssa-pre.c

===

*** tree-ssa-pre.c  (revision 193503)

--- tree-ssa-pre.c  (working copy)

*** do_partial_partial_insertion (basic_bloc

*** 3525,3531 

 may cause regressions on the speed path.  */

  FOR_EACH_EDGE (succ, ei, block-succs)

{

! if (bitmap_set_contains_value (PA_IN (succ-dest), val))

{

  if (optimize_edge_for_speed_p (succ))

do_insertion = true;

--- 3525,3532 

 may cause regressions on the speed path.  */

  FOR_EACH_EDGE (succ, ei, block-succs)

{

! if (bitmap_set_contains_value (PA_IN (succ-dest), val)

! || bitmap_set_contains_value (ANTIC_IN (succ-dest),

val))

{

  if (optimize_edge_for_speed_p (succ))

do_insertion = true;


[Bug c++/11750] class scope using-declaration lookup not implemented

2012-11-14 Thread fabien at gcc dot gnu.org

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

--- Comment #9 from fabien at gcc dot gnu.org 2012-11-14 20:12:56 UTC ---
Author: fabien
Date: Wed Nov 14 20:12:47 2012
New Revision: 193504

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193504
Log:
gcc/testsuite/ChangeLog

2012-11-14  Fabien Chêne  fab...@gcc.gnu.org

PR c++/11750
* g++.dg/inherit/vitual9.C: New.

gcc/cp/ChangeLog

2012-11-14  Fabien Chêne  fab...@gcc.gnu.org

PR c++/11750
* call.c (build_new_method_call_1): Check that the instance type
and the function context are the same before setting the flag
LOOKUP_NONVIRTUAL.

Added:
trunk/gcc/testsuite/g++.dg/inherit/virtual9.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/11750] class scope using-declaration lookup not implemented

2012-11-14 Thread fabien at gcc dot gnu.org


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



fabien at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED

   Target Milestone|--- |4.8.0



--- Comment #10 from fabien at gcc dot gnu.org 2012-11-14 20:20:21 UTC ---

Fixed in 4.8.


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread 3dw4rd at verizon dot net


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



--- Comment #4 from Ed Smith-Rowland 3dw4rd at verizon dot net 2012-11-14 
20:20:27 UTC ---

OK, g++.dg/cpp0x/constexpr-complex.C will fail with the patch to control GNU

literal parsing.  i.e.  this behavior in intended.



The purpose of the test is to check that constexpr works with C99 complex

literals.  So we could fix the test in either one of two equivalent ways:



Invoke with gnu++0x:

// { dg-options -std=gnu++0x }



Invoke with new flag:

// { dg-options -std=c++0x -fext-numeric-literals }



Any preference on which one?



I'll look at the other fails.


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread konstantin.s.serebryany at gmail dot com


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



--- Comment #32 from Konstantin Serebryany konstantin.s.serebryany at gmail 
dot com 2012-11-14 20:21:19 UTC ---

Just want to repeat, that any work on mach_override may end up being wasted

time

because we plan to get rid of mach_override *really* soon.


[Bug c++/55323] ICE in expand_aggr_init_1, at cp/init.c:1718

2012-11-14 Thread paolo at gcc dot gnu.org


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



--- Comment #3 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 
2012-11-14 20:29:26 UTC ---

Author: paolo

Date: Wed Nov 14 20:29:07 2012

New Revision: 193505



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193505

Log:

/cp

2012-11-14  Paolo Carlini  paolo.carl...@oracle.com



PR c++/55323

* init.c (emit_mem_initializers): Skip arguments == error_mark_node.



/testsuite

2012-11-14  Paolo Carlini  paolo.carl...@oracle.com



PR c++/55323

* g++.dg/cpp0x/vt-55323.C: New.



Added:

trunk/gcc/testsuite/g++.dg/cpp0x/vt-55323.C

Modified:

trunk/gcc/cp/ChangeLog

trunk/gcc/cp/init.c

trunk/gcc/testsuite/ChangeLog


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread paolo.carlini at oracle dot com


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



--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-14 
20:36:37 UTC ---

If you ask me, I have I slight preference for the latter, because isn't always

obvious what gnu++* includes beyond c++*. But Jason will tell you, and the fix

is straightforward anyway.


[Bug c++/55323] ICE in expand_aggr_init_1, at cp/init.c:1718

2012-11-14 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED

 AssignedTo|paolo.carlini at oracle dot |unassigned at gcc dot

   |com |gnu.org



--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-14 
20:37:16 UTC ---

Fixed for 4.8.0.


[Bug debug/55328] New: ICE: in output_addr_table_entry, at dwarf2out.c:21780 with -gsplit-dwarf

2012-11-14 Thread zsojka at seznam dot cz


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



 Bug #: 55328

   Summary: ICE: in output_addr_table_entry, at dwarf2out.c:21780

with -gsplit-dwarf

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: debug

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: zso...@seznam.cz





Created attachment 28687

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28687

reduced testcase



Compiler output:

$ gcc -O -gsplit-dwarf testcase.c

testcase.c:5:1: internal compiler error: in output_addr_table_entry, at

dwarf2out.c:21780

 }

 ^

0x709e9b output_addr_table_entry

/mnt/svn/gcc-trunk/gcc/dwarf2out.c:21779

0x11d23b7 htab_traverse_noresize

/mnt/svn/gcc-trunk/libiberty/hashtab.c:784

0x746329 output_addr_table

/mnt/svn/gcc-trunk/gcc/dwarf2out.c:21820

0x746329 dwarf2out_finish

/mnt/svn/gcc-trunk/gcc/dwarf2out.c:23528

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.



Tested revisions:

r193495 - crash


[Bug bootstrap/55051] [4.8 Regression] profiledbootstrap failed

2012-11-14 Thread markus at trippelsdorf dot de


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



--- Comment #8 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-11-14 20:48:21 UTC ---

Created attachment 28688

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28688

testcase



The testcase is only reduced to 97K, but it gets reduced very slowly

and I'm giving up.



 $ g++ -w -c -O2 -fprofile-generate test.ii

...

badness 0

badness 0

badness 1

test.ii:784:42: internal compiler error: in edge_badness, at ipa-inline.c:921


[Bug tree-optimization/55329] New: [4.8 Regression] ICE: internal compiler error: in operator[], at vec.h:487 with -O -fno-guess-branch-probability -fnon-call-exceptions --param=early-inlining-insns=1

2012-11-14 Thread zsojka at seznam dot cz


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



 Bug #: 55329

   Summary: [4.8 Regression] ICE: internal compiler error: in

operator[], at vec.h:487 with -O

-fno-guess-branch-probability -fnon-call-exceptions

--param=early-inlining-insns=111

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: tree-optimization

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: zso...@seznam.cz





Created attachment 28689

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28689

preprocessed source; can't be significantly reduced



Compiler output:

$ gcc -O -fno-guess-branch-probability -fnon-call-exceptions

--param=early-inlining-insns=111

/mnt/svn/gcc-trunk/gcc/testsuite/g++.dg/torture/pr48271.C -save-temps

/mnt/svn/gcc-trunk/gcc/testsuite/g++.dg/torture/pr48271.C: In function 'void

stCheckReverseTrain()': 

/mnt/svn/gcc-trunk/gcc/testsuite/g++.dg/torture/pr48271.C:116:6: internal

compiler error: in operator[], at vec.h:487

 void stCheckReverseTrain ()

  ^ 

0xc8fecb vec_tbasic_block_def*::operator[](unsigned int)  

/mnt/svn/gcc-trunk/gcc/vec.h:487

0xc8fecb tree_ssa_dominator_optimize

/mnt/svn/gcc-trunk/gcc/tree-ssa-dom.c:807

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.



Tested revisions:

r193495 - crash

4.7 r191640 - OK


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #33 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
20:56:50 UTC ---

(In reply to comment #32)

 Just want to repeat, that any work on mach_override may end up being wasted

 time

 because we plan to get rid of mach_override *really* soon.



Is that certain to be soon enough to insure that darwin has usable asan support

for gcc 4.8?

I would rather have the option of continuing to be able to test libsanitizer on

darwin than having no support at all.


[Bug bootstrap/55321] [4.8 regression] Ada bootstrap failure on armv5tel-linux-gnueabi

2012-11-14 Thread ebotcazou at gcc dot gnu.org


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



Eric Botcazou ebotcazou at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |ASSIGNED

   Last reconfirmed||2012-11-14

 AssignedTo|unassigned at gcc dot   |ebotcazou at gcc dot

   |gnu.org |gnu.org

   Target Milestone|--- |4.8.0

 Ever Confirmed|0   |1



--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-14 
20:56:53 UTC ---

This occurs with just -gnatpg -O.  Investigating...


[Bug rtl-optimization/55330] New: [4.8 Regression] ICE: Maximum number of LRA constraint passes is achieved (15) on gfortran.dg/actual_array_constructor_1.f90

2012-11-14 Thread zsojka at seznam dot cz


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



 Bug #: 55330

   Summary: [4.8 Regression] ICE: Maximum number of LRA constraint

passes is achieved (15) on

gfortran.dg/actual_array_constructor_1.f90

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: rtl-optimization

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: zso...@seznam.cz





Created attachment 28690

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28690

gfortran.dg/actual_array_constructor_1.f90



Compiler output:

$ gcc -O -fPIC -fno-dse -fno-guess-branch-probability

actual_array_constructor_1.f90

actual_array_constructor_1.f90: In function 'p':

actual_array_constructor_1.f90:20:0: internal compiler error: Maximum number of

LRA constraint passes is achieved (15)



   end subroutine

 ^

0x95f97e lra_constraints(bool)

/mnt/svn/gcc-trunk/gcc/lra-constraints.c:3284

0x94ec3c lra(_IO_FILE*)

/mnt/svn/gcc-trunk/gcc/lra.c:2274

0x906456 do_reload

/mnt/svn/gcc-trunk/gcc/ira.c:4624

0x906456 rest_of_handle_reload

/mnt/svn/gcc-trunk/gcc/ira.c:4737

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.





Another set of compiler flags with the same result:

$ gcc -O -fPIC -fstack-protector -fno-guess-branch-probability

actual_array_constructor_1.f90

actual_array_constructor_1.f90: In function 'p':

actual_array_constructor_1.f90:20:0: internal compiler error: Maximum number of

LRA constraint passes is achieved (15)



   end subroutine

 ^

0x95f97e lra_constraints(bool)

/mnt/svn/gcc-trunk/gcc/lra-constraints.c:3284

0x94ec3c lra(_IO_FILE*)

/mnt/svn/gcc-trunk/gcc/lra.c:2274

0x906456 do_reload

/mnt/svn/gcc-trunk/gcc/ira.c:4624

0x906456 rest_of_handle_reload

/mnt/svn/gcc-trunk/gcc/ira.c:4737

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.



Tested revisions:

r193495 - crash


[Bug tree-optimization/55329] [4.8 Regression] ICE: internal compiler error: in operator[], at vec.h:487 with -O -fno-guess-branch-probability -fnon-call-exceptions --param=early-inlining-insns=111

2012-11-14 Thread dominiq at lps dot ens.fr


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



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



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-14

 Ever Confirmed|0   |1



--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-11-14 
21:22:02 UTC ---

Confirmed: 

revision 192891 (2012-10-28) is OK;

revision 193261 (2012-11-06) gives the ICE.


[Bug rtl-optimization/55330] [4.8 Regression] ICE: Maximum number of LRA constraint passes is achieved (15) on gfortran.dg/actual_array_constructor_1.f90

2012-11-14 Thread dominiq at lps dot ens.fr


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



--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-11-14 
21:43:28 UTC ---

I don't see it on x86_64-apple-darwin10 (revisions 193495+patches and 193329).


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread 3dw4rd at verizon dot net


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



--- Comment #6 from Ed Smith-Rowland 3dw4rd at verizon dot net 2012-11-14 
21:52:14 UTC ---

(In reply to comment #4)

 

 Invoke with gnu++0x:

 // { dg-options -std=gnu++0x }

 

 Invoke with new flag:

 // { dg-options -std=c++0x -fext-numeric-literals }

 

 I'll look at the other fails.



Similarly for template23.C.  We'll just set the correct flag in the testcase.



I'm still looking at the errors in comment 3.


[Bug middle-end/55331] New: [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-14 Thread zsojka at seznam dot cz


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



 Bug #: 55331

   Summary: [4.6/4.7/4.8 Regression] ICE: SIGSEGV in

substitute_and_fold with -O2 -fno-tree-fre

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: middle-end

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: zso...@seznam.cz





Created attachment 28691

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28691

autoreduced testcase



Compiler output:

$ gcc -O2 -fno-tree-fre testcase-min7.ii -wrapper

valgrind,-q,--num-callers=40,--track-origins=yes -w

==4620== Invalid read of size 1

==4620==at 0xCEBDBD: substitute_and_fold(tree_node* (*)(tree_node*), bool

(*)(gimple_stmt_iterator*), bool) (gimple.h:1146)

==4620==by 0xC857C2: execute_copy_prop() (tree-ssa-copy.c:772)

==4620==by 0xADBB7A: execute_one_pass(opt_pass*) (passes.c:2339)

==4620==by 0xADBF94: execute_pass_list(opt_pass*) (passes.c:2400)

==4620==by 0xADBFA6: execute_pass_list(opt_pass*) (passes.c:2401)

==4620==by 0xADBFA6: execute_pass_list(opt_pass*) (passes.c:2401)

==4620==by 0x85E4F1: expand_function(cgraph_node*) (cgraphunit.c:1643)

==4620==by 0x8602A6: compile() (cgraphunit.c:1747)

==4620==by 0x860949: finalize_compilation_unit() (cgraphunit.c:2122)

==4620==by 0x67717E: cp_write_global_declarations() (decl2.c:4287)

==4620==by 0xBC527C: compile_file() (toplev.c:559)

==4620==by 0xBC7139: toplev_main(int, char**) (toplev.c:1881)

==4620==by 0x5A364BC: (below main) (in /lib64/libc-2.15.so)

==4620==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

==4620== 

testcase-min7.ii: In function 'void test01()':

testcase-min7.ii:253:1: internal compiler error: Segmentation fault

 test01 ()

 ^

Please submit a full bug report,

with preprocessed source if appropriate.

See http://gcc.gnu.org/bugs.html for instructions.





Tested revisions:

r193495 - crash

4.7 r191640 - crash

4.6 r191640 - crash

4.5 r191640 - OK


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread howarth at nitro dot med.uc.edu


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



--- Comment #34 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-14 
22:09:37 UTC ---

(In reply to comment #32)

 Just want to repeat, that any work on mach_override may end up being wasted

 time

 because we plan to get rid of mach_override *really* soon.



One other question. Will the replacement of mach_override also depend on the

Core Foundation framework?


[Bug middle-end/55331] [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-14 Thread dominiq at lps dot ens.fr


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



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



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-14

 Ever Confirmed|0   |1



--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-11-14 
22:16:00 UTC ---

Confirmed:

4.6.0 2011-01-20 revision 169049 is OK

4.7.0 2011-04-14 revision 172429 gives an ICE.


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread 3dw4rd at verizon dot net


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



--- Comment #7 from Ed Smith-Rowland 3dw4rd at verizon dot net 2012-11-14 
22:18:09 UTC ---

(In reply to comment #3)

 (In reply to comment #1)

  I also see failing g++.dg/parse/template23.C and for this one too the 
  problem

  seems related to the recent changes for PR54413.

 

 Right, thanks, I was just about to analyze that one.  Speaking of that commit,

 some of the new tests fail for me:

 FAIL: g++.dg/cpp0x/gnu_fext-numeric-literals.C (test for excess errors)

 FAIL: g++.dg/cpp0x/std_fext-numeric-literals.C (test for excess errors)

 

 and in g++.log:

 Excess errors:

 /tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C:94:3:

 ...

 maybe related, maybe material for a new PR.



I'm not getting this on x86_64-linux at least.  What target are you on?



Ed


[Bug target/53346] [4.6/4.7/4.8 Regression] Bad vectorization in the proc cptrf2 of rnflow.f90

2012-11-14 Thread hubicka at gcc dot gnu.org


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



Jan Hubicka hubicka at gcc dot gnu.org changed:



   What|Removed |Added



 CC||hubicka at gcc dot gnu.org



--- Comment #21 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-14 
22:18:53 UTC ---

Well, as I wrote to the other PR, the main problem of cmov is extension of

dependency chain.  For well predicted sequence with conditional jump there is

no update of rbs so the loop executes faster, because the

loads/stores/comparisons executes in parallel. The load in the next iteration

can then happen speculatively before the condition from previous iteration is

resolved. With cmov in it, there is dependence on rbx for all the other

computations in the loop.



I guess there is no localy available information suggesting suggesting that the

particular branch is well predictable, at least without profile feedback (where

we won't disable the conversion anyway).



I wonder

 1) why the conversion to cmov do not happen on RTL if conversion pass

 2) whether we can do something to detect similar patterns and possibly disable

cmovs on them...


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread paolo.carlini at oracle dot com


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



--- Comment #8 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-14 
22:28:19 UTC ---

The latter seems indeed a target issue, as you can read here Hans-Peter

reported it for cris-elf, but have a look to the testresults mailing list to

double check. Personally, I would recommend applying asap the (obvious, IMHO)

fixes for the first two regression to remove noise from the results of, eg,

people testing on Linux.


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread paolo.carlini at oracle dot com


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



--- Comment #9 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-14 
22:30:51 UTC ---

In fact, however, a Linux target like s390x is also affected:



  http://gcc.gnu.org/ml/gcc-testresults/2012-11/msg01187.html


[Bug target/53346] [4.6/4.7/4.8 Regression] Bad vectorization in the proc cptrf2 of rnflow.f90

2012-11-14 Thread hubicka at gcc dot gnu.org


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



--- Comment #22 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-14 
22:38:19 UTC ---

OK, similar loop in C looks like:

float a[1];

float b[1];

t()

{

  int mi = 0,i;

  for (i=0;i1000;i++)

if (a[i]b[i])

  mi = i;

  return mi;

}

and the why we do not ifconvert at RTl level is that the condition is UNLE that

do not pass unordered_comparsion_operator.  This was noticed by Jakub in other

PR, we do not really need to test unorderedness here since expander knows how

to handle it.  So this was more by chance than by design. I am testing

Index: config/i386/i386.md

===

--- config/i386/i386.md (revision 193503)

+++ config/i386/i386.md (working copy)

@@ -964,7 +964,7 @@

(compare:CC (match_operand:SDWIM 1 nonimmediate_operand)

(match_operand:SDWIM 2 general_operand)))

(set (pc) (if_then_else

-  (match_operator 0 ordered_comparison_operator

+  (match_operator 0 comparison_operator

[(reg:CC FLAGS_REG) (const_int 0)])

   (label_ref (match_operand 3))

   (pc)))]

@@ -982,7 +982,7 @@

(compare:CC (match_operand:SWIM 2 nonimmediate_operand)

(match_operand:SWIM 3 general_operand)))

(set (match_operand:QI 0 register_operand)

-   (match_operator 1 ordered_comparison_operator

+   (match_operator 1 comparison_operator

  [(reg:CC FLAGS_REG) (const_int 0)]))]

   

 {

@@ -16120,7 +16120,7 @@



 (define_expand movmodecc

   [(set (match_operand:SWIM 0 register_operand)

-   (if_then_else:SWIM (match_operand 1 ordered_comparison_operator)

+   (if_then_else:SWIM (match_operand 1 comparison_operator)

   (match_operand:SWIM 2 general_operand)

   (match_operand:SWIM 3 general_operand)))]

   


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-14 Thread ubizjak at gmail dot com


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



--- Comment #10 from Uros Bizjak ubizjak at gmail dot com 2012-11-14 22:42:45 
UTC ---

(In reply to comment #7)

  Right, thanks, I was just about to analyze that one.  Speaking of that 
  commit,

  some of the new tests fail for me:

  FAIL: g++.dg/cpp0x/gnu_fext-numeric-literals.C (test for excess errors)

  FAIL: g++.dg/cpp0x/std_fext-numeric-literals.C (test for excess errors)

  

  and in g++.log:

  Excess errors:

  /tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/cpp0x/gnu_fext-numeric-literals.C:94:3:

  ...

  maybe related, maybe material for a new PR.

 

 I'm not getting this on x86_64-linux at least.  What target are you on?



Probably due to the fact that x86_64 defines TARGET_C_MODE_FOR_SUFFIX that

declares support for non-standard 'q' and 'w' suffixes. There is a small group

of targets that declare this define:



config/aarch64/aarch64.c:#undef TARGET_C_MODE_FOR_SUFFIX

config/aarch64/aarch64.c:#define TARGET_C_MODE_FOR_SUFFIX

aarch64_c_mode_for_suffix

config/ia64/ia64.c:#undef TARGET_C_MODE_FOR_SUFFIX

config/ia64/ia64.c:#define TARGET_C_MODE_FOR_SUFFIX ia64_c_mode_for_suffix

config/i386/i386.c.orig:#undef TARGET_C_MODE_FOR_SUFFIX

config/i386/i386.c.orig:#define TARGET_C_MODE_FOR_SUFFIX ix86_c_mode_for_suffix

config/i386/i386.c:#undef TARGET_C_MODE_FOR_SUFFIX

config/i386/i386.c:#define TARGET_C_MODE_FOR_SUFFIX ix86_c_mode_for_suffix

config/pa/pa.c:#undef TARGET_C_MODE_FOR_SUFFIX

config/pa/pa.c:#define TARGET_C_MODE_FOR_SUFFIX pa_c_mode_for_suffix



Others are out of luck with 'q' and 'w' suffixes.


[Bug bootstrap/55051] [4.8 Regression] profiledbootstrap failed

2012-11-14 Thread hubicka at gcc dot gnu.org


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



--- Comment #9 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-14 
23:03:27 UTC ---

Author: hubicka

Date: Wed Nov 14 23:03:22 2012

New Revision: 193512



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193512

Log:



PR bootstrap/55051

* ipa-inline.c (edge_badness): Improve dumping; fix overflow.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/ipa-inline.c


[Bug libstdc++/53841] [C++11] condition_variable::wait_until() fails with high resolution clocks

2012-11-14 Thread richard-gccbugzilla at metafoo dot co.uk


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



Richard Smith richard-gccbugzilla at metafoo dot co.uk changed:



   What|Removed |Added



 CC||richard-gccbugzilla at

   ||metafoo dot co.uk



--- Comment #3 from Richard Smith richard-gccbugzilla at metafoo dot co.uk 
2012-11-14 23:06:07 UTC ---

This code has more problems with duration conversions:



// DR 887 - Sync unknown clock to known clock.

const typename _Clock::time_point __c_entry = _Clock::now();

const __clock_t::time_point __s_entry = __clock_t::now();

const chrono::nanoseconds __delta = __atime - __c_entry;

const __clock_t::time_point __s_atime = __s_entry + __delta;



The last line attempts to implicitly convert from time_point[...],

nanoseconds to system_clock::time_point, which may be in microseconds or even

in seconds.



Suggested fix:



-const chrono::nanoseconds __delta = __atime - __c_entry;

-const __clock_t::time_point __s_atime = __s_entry + __delta;

+const auto __delta = __atime - __c_entry;

+const auto __s_atime = __s_entry + __delta;



Clang trunk currently rejects this code (prior to instantiation, even) due to

this invalid conversion if _GLIBCXX_USE_CLOCK_REALTIME is not defined (as seems

to be the case on several popular linux distributions).


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread konstantin.s.serebryany at gmail dot com


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



--- Comment #35 from Konstantin Serebryany konstantin.s.serebryany at gmail 
dot com 2012-11-14 23:10:00 UTC ---

 Is that certain to be soon enough 

Not 100%. I am just warning you.



 Will the replacement of mach_override also depend on the Core Foundation 
 framework?



That's the question to Alex.


[Bug libstdc++/53841] [C++11] condition_variable::wait_until() fails with high resolution clocks

2012-11-14 Thread redi at gcc dot gnu.org


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-14

 Ever Confirmed|0   |1



--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2012-11-14 
23:14:22 UTC ---

(In reply to comment #3)

 -const chrono::nanoseconds __delta = __atime - __c_entry;

 -const __clock_t::time_point __s_atime = __s_entry + __delta;

 +const auto __delta = __atime - __c_entry;

 +const auto __s_atime = __s_entry + __delta;



Thanks for this.



 Clang trunk currently rejects this code (prior to instantiation, even) due to

 this invalid conversion if _GLIBCXX_USE_CLOCK_REALTIME is not defined (as 
 seems

 to be the case on several popular linux distributions).



That's not defined on GNU/Linux unless you build GCC with

--enable-libstdcxx-time=rt, which has performance implications.


[Bug fortran/48636] Enable more inlining with -O2 and higher

2012-11-14 Thread hubicka at gcc dot gnu.org


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



--- Comment #39 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-14 
23:22:40 UTC ---

Hmm, indeed. Good catch. I will look into it.


[Bug libstdc++/55320] Invalid delete with throwing copy-c'tor passed to std::function

2012-11-14 Thread redi at gcc dot gnu.org


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



--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org 2012-11-14 
23:33:08 UTC ---

Author: redi

Date: Wed Nov 14 23:33:01 2012

New Revision: 193514



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193514

Log:

PR libstdc++/55320

* include/std/functional (function::function(F)): Set _M_manager after

operations that could throw.

(_Function_base::_Ref_manager::_M_init_functor): Use addressof.

* include/tr1/functional

(_Function_base::_Ref_manager::_M_init_functor): Use addressof.

(_Function_base::_Base_manager::_M_get_pointer): Likewise.

* testsuite/20_util/function/cons/55320.cc: New.

* testsuite/20_util/function/cons/addressof.cc: New.

* testsuite/20_util/function/cons/callable.cc: Remove header.

* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

* testsuite/tr1/3_function_objects/function/10.cc: New.



Added:

trunk/libstdc++-v3/testsuite/20_util/function/cons/55320.cc

  - copied, changed from r193513,

trunk/libstdc++-v3/testsuite/20_util/function/cons/callable.cc

trunk/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc

  - copied, changed from r193513,

trunk/libstdc++-v3/testsuite/20_util/function/cons/callable.cc

trunk/libstdc++-v3/testsuite/tr1/3_function_objects/function/10.cc

  - copied, changed from r193513,

trunk/libstdc++-v3/testsuite/20_util/function/cons/callable.cc

Modified:

trunk/libstdc++-v3/ChangeLog

trunk/libstdc++-v3/include/std/functional

trunk/libstdc++-v3/include/tr1/functional

trunk/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc

trunk/libstdc++-v3/testsuite/20_util/function/cons/callable.cc


[Bug target/55332] New: [4.8 Regression] libsanitizer breaks build on hpux

2012-11-14 Thread danglin at gcc dot gnu.org


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



 Bug #: 55332

   Summary: [4.8 Regression] libsanitizer breaks build on hpux

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: target

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dang...@gcc.gnu.org

  Host: hppa64-hp-hpux11.11

Target: hppa64-hp-hpux11.11

 Build: hppa64-hp-hpux11.11





libtool: compile:  /test/gnu/gcc/objdir/./gcc/g++ -B/test/gnu/gcc/objdir/./gcc/ 

-nostdinc++ -nostdinc++

-I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/

include/hppa64-hp-hpux11.11

-I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++

-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 -L/test

/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/src

-L/test/gnu/gcc/objdir/hppa

64-hp-hpux11.11/libstdc++-v3/src/.libs

-B/opt/gnu64/gcc/gcc-4.8/hppa64-hp-hpux11

.11/bin/ -B/opt/gnu64/gcc/gcc-4.8/hppa64-hp-hpux11.11/lib/ -isystem

/opt/gnu64/gcc/gcc-4.8/hppa64-hp-hpux11.11/include -isystem

/opt/gnu64/gcc/gcc-4.8/hppa64-hp

-hpux11.11/sys-include -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS

-D__STDC_

FORMAT_MACROS -D__STDC_LIMIT_MACROS -DASAN_HAS_EXCEPTIONS=1

-DASAN_FLEXIBLE_MAPP

ING_AND_OFFSET=0 -DASAN_NEEDS_SEGV=1 -I. -I../../../../gcc/libsanitizer/asan -I

../../../../gcc/libsanitizer/include -I ../../../../gcc/libsanitizer -Wall -W

-W

no-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin 

-fno-exceptions -fomit-frame-pointer -funwind-tables -fvisibility=hidden

-Wno-variadic-macros -Wno-c99-extensions -g -O2 -MT asan_allocator.lo -MD -MP

-MF .deps

/asan_allocator.Tpo -c ../../../../gcc/libsanitizer/asan/asan_allocator.cc 

-DPI

C -o .libs/asan_allocator.oIn file included from

../../../../gcc/libsanitizer/asan/asan_allocator.h:16:0,

 from ../../../../gcc/libsanitizer/asan/asan_allocator.cc:26:

../../../../gcc/libsanitizer/asan/asan_internal.h:22:3: error: #error This

oper

ating system is not supported by AddressSanitizer

 # error This operating system is not supported by AddressSanitizer



There doesn't seem any way to disable libsanitizer.



Whether it can be supported is TBD.


[Bug debug/55328] ICE: in output_addr_table_entry, at dwarf2out.c:21780 with -gsplit-dwarf

2012-11-14 Thread sterling at gcc dot gnu.org


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



--- Comment #1 from sterling at gcc dot gnu.org 2012-11-14 23:36:54 UTC ---

Author: sterling

Date: Wed Nov 14 23:36:50 2012

New Revision: 193515



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193515

Log:

2012-11-14  Sterling Augustine  saugust...@google.com



PR debug/55328

* dwarf2out.c (index_address_table_entry): Check a node's refcount.







Modified:

trunk/gcc/ChangeLog

trunk/gcc/dwarf2out.c


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-14 Thread dominiq at lps dot ens.fr


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



--- Comment #36 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-11-14 23:49:25 UTC ---

Jack,



Could you please post a patch with the regenerated files. I have lost my

struggle with the auto* versions and I am giving up.



TIA



Re: [Bug fortran/48636] Enable more inlining with -O2 and higher

2012-11-14 Thread Jan Hubicka
mgrid do not seem to be sensitive to --param min-inline-speedup, so it seems 
independent regression of this change.
No idea what goes wrong.

Honza


[Bug fortran/48636] Enable more inlining with -O2 and higher

2012-11-14 Thread hubicka at ucw dot cz


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



--- Comment #40 from Jan Hubicka hubicka at ucw dot cz 2012-11-14 23:54:44 
UTC ---

mgrid do not seem to be sensitive to --param min-inline-speedup, so it seems

independent regression of this change.

No idea what goes wrong.



Honza


  1   2   >