[Bug rtl-optimization/54783] [4.8 Regression] valgrind reports using uninitialised data in mark_pseudo_regno_live and make_object_born on basic code

2012-10-03 Thread mpolacek at gcc dot gnu.org


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



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-10-03 
06:34:18 UTC ---

Not a bug, probably.  Valgrind ought to be used only when

--enable-checking=valgrind.  Otherwise we have to live with those sparseset

warnings, as those valgrind markups aren't compiled in.



The thing is in gcc-4.7 sparseset_alloc we have:

  /* We use xcalloc rather than xmalloc to silence some valgrind uninitialized

 read errors when accessing set-sparse[n] when n is not, and never has

 been, in the set.  These uninitialized reads are expected, by design and

 harmless.  If this turns into a performance problem due to some future

 additional users of sparseset, we can revisit this decision.  */

  sparseset set = (sparseset) xcalloc (1, n_bytes);



But in trunk sparseset_alloc there's:

  sparseset set = XNEWVAR(struct sparseset_def, n_bytes);



  /* Mark the sparseset as defined to silence some valgrind uninitialized

 read errors when accessing set-sparse[n] when n is not, and never has

 been, in the set.  These uninitialized reads are expected, by design and

 harmless.  */

  VALGRIND_DISCARD (VALGRIND_MAKE_MEM_DEFINED (set, n_bytes));


[Bug rtl-optimization/54783] [4.8 Regression] valgrind reports using uninitialised data in mark_pseudo_regno_live and make_object_born on basic code

2012-10-03 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jakub at gcc dot gnu.org



--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
06:54:22 UTC ---

Alternative would be to check for valgrind devel headers always, tweak the

existing VALGRIND* macros used in gcc sources such that it would be only used

if ENABLE_VALGRIND_CHECKING (otherwise expand to nothing) and in sparseset for

hosts that have valgrind support, but no valgrind devel headers, fall back to

XCNEWVEC, otherwise if valgrind devel headers are available, use the valgrind

special insn even without --enable-checking=valgrind.


[Bug lto/54790] New: [4.8 Regression] Missing optimization with LTO

2012-10-03 Thread d.g.gorbachev at gmail dot com


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



 Bug #: 54790

   Summary: [4.8 Regression] Missing optimization with LTO

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: lto

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

ReportedBy: d.g.gorbac...@gmail.com





Created attachment 28337

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

Testcase



GCC 20120916 (r191367) - ok, 20120923 (r191654) - bug.



$ gcc -O2 -flto pr54790.c

/tmp/ccTyOv2G.ltrans0.ltrans.o:ccTyOv2G.ltrans0.o:function foo: error:

undefined reference to 'link_error'

collect2: error: ld returned 1 exit status


[Bug fortran/54788] ICE on pointer-array element assignment

2012-10-03 Thread burnus at gcc dot gnu.org


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



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||ice-on-invalid-code

 CC||burnus at gcc dot gnu.org



--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2012-10-03 
07:32:43 UTC ---

(In reply to comment #1)

 I think both programs are invalid and should be rejected.



I concur.



(In reply to comment #0)

   vec(1) = vec(0)

   1

 Error: Expected bounds specification for 'vec' at (1)



  R733 pointer-assignment-stmt

is   data-pointer-object [ (bounds-spec-list) ] = data-target

or   data-pointer-object (bounds-remapping-list ) = data-target

or   proc-pointer-object = proc-target



with



  bounds-specis  lower-bound-expr :

  bounds-remapping   is  lower-bound-expr : upper-bound-expr



  C716 (R733)   If bounds-spec-list is specified, the number of bounds-specs

shall equal the rank of data-pointer-object.

  C717 (R733)   If bounds-remapping-list is specified, the number of bounds-

remappings shall equal the rank of data-pointer-object.



Thus, if you want to do bounds remapping, you have to specify a range, e.g.



  vec(1:1) = vec(0:0)





   integer, pointer :: a(:)

   integer :: b

   a(0:0) = b



That violates C717 as the LHS is rank 1 and the RHS is scalar. But it shouldn't

give an ICE.


[Bug c++/54780] G++ does not find precompiled headers in some cases

2012-10-03 Thread jpakkane at gmail dot com


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



--- Comment #3 from jpakkane at gmail dot com 2012-10-03 07:53:59 UTC ---

Thanks for the explanation and workaround.



I guess this is not a big issue if you are using Autotools, where the

established practice is to compile inside the source directory. It might cause

a lot of head scratching for users of other build systems or those few

autotools users that use a dedicated build directory.


[Bug middle-end/54782] [4.8 Regression] ICE: in change_scope, at final.c:1543 with -O -ffast-math -ftree-parallelize-loops=2 -g

2012-10-03 Thread mpolacek at gcc dot gnu.org


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



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-03

 CC||dehao at google dot com,

   ||mpolacek at gcc dot gnu.org

 Ever Confirmed|0   |1



--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org 2012-10-03 
07:58:48 UTC ---

Started with http://gcc.gnu.org/viewcvs?view=revisionamp;revision=191494


[Bug lto/54790] [4.8 Regression] Missing optimization with LTO

2012-10-03 Thread markus at trippelsdorf dot de


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



Markus Trippelsdorf markus at trippelsdorf dot de changed:



   What|Removed |Added



 CC||markus at trippelsdorf dot

   ||de



--- Comment #1 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-10-03 08:11:17 UTC ---

Started with r191466 (Honza's LTO symtab rework).


[Bug c++/54780] G++ does not find precompiled headers in some cases

2012-10-03 Thread redi at gcc dot gnu.org


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



--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-03 
09:00:05 UTC ---

I think the majority don't use PCH anyway.


[Bug fortran/54788] ICE on pointer-array element assignment

2012-10-03 Thread burnus at gcc dot gnu.org


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



--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-10-03 
09:14:26 UTC ---

(In reply to comment #0)

   allocate(vec(2))

   allocate(vec(0)%arr(4,4))



I assume you have a C background. In Fortran, by default the lower array bound

is one. Thus, with allocate(vec(2)) you allocated an array of size 2, which

can be accessed via vec(1) and vec(2). Thus, you access invalid memory for

vec(0).



However, you can also allocate via

   allocate(vec(0:2))

then you have a size-3 array, where vec(0), vec(1) and vec(2) are valid.

(you could also have negative bounds, e.g. allocate(vec(-2:0)).)





The other point is, as Janus already mentioned: Fortran only has pointers to

arrays but not an array of pointers. Thus vec(1) and vec(2) point to the

same array, one to the first element and one to the second element.



In terms of the standard,

  allocate(vec(2))

allocates an anonymous target (a rank-1, size-2 array) and then pointer assigns

that target to the (scalar) pointer vec. Thus vec is a pointer to a size-2

array with the lower bound 1 and upper bound 2.





(In reply to comment #2)

 Thus, if you want to do bounds remapping, you have to specify a range, e.g.

   vec(1:1) = vec(0:0)



Remark to my example: While it is syntactically correct, accessing vec(0:0)

isn't (out of bounds). It were okay for allocate(vec(0:2)) - but still, it

wouldn't do what you expect:

vec(1) would then point to the first element of the array, vec(2) would be

in principle the second element (and in practice accessible), but but one may

not use it: In vec(1:1) = one has explicitly told the compiler that one only

wants to point to a size-1 array.


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

2012-10-03 Thread adivilceanu at yahoo dot com


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



 Bug #: 54791

   Summary: AIX-only: Constructors are not called in main program.

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: major

  Priority: P3

 Component: c++

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

ReportedBy: adivilce...@yahoo.com





I work on a very big project on AIX 6.1(TL5 SP7). I migrated from xlC to

gcc(v4.7.2). I have the problem that constructors of a global objects defined

almost anywhere are not called. After searching a lot on this I saw this could

be if the objects are in libs(static or shared) and not referenced. This is not

my case because my global object is defined in the main source file(where main

is defined) and they are referenced.

I try to isolate the problem so I removed all the code from my main source file

and just let the following code:



#include mybigtreeofconfidentialheaders.h



class Adiv{

public:

Adiv(char in_name[])

{

printf(Adiv()=%s\n,in_name);

strcpy(name,in_name);

}

~Adiv()

{

printf(~Adiv()=%s\n,name);

}

void f()

{

printf(f()name=%s\n,name);

}

char name[32];

int x;

};



Adiv a(a);

static Adiv b(b);



int main()

{

static Adiv c(c);

a.f();

b.f();

c.f();

return 0;

}





After building and executing I get the following output:

Adiv()=c

f()name=

f()name=

f()name=c

~Adiv()=c



Now, if I remove the #include mybigtreeofconfidentialheaders.h then I get the

correct output:

Adiv()=a

Adiv()=b

Adiv()=c

f()name=a

f()name=b

f()name=c

~Adiv()=c

~Adiv()=b

~Adiv()=a



The line I use to compile is:

g++ -c   -w -fno-strict-aliasing -fpermissive -save-temps -DMYCUSTOM_DEFINES

-DIALL_CHECKS -D_AIX_PTHREADS_D7   -Imy_custom_includes main.cpp

The line I use to link is:

g++ -Wl,-bmaxdata:0x4000

-Wl,-blibpath:/usr/lib/threads:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.7.2:/usr/lib:/lib

 -Wl,-bloadmap:/map.txt -omyexe main.o myobj_1.o myobj_2.o ...myobj_n.o



I want to mention that beside the pdsmain.cpp I have a lot of other

confidential cpp that I compile and link with pdsmain.cpp, but that should not

affect the constructors calling in the main object file, correct ?



So my basic question is: What could cause the constructors not to be called ?

Its definitely has to do with the big tree of headers. I can not provide them

as they are confidential.

I tried the same build (with the big tree of headers) on Linux and there it

works ! 



If needed I think I can provide the assembly file of the main.cpp with and

without the big tree of headers for you to see the differences.



One more thing:

This thread seems to have the same problem as me but it was never solved:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2413#c3.

See the comment from  David Obermann 2006-09-20 06:38:07 UTC .



It seems in both cases the problem is reproducible with big applications on

AIX.

Could be the very number of global objects? Big TOC ?


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

2012-10-03 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 CC||dje at gcc dot gnu.org

  Component|c++ |target



--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-03 
09:40:27 UTC ---

CC-ing David.


[Bug rtl-optimization/54792] New: [4.8 Regression] -fcompare-debug failures introduced by r191493

2012-10-03 Thread jakub at gcc dot gnu.org


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



 Bug #: 54792

   Summary: [4.8 Regression] -fcompare-debug failures introduced

by r191493

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: rtl-optimization

AssignedTo: ja...@gcc.gnu.org

ReportedBy: ja...@gcc.gnu.org

CC: ber...@gcc.gnu.org

Target: i686-linux





Created attachment 28338

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

tree-inline.ii.bz2



While bootstrapping a newer PR54519 fix, I've encountered a bootstrap

comparison failure on i686-linux, which can be reproduced by stock trunk on the

patched tree-inline.ii with:

./g++ -B ./ -S -O2 -m32 -fcompare-debug tree-inline.ii

g++: error: tree-inline.ii: -fcompare-debug failure (length)



I've bisected it to the

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

changes.


[Bug rtl-optimization/54792] [4.8 Regression] -fcompare-debug failures introduced by r191493

2012-10-03 Thread jakub at gcc dot gnu.org


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



--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
09:52:57 UTC ---

Created attachment 28339

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

tree-inline-reduced.ii



Delta reduced testcase.  This one just fails -fcompare-debug, doesn't swap two

insns as the full testcase.


[Bug rtl-optimization/54792] [4.8 Regression] -fcompare-debug failures introduced by r191493

2012-10-03 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |ASSIGNED

   Last reconfirmed||2012-10-03

   Target Milestone|--- |4.8.0

 Ever Confirmed|0   |1


[Bug rtl-optimization/54792] [4.8 Regression] -fcompare-debug failures introduced by r191493

2012-10-03 Thread jakub at gcc dot gnu.org


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



--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
09:59:05 UTC ---

Created attachment 28340

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

gcc48-pr54792.patch



Untested fix.  The problem appears to be that find_modifiable_mems wasn't

scanning the TAIL insn, without -g on the testcase there was a load from memory

at the end of a basic block and it wasn't scanned, with -g there were some

DEBUG_INSNs after it, thus tail was a DEBUG_INSN and the load was scanned and

triggered the optimization.


[Bug fortran/54784] [OOP] allocation of extended types with polymorphic allocatable members

2012-10-03 Thread janus at gcc dot gnu.org


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



--- Comment #6 from janus at gcc dot gnu.org 2012-10-03 10:38:22 UTC ---

(In reply to comment #5)

 The following patch seems to cure the test case in comment 1, as well as both

 variants in comment 0:



... and regtests cleanly!


[Bug fortran/54788] ICE on pointer-array element assignment

2012-10-03 Thread slayoo at staszic dot waw.pl


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



--- Comment #4 from Sylwester Arabas slayoo at staszic dot waw.pl 2012-10-03 
10:45:10 UTC ---

Thanks for your replies!



I've managed to get a vector of array pointers employing one more intermediate

derived type. The arrvec_t defined below has also some limited support for

negative indexing as in Python:







module arrvec_m

  implicit none



  type :: arr_t

real, pointer :: a(:,:)

  end type



  type :: arrptr_t

class(arr_t), pointer :: p

  end type



  type :: arrvec_t

class(arrptr_t), pointer :: at(:)

logical, pointer :: inited(:)

contains

procedure :: ctor = arrvec_ctor

procedure :: init = arrvec_init

procedure :: dtor = arrvec_dtor ! waiting for FINAL

  end type



  contains



  subroutine arrvec_ctor(this, n)

class(arrvec_t) :: this

integer, intent(in) :: n



allocate(this%at(-n:n-1))

allocate(this%inited(0:n-1))

this%inited = .false.

  end subroutine



  subroutine arrvec_init(this, n, i_min, i_max, j_min, j_max)

class(arrvec_t) :: this

integer, intent(in) :: n, i_min, i_max, j_min, j_max



allocate(this%at(n)%p)

allocate(this%at(n)%p%a(i_min : i_max, j_min : j_max))

this%inited(n) = .true.

this%at(n - size(this%inited))%p = this%at(n)%p

  end subroutine



  subroutine arrvec_dtor(this)

class(arrvec_t) :: this

integer :: i



do i = 0, size(this%inited) - 1

  if (this%inited(i)) then

deallocate(this%at(i)%p%a)

deallocate(this%at(i)%p)

  end if

end do

deallocate(this%at)

  end subroutine

end module







program test_arrvec

  use arrvec_m

  class(arrvec_t), pointer :: psi



  allocate(psi)

  call psi%ctor(2)

  call psi%init(0, 0, 3, 0, 4)



  print*, psi%at(0)%p%a

  print*, psi%at(0)%p%a(1,1)

  psi%at(0)%p%a(1,1) = 10

  print*, psi%at(0)%p%a(1,1)

  print*, psi%at(-2)%p%a(1,1)



  call psi%dtor

  deallocate(psi)

end


[Bug debug/54595] [4.8 Regression] symbol causes a section type conflict with itself with -O -g -fdata-section

2012-10-03 Thread Bernhard.Rosenkranzer at linaro dot org

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

Bernhard Rosenkränzer Bernhard.Rosenkranzer at linaro dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #1 from Bernhard Rosenkränzer Bernhard.Rosenkranzer at linaro dot 
org 2012-10-03 12:25:21 UTC ---
Creating a reduced test case confirms this is the same as bug 53475.

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


[Bug c++/53475] [4.8 Regression] Section type conflict errors in libstdc++ testsuite

2012-10-03 Thread Bernhard.Rosenkranzer at linaro dot org

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

--- Comment #12 from Bernhard Rosenkränzer Bernhard.Rosenkranzer at linaro dot 
org 2012-10-03 12:25:21 UTC ---
*** Bug 54595 has been marked as a duplicate of this bug. ***


[Bug debug/54793] New: the location of a formal_parameter is not started from a function entry with -mfentry

2012-10-03 Thread masami.hiramatsu.pt at hitachi dot com


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



 Bug #: 54793

   Summary: the location of a formal_parameter is not started from

a function entry with -mfentry

Classification: Unclassified

   Product: gcc

   Version: 4.7.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: debug

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

ReportedBy: masami.hiramatsu...@hitachi.com





With -mfentry, GCC (I've found this with Red Hat 4.7.0-5 and

Red Hat 4.7.2-2 on Fedora 17) generates odd debuginfo about

variable locations.



Here are examples:

-

 19a58: Abbrev Number: 86 (DW_TAG_subprogram)

9a59   DW_AT_external: 1

9a59   DW_AT_name: (indirect string, offset: 0xd82):

unregister_di

e_notifier

9a5d   DW_AT_decl_file   : 1

9a5e   DW_AT_decl_line   : 551

9a60   DW_AT_prototyped  : 1

9a60   DW_AT_type: 0x7c

9a64   DW_AT_low_pc  : 0x740

9a6c   DW_AT_high_pc : 0x75a

9a74   DW_AT_frame_base  : 1 byte block: 9c   (DW_OP_call_frame_cfa)

9a76   DW_AT_GNU_all_call_sites: 1

9a76   DW_AT_sibling : 0x9aac

 29a7a: Abbrev Number: 87 (DW_TAG_formal_parameter)

9a7b   DW_AT_name: nb

9a7e   DW_AT_decl_file   : 1

9a7f   DW_AT_decl_line   : 551

9a81   DW_AT_type: 0x2a96

9a85   DW_AT_location: 0x172f (location list)

...

172f 0745 0750 (DW_OP_reg5 (rdi))

172f 0750 0757 (DW_OP_reg4 (rsi))

172f 0757 075a (DW_OP_GNU_entry_value:

(DW_OP_reg5 (rdi)); DW_OP_stack_value)

172f End of list

-

As you can see, the location of the parameter nb, starts from 0x745

but unregister_die_notifier() function itself starts from 0x740.



-

 19aac: Abbrev Number: 86 (DW_TAG_subprogram)

9aad   DW_AT_external: 1

9aad   DW_AT_name: (indirect string, offset: 0x321f): notify_die

9ab1   DW_AT_decl_file   : 1

9ab2   DW_AT_decl_line   : 530

9ab4   DW_AT_prototyped  : 1

9ab4   DW_AT_type: 0x7c

9ab8   DW_AT_low_pc  : 0xb0

9ac0   DW_AT_high_pc : 0xe0

9ac8   DW_AT_frame_base  : 1 byte block: 9c   (DW_OP_call_frame_cfa)

9aca   DW_AT_GNU_all_call_sites: 1

9aca   DW_AT_sibling : 0x9b6c

 29ace: Abbrev Number: 87 (DW_TAG_formal_parameter)

9acf   DW_AT_name: val

9ad3   DW_AT_decl_file   : 1

9ad4   DW_AT_decl_line   : 530

9ad6   DW_AT_type: 0x2b36

9ada   DW_AT_location: 0x177b (location list)

...

177b 00b0 00cd (DW_OP_reg5 (rdi))

177b 00cd 00dd (DW_OP_reg4 (rsi))

177b 00dd 00e0 (DW_OP_GNU_entry_value:

(DW_OP_reg5 (rdi)); DW_OP_stack_value)

177b End of list

-

However, without fentry call (notifiy_die is marked notrace),

the parameter val location start with 0xb0, which is same as

notify_die start address.





URL: https://lkml.org/lkml/2012/10/3/187


[Bug c++/54780] G++ does not find precompiled headers in some cases

2012-10-03 Thread sch...@linux-m68k.org


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



--- Comment #5 from Andreas Schwab sch...@linux-m68k.org 2012-10-03 13:10:32 
UTC ---

 I guess this is not a big issue if you are using Autotools, where the

 established practice is to compile inside the source directory.



It is common practice to build outside the source directory, since it is very

well supported.


[Bug lto/54794] New: [4.8 regression] tree code '�F Hc���' is not supported in LTO streams

2012-10-03 Thread dimhen at gmail dot com
 - 35710k} {GC
35710k - 35710k} static-var {GC 35710k - 35710k} {GC 35710k - 35710k} {GC
35710k - 35710k} {GC 35710k - 35710k} {GC 35710k - 35710k} {GC 35710k -
35710k}
Streaming out libp.so.ltrans0.o ( 8537 insns) libp.so.ltrans1.o ( 7341 insns)
libp.so.ltrans2.o ( 7290 insns) libp.so.ltrans3.o ( 6141 insns)
libp.so.ltrans4.o ( 6125 insns) libp.so.ltrans5.o ( 5859 insns)
libp.so.ltrans6.o ( 5835 insns) libp.so.ltrans7.o ( 5778 insns)
libp.so.ltrans8.o ( 5741 insns)
Program received signal SIGSEGV, Segmentation fault.
lto_output_tree (ob=0x1c71880, expr=0x17, ref_p=true, this_ref_p=true)
at /home/dimhen/src/gcc-current/gcc/lto-streamer-out.c:389
389  if (this_ref_p  tree_is_indexable (expr))
(gdb) bt
#0  lto_output_tree (ob=0x1c71880, expr=0x17, ref_p=true,
this_ref_p=true) at /home/dimhen/src/gcc-current/gcc/lto-streamer-out.c:389
#1  0x009fb801 in write_ts_common_tree_pointers (ref_p=true,
expr=0x7420f6e0, ob=0x1c71880) at
/home/dimhen/src/gcc-current/gcc/tree-streamer-out.c:438
#2  streamer_write_tree_body (ob=0x1c71880, expr=0x7420f6e0,
ref_p=optimized out) at
/home/dimhen/src/gcc-current/gcc/tree-streamer-out.c:821
#3  0x00763fe4 in lto_write_tree (ref_p=optimized out,
expr=0x7420f6e0, ob=0x1c71880) at
/home/dimhen/src/gcc-current/gcc/lto-streamer-out.c:340
#4  lto_output_tree (ob=ob@entry=0x1c71880, expr=0x7420f6e0,
ref_p=ref_p@entry=true, this_ref_p=this_ref_p@entry=true) at
/home/dimhen/src/gcc-current/gcc/lto-streamer-out.c:427
#5  0x009fc1f0 in write_ts_exp_tree_pointers (ref_p=true,
expr=0x76d4b2d0, ob=0x1c71880) at
/home/dimhen/src/gcc-current/gcc/tree-streamer-out.c:677
#6  streamer_write_tree_body (ob=0x1c71880, expr=0x76d4b2d0,
ref_p=optimized out) at
/home/dimhen/src/gcc-current/gcc/tree-streamer-out.c:860
#7  0x00763fe4 in lto_write_tree (ref_p=optimized out,
expr=0x76d4b2d0, ob=0x1c71880) at
/home/dimhen/src/gcc-current/gcc/lto-streamer-out.c:340
#8  lto_output_tree (ob=0x1c71880, expr=0x76d4b2d0, ref_p=optimized out,
this_ref_p=optimized out) at
/home/dimhen/src/gcc-current/gcc/lto-streamer-out.c:427
#9  0x009fc154 in write_ts_exp_tree_pointers (ref_p=true,
expr=0x74205f80, ob=0x1c71880) at
/home/dimhen/src/gcc-current/gcc/tree-streamer-out.c:675
#10 streamer_write_tree_body (ob=0x1c71880, expr=0x74205f80,
ref_p=optimized out) at
/home/dimhen/src/gcc-current/gcc/tree-streamer-out.c:860
#11 0x00763fe4 in lto_write_tree (ref_p=optimized out,
expr=0x74205f80, ob=0x1c71880) at
/home/dimhen/src/gcc-current/gcc/lto-streamer-out.c:340
#12 lto_output_tree (ob=0x1c71880, expr=0x74205f80, ref_p=optimized out,
this_ref_p=optimized out) at
/home/dimhen/src/gcc-current/gcc/lto-streamer-out.c:427
#13 0x0075ebd6 in output_node_opt_summary (encoder=0x198d650,
node=0x762b24a0, ob=0x1c71880) at
/home/dimhen/src/gcc-current/gcc/lto-cgraph.c:1416
#14 output_cgraph_opt_summary () at
/home/dimhen/src/gcc-current/gcc/lto-cgraph.c:1459
#15 output_symtab () at /home/dimhen/src/gcc-current/gcc/lto-cgraph.c:767
#16 0x0076545d in lto_output () at
/home/dimhen/src/gcc-current/gcc/lto-streamer-out.c:1018
#17 0x0079c321 in ipa_write_optimization_summaries_1 (pass=0x1473c40,
state=state@entry=0x1bf65d0) at /home/dimhen/src/gcc-current/gcc/passes.c:2388
#18 0x0079d18f in ipa_write_optimization_summaries (encoder=0x198d650)
at /home/dimhen/src/gcc-current/gcc/passes.c:2435
#19 0x004d29e3 in lto_wpa_write_files () at
/home/dimhen/src/gcc-current/gcc/lto/lto.c:2637
#20 do_whole_program_analysis () at
/home/dimhen/src/gcc-current/gcc/lto/lto.c:3180
#21 lto_main () at /home/dimhen/src/gcc-current/gcc/lto/lto.c:3302
#22 0x0088b48c in compile_file () at
/home/dimhen/src/gcc-current/gcc/toplev.c:546
#23 0x0088d0aa in do_compile () at
/home/dimhen/src/gcc-current/gcc/toplev.c:1863
#24 toplev_main (argc=44, argv=0x1525c60) at
/home/dimhen/src/gcc-current/gcc/toplev.c:1939
#25 0x003536621735 in __libc_start_main (main=0x10638a0 main(int,
char**), argc=21, ubp_av=0x7fffddb8, init=optimized out, fini=optimized
out, rtld_fini=optimized out, 
stack_end=0x7fffdda8) at libc-start.c:226
#26 0x004b10e9 in _start ()


$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc_current/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /home/dimhen/src/gcc-current/configure
--prefix=/usr/local/gcc_current --with-multilib-list=m64 --enable-__cxa_atexit
--enable-shared --enable-checking=yes,df,fold,rtl,tree
--enable-gnu-unique-object --enable-linker-build-id
--enable-languages=c,c++,lto --enable-plugin
--enable-version-specific-runtime-libs
Thread model: posix
gcc version 4.8.0 20121003 (experimental) [trunk revision 192029] (GCC)


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

2012-10-03 Thread dje at gcc dot gnu.org


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



--- Comment #2 from David Edelsohn dje at gcc dot gnu.org 2012-10-03 13:46:44 
UTC ---

Constructors are working because they work without your big header.  I would

try using divide and conquer techniques to reduce the big header and find out

what is interfering with constructors.  It gives all appearances that it is due

to the user code.



Static constructors and destructors are run by functions generated at link

time.  A programmer wrapper around AIX ld called collect2 scans object files

and libraries for constructors and generates functions that are invoked by AIX

linker -binitfini feature.  You can add -Wl,-debug to the link line to see the

way the AIX linker is invoked and see the helper function.



Is something in the big header changing the mangled names of constructors and

destructors so that they do not use the standard pattern?  Or inserting some

illegal character like dollar sign ($)?


[Bug lto/54794] [4.8 regression] tree code '�F Hc���' is not supported in LTO streams

2012-10-03 Thread markus at trippelsdorf dot de


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



Markus Trippelsdorf markus at trippelsdorf dot de changed:



   What|Removed |Added



 CC||markus at trippelsdorf dot

   ||de



--- Comment #1 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-10-03 13:47:36 UTC ---

Please see:

http://gcc.gnu.org/wiki/A_guide_to_testcase_reduction#Reducing_LTO_bugs


[Bug debug/54793] the location of a formal_parameter is not started from a function entry with -mfentry

2012-10-03 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |WAITING

   Last reconfirmed||2012-10-03

 CC||jakub at gcc dot gnu.org

 Ever Confirmed|0   |1



--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
13:48:58 UTC ---

Please provide preprocessed testcase and gcc options used to compile it.


[Bug lto/54794] [4.8 regression] tree code '�F Hc���' is not supported in LTO streams

2012-10-03 Thread dimhen at gmail dot com


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



--- Comment #2 from Dmitry G. Dyachenko dimhen at gmail dot com 2012-10-03 
14:04:06 UTC ---

i have 23 src-files hence 23 ii-files with about 50Mb code

if i remove any file from build then err not triggered

(at beginning there were 29 files)



i'll run creduce tonight. Oh, cycle throw 23 files :)


[Bug debug/54793] the location of a formal_parameter is not started from a function entry with -mfentry

2012-10-03 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|WAITING |NEW

 CC||aoliva at gcc dot gnu.org,

   ||jason at gcc dot gnu.org,

   ||rth at gcc dot gnu.org



--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
14:12:20 UTC ---

That said, it can be reproduced even on:

int

foo (int a, int b)

{

  asm volatile (nop);

  a = 1;

  return a + b;

}

with -g -O2 -mfentry -p -dA.  The issue is that FUNCTION_PROFILER before

epilogue is emitted really very early, before processing any

NOTE_INSN_VAR_LOCATION that are before the first real insn.

If the targetm.asm_out.function_prologue hook is the default, outputting

nothing, perhaps we could consider as ugly hack to process the

NOTE_INSN_VAR_LOCATION notes before any non-note insn before calling the

FUNCTION_PROFILER, or, just forcefully use the function start label in

dwarf2out_var_location for notes that are before first real insn, perhaps limit

that to #ifdef HAVE_prologue if (HAVE_prologue) #endif to avoid damaging debug

info for !HAVE_prologue targets (if there are still any).


[Bug fortran/54618] [OOP] wrong-code with CLASS(...), INTENT(OUT) -- and OPTIONAL or ALLOCATABLE

2012-10-03 Thread burnus at gcc dot gnu.org


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



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



  Attachment #28304|0   |1

is obsolete||



--- Comment #14 from Tobias Burnus burnus at gcc dot gnu.org 2012-10-03 
14:20:22 UTC ---

Created attachment 28341

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

Updated OPTIONAL patch



Current version of my OPTIONAL patch. Changes:

- polymorphic scalar coarray to polymorphic noncoarrays work now

- Much extended test case (and plenty of new FIXMEs)

TODO: Fix those FIXMEs.



Other TODO items:

- Support packing of assumed-rank arrays

  (see just attached test case; but otherwise an unrelated issue)

- Fix INTENT(OUT) handling for allocatable polymorphic arrays (cf. comment 0)

- Analyse the old issue related to class_array_7.f03 (comment 11, comment 12)


[Bug c++/54777] [C++11] Comma operator in constexpr environment can cause ICE

2012-10-03 Thread jakub at gcc dot gnu.org


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



--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
14:21:24 UTC ---

Author: jakub

Date: Wed Oct  3 14:21:20 2012

New Revision: 192036



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

Log:

PR c++/54777

* semantics.c (cxx_eval_constant_expression) case COMPOUND_EXPR: If

not ignoring the second operand, pass the original second operand

and not one with stripped nops to cxx_eval_constant_expression.



* g++.dg/cpp0x/constexpr-ref4.C: New test.



Added:

trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-ref4.C

Modified:

trunk/gcc/cp/ChangeLog

trunk/gcc/cp/semantics.c

trunk/gcc/testsuite/ChangeLog


[Bug c++/54777] [C++11] Comma operator in constexpr environment can cause ICE

2012-10-03 Thread jakub at gcc dot gnu.org


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



--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
14:27:35 UTC ---

Author: jakub

Date: Wed Oct  3 14:27:30 2012

New Revision: 192037



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

Log:

PR c++/54777

* semantics.c (cxx_eval_constant_expression) case COMPOUND_EXPR: If

not ignoring the second operand, pass the original second operand

and not one with stripped nops to cxx_eval_constant_expression.



* g++.dg/cpp0x/constexpr-ref4.C: New test.



Added:

branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-ref4.C

Modified:

branches/gcc-4_7-branch/gcc/cp/ChangeLog

branches/gcc-4_7-branch/gcc/cp/semantics.c

branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug c++/49171] [C++0x][constexpr] Constant expressions support reinterpret_cast

2012-10-03 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 CC||paolo.carlini at oracle dot

   ||com



--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-03 
14:27:50 UTC ---

Daniel, what's the status of this issue? Is there some consensus that GCC is

actually Ok, we don't really want to reject reinterpret_casts?



Because I would find very useful a constexpr std::addressof. For the time being

we could certainly have it constexpr anyway and change the implementation

details when/if the C++ front-end starts rejecting reintepret_casts, but I

would rather not.


[Bug rtl-optimization/54792] [4.8 Regression] -fcompare-debug failures introduced by r191493

2012-10-03 Thread jakub at gcc dot gnu.org


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



--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
14:28:32 UTC ---

Author: jakub

Date: Wed Oct  3 14:28:28 2012

New Revision: 192038



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

Log:

PR rtl-optimization/54792

* sched-deps.c (find_modifiable_mems): Scan also TAIL insn.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/sched-deps.c


[Bug c++/54777] [C++11] Comma operator in constexpr environment can cause ICE

2012-10-03 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED



--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
14:31:35 UTC ---

Fixed for 4.7+.


[Bug rtl-optimization/54792] [4.8 Regression] -fcompare-debug failures introduced by r191493

2012-10-03 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED



--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
14:32:15 UTC ---

Fixed.


[Bug bootstrap/54795] New: [4.8 Regression] Random profiledbootstrap failure with LTO

2012-10-03 Thread hjl.tools at gmail dot com


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



 Bug #: 54795

   Summary: [4.8 Regression] Random profiledbootstrap failure with

LTO

Classification: Unclassified

   Product: gcc

   Version: 4.7.3

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: bootstrap

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

ReportedBy: hjl.to...@gmail.com





On Linux/x86-64, revision 191825 configured with



--prefix=/usr/local --enable-clocale=gnu --with-system-zlib --enable-shared

--with-demangler-in-ld --with-build-config=bootstrap-lto --with-fpmath=sse

--enable-languages=c,c++,fortran,java,lto,objc



failed to profiledbootstrap:



/tmp/ccFJkgbJ.s: Assembler messages:

/tmp/ccFJkgbJ.s:752755: Error: invalid character (0x83) in mnemonic

make[7]: *** [/tmp/ccSxjzh4.ltrans14.ltrans.o] Error 1



It happens at random.


[Bug debug/54796] New: [4.8 Regression] Non-addressable stack parameter debug quality regression

2012-10-03 Thread jakub at gcc dot gnu.org


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



 Bug #: 54796

   Summary: [4.8 Regression] Non-addressable stack parameter debug

quality regression

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: debug

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

ReportedBy: ja...@gcc.gnu.org

CC: aol...@gcc.gnu.org

Target: i686-linux





/* PR debug/N */

/* { dg-do run } */

/* { dg-options -g } */



__attribute__((noinline, noclone)) void

bar (char *a, int b)

{

  __asm volatile ( : +r (a), +r (b) : : memory);

}



__attribute__((noinline, noclone)) void

foo (int a, int b)

{

  int c = a;

  char d[b];/* { dg-final { gdb-test 17 a 5 } } */

  bar (d, 2);/* { dg-final { gdb-test 17 b 6 } } */

  bar (d, 4);/* { dg-final { gdb-test 17 c 5 } } */

}



int

main ()

{

  foo (5, 6);

  return 0;

}



(line 17 is the second call to bar) regressed for -m32 -Os -g on

{i686,x86_64}-linux supposedly with the

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

change.  I've mentioned this already in

http://gcc.gnu.org/ml/gcc-patches/2012-10/msg00262.html

but filing it now on a testcase that is not dependent on any GCC patches.



The problem is that vt_canon_true_dep/canon_true_dependence doesn't figure out

that the stack stores (after prologue where hard fp is initialized) can't alias

argp.  Without the VLA or other reasons forcing use of frame pointer

var-tracking replaces sp accesses with argp + offset accesses and

canon_true_dependence then disambiguates it using the offsets.


[Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE

2012-10-03 Thread janus at gcc dot gnu.org


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



janus at gcc dot gnu.org changed:



   What|Removed |Added



Summary|[OOP] allocation of |[4.7/4.8 Regression] [OOP]

   |extended types with |wrong code in polymorphic

   |polymorphic allocatable |allocation with SOURCE

   |members |



--- Comment #7 from janus at gcc dot gnu.org 2012-10-03 16:09:03 UTC ---

This even seems to be a regression: The test case in comment 1 runs without

error when compiled with gfortran 4.6 (and also the dump looks ok).


[Bug c++/49171] [C++0x][constexpr] Constant expressions support reinterpret_cast

2012-10-03 Thread daniel.kruegler at googlemail dot com

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

--- Comment #4 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-10-03 16:22:24 UTC ---
(In reply to comment #3)
 Daniel, what's the status of this issue? Is there some consensus that GCC is
 actually Ok, we don't really want to reject reinterpret_casts?

My opinion is that gcc should start to implement the new core rules in regard
to reinterpret_cast *except* for cases that are well-defined.

 Because I would find very useful a constexpr std::addressof. For the time 
 being
 we could certainly have it constexpr anyway and change the implementation
 details when/if the C++ front-end starts rejecting reintepret_casts, but I
 would rather not.

Exactly this usage of reinterpret_cast seems IMO to be well granted by the
standard - at least by the way I read it.


[Bug debug/54796] [4.8 Regression] Non-addressable stack parameter debug quality regression

2012-10-03 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0



--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
16:40:04 UTC ---

I think the problem is that by the time these vt_canon_true_dep calls are made,

mloc's addr is some VALUE for which alias.c unfortunately no longer can figure

out that they are sp based, as sp REG has been removed from all the VALUE locs.

 If we could somehow somewhere preserve the information that some VALUEs are

sp based (i.e. find_base_term (val) ==

static_reg_base_value[STACK_POINTER_REGNUM]), then we could disambiguate at

least that the sp based stores can't clobber global vars or hard frame pointer

based MEMs.


[Bug c++/49171] [C++0x][constexpr] Constant expressions support reinterpret_cast

2012-10-03 Thread paolo.carlini at oracle dot com


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



--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-03 
16:46:30 UTC ---

Ok, thanks. Sorry about the naive question: is it already clear what it means

for reinterpret_cast uses to be well-defined in this sense?


[Bug middle-end/54782] [4.8 Regression] ICE: in change_scope, at final.c:1543 with -O -ffast-math -ftree-parallelize-loops=2 -g

2012-10-03 Thread dehao at google dot com


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



--- Comment #2 from Dehao Chen dehao at google dot com 2012-10-03 16:47:23 
UTC ---

Thanks for reporting this problem. The root cause has been identified that

phi_arg_location is not correctly updated in move_block_to_fn. A patch is on

the way.



BTW, how can I assign this patch to me? Looks like there is no such a button in

my view.


[Bug middle-end/54782] [4.8 Regression] ICE: in change_scope, at final.c:1543 with -O -ffast-math -ftree-parallelize-loops=2 -g

2012-10-03 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jakub at gcc dot gnu.org



--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
16:54:47 UTC ---

You need to log into bugzilla using your gcc.gnu.org account.


[Bug fortran/54618] [OOP] wrong-code with CLASS(...), INTENT(OUT) -- and OPTIONAL or ALLOCATABLE

2012-10-03 Thread burnus at gcc dot gnu.org


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



--- Comment #15 from Tobias Burnus burnus at gcc dot gnu.org 2012-10-03 
17:32:01 UTC ---

(In reply to comment #14)

 - Fix INTENT(OUT) handling for allocatable polymorphic arrays (cf. comment 0)



Reminder: Check that this also handles (non)polymorphic assumed-rank arrays

correctly.


[Bug target/54741] GCC 4.4, 4.5, 4.6 4.7 (probably 4.8) Generates un-usable code on AVX supported CPUs (FreeBSD)

2012-10-03 Thread andrew.w.nosenko at gmail dot com


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



Andrew W. Nosenko andrew.w.nosenko at gmail dot com changed:



   What|Removed |Added



 CC||andrew.w.nosenko at gmail

   ||dot com



--- Comment #17 from Andrew W. Nosenko andrew.w.nosenko at gmail dot com 
2012-10-03 17:32:51 UTC ---

Sorry, but commited patch does NOT fixes the problem.

It does just reverse -- disables AVX  Co on systems the has OSXSAVE,

XSTATE_SSE and XSTATE_YMM bits set, while the intention was to disable if any

of these bits are not set.



Proposed followup patch is attached.


[Bug debug/54796] [4.8 Regression] Non-addressable stack parameter debug quality regression

2012-10-03 Thread jakub at gcc dot gnu.org


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



--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
17:35:44 UTC ---

Perhaps it would suffice to reserve another rtx flag bit on VALUE for

SP_BASED_VALUE_P, and just from var-tracking if hard_frame_pointer_adjustment

is != -1 (i.e. frame_pointer_needed and hfp = assignment has been seen) mark

that way sp values that are created afterwards, and change find_base_term in

alias.c

so that it returns static_reg_base_value[STACK_POINTER_REGNUM] when seeing

VALUEs marked that way.


[Bug target/54741] GCC 4.4, 4.5, 4.6 4.7 (probably 4.8) Generates un-usable code on AVX supported CPUs (FreeBSD)

2012-10-03 Thread andrew.w.nosenko at gmail dot com


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



--- Comment #18 from Andrew W. Nosenko andrew.w.nosenko at gmail dot com 
2012-10-03 17:36:28 UTC ---

Created attachment 28342

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

Followup patch for config/i386/driver-i386.c


[Bug c++/54601] AIX uses atexit which causes unloading of shared modules to break

2012-10-03 Thread dje at gcc dot gnu.org


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



David Edelsohn dje at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-03

 Ever Confirmed|0   |1



--- Comment #6 from David Edelsohn dje at gcc dot gnu.org 2012-10-03 17:52:48 
UTC ---

Perry and I have been discussing this for a while.  As others mentioned, the

patch should be against mainline and this discussion of the path should happen

on gcc-patches, not Bugzilla.


[Bug target/54741] GCC 4.4, 4.5, 4.6 4.7 (probably 4.8) Generates un-usable code on AVX supported CPUs (FreeBSD)

2012-10-03 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|RESOLVED|REOPENED

 Resolution|FIXED   |



--- Comment #19 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
18:06:29 UTC ---

The patch looks good to me, but patches should be posted to gcc-patches at

gcc.gnu.org mailing list instead.


[Bug c++/49171] [C++0x][constexpr] Constant expressions support reinterpret_cast

2012-10-03 Thread daniel.kruegler at googlemail dot com

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

--- Comment #6 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-10-03 18:46:09 UTC ---
(In reply to comment #5)
 Ok, thanks. Sorry about the naive question: is it already clear what it means
 for reinterpret_cast uses to be well-defined in this sense?

This is surely no naive question. I should have been more specific: I think
only those reinterpret_cast operations that have a *specified* result, should
be allowed (similar to relational or equality operations). For example An
expression of integral, enumeration, pointer, or pointer-to-member type can be
explicitly converted to its own type; such a cast yields the value of its
operand. seems well specified and uncontroversial to me. Another example (and
this is relevant for std::addressof) is the combination of p7

An object pointer can be explicitly converted to an object pointer of a
different type. [..] Converting a prvalue of type “pointer to T1” to the type
“pointer to T2” (where T1 and T2 are object types and where the alignment
requirements of T2 are no stricter than those of T1) and back to its original
type yields the original pointer value.

and p11

An lvalue expression of type T1 can be cast to the type “reference to T2” if
an expression of type “pointer to T1” can be explicitly converted to the type
“pointer to T2” using a reinterpret_cast. That is, a reference cast
reinterpret_castT(x) has the same effect as the conversion
*reinterpret_castT*(x) with the built-in  and * operators (and similarly
for reinterpret_castT(x)).

In other words, the whole expression

reinterpret_castT*(const_castchar(
  reinterpret_castconst volatile char(t)))

that is typically used for the real address deduction seems to have
well-specified behaviour and should thus be constexpr-friendly.


[Bug target/54741] GCC 4.4, 4.5, 4.6 4.7 (probably 4.8) Generates un-usable code on AVX supported CPUs (FreeBSD)

2012-10-03 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|REOPENED|RESOLVED

 Resolution||FIXED



--- Comment #20 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-03 
18:48:30 UTC ---

Seems H.J. has committed this already:

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

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

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


[Bug fortran/54797] New: Gnu Fortran compiler does not recognize module file it created

2012-10-03 Thread christopher.romick at gmail dot com


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



 Bug #: 54797

   Summary: Gnu Fortran compiler does not recognize module file it

created

Classification: Unclassified

   Product: gcc

   Version: 4.6.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: fortran

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

ReportedBy: christopher.rom...@gmail.com





I am trying to compile a library of module files using make for use later in

codes, that may require mpi or on earlier created modules. I have tested the

compilation with pgfortran and intel compilers on linux with open-mpi 1.4.5 and

it works perfectly. I have additionally tested it on linux using open-mpi 1.4.5

and gfortran 4.2.1 and on Mac OSx 10.6 with open-mpi 1.4.3 and gfortran 4.6,

with both failing with the following error:



Fatal Error: File 'odesoldat.mod' opened at (1) is not a GFORTRAN module file



I have checked to make sure that I throughly cleaned the folders to make sure

the module file as well as the object file are deleted prior to compilation. 



I am using the following compilation flags:

FLAGS = -O3 -fdefault-real-8 -fdefault-double-8  -J $(MODULE)



If anyone has insights they would be most welcome.


[Bug fortran/54797] Gnu Fortran compiler does not recognize module file it created

2012-10-03 Thread kargl at gcc dot gnu.org


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



kargl at gcc dot gnu.org changed:



   What|Removed |Added



 CC||kargl at gcc dot gnu.org



--- Comment #1 from kargl at gcc dot gnu.org 2012-10-03 19:20:19 UTC ---

(In reply to comment #0)

 I am trying to compile a library of module files using make for use later in

 codes, that may require mpi or on earlier created modules. I have tested the

 compilation with pgfortran and intel compilers on linux with open-mpi 1.4.5 
 and

 it works perfectly. I have additionally tested it on linux using open-mpi 
 1.4.5

 and gfortran 4.2.1 and on Mac OSx 10.6 with open-mpi 1.4.3 and gfortran 4.6,

 with both failing with the following error:

 

 Fatal Error: File 'odesoldat.mod' opened at (1) is not a GFORTRAN module file

 

 I have checked to make sure that I throughly cleaned the folders to make sure

 the module file as well as the object file are deleted prior to compilation. 

 

 I am using the following compilation flags:

 FLAGS = -O3 -fdefault-real-8 -fdefault-double-8  -J $(MODULE)

 

 If anyone has insights they would be most welcome.



What is the first line in odesoldat.mod?

Have you tried using the -I option?


[Bug fortran/54797] Gnu Fortran compiler does not recognize module file it created

2012-10-03 Thread christopher.romick at gmail dot com


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



--- Comment #2 from christopher.romick at gmail dot com 2012-10-03 19:37:24 UTC 
---

I have indeed tried include -I but it makes no differences. The compilation

returns the same error.



The 1st line states



GFORTRAN module created from /.../odesolver/LSODE/datodesol.f90 on Wed Oct  3

15:35:10 2012



of course the ... is the rest of the full path


[Bug c++/54798] New: internal compiler error: Segmentation fault

2012-10-03 Thread gcc at boxie dot eu


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



 Bug #: 54798

   Summary: internal compiler error: Segmentation fault

Classification: Unclassified

   Product: gcc

   Version: 4.7.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

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

ReportedBy: g...@boxie.eu





Created attachment 28343

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

test case



I'm getting an internal compiler error both on gcc 4.7.0 on Ubuntu 12.04.1 and

an MinGW-w64 gcc 4.7.2 for Windows. A reduced source test case is attached. The

error does not occur as soon as I use the captured this pointer. Output is as

follows:



$ g++ -std=c++11 ice.cpp -o ice

ice.cpp: In lambda function:

ice.cpp:47:24: internal compiler error: Segmentation fault


[Bug c++/54798] internal compiler error: Segmentation fault

2012-10-03 Thread gcc at boxie dot eu


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



--- Comment #1 from gcc at boxie dot eu 2012-10-03 19:44:05 UTC ---

Errr.. The error DOES occur as soon as I use the captured this pointer.


[Bug target/51518] ICE: in expand_call, at calls.c:3421 with -mno-accumulate-outgoing-args and __attribute__ ((ms_abi)) (after sorry)

2012-10-03 Thread mpolacek at gcc dot gnu.org


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



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-03

 CC||mpolacek at gcc dot gnu.org

 Ever Confirmed|0   |1



--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org 2012-10-03 
19:47:31 UTC ---

Confirmed.


[Bug fortran/54797] Gnu Fortran compiler does not recognize module file it created

2012-10-03 Thread sgk at troutmask dot apl.washington.edu


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



--- Comment #3 from Steve Kargl sgk at troutmask dot apl.washington.edu 
2012-10-03 19:55:46 UTC ---

On Wed, Oct 03, 2012 at 07:37:24PM +, christopher.romick at gmail dot com

wrote:

 

 I have indeed tried include -I but it makes no differences. The compilation

 returns the same error.

 

 The 1st line states

 

 GFORTRAN module created from /.../odesolver/LSODE/datodesol.f90 on Wed Oct  3

 15:35:10 2012

 

 of course the ... is the rest of the full path

 



Which version of gfortran?  With version 4.4.x and above 

you should have a version number.



% gfc44 -c a.f90  head -1 a.mod

GFORTRAN module version '0' created from a.f90 on Wed Oct  3 12:50:55 2012

% gfc45 -c a.f90  head -1 a.mod

GFORTRAN module version '4' created from a.f90 on Wed Oct  3 12:51:00 2012

% gfc46 -c a.f90  head -1 a.mod

GFORTRAN module version '6' created from a.f90 on Wed Oct  3 12:51:04 2012

% gfc47 -c a.f90  head -1 a.mod

GFORTRAN module version '9' created from a.f90

% gfc4x -c a.f90  head -1 a.mod

GFORTRAN module version '9' created from a.f90



Do you have more than one version of gfortran installed

on the system?  It appears as if you are building the

module with an older gfortran and trying to use with a

newer version.


[Bug ada/54799] New: Missing ; gives GNAT BUG DETECTED box with GPL 2012, GPL 2010, AUX 4.7.1, and AUX 4.6.3

2012-10-03 Thread denkpadje at gmail dot com


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



 Bug #: 54799

   Summary: Missing ; gives GNAT BUG DETECTED box with GPL

2012, GPL 2010, AUX 4.7.1, and AUX 4.6.3

Classification: Unclassified

   Product: gcc

   Version: 4.7.1

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: ada

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

ReportedBy: denkpa...@gmail.com





A missing ; in a short .adb file generates a gnat bug box with GPL 2012

and GPL 2010, both on my Linux 3.2 i686 system, and with GNAT AUX 4.7.1 and

4.6.3

on FreeBSD 9.0 i386 and DragonFly BSD x86-64.



On my FreeBSD 9.0 i386 system with GNAT AUX 4.6.3 and 4.7.1:





$ gnatmake libthr3.adb

ada -c libthr3.adb

+===GNAT BUG DETECTED==+

| 4.7.1 20120614 (release) -= GNAT AUX [FreeBSD] (i386-aux-freebsd9.0)|

| Assert_Failure nlists.adb:431|

| Error detected at libthr3.adb:8:4|

| 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).



libthr3.adb



libthr3.adb:10:18: missing ;

compilation abandoned

gnatmake: libthr3.adb compilation error







$ gnatmake libthr2.adb

gnatgcc -c libthr2.adb

+===GNAT BUG DETECTED==+

| 4.6.3 20120301 (release) -= GNAT AUX [FreeBSD] (i386-aux-freebsd9.0)|

| Assert_Failure nlists.adb:431|

| Error detected at libthr2.adb:14:11  |

| 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).



libthr2.adb



libthr2.adb:16:31: missing ;

compilation abandoned

gnatmake: libthr2.adb compilation error





On my Linux 3.2 i686 system with GNAT GPL 2010 I get this _without_ -gnat05:





$ gnatmake libthr3.adb

gcc -c libthr3.adb

libthr3.adb:10:18: missing ;

libthr3.adb:14:09: generalized use of anonymous access types is an Ada 2005

extension

libthr3.adb:14:09: unit must be compiled with -gnat05 switch

gnatmake: libthr3.adb compilation error





With -gnat05 I get the gnat bug box:





$ gnatmake -gnat05 libthr3.adb

gcc -c -gnat05 libthr3.adb

+===GNAT BUG DETECTED==+

| GPL 2010 (20100603) (i686-pc-linux-gnu) Storage_Error stack overflow (or

erroneous memory access)|

| Error detected at libthr3.adb:8:4|

| Please submit a bug report by email to rep...@adacore.com.   |

| GAP members can alternatively use GNAT Tracker:  |

| http://www.adacore.com/ section 'send a report'. |

| See gnatinfo.txt for full info on procedure for submitting bugs. |

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

| 

[Bug ada/54799] Missing ; gives GNAT BUG DETECTED box with GPL 2012, GPL 2010, AUX 4.7.1, and AUX 4.6.3

2012-10-03 Thread denkpadje at gmail dot com


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



--- Comment #1 from denkpadje at gmail dot com 2012-10-03 19:59:06 UTC ---

Created attachment 28344

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

The test file


[Bug c++/54798] internal compiler error: Segmentation fault

2012-10-03 Thread gcc at boxie dot eu


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



--- Comment #2 from gcc at boxie dot eu 2012-10-03 20:01:32 UTC ---

Created attachment 28345

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

minimal test case



I further reduce the test case to a minimum. The ICE only happens if the nested

class is a template.


[Bug tree-optimization/51238] ICE: SIGSEGV in find_uses_to_rename_use (tree-ssa-loop-manip.c:1267) with -Os -ftree-loop-distribution

2012-10-03 Thread mpolacek at gcc dot gnu.org


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



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-10-03 
20:25:02 UTC ---

This does not happen anymore with the trunk.  (At least since r188409.)


[Bug middle-end/54782] [4.8 Regression] ICE: in change_scope, at final.c:1543 with -O -ffast-math -ftree-parallelize-loops=2 -g

2012-10-03 Thread dehao at gcc dot gnu.org


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



--- Comment #4 from dehao at gcc dot gnu.org 2012-10-03 20:34:30 UTC ---

Author: dehao

Date: Wed Oct  3 20:34:26 2012

New Revision: 192049



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

Log:

2012-10-03  Dehao Chen  de...@google.com



gcc:

PR middle-end/54782

* tree-cfg.c (move_block_to_fn): Update lexical block for phi_args.



testsuite:

PR middle-end/54782

* gcc.dg/pr54782.c: New test.



Added:

trunk/gcc/testsuite/gcc.dg/pr54782.c

Modified:

trunk/gcc/ChangeLog

trunk/gcc/testsuite/ChangeLog

trunk/gcc/tree-cfg.c


[Bug middle-end/54782] [4.8 Regression] ICE: in change_scope, at final.c:1543 with -O -ffast-math -ftree-parallelize-loops=2 -g

2012-10-03 Thread dehao at gcc dot gnu.org


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



dehao at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #5 from dehao at gcc dot gnu.org 2012-10-03 20:35:42 UTC ---

Fixed by http://gcc.gnu.org/viewcvs?root=gccview=revrev=192049


[Bug middle-end/50211] ICE: verify_flow_info: Incorrect fallthru 11-12 with -funroll-all-loops --param case-values-threshold=1

2012-10-03 Thread mpolacek at gcc dot gnu.org


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



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 CC||mpolacek at gcc dot gnu.org



--- Comment #4 from Marek Polacek mpolacek at gcc dot gnu.org 2012-10-03 
20:41:00 UTC ---

Does not seem to happen anymore.


[Bug c++/54798] internal compiler error: Segmentation fault

2012-10-03 Thread daniel.kruegler at googlemail dot com

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

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

   What|Removed |Added

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

--- Comment #3 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-10-03 21:20:01 UTC ---
This happens also with gcc 4.8 HEAD. Further simplifications and removal of
library dependencies:

//---
void use(int){}

template typename U
class C
{
public:
  void f()
  {
[]()
{
  use(_member);
}();
  }
private:
  int _member;
};
//---

After this reduction it looks like a dup of bug 53921 to me.


[Bug other/54800] New: libiberty/simple-object-mach-o.c:704: possible optimisation ?

2012-10-03 Thread dcb314 at hotmail dot com


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



 Bug #: 54800

   Summary: libiberty/simple-object-mach-o.c:704: possible

optimisation ?

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: minor

  Priority: P3

 Component: other

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

ReportedBy: dcb...@hotmail.com





I just tried the latest cppcheck over the source code

of trunk and it said



[trunk/libiberty/simple-object-mach-o.c:704] -

[trunk/libiberty/simple-object-mach-o.c:705]: (performance) Buffer 'namebuf' is

being written before its old content has been used.



The source code is



  memset (namebuf, 0, MACH_O_NAME_LEN * 2 + 2);

  memcpy (namebuf, (char *) sechdr + segname_offset, MACH_O_NAME_LEN);



Maybe something like



  memcpy (namebuf, (char *) sechdr + segname_offset, MACH_O_NAME_LEN);

  memset (namebuf[MACH_O_NAME_LEN], MACH_O_NAME_LEN + 2);



might be faster and simpler ?


[Bug other/54800] libiberty/simple-object-mach-o.c:704: possible optimisation ?

2012-10-03 Thread dcb314 at hotmail dot com


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



--- Comment #1 from David Binderman dcb314 at hotmail dot com 2012-10-03 
21:22:31 UTC ---

Or if you want something that compiles



  memset (namebuf[MACH_O_NAME_LEN], 0, MACH_O_NAME_LEN + 2);



might be closer ;-


[Bug target/50457] SH2A atomic functions

2012-10-03 Thread olegendo at gcc dot gnu.org


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



--- Comment #14 from Oleg Endo olegendo at gcc dot gnu.org 2012-10-03 
21:36:18 UTC ---

Author: olegendo

Date: Wed Oct  3 21:36:14 2012

New Revision: 192051



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

Log:

PR target/50457

* config/sh/sh.c (parse_validate_atomic_model_option): Handle name

strings in sh_atomic_model.

* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation

to ...

* config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.

Add __SH1__ and __SH2__ defines.  Add __SH_ATOMIC_MODEL_*__ define.

* config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name

variables.

(sh_cpu_cpp_builtins): Declare new function.



PR target/50457

* config/sh/linux-atomic.S: Delete.

* config/sh/linux-atomic.c: New.

* config/sh/t-linux (LIB2ADD): Replace linux-atomic.S with

linux-atomic.c.  Add cflags to disable warnings.





Added:

trunk/libgcc/config/sh/linux-atomic.c

Removed:

trunk/libgcc/config/sh/linux-atomic.S

Modified:

trunk/gcc/ChangeLog

trunk/gcc/config/sh/sh-c.c

trunk/gcc/config/sh/sh-protos.h

trunk/gcc/config/sh/sh.c

trunk/gcc/config/sh/sh.h

trunk/libgcc/ChangeLog

trunk/libgcc/config/sh/t-linux


[Bug target/51244] [SH] Inefficient conditional branch and code around T bit

2012-10-03 Thread olegendo at gcc dot gnu.org


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



--- Comment #54 from Oleg Endo olegendo at gcc dot gnu.org 2012-10-03 
21:39:22 UTC ---

Author: olegendo

Date: Wed Oct  3 21:39:18 2012

New Revision: 192052



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

Log:

PR target/51244

* config/sh/sh.md (*mov_t_msb_neg): New insn and two accompanying

unnamed split patterns.



PR target/51244

* gcc.target/sh/pr51244-12.c: New.





Added:

trunk/gcc/testsuite/gcc.target/sh/pr51244-12.c

Modified:

trunk/gcc/ChangeLog

trunk/gcc/config/sh/sh.md

trunk/gcc/testsuite/ChangeLog


[Bug c++/54798] internal compiler error: Segmentation fault

2012-10-03 Thread gcc at boxie dot eu


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



--- Comment #4 from Christian Maaser gcc at boxie dot eu 2012-10-03 21:42:30 
UTC ---

True, looks like the same bug. My workaround was to define auto self = this;

outside the lambda function, but using this- bypasses the issue as well.


[Bug target/26472] Default path for libgcc_s.sl is build directory

2012-10-03 Thread anilkris at hotmail dot com


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



Anil Krishnan anilkris at hotmail dot com changed:



   What|Removed |Added



 CC||anilkris at hotmail dot com



--- Comment #16 from Anil Krishnan anilkris at hotmail dot com 2012-10-03 
22:18:59 UTC ---

Hi



I am getting the following error when I run a concurrent programs in Oracle

R12.1.3, which calls a Pro *C executable.



/usr/lib/dld.sl: Can't find path for shared library: libstdc++.sl.5

/usr/lib/dld.sl: No such file or directory

/d701/oracle/cfo/bin/CFORPPL

Program was terminated by signal 6



-

more information : we have libstdc++.sl.5 available in the path /usr/lib/.



An ls -ltr in /usr/lib/ gives



ls -ltr libstdc++.sl.5



lrwx-- 1 root sys 35 Feb 28 2012 libstdc++.sl.5 -

/usr/syncsort/lib/libstdc++.sl.5_32





similarly an ls -ltr in /usr/syncsort/lib/ gives 



-rwxr-xr-x   1 root   sys5768296 Feb  8  2006

/usr/syncsort/lib/libstdc++.sl.5



I am not sure what is the issue??



For apps mgr



/home/appsimd1echo $SHLIB_PATH

/d701/oracle/apps/apps_st/appl/pay/12.0.0/vendor/quantum/lib:

/d701/oracle/apps/tech_st/10.1.2/jdk/jre/lib/PA_RISC2.0:

/d701/oracle/apps/tech_st/10.1.2/jdk/jre/lib/PA_RISC2.0/server:

/d701/oracle/apps/apps_st/appl/cz/12.0.0/bin:

/d701/oracle/apps/tech_st/10.1.2/lib32:

/d701/oracle/apps/tech_st/10.1.2/lib:

/usr/dt/lib:

/d701/oracle/apps/tech_st/10.1.2/jdk/jre/lib/PA_RISC2.0:

/d701/oracle/apps/tech_st/10.1.2/jdk/jre/lib/PA_RISC2.0/server:

/d701/oracle/apps/apps_st/appl/sht/12.0.0/lib:

/d701/oracle/apps/tech_st/10.1.2/lib:

/usr/lib:

/usr/syncsort/lib



but for a normal user 

imd1 echo $SHLIB_PATH

/d701/oracle/apps/apps_st/appl/pay/12.0.0/vendor/quantum/lib:

/d701/oracle/apps/tech_st/10.1.2/jdk/jre/lib/PA_RISC2.0:

/d701/oracle/apps/tech_st/10.1.2/jdk/jre/lib/PA_RISC2.0/server:

/d701/oracle/apps/apps_st/appl/cz/12.0.0/bin:

/d701/oracle/apps/tech_st/10.1.2/lib32:

/d701/oracle/apps/tech_st/10.1.2/lib:

/usr/dt/lib:

/d701/oracle/apps/tech_st/10.1.2/jdk/jre/lib/PA_RISC2.0:

/d701/oracle/apps/tech_st/10.1.2/jdk/jre/lib/PA_RISC2.0/server:

/d701/oracle/apps/apps_st/appl/sht/12.0.0/lib:

/usr/syncsort/lib:

/opt/microfocus/cobol/lib



I am not sure what is the unix user the Oracle Concurrent program is using. Is

it a path issue?



Please help


[Bug c++/54801] New: [c++11] static variables constructed with lambda params inside member functions cause undefined errors

2012-10-03 Thread matt at godbolt dot org


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



 Bug #: 54801

   Summary: [c++11] static variables constructed with lambda

params inside member functions cause undefined errors

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

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

ReportedBy: m...@godbolt.org





Created attachment 28346

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

Test C file exhibiting the issue



In the attached code, there is static method with a static variable whose

constructor takes a function pointer.  When a lambda is passed as the function

pointer, it seems the lambda's definition is dropped and the result is a

link-time error.



$ g++ -o test -std=c++0x test.cc

/tmp/ccpBFtG7.o: In function `Test::aFunc()::{lambda(int*)#1}::operator void

(*)(int*)() const':

test.cc:(.text._ZZN4Test5aFuncEvENKUlPiE_cvPFvS0_EEv[_ZZN4Test5aFuncEvENKUlPiE_cvPFvS0_EEv]+0x9):

undefined reference to `Test::aFunc()::{lambda(int*)#1}::_FUN(int*)'

collect2: error: ld returned 1 exit status



Making the variable non-static fixes the issue.  The same code in a free

function does not exhibit the problem.  Taking a std::functionvoid(int*) as

the constructor parameter also cures the issue.  It seems to be something which

only throws away the lambda for static variables inside member functions.



More info:



g++ -v

Using built-in specs.

COLLECT_GCC=/site/apps/gcc-4.7.2-drw.patched.1/bin/g++

COLLECT_LTO_WRAPPER=/site/apps/gcc-4.7.2-drw.patched.1/libexec/gcc/x86_64-linux-gnu/4.7.2/lto-wrapper

Target: x86_64-linux-gnu

Configured with: ./configure --prefix /site/apps/gcc-4.7.2-drw.patched.1

--build=x86_64-linux-gnu --enable-clocale=gnu --enable-gold

--enable-languages=c,c++ --enable-ld=default --enable-libstdcxx-debug

--enable-libstdcxx-time=yes --enable-linker-build-id --enable-lto

--enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu

--target=x86_64-linux-gnu --with-pkgversion=DRW-internal-build

--with-plugin-ld=ld.gold --with-system-zlib

--with-gmp=/data/teamcity/work/sup-chietfbld02-002/8a981abc13d5c0c5/scratch/gcc/4.7.2/build/gmp-5.0.2

--with-mpfr=/data/teamcity/work/sup-chietfbld02-002/8a981abc13d5c0c5/scratch/gcc/4.7.2/build/mpfr-3.1.1

--with-mpc=/data/teamcity/work/sup-chietfbld02-002/8a981abc13d5c0c5/scratch/gcc/4.7.2/build/mpc-0.9

--with-libelf=/data/teamcity/work/sup-chietfbld02-002/8a981abc13d5c0c5/scratch/gcc/4.7.2/build/libelf-0.8.9

Thread model: posix

gcc version 4.7.2 (DRW-internal-build) 



This issue was discovered when attempting to register lambda functions as the

cleanup function for static thread-local stored information using

boost::thread_specific_ptr. However, the issue is reproducible in the attached

source file with no external includes.



This appears to be a regression in 4.7.2: gcc versions 4.7.1, 4.7.0, 4.6.3 and

4.5.3 compile the source without issue.


[Bug target/26472] Default path for libgcc_s.sl is build directory

2012-10-03 Thread dave.anglin at bell dot net


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



--- Comment #17 from dave.anglin at bell dot net 2012-10-03 22:39:46 UTC ---

On 3-Oct-12, at 6:18 PM, anilkris at hotmail dot com wrote:



 I am getting the following error when I run a concurrent programs in  

 Oracle

 R12.1.3, which calls a Pro *C executable.



 /usr/lib/dld.sl: Can't find path for shared library: libstdc++.sl.5

 /usr/lib/dld.sl: No such file or directory

 /d701/oracle/cfo/bin/CFORPPL

 Program was terminated by signal 6



This issue isn't related to bug.



Whether SHLIB_PATH is used or not depends on how applications and  

libraries

are linked.  The chatr program can be used to see how an application  

or library

has been linked, and the library paths.  It may be possible to use chatr

to adjust the settings so the error doesn't occur.  Library paths are  

hardcoded

during linking.



--

John David Anglindave.ang...@bell.net


[Bug c/54802] New: Trivial code changes result in different assembly with respect to rotations and bswap.

2012-10-03 Thread jasongross9+bugzilla at gmail dot com


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



 Bug #: 54802

   Summary: Trivial code changes result in different assembly with

respect to rotations and bswap.

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: enhancement

  Priority: P3

 Component: c

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

ReportedBy: jasongross9+bugzi...@gmail.com





Created attachment 28347

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

Code files



In some C code, manually inlining constants changes whether or not gcc compiles

things to rotations or to bswaps.  In particular, the following code



uint64_t reverse0(uint64_t v) {

  v = ((v  1)  0xULL) | ((v  0xULL)  1);

  v = ((v  2)  0xULL) | ((v  0xULL)  2);

  v = ((v  4)  0x0F0F0F0F0F0F0F0FULL) | ((v  0x0F0F0F0F0F0F0F0FULL)  4);

  v = ((v  8)  0x00FF00FF00FF00FFULL) | ((v  0x00FF00FF00FF00FFULL)  8);

  v = ((v  16)  0xULL) | ((v  0xULL) 

16);

  const uint64_t

  va = ((v  32)  0xULL),

  vb = ((v  0xULL)  32);

  v = va | vb;

  return v;

}



uint64_t reverse1(uint64_t v) {

  v = ((v  1)  0xULL) | ((v  0xULL)  1);

  v = ((v  2)  0xULL) | ((v  0xULL)  2);

  v = ((v  4)  0x0F0F0F0F0F0F0F0FULL) | ((v  0x0F0F0F0F0F0F0F0FULL)  4);

  v = ((v  8)  0x00FF00FF00FF00FFULL) | ((v  0x00FF00FF00FF00FFULL)  8);

  v = ((v  16)  0xULL) | ((v  0xULL) 

16);

  v = ((v  32)  0xULL) | ((v  0xULL) 

32);

  return v;

}



compiles to 



reverse0:

.LFB8:

.cfi_startproc

movq%rdi, %rdx

movabsq$6148914691236517205, %rax

movabsq$3689348814741910323, %rcx

shrq%rdx

andq%rax, %rdx

andq%rdi, %rax

addq%rax, %rax

orq%rdx, %rax

movq%rax, %rdx

andq%rcx, %rax

shrq$2, %rdx

salq$2, %rax

andq%rcx, %rdx

movabsq$1085102592571150095, %rcx

orq%rdx, %rax

movq%rax, %rdx

andq%rcx, %rax

shrq$4, %rdx

salq$4, %rax

andq%rcx, %rdx

orq%rdx, %rax

bswap%rax

ret

.cfi_endproc

.LFE8:

.sizereverse0, .-reverse0

.p2align 4,,15

.globlreverse1

.typereverse1, @function

reverse1:

.LFB9:

.cfi_startproc

movq%rdi, %rdx

movabsq$6148914691236517205, %rax

movabsq$3689348814741910323, %rcx

shrq%rdx

andq%rax, %rdx

andq%rdi, %rax

addq%rax, %rax

orq%rdx, %rax

movq%rax, %rdx

andq%rcx, %rax

shrq$2, %rdx

salq$2, %rax

andq%rcx, %rdx

movabsq$1085102592571150095, %rcx

orq%rdx, %rax

movq%rax, %rdx

andq%rcx, %rax

shrq$4, %rdx

salq$4, %rax

andq%rcx, %rdx

movabsq$71777214294589695, %rcx

orq%rdx, %rax

movq%rax, %rdx

andq%rcx, %rax

shrq$8, %rdx

salq$8, %rax

andq%rcx, %rdx

movabsq$281470681808895, %rcx

orq%rdx, %rax

movq%rax, %rdx

andq%rcx, %rax

shrq$16, %rdx

salq$16, %rax

andq%rcx, %rdx

orq%rdx, %rax

rorq$32, %rax

ret

.cfi_endproc

.LFE9:

.sizereverse1, .-reverse1

.p2align 4,,15

.globlreverse2

.typereverse2, @function





In the code that I'm using this in, reverse0 is 30% faster than reverse1.  I

don't think that manual constant inlining, when each constant is used exactly

once, should change the assembly code that gcc compiles to.



The relevant (.c, .i, .s, and a log of the command line) files are attached.


[Bug c++/53921] [C++0x] ICE on lambda inside method of class template

2012-10-03 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 CC||gcc at boxie dot eu



--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-03 
23:53:39 UTC ---

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


[Bug c++/54798] internal compiler error: Segmentation fault

2012-10-03 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||DUPLICATE



--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-03 
23:53:39 UTC ---

Dup.



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


[Bug c/54803] New: Manual constant unfolding breaks vectorization

2012-10-03 Thread jasongross9+bugzilla at gmail dot com


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



 Bug #: 54803

   Summary: Manual constant unfolding breaks vectorization

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: enhancement

  Priority: P3

 Component: c

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

ReportedBy: jasongross9+bugzi...@gmail.com





Created attachment 28348

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

code files



Manually unfolding constants sometimes prevents vectorization.



For example, these loops vectorize:



void multi_left_shift0(uint64_t *const array, size_t len, size_t num_bits) {

  for (size_t i = 0; i  len; i++) {

array[i] = (array[i]  31) | (array[i]  31);

  }

}



void multi_left_shift2(uint64_t *const array, size_t len, size_t num_bits) {

  for (size_t i = 0; i  len; i++) {

const uint64_t tempa = array[i]  32;

const uint64_t tempb = array[i]  32;

array[i] = tempa | tempb;

  }

}





but this loops does not:



void multi_left_shiftb0(uint64_t *const array, size_t len, size_t num_bits) {

  for (size_t i = 0; i  len; i++) {

array[i] = (array[i]  32) | (array[i]  32);

  }

}





See attached file for the code, preprocessed code, gcc command line log, and

assembly.


[Bug libstdc++/53248] std::arrayT,0 doesn't work when T is not default-constructible

2012-10-03 Thread paolo at gcc dot gnu.org


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



--- Comment #9 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 
2012-10-04 00:02:33 UTC ---

Author: paolo

Date: Thu Oct  4 00:02:29 2012

New Revision: 192056



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

Log:

2012-10-03  Paolo Carlini  paolo.carl...@oracle.com



PR libstdc++/53248

* include/std/array (__array_traits): Add.

(array): Allow for zero-size arrays of non default-constructible

elements.

* testsuite/23_containers/array/requirements/

non_default_constructible.cc: New.

* testsuite/23_containers/array/requirements/zero_sized_arrays.cc:

Adjust.

* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust

dg-error line numbers.

* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:

Likewise.



Added:

   

trunk/libstdc++-v3/testsuite/23_containers/array/requirements/non_default_constructible.cc

Modified:

trunk/libstdc++-v3/ChangeLog

trunk/libstdc++-v3/include/std/array

   

trunk/libstdc++-v3/testsuite/23_containers/array/requirements/zero_sized_arrays.cc

trunk/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc

   

trunk/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc


[Bug libstdc++/53248] std::arrayT,0 doesn't work when T is not default-constructible

2012-10-03 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED



--- Comment #10 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-04 
00:03:26 UTC ---

Fixed.


[Bug c++/53921] [C++0x] ICE on lambda inside method of class template

2012-10-03 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-04

 Blocks||54367

 Ever Confirmed|0   |1


[Bug tree-optimization/54803] Rotates are not vectorized

2012-10-03 Thread pinskia at gcc dot gnu.org


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



Andrew Pinski pinskia at gcc dot gnu.org changed:



   What|Removed |Added



Summary|Manual constant unfolding   |Rotates are not vectorized

   |breaks vectorization|



--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-10-04 
00:14:52 UTC ---

  D.1826_10 = D.1825_9 r 32;



So the rotate by 32 is not being vectorizered into two shift followed by an or.


[Bug c/54804] New: -Wuninitialized fails to warn about uninitialized local union

2012-10-03 Thread eggert at gnu dot org


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



 Bug #: 54804

   Summary: -Wuninitialized fails to warn about uninitialized

local union

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c

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

ReportedBy: egg...@gnu.org





This problem stems from a proposed change to Bison to work

around a GCC bug.  I'd rather get the GCC bug fixed, so I'm

filing this bug report.



Bison-generated parsers currently contain code that GCC incorrectly

generates a -Wuninitialized warning for.  In trying to fix this, I

discovered that GCC sometimes does not warn when it should.  Compile

the following program with 'gcc -O2 -Wall -S'.



   union YYSTYPE { int ival; };

   union YYSTYPE

   yyparse (void)

   {

 union YYSTYPE yylval;

 return yylval;

   }





   struct s { int ival; };

   struct s

   yyparse_with_struct (void)

   {

 struct s xxlval;

 return xxlval;

   }



Here's what I observe, for the above program:



$ gcc -O2 -Wall -S t.i

t.i: In function 'yyparse_with_struct':

t.i:15:6: warning: 'xxlval.ival' is used uninitialized in this function

[-Wuninitialized]



There should be a warning for yylval, but the warning is missing.

The (correct) warning for xxlval suggests that the problem has

to do with unions, not structs.


[Bug target/54805] New: __gthread* on VxWorks

2012-10-03 Thread rbmj at verizon dot net


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



 Bug #: 54805

   Summary: __gthread* on VxWorks

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: target

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

ReportedBy: r...@verizon.net





Created attachment 28349

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

patch



I originally posted this on -help, but, not getting anything back, I'm still

pretty convinced this is a bug.



Compiling for powerpc-wrs-vxworks for downloadable kernel modules, there are

issues in vxlib-tls.c, which still references __gthread*tsd*.  The only

remaining declarations, however, are to __gthread*tls*.  I added a conditional

declaration of the __gthread*tsd* functions, and also noticed that one of the

calls to __gthread_tsd_leave_dtor_context doesn't pass tcb.



Also, it says that these functions are provided by the kernel, but I haven't

been able to find any documentation to confirm this.  Can someone confirm that

these are in fact provided by the kernel?



I'm citing http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01314.html for the old

prototypes.



The attached patch adds both the conditional declarations (on __RTP__) and the

minor change to the function call.  I'm not sure if this is what it *should*

do, and I have no experience in this area, so deferring to the experts here.


[Bug middle-end/50598] [4.7 Regression] Undefined symbols: ___emutls_v.*, ... on *-apple-darwin*

2012-10-03 Thread whatmannerofburgeristhis at gmail dot com


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



--- Comment #32 from Matt Arsenault whatmannerofburgeristhis at gmail dot com 
2012-10-04 00:57:42 UTC ---

Created attachment 28350

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

Test case using packaged_task


[Bug middle-end/50598] [4.7 Regression] Undefined symbols: ___emutls_v.*, ... on *-apple-darwin*

2012-10-03 Thread whatmannerofburgeristhis at gmail dot com


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



Matt Arsenault whatmannerofburgeristhis at gmail dot com changed:



   What|Removed |Added



 CC||whatmannerofburgeristhis at

   ||gmail dot com



--- Comment #33 from Matt Arsenault whatmannerofburgeristhis at gmail dot com 
2012-10-04 00:58:37 UTC ---

I'm seeing this problem on 4.7.2 when using c++11 packaged_task. The same code

worked yesterday with 4.7.1 before I updated.


[Bug middle-end/54806] New: [4.7.2 Regression] Undefined symbols: ___emutls_v.*, ... on *-apple-darwin*

2012-10-03 Thread whatmannerofburgeristhis at gmail dot com


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



 Bug #: 54806

   Summary: [4.7.2 Regression] Undefined symbols: ___emutls_v.*,

... on *-apple-darwin*

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: middle-end

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

ReportedBy: whatmannerofburgerist...@gmail.com

  Host: *-apple-darwin*

Target: *-apple-darwin*

 Build: *-apple-darwin*





Reopening of #50598



I'm seeing this problem on 4.7.2 when using c++11 packaged_task. The same code

worked yesterday with 4.7.1 before I updated.


[Bug middle-end/54806] [4.7.2 Regression] Undefined symbols: ___emutls_v.*, ... on *-apple-darwin*

2012-10-03 Thread whatmannerofburgeristhis at gmail dot com


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



--- Comment #1 from Matt Arsenault whatmannerofburgeristhis at gmail dot com 
2012-10-04 01:10:34 UTC ---

Created attachment 28351

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

packaged_task test case


[Bug c++/53921] [C++0x] ICE on lambda inside method of class template

2012-10-03 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 CC||paolo.carlini at oracle dot

   ||com

 Resolution||DUPLICATE



--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-04 
01:21:42 UTC ---

Dup. Again an INDIRECT_REF with null TREE_TYPE in lvalue_kind.



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


[Bug c++/54403] [C++11] operator! applied to a member of a templated class in a lambda expression that captures 'this' pointer crashes compiler

2012-10-03 Thread paolo.carlini at oracle dot com


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 CC||philipp at fb dot com



--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-04 
01:21:42 UTC ---

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


[Bug c++/52619] ICE/segmentation fault in lambda function

2012-10-03 Thread paolo.carlini at oracle dot com


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



--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-04 
01:31:22 UTC ---

Probably Dup of PR54403.


[Bug c++/52613] [C++11] ICE with noexcept in lambda expression in member function of class template

2012-10-03 Thread paolo.carlini at oracle dot com


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



--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-04 
01:32:27 UTC ---

Again probably Dup of PR54403.


[Bug c++/54807] New: Names declared in a for's for-init-statement and condition should be in the same declarative region

2012-10-03 Thread ulfalizer at gmail dot com


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



 Bug #: 54807

   Summary: Names declared in a for's for-init-statement and

condition should be in the same declarative region

Classification: Unclassified

   Product: gcc

   Version: 4.6.3

Status: UNCONFIRMED

  Severity: minor

  Priority: P3

 Component: c++

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

ReportedBy: ulfali...@gmail.com





for (int i; int i = 0;) should give an error but currently doesn't.



14882:2003 6.5.3.1: ...except that names declared in the for-init-statement

are in the same declarative-region as those declared in the condition.


[Bug c++/54807] Names declared in a for's for-init-statement and condition should be in the same declarative region

2012-10-03 Thread pinskia at gcc dot gnu.org


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



--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-10-04 
04:54:35 UTC ---

I think this was fixed for 4.7.  Even the porting guide for 4.7 mentions it.


[Bug c++/54807] Names declared in a for's for-init-statement and condition should be in the same declarative region

2012-10-03 Thread ulfalizer at gmail dot com


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



--- Comment #2 from Ulf Magnusson ulfalizer at gmail dot com 2012-10-04 
04:57:42 UTC ---

Could very well be the same problem, but I don't have 4.7 handy to confirm.