[Bug debug/54971] SRA pessimizes debug info by not creating debug stmts for fields without replacements

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


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



--- Comment #13 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-29 
08:36:03 UTC ---

So, beyond the creation of new debug only accesses for whole struct writes into

hole if there aren't too many holes, I wonder if SRA doesn't have

infrastructure to do aggregate assignment propagation (which could help with

the rest of the -Os -m32 issues on the committed testcase, but even for code

generation on say):

struct A { int a, b, c, d, e, f, g, h; } z;

struct B { struct A a, b, c, d, e, f, g, h; } x, y;



void

foo (void)

{

  struct A a = { 1, 2, 3, 4, 5, 6, 7, 8 };

  struct A b = a;

  struct A c = b;

  struct A d = c;

  struct A e = d;

  z = e;

}



void

bar (void)

{

  struct B a = x;

  struct B b = a;

  struct B c = b;

  struct B d = c;

  struct B e = d;

  y = e;

}



Here, with -Os both routines result in terrible inefficient code, as total

scalarization is not performed and even for these simple cases where there is

one whole aggregate store and one whole aggregate read that is dominated by the

store SRA (nor any other optimization pass, but IMHO SRA has best

infrastructure for that) doesn't attempt to optimize by doing just y = x; (and

b = x; c = x; d = x; e = x; that would be DCEd away).  With -O2 only the second

routine generates terrible code.  While this testcase is artificial, the

checked in testcase shows at least one level of extra aggregate assignment

happens e.g. with compound literals.


[Bug ada/53517] gnat.dg/lto14.adb FAILs

2012-10-29 Thread ebotcazou at gcc dot gnu.org


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



--- Comment #5 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-10-29 
09:37:34 UTC ---

Author: ebotcazou

Date: Mon Oct 29 09:37:30 2012

New Revision: 192911



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

Log:

PR ada/53517

* gnat.dg/lto14.adb: Skip on Solaris.



Modified:

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

branches/gcc-4_7-branch/gcc/testsuite/gnat.dg/lto14.adb


[Bug debug/54402] [4.8 Regression] var-tracking does not scale

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


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jakub at gcc dot gnu.org



--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-29 
09:48:59 UTC ---

Haven't gathered var-tracking statistics yet, but from quick glance at

i686 reflect_test..import routine it looks like with LRA more memory accesses

are %ebp based, while with old reload they were %esp based:

-   movl%eax, 84(%esp)

+   movl%eax, -7592(%ebp)

etc.  As the var-tracking problem seems to be in the memory disambiguation code

(added by Alex for 4.8+ for PR49888) perhaps that could have an effect.

LRA code looks shorter (reflect all_tests.go)).


[Bug target/54963] [4.8 Regression] Wrong code generated for libgfortran/generated/eoshift3_8.c on SH

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


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



--- Comment #5 from Oleg Endo olegendo at gcc dot gnu.org 2012-10-29 11:13:19 
UTC ---

(In reply to comment #4)

 (In reply to comment #3)

  Created attachment 28551 [details]

  Proposed patch

  

  This patch fixes the problem, by using 'emit_move_insn' instead of manually

  doing the DImode reg copy.

 

 Does the pattern in negdi_cond

 

   emit_insn (gen_negc (low_dst, low_src));

   emit_label_after (skip_neg_label, emit_insn (gen_negc (high_dst, 
 high_src)));

 

 work in the problematic situation?  Perhaps I've missed something.



Ugh, you're right.  The negdi will go wrong if input and output regs overlap. 

I guess making the output operand a =r for DImode should fix the issue (as

it's done in the adddi3 or subdi3 patterns).  Moreover, I think it should be OK

to split up the absdi pattern before reload, except for negdi_cond.  I'll try

that out.


[Bug middle-end/55116] New: [4.8 Regression] LRA failed to decompose ASHIFT

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

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

 Bug #: 55116
   Summary: [4.8 Regression] LRA failed to decompose ASHIFT
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: ubiz...@gmail.com, vmaka...@redhat.com


[hjl@gnu-tools-1 tmp]$ /usr/gcc-4.8.0-x32/bin/gcc -S -O2 -w -S -mx32 
/export/gnu/import/git/gcc/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-3.c
-maddress-mode=long
/export/gnu/import/git/gcc/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-3.c:
In function ‘expr_vol_global’:
/export/gnu/import/git/gcc/gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-3.c:100:1:
internal compiler error: in gen_add2_insn, at optabs.c:4694
 }
 ^
0x81fe4b gen_add2_insn(rtx_def*, rtx_def*)
/export/gnu/import/git/gcc/gcc/optabs.c:4694
0x7e2dc7 lra_emit_add(rtx_def*, rtx_def*, rtx_def*)
/export/gnu/import/git/gcc/gcc/lra.c:314
0x7eba63 process_addr_reg
/export/gnu/import/git/gcc/gcc/lra-constraints.c:1092
0x7ebeed process_address
/export/gnu/import/git/gcc/gcc/lra-constraints.c:2290
0x7ef52f curr_insn_transform
/export/gnu/import/git/gcc/gcc/lra-constraints.c:2656
0x7f1984 lra_constraints(bool)
/export/gnu/import/git/gcc/gcc/lra-constraints.c:3407
0x7e534e lra(_IO_FILE*)
/export/gnu/import/git/gcc/gcc/lra.c:2281
0x7ad7f6 do_reload
/export/gnu/import/git/gcc/gcc/ira.c:4614
0x7ad7f6 rest_of_handle_reload
/export/gnu/import/git/gcc/gcc/ira.c:4720
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.
[hjl@gnu-tools-1 tmp]$ 

Breakpoint 1, lra_emit_add (x=0x71adb440, y=0x71ae41b0, 
z=0x71ad7b00) at /export/gnu/import/git/gcc/gcc/lra.c:313
313  emit_move_insn (x, z);
(gdb) call debug_rtx (x)
(reg:SI 206)
(gdb) call debug_rtx (y)
(ashift:SI (reg:SI 96 [ glob_vol_int.22 ])
(const_int 2 [0x2]))
(gdb)


[Bug preprocessor/55115] [=4.5.0 regression] missing headers as fatal breaks cproto logic

2012-10-29 Thread manu at gcc dot gnu.org

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

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

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2012-10-29
 CC||manu at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-10-29 
12:54:28 UTC ---
If the headers do nothing, just delete them? If the headers do something, how
can you preprocess the file without the info from the headers?

Please, explain why you think you need to preprocess a file ignoring missing
headers, and you cannot do this simply by removing the headers before
preprocessing.

GCC has too many options, we should be cautious before adding more.


[Bug middle-end/55116] [4.8 Regression] LRA failed to decompose ASHIFT

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


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



--- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2012-10-29 13:14:03 
UTC ---

ix86_decompose_address has



case ASHIFT:

  if (index)

return 0;

  index = XEXP (op, 0);

  tmp = XEXP (op, 1);

  if (!CONST_INT_P (tmp))

return 0;

  scale = INTVAL (tmp);

  if ((unsigned HOST_WIDE_INT) scale  3)

return 0;

  scale = 1  scale;

  break;


[Bug c/51712] -Wtype-limits should not trigger for types of implementation-defined signedness

2012-10-29 Thread manu at gcc dot gnu.org

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

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

   What|Removed |Added

 CC||mikestump at comcast dot
   ||net

--- Comment #15 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-10-29 
13:25:22 UTC ---
So the patch was approved and committed, basically hiding that the testcase is
failing because there is a bug. Now, whoever fixes this bug has to also revert
revision 191241.


[Bug tree-optimization/55111] ICE: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:89

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


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



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-29

 CC||mpolacek at gcc dot

   ||gnu.org, rguenth at gcc dot

   ||gnu.org

 Ever Confirmed|0   |1



--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org 2012-10-29 
13:41:48 UTC ---

Started with http://gcc.gnu.org/viewcvs?view=revisionrevision=191225


[Bug middle-end/53695] [4.8 Regression] ICE: in dfs_enumerate_from, at cfganal.c:1221 with -O2 -ftracer and labels/gotos

2012-10-29 Thread rguenth at gcc dot gnu.org


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



--- Comment #23 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
14:25:32 UTC ---

Author: rguenth

Date: Mon Oct 29 14:25:22 2012

New Revision: 192943



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

Log:

2012-10-29  Richard Guenther  rguent...@suse.de



PR middle-end/53695

* tracer.c (tracer): Fixup loop structure.

* cfgloopmanip.c (force_single_succ_latches): Add assert.

(fix_loop_structure): Re-compute loop latches and disambiguate

loops with multiple latches if required.



* gcc.dg/torture/pr53695.c: New testcase.



Added:

trunk/gcc/testsuite/gcc.dg/torture/pr53695.c

Modified:

trunk/gcc/ChangeLog

trunk/gcc/cfgloopmanip.c

trunk/gcc/testsuite/ChangeLog

trunk/gcc/tracer.c


[Bug preprocessor/55115] [=4.5.0 regression] missing headers as fatal breaks cproto logic

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


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



--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-29 
14:29:44 UTC ---

(In reply to comment #1)

 If the headers do nothing, just delete them? If the headers do something, how

 can you preprocess the file without the info from the headers?



That won't work, I believe cproto parses the errors produced by GCC and figures

out which declarations are missing based on the errors, then creates a header

containing those declarations.



Adding an option just for cproto is definitely not a good idea, just fix cproto

instead.  The right answer seems to be to create a directory of empty files

with the names of the missing headers and point GCC to it with -I then cproto

can proceed as normal, and generate replacements for the empty files.



Refusing to compile when a header is missing is a huge improvement on the old

behaviour.


[Bug fortran/55117] New: Programs fails to read namelist (contains derived types objects)

2012-10-29 Thread pmarguinaud at hotmail dot com


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



 Bug #: 55117

   Summary: Programs fails to read namelist (contains derived

types objects)

Classification: Unclassified

   Product: gcc

   Version: 4.6.1

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: fortran

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

ReportedBy: pmarguin...@hotmail.com





Created attachment 28553

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

Source code


[Bug fortran/55117] Programs fails to read namelist (contains derived types objects)

2012-10-29 Thread pmarguinaud at hotmail dot com


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



--- Comment #1 from pmarguinaud at hotmail dot com 2012-10-29 14:32:32 UTC ---

Created attachment 28554

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

Namelist


[Bug middle-end/53695] [4.8 Regression] ICE: in dfs_enumerate_from, at cfganal.c:1221 with -O2 -ftracer and labels/gotos

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED



--- Comment #24 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
14:33:08 UTC ---

Fixed.


[Bug tree-optimization/55085] [4.8 regression] false positive -Warray-bounds

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0


[Bug fortran/55117] Programs fails to read namelist (contains derived types objects)

2012-10-29 Thread pmarguinaud at hotmail dot com


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



--- Comment #2 from pmarguinaud at hotmail dot com 2012-10-29 14:34:02 UTC ---



$ gfortran bat.F90

$ ./a.out

At line 33 of file bat.F90 (unit = 4, file = 'NAMELIST')

Fortran runtime error: Internal namelist read error



I tried 4.6.1, 4.6.2 and latest snapshot of 4.7. All the same.


[Bug rtl-optimization/55092] [4.8 Regression] LRA aggravates var-tracking scalability problems

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0


[Bug debug/55094] [4.7/4.8 Regression] ICE in maybe_record_trace_start, at dwarf2cfi.c:2224

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Target||i686-pc-linux-gnu

   Target Milestone|--- |4.7.3


[Bug lto/55102] The options -flto and -On do not behave as described in GCC docs

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-29

 CC||hubicka at gcc dot gnu.org,

   ||rguenth at gcc dot gnu.org

 Ever Confirmed|0   |1



--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
14:38:24 UTC ---

Yes, fact is that -O0 disables local optimizations before LTO streaming.

It also disables IPA pass local analysis phase which means that even if

enabling -O3 at WPA / LTRANS stages you will _not_ get IPA transforms

enabled.



Eventually we'd want to enable all IPA analysis phases at all -O levels...


[Bug tree-optimization/55104] [4.8 Regression] ice in inline_call, at ipa-inline-transform.c:269

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 CC||hubicka at gcc dot gnu.org

   Target Milestone|--- |4.8.0

Summary|ice in inline_call, at  |[4.8 Regression] ice in

   |ipa-inline-transform.c:269  |inline_call, at

   ||ipa-inline-transform.c:269


[Bug rtl-optimization/55106] ice: Maximum number of LRA constraint passes is achieved (15)

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||FIXED



--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
14:39:24 UTC ---

Fixed.


[Bug preprocessor/55115] [=4.5.0 regression] missing headers as fatal breaks cproto logic

2012-10-29 Thread pierre.poissinger at gmail dot com


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



--- Comment #3 from Pierre Poissinger pierre.poissinger at gmail dot com 
2012-10-29 14:42:09 UTC ---

Hi,



Typically: The header is used, and contains all the 'visible' functions found

in source BUT it's only needed:

a) To perform real compilation: To check that function called are called

correctly

b) As export/header for the lib.



cproto only preproc the file via -E option.



Quick 'real life' example:

myfuncs.h: Auto generated proto, generated out of a.c and b.c

a.c: Define a(), calls b() - include 'myfuncs.h'

b.c: Define b() - include 'myfuncs.h'



= the include of the generated myfuncs.h file is to avoid local definitions

+ allow early check if functions signature changes for whatever reasons.



Now - myfuncs.h being auto generated, during first build, prototyping will fail

quickly due to Missing headers... 

This create some kind of a Chicken/Egg problem :-)



If adding an option is annoying: Maybe then the 'fatal' should not be enforced

if run is limited to preproc only, aka '-E' ?


[Bug rtl-optimization/55106] ice: Maximum number of LRA constraint passes is achieved (15)

2012-10-29 Thread vmakarov at gcc dot gnu.org


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



--- Comment #4 from Vladimir Makarov vmakarov at gcc dot gnu.org 2012-10-29 
14:42:21 UTC ---

Author: vmakarov

Date: Mon Oct 29 14:42:05 2012

New Revision: 192944



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

Log:

2012-10-29  Vladimir Makarov  vmaka...@redhat.com



PR rtl-optimization/55106

* g++.dg/pr55106.C: New.





Added:

trunk/gcc/testsuite/g++.dg/pr55106.C

Modified:

trunk/gcc/testsuite/ChangeLog


[Bug target/55108] bad compile-time evaluation of members of initialized union

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Target||arm-linux-gnueabihf

  Component|c   |target



--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
14:44:21 UTC ---

Works for me on x86_64.


[Bug tree-optimization/55110] [4.8 Regression] Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0

Summary|Internal compiler error in  |[4.8 Regression] Internal

   |vectorizable_reduction, at  |compiler error in

   |tree-vect-loop.c:4633   |vectorizable_reduction, at

   ||tree-vect-loop.c:4633


[Bug tree-optimization/55111] [4.8 Regression] ICE: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:89

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

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

   |gnu.org |

   Target Milestone|--- |4.8.0

Summary|ICE: tree check: expected   |[4.8 Regression] ICE: tree

   |ssa_name, have integer_cst  |check: expected ssa_name,

   |in live_on_edge, at |have integer_cst in

   |tree-vrp.c:89   |live_on_edge, at

   ||tree-vrp.c:89



--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
14:46:08 UTC ---

Mine then, even if patch and backtrace look unrelated.


[Bug lto/55112] internal compiler error: in simplify_subreg, at simplify-rtx.c:5424

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||lto

 Target||powerpc-eabispe



--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
14:47:10 UTC ---

Did you compile the object file with -O0?


[Bug preprocessor/55115] [=4.5.0 regression] missing headers as fatal breaks cproto logic

2012-10-29 Thread manu at gcc dot gnu.org

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

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

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID

--- Comment #4 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-10-29 
14:47:12 UTC ---
(In reply to comment #2)
 (In reply to comment #1)
  If the headers do nothing, just delete them? If the headers do something, 
  how
  can you preprocess the file without the info from the headers?
 
 That won't work, I believe cproto parses the errors produced by GCC and 
 figures
 out which declarations are missing based on the errors, then creates a header
 containing those declarations.

That seems an odd way to generate missing declarations. Missing headers may
lead to different code being compiled because of undefined macros, feature test
macros, pragmas, etc.

If the header is missing, then ignoring the error will produce exactly the same
result as commenting out the #include.

Anyway, not a bug.


[Bug lto/55113] internal compiler error: in emit_library_call_value_1, at calls.c:3739

2012-10-29 Thread rguenth at gcc dot gnu.org


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



--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
14:48:06 UTC ---

Did you compile the object files with -O0?


[Bug middle-end/55114] [4.8 Regression] gcc.dg/builtins-53.c ICEs on mips64 soft-float

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Target||mips64

   Target Milestone|--- |4.8.0


[Bug middle-end/55116] [4.8 Regression] LRA failed to decompose ASHIFT

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Target||x32-*-*

   Target Milestone|--- |4.8.0


[Bug preprocessor/55115] [=4.5.0 regression] missing headers as fatal breaks cproto logic

2012-10-29 Thread manu at gcc dot gnu.org

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

--- Comment #5 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-10-29 
14:53:24 UTC ---
(In reply to comment #3)
 
 Now - myfuncs.h being auto generated, during first build, prototyping will 
 fail
 quickly due to Missing headers... 
 This create some kind of a Chicken/Egg problem :-)

So do touch myfuncs.h before the first file is built. Or invoke gcc -E in a
temp file for which you comment out the #include myfuncs.h. Or make cproto do
any of this automatically.

Or even better, use libClang http://clang.llvm.org/docs/Tooling.html to do
what you want instead of parsing GCC errors, which are likely to change in
unexpected ways.


[Bug preprocessor/55115] [=4.5.0 regression] missing headers as fatal breaks cproto logic

2012-10-29 Thread pierre.poissinger at gmail dot com


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



Pierre Poissinger pierre.poissinger at gmail dot com changed:



   What|Removed |Added



 Status|RESOLVED|WAITING

 Resolution|INVALID |



--- Comment #6 from Pierre Poissinger pierre.poissinger at gmail dot com 
2012-10-29 14:54:40 UTC ---

(In reply to comment #2)

 Adding an option just for cproto is definitely not a good idea, just fix 
 cproto

 instead.  

cproto use gcc via 'gcc -E' and is actually limit itself at grabbing func

signature.



 The right answer seems to be to create a directory of empty files

 with the names of the missing headers and point GCC to it with -I then cproto

 can proceed as normal, and generate replacements for the empty files.



Yes - but that smells like a complex task to overcome a change of

'functionality' that was there for decades in nearly every compiler :-)



 Refusing to compile when a header is missing is a huge improvement on the old

 behaviour.

Refuse to compile: Yes - I agree

Refuse to preproc: Seems a little bit harsh... and breaks stuffs actually


[Bug preprocessor/55115] [=4.5.0 regression] missing headers as fatal breaks cproto logic

2012-10-29 Thread pierre.poissinger at gmail dot com


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



--- Comment #7 from Pierre Poissinger pierre.poissinger at gmail dot com 
2012-10-29 14:59:51 UTC ---

(In reply to comment #4)

 That seems an odd way to generate missing declarations. Missing headers may

 lead to different code being compiled because of undefined macros, feature 
 test

 macros, pragmas, etc.

We don't compile... 

Prototyping only use the preproc result to retrieve function signatures.



When compilation do occurs - headers have been generated and all is fine...



 If the header is missing, then ignoring the error will produce exactly the 
 same

 result as commenting out the #include.

Yes - but that mean to hack around to bypass a good idea..



 Anyway, not a bug.

That's why I say regression (it is) and enhancement :-)


[Bug preprocessor/55115] [=4.5.0 regression] missing headers as fatal breaks cproto logic

2012-10-29 Thread pierre.poissinger at gmail dot com


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



--- Comment #8 from Pierre Poissinger pierre.poissinger at gmail dot com 
2012-10-29 15:03:14 UTC ---

(In reply to comment #5)

 Or even better, use libClang http://clang.llvm.org/docs/Tooling.html to do

 what you want instead of parsing GCC errors, which are likely to change in

 unexpected ways.



Did GCC team told me to go on clang side to fix my gcc issues ? :-D


[Bug preprocessor/55115] [=4.5.0 regression] missing headers as fatal breaks cproto logic

2012-10-29 Thread manu at gcc dot gnu.org

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

--- Comment #9 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-10-29 
15:13:33 UTC ---
(In reply to comment #8)
 (In reply to comment #5)
  Or even better, use libClang http://clang.llvm.org/docs/Tooling.html to do
  what you want instead of parsing GCC errors, which are likely to change in
  unexpected ways.
 
 Did GCC team told me to go on clang side to fix my gcc issues ? :-D

Just trying to help! :-D GCC is not really ready for this type of use. But you
can try to develop a gcc plugin: http://gcc.gnu.org/wiki/plugins, and
contribute to GCC any functionality missing for your plugin.

But I honestly think the workarounds Jonathan and I have proposed should be
more than enough to fix your problem.


[Bug debug/54971] SRA pessimizes debug info by not creating debug stmts for fields without replacements

2012-10-29 Thread rguenth at gcc dot gnu.org


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



--- Comment #14 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
15:19:53 UTC ---

I think it has something like that, but it only is effective if there is any

scalarization and the intermediate copies are turned into dead code this way.



I still think we should write aggregates only accessed whole (and

not address taken) into SSA form ;)


[Bug tree-optimization/55104] [4.8 Regression] ice in inline_call, at ipa-inline-transform.c:269

2012-10-29 Thread izamyatin at gmail dot com


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



Igor Zamyatin izamyatin at gmail dot com changed:



   What|Removed |Added



 CC||izamyatin at gmail dot com



--- Comment #1 from Igor Zamyatin izamyatin at gmail dot com 2012-10-29 
15:22:50 UTC ---

Caused by r192821


[Bug preprocessor/55115] [=4.5.0 regression] missing headers as fatal breaks cproto logic

2012-10-29 Thread pierre.poissinger at gmail dot com


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



--- Comment #10 from Pierre Poissinger pierre.poissinger at gmail dot com 
2012-10-29 15:24:04 UTC ---

No issues - made me smile :-)



I know there are way around, just first tried the upstream path to see if

there are any quick ways to ensure that we won't run into issues when we will

finally use a more recent gcc.



This was mostly due to thing in gcc doc that seems to indicate such problems

are not new, aka, deps gen have 'support' for generated header files.

(except that it's pretty useless for -E type of usage since it suppress preproc

out):



From

http://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html#Preprocessor-Options

-MG

In conjunction with an option such as -M requesting dependency generation, -MG

assumes missing header files are generated files and adds them to the

dependency list without raising an error. The dependency filename is taken

directly from the #include directive without prepending any path. -MG also

suppresses preprocessed output, as a missing header file renders this useless.

This feature is used in automatic updating of makefiles.


[Bug debug/54971] SRA pessimizes debug info by not creating debug stmts for fields without replacements

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


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



--- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-29 
15:25:36 UTC ---

The intermediate copies should be DSE-able, as shown when the #c14 testcases

are changed to have a resp. x on all RHSs.


[Bug lto/55118] New: Missed forward propagation of addresses

2012-10-29 Thread hubicka at gcc dot gnu.org


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



 Bug #: 55118

   Summary: Missed forward propagation of addresses

Classification: Unclassified

   Product: gcc

   Version: 4.7.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: lto

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

ReportedBy: hubi...@gcc.gnu.org





When compiling tramp3d we end up overestimating function bodies because many of

array accesses and C++ casts are split into multiple instructions. I.e.:



  _3 = expr_1(D)-left_m;

freq:1.00 size:  1 time:  1

Will be eliminated by inlining

Accounting size:1.00, time:1.00 on new predicate:(op0 changed)

 (not inlined)

  _5 = LeafFunctorFieldUniformRectilinearMeshMeshTraits3, double,

UniformRectilinearTag, CartesianTag, 3 , double, BrickView, EvalLeaf3

::apply (_3, f_4(D));

freq:1.00 size:  4 time: 13



here left_m is IMO the first field of the structure so _3 will compile to no

code and should have size 1.  But I do not see why it is not an function

argument.



Other common pattern is 

  _5 = MEM[(const struct Domain *)D.660972].D.123571.domain_m[i_4].D.118841;

freq:3.00 size:  1 time:  1

Accounting size:1.00, time:3.00 on predicate:(true)

  _6 = MEM[(struct Domain *)_1(D)].D.123571.domain_m[i_4].D.118841;

freq:3.00 size:  1 time:  1

Accounting size:1.00, time:3.00 on predicate:(true)

  _7 = MEM[(const Element_t[2] )_5];

freq:3.00 size:  1 time:  1

Accounting size:1.00, time:3.00 on predicate:(true)



where _5 can be folded into _7 computation.



it is easy to search for =  occurences in the dump and most of them are

foldable.



Honza


[Bug lto/55118] Missed forward propagation of addresses

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |ASSIGNED

   Last reconfirmed||2012-10-29

 Blocks|54776   |

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

   |gnu.org |

 Ever Confirmed|0   |1



--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
15:37:53 UTC ---

I will investigate what we can do.  I ripped out the old propagation stuff

because we miscompiled things.



The first case cannot be simplified without lowering expr_1(D)-left_m

to expr_1(D) which will cause issues with __builtin_object_size handling.



The 2nd case is because we cannot express dereferencing _5 with TBAA

type Element_t[2] when trying to inline-expand it's address.  That is,



MEM[(const Element_t[2] ) MEM[(const struct Domain

*)D.660972].D.123571.domain_m[i_4].D.118841 ];



does not simplify because of the variable-offset address.  The only case

we can simplify it is if D.118841 has type Element_t[2] but this is usually

not the case as far as I remember.



I'll still look into the details.


[Bug ada/55119] New: Ada.Directories only handles files under 2GB

2012-10-29 Thread simon at pushface dot org


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



 Bug #: 55119

   Summary: Ada.Directories only handles files under 2GB

Classification: Unclassified

   Product: gcc

   Version: 4.7.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: ada

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

ReportedBy: si...@pushface.org





In adaint.c, __gnat_stat_to_attr says



/* st_size may be 32 bits, or 64 bits which is converted to long. We

   don't return a useful value for files larger than 2 gigabytes in

   either case. */

attr-file_length = statbuf.st_size;  /* all systems */



where attr-file_length is a long.



This fails with large files on 64-bit filesystems (eg, Mac OS X).



I _think_ that a simple fix would be, in adaint.h, to define

file_attributes.file_length as a long long.


[Bug c++/55120] New: Inaccessible virtual base constructor does not prevent generation of default constructor

2012-10-29 Thread ndkrempel at gmail dot com


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



 Bug #: 55120

   Summary: Inaccessible virtual base constructor does not prevent

generation of default constructor

Classification: Unclassified

   Product: gcc

   Version: 4.7.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

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

ReportedBy: ndkrem...@gmail.com





The following code should fail to compile but does not:



struct V {};

struct B : private virtual V {};

struct D : B {};



int main() {

D d;

}



According to N3376 section 12.1 paragraph 5, the defaulted default constructor

for D should be defined as deleted, as the default constructor for the virtual

base V is inaccessible from D.


[Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM)

2012-10-29 Thread christophe.lyon at st dot com


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



 Bug #: 55121

   Summary: ICE in if-convertion with PGO (ARM)

Classification: Unclassified

   Product: gcc

   Version: unknown

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: gcov-profile

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

ReportedBy: christophe.l...@st.com





Created attachment 28555

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

patch 1



Hi,

 As discussed in 

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

 then

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

 there is an ICE when compiling SPEC2k's GAP bench with GCC for ARM using

profiling data.



My tests are based upon SVN rev #191819, with 4 patches (attached)

submitted by Matthew Gretton-Dann.



You can reproduce the ICE with:



$ /cc1 -fpreprocessed eval.i -quiet -dumpbase eval.c -march=armv7-a

-mtune=cortex-a9 -mthumb -mfpu=neon -mvectorize-with-neon-quad

-mfloat-abi=softfp -mtls-dialect=gnu -auxbase-strip eval.o -g -O3 -version

-fprofile-use=YYY -fno-common -o eval.s

eval.c: In function 'Ge':

eval.c:792:1: internal compiler error: in df_compact_blocks, at df-core.c:1570

 0x6917c1 df_compact_blocks()



/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf-hot-cold-pgo/gcc/df-core.c:1570

 0x62c3f6 compact_blocks()

 /work1/lyon/Work/ARM/Linaro/sources/gcc-fsf-hot-cold-pgo/gcc/cfg.c:165

 0x659b89 relink_block_chain(bool)



/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf-hot-cold-pgo/gcc/cfgrtl.c:3112

 0xeb7061 reorder_basic_blocks



/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf-hot-cold-pgo/gcc/bb-reorder.c:2172

 0xeb71b8 rest_of_handle_reorder_blocks

   

/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf-hot-cold-pgo/gcc/bb-reorder.c:2237





It could be that calls to merge_blocks() in merge_if_block() should be

guarded by e.g. can_merge_blocks_p (combo_bb, join_bb).



Adding this line before calling

   merge_blocks (combo_bb, join_bb);

makes the compilation succeed.



However, the resulting code is still not functional but that problem

may come from another module of the bench.



Also attached: eval.i and eval.gcda


[Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)

2012-10-29 Thread christophe.lyon at st dot com


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



--- Comment #1 from christophe.lyon at st dot com 2012-10-29 16:03:16 UTC ---

Created attachment 28556

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

patch2


[Bug fortran/55117] Programs fails to read namelist (contains derived types objects)

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


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



janus at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||wrong-code

 CC||janus at gcc dot gnu.org



--- Comment #3 from janus at gcc dot gnu.org 2012-10-29 16:03:22 UTC ---

I can confirm that I see the error with 4.3, 4.7 and trunk.



Slightly reduced test case:



***



IMPLICIT NONE



TYPE TC

  INTEGER :: E

END TYPE



TYPE TB

  TYPE(TC) :: C

  INTEGER :: D

END TYPE



INTEGER  :: A

TYPE(TB) :: B(1:10)



NAMELIST /N/ A, B



OPEN (4,FILE='NAMELIST')

READ (4,NML=N)



END 



***



N

  A=12,

  B(1)%D=4

/



***



What's funny is that the error e.g. depends on the presence of the component

'C', although it is not referenced in the namelist at all. Furthermore the

error only occurs if 'A' is also in the namelist.


[Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)

2012-10-29 Thread christophe.lyon at st dot com


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



--- Comment #2 from christophe.lyon at st dot com 2012-10-29 16:03:56 UTC ---

Created attachment 28557

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

patch3


[Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)

2012-10-29 Thread christophe.lyon at st dot com


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



--- Comment #3 from christophe.lyon at st dot com 2012-10-29 16:04:42 UTC ---

Created attachment 28558

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

patch4


[Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)

2012-10-29 Thread christophe.lyon at st dot com


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



--- Comment #4 from christophe.lyon at st dot com 2012-10-29 16:05:30 UTC ---

Created attachment 28559

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

pre-processed source


[Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)

2012-10-29 Thread christophe.lyon at st dot com


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



--- Comment #5 from christophe.lyon at st dot com 2012-10-29 16:06:24 UTC ---

Created attachment 28560

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

profiling data


[Bug c++/55120] Inaccessible virtual base constructor does not prevent generation of default constructor

2012-10-29 Thread ndkrempel at gmail dot com


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



--- Comment #1 from Nick Krempel ndkrempel at gmail dot com 2012-10-29 
16:08:49 UTC ---

Not so clear this is a bug, as the default constructor for D could be generated

in the following form:



struct D : B {

  D() : B(), ::V() {}

}



Note the reference to V via the global scope, which is essential for it to

compile.


[Bug fortran/53544] Derived-type components in namelist group declaration produces error

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


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



janus at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 CC||janus at gcc dot gnu.org

 Resolution||INVALID



--- Comment #3 from janus at gcc dot gnu.org 2012-10-29 16:10:17 UTC ---

(In reply to comment #2)

 I think that ct%a is a structure component and does not

 qualify as the name of a variable.



Right. Also our error message is not worse than that of other compilers, so I

think this can be closed as INVALID.


[Bug middle-end/55078] [4.8 Regression] FAIL: g++.dg/torture/pr46154.C

2012-10-29 Thread jamborm at gcc dot gnu.org


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



Martin Jambor jamborm at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jamborm at gcc dot gnu.org



--- Comment #5 from Martin Jambor jamborm at gcc dot gnu.org 2012-10-29 
16:15:14 UTC ---

I will have a look.


[Bug rtl-optimization/55122] New: ICE: maximum number of LRA constraint passes is achieved (15)

2012-10-29 Thread antoine.balestrat at gmail dot com

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

 Bug #: 55122
   Summary: ICE: maximum number of LRA constraint passes is
achieved (15)
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: antoine.balest...@gmail.com


Hello !
I'm using GCC 4.8.0 as of 20121029 (r192944) at -O3 and in 32 bit mode :

$ cat lra.c
int i, a;
unsigned long long b;

void f(void)
{
for(i = 0; i  15; i++)
b *= b;

b *= a ? 0 : b;
}

$ xgcc -w -O3 -m32 lra.c
lra.c: In function ‘f’:
lra.c:10:1: internal compiler error: Maximum number of LRA constraint passes is
achieved (15)

 }
 ^
0x8e59de lra_constraints(bool)
../../srcdir/gcc/lra-constraints.c:3264
0x8d6913 lra(_IO_FILE*)
../../srcdir/gcc/lra.c:2281
0x88c38a do_reload
../../srcdir/gcc/ira.c:4624
0x88c598 rest_of_handle_reload
../../srcdir/gcc/ira.c:4736
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.


[Bug middle-end/55116] [4.8 Regression] LRA failed to decompose ASHIFT

2012-10-29 Thread vmakarov at gcc dot gnu.org


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



--- Comment #2 from Vladimir Makarov vmakarov at gcc dot gnu.org 2012-10-29 
16:37:08 UTC ---

Author: vmakarov

Date: Mon Oct 29 16:36:57 2012

New Revision: 192949



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

Log:

2012-10-29  Vladimir Makarov  vmaka...@redhat.com



PR middle-end/55116

* rtlanal.c (strip_address_mutation): Add SUBREG case.





Modified:

trunk/gcc/ChangeLog

trunk/gcc/rtlanal.c


[Bug tree-optimization/55104] [4.8 Regression] ice in inline_call, at ipa-inline-transform.c:269

2012-10-29 Thread markus at trippelsdorf dot de


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



Markus Trippelsdorf markus at trippelsdorf dot de changed:



   What|Removed |Added



 CC||markus at trippelsdorf dot

   ||de



--- Comment #2 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-10-29 16:40:17 UTC ---

#include algorithm

#include vector

using std::vector;

bool gr(const vectorint a, const vectorint b)

{

  return a.size()  b.size();

}



void foo(vectorvectorint  p1)

{

  sort(p1.begin(), p1.end(), gr);

}


[Bug rtl-optimization/54850] [4.8 Regression] FAIL: gcc.c-torture/execute/20041113-1.c execution, -Os

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


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



David Edelsohn dje at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-29

 CC||dje at gcc dot gnu.org

 Ever Confirmed|0   |1



--- Comment #12 from David Edelsohn dje at gcc dot gnu.org 2012-10-29 
16:59:08 UTC ---

Confirmed.  What's the status of reviewing and committing the patch?


[Bug libstdc++/55123] New: [C++11] Construction of shared_ptrconst T from unique_ptrconst T fails

2012-10-29 Thread yegor.derevenets at gmail dot com

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

 Bug #: 55123
   Summary: [C++11] Construction of shared_ptrconst T from
unique_ptrconst T fails
Classification: Unclassified
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: yegor.dereven...@gmail.com


Hello,

construction of a shared_ptr from a unique_ptr to a const object seems not to
work, although it should. Preprocessed file is attached.

[yegor@tomato tmp]$ cat test.cpp
#include memory

void f() {
std::unique_ptrconst int y;
std::shared_ptrconst int x = std::move(y);
}


[yegor@tomato tmp]$ g++ -c -std=c++11 -save-temps test.cpp
In file included from
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/x86_64-unknown-linux-gnu/bits/c++allocator.h:34:0,
 from
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/allocator.h:48,
 from
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/memory:65,
 from test.cpp:1:
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ext/new_allocator.h:
In instantiation of ‘struct __gnu_cxx::new_allocatorconst int’:
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/allocator.h:89:11:
  required from ‘class std::allocatorconst int’
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/shared_ptr_base.h:329:14:
  required from ‘struct std::_Sp_counted_deleterconst int*,
std::default_deleteconst int, std::allocatorconst int,
(__gnu_cxx::_Lock_policy)2u::_My_Deleter’
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/shared_ptr_base.h:374:24:
  required from ‘class std::_Sp_counted_deleterconst int*,
std::default_deleteconst int, std::allocatorconst int,
(__gnu_cxx::_Lock_policy)2u’
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/shared_ptr_base.h:625:39:
  required from ‘static std::_Sp_counted_base_Lp*
std::__shared_count_Lp::_S_create_from_up(std::unique_ptr_Up, _Ep,
typename std::enable_if(! std::is_reference_Del::value)::type*) [with _Tp =
const int; _Del = std::default_deleteconst int; __gnu_cxx::_Lock_policy _Lp =
(__gnu_cxx::_Lock_policy)2u; typename std::enable_if(!
std::is_reference_Del::value)::type = void]’
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/shared_ptr_base.h:549:43:
  required from ‘std::__shared_count_Lp::__shared_count(std::unique_ptr_Up,
_Ep) [with _Tp = const int; _Del = std::default_deleteconst int;
__gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/shared_ptr_base.h:855:4:
  required from ‘std::__shared_ptr_Tp, _Lp::__shared_ptr(std::unique_ptr_Up,
_Ep) [with _Tp1 = const int; _Del = std::default_deleteconst int; _Tp =
const int; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/shared_ptr.h:259:36:
  required from ‘std::shared_ptr_Tp::shared_ptr(std::unique_ptr_Up, _Ep)
[with _Tp1 = const int; _Del = std::default_deleteconst int; _Tp = const
int]’
test.cpp:5:44:   required from here
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ext/new_allocator.h:83:7:
error: ‘const _Tp*
__gnu_cxx::new_allocator_Tp::address(__gnu_cxx::new_allocator_Tp::const_reference)
const [with _Tp = const int; __gnu_cxx::new_allocator_Tp::const_pointer =
const int*; __gnu_cxx::new_allocator_Tp::const_reference = const int]’
cannot be overloaded
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ext/new_allocator.h:79:7:
error: with ‘_Tp*
__gnu_cxx::new_allocator_Tp::address(__gnu_cxx::new_allocator_Tp::reference)
const [with _Tp = const int; __gnu_cxx::new_allocator_Tp::pointer = const
int*; __gnu_cxx::new_allocator_Tp::reference = const int]’


[yegor@tomato tmp]$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /build/src/gcc-4.7.2/configure --prefix=/usr --libdir=/usr/lib
--libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=https://bugs.archlinux.org/
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch
--enable-libstdcxx-time --enable-gnu-unique-object --enable-linker-build-id
--with-ppl --enable-cloog-backend=isl --disable-ppl-version-check
--disable-cloog-version-check --enable-lto --enable-gold --enable-ld=default
--enable-plugin --with-plugin-ld=ld.gold 

[Bug libstdc++/55123] [C++11] Construction of shared_ptrconst T from unique_ptrconst T fails

2012-10-29 Thread yegor.derevenets at gmail dot com


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



--- Comment #1 from Yegor Derevenets yegor.derevenets at gmail dot com 
2012-10-29 17:09:49 UTC ---

Created attachment 28561

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

Preprocessed test.cpp


[Bug debug/54402] [4.8 Regression] var-tracking does not scale

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


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

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

   |gnu.org |



--- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-29 
17:13:45 UTC ---

Created attachment 28562

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

gcc48-pr54402.patch



For the go1 testcases, the issue really is that with reload the large function

is not using frame pointer, while with LRA it is.

And with frame pointer, the issue is that because there is the stack check bb

before prologue (but, generally, any shrink wrapped function with the hfp

setting prologue not in succ of entry bb) and vt_initialize was trying to be

extra conservative, we wouldn't do the hfp to argp replacements, and ended up

with a VALUE (for hard frame pointer in one of the blocks) with 1173 locs,

mostly reverse_op of other values.



This patch fixes the particular issue by not requiring the fp setter to be in

the entry bb successor (and I've just in case added there a check that it

doesn't trigger on fp restore).



If we hit this kind of issue on some other testcase with a non-sp/hfp value,

I'd say what we could do is mark somehow what locs values are reverse ops, and

let functions like find_base_term or get_addr always ignore all reverse op

locations (perhaps if reverse ops were guaranteed to be always at the end of

the locs chain, find_base_term or get_addr could just stop on the first reverse

op location).  The question is how to do that, the structure contains just 3

pointers and thus there is no place to stick something on, perhaps there could

be some extra location chain entry with some magic value that would be ignored

or similar.


[Bug middle-end/55027] simplify vector multiplication by 1

2012-10-29 Thread glisse at gcc dot gnu.org


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



--- Comment #3 from Marc Glisse glisse at gcc dot gnu.org 2012-10-29 17:17:01 
UTC ---

Author: glisse

Date: Mon Oct 29 17:16:51 2012

New Revision: 192954



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

Log:

2012-10-29  Marc Glisse  marc.gli...@inria.fr



PR middle-end/55027



gcc/

* tree.c (real_zerop, real_onep, real_twop, real_minus_onep):

Handle VECTOR_CST.



testsuite/

* gcc.dg/pr55027.c: New testcase.





Added:

trunk/gcc/testsuite/gcc.dg/pr55027.c   (with props)

Modified:

trunk/gcc/ChangeLog

trunk/gcc/testsuite/ChangeLog

trunk/gcc/tree.c



Propchange: trunk/gcc/testsuite/gcc.dg/pr55027.c

('svn:eol-style' added)



Propchange: trunk/gcc/testsuite/gcc.dg/pr55027.c

('svn:keywords' added)


[Bug middle-end/55027] simplify vector multiplication by 1

2012-10-29 Thread glisse at gcc dot gnu.org


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



Marc Glisse glisse at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #4 from Marc Glisse glisse at gcc dot gnu.org 2012-10-29 17:20:37 
UTC ---

Fixed.

See this email for potential bugs introduced by this patch:

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


[Bug debug/54402] [4.8 Regression] var-tracking does not scale

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


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



--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-29 
17:24:15 UTC ---

Created attachment 28563

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

gcc48-pr54402-2.patch



Just for completeness, I'm attaching my earlier attempt to fix the

reflect/check compile time, but unfortunately that only gave speedup from

around 49minutes to 19minutes.  With the huge number of locs values before

gcc48-pr54402.patch

the problem was that find_base_term was extremely expensive, and not cached in

any way.  Once var-tracking finishes initialization, what is find_base_term of

some value shouldn't IMHO change.


[Bug c++/55120] Inaccessible virtual base constructor does not prevent generation of default constructor

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


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jason at gcc dot gnu.org



--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-29 
17:42:20 UTC ---

This is http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#7 which was

closed as NAD saying This is what was intended but I'm not sure what this

is.



Jason?


[Bug libstdc++/55123] [C++11] Construction of shared_ptrconst T from unique_ptrconst T fails

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


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |ASSIGNED

   Last reconfirmed||2012-10-29

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

   |gnu.org |

 Ever Confirmed|0   |1



--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-29 
18:06:39 UTC ---

This is basically the same problem as prevents std::vectorconst int, but

since using an allocator for that shared_ptr(unique_ptr) constructor is an

implementation detail and not required I suppose it should work.



The problem is that (unlike boost::shared_ptr) we don't have separate

_Sp_counted_deleter and _Sp_counted_deleter_with_allocator.


[Bug tree-optimization/55124] New: ICE in find_or_generate_expression, at tree-ssa-pre.c:2803

2012-10-29 Thread antoine.balestrat at gmail dot com

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

 Bug #: 55124
   Summary: ICE in find_or_generate_expression, at
tree-ssa-pre.c:2803
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: antoine.balest...@gmail.com


Using GCC 4.8.0 20121029 :

$ cat daexpr.c
int a, b;
long c;

void f2(void)
{
unsigned long k = 1;

foo(b ? k = 0 : 0);

b = ((c = b) ? (k ? : (c = 0)) : a) * c;
}

void f1(void)
{
f2();

a = b | c;
}

$ xgcc -O3 -w daexpr.c
daexpr.c: In function ‘f1’:
daexpr.c:13:6: internal compiler error: in find_or_generate_expression, at
tree-ssa-pre.c:2803
 void f1(void)
  ^
0xb86241 find_or_generate_expression
../../srcdir/gcc/tree-ssa-pre.c:2803
0xb863cb create_expression_by_pieces
../../srcdir/gcc/tree-ssa-pre.c:2862
0xb86201 find_or_generate_expression
../../srcdir/gcc/tree-ssa-pre.c:2800
0xb863cb create_expression_by_pieces
../../srcdir/gcc/tree-ssa-pre.c:2862
0xb86f2b insert_into_preds_of_block
../../srcdir/gcc/tree-ssa-pre.c:3097
0xb87de3 do_regular_insertion
../../srcdir/gcc/tree-ssa-pre.c:3387
0xb8859b insert_aux
../../srcdir/gcc/tree-ssa-pre.c:3601
0xb885fe insert_aux
../../srcdir/gcc/tree-ssa-pre.c:3611
0xb885fe insert_aux
../../srcdir/gcc/tree-ssa-pre.c:3611
0xb886d8 insert
../../srcdir/gcc/tree-ssa-pre.c:3634
0xb8bb49 do_pre
../../srcdir/gcc/tree-ssa-pre.c:4710
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.


[Bug tree-optimization/55124] ICE in find_or_generate_expression, at tree-ssa-pre.c:2803

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |ASSIGNED

   Last reconfirmed||2012-10-29

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

   |gnu.org |

 Ever Confirmed|0   |1



--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2012-10-29 
18:19:50 UTC ---

Mine.


[Bug rtl-optimization/55122] [4.8 Regression] ICE: maximum number of LRA constraint passes is achieved (15)

2012-10-29 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 CC||vmakarov at gcc dot gnu.org

   Target Milestone|--- |4.8.0

Summary|ICE: maximum number of LRA  |[4.8 Regression] ICE:

   |constraint passes is|maximum number of LRA

   |achieved (15)   |constraint passes is

   ||achieved (15)


[Bug libstdc++/55123] [C++11] Construction of shared_ptrconst T from unique_ptrconst T fails

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


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



--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-29 
18:23:58 UTC ---

Actually the fix is trivial, we never need allocator_Tp , so can just ensure

we never instantiate allocator_Tp, then it doesn't matter if _Tp is const.





--- bits/shared_ptr_base.h.orig 2012-10-29 18:22:44.904507722 +

+++ bits/shared_ptr_base.h  2012-10-29 18:22:46.654191961 +

@@ -622,7 +622,7 @@

_S_create_from_up(std::unique_ptr_Tp, _Del __r,

  typename std::enable_if!std::is_reference_Del::value::type* = 0)

{

- return new _Sp_counted_deleter_Tp*, _Del, std::allocator_Tp,

+ return new _Sp_counted_deleter_Tp*, _Del, std::allocatorvoid,

_Lp(__r.get(), __r.get_deleter());

}



@@ -633,7 +633,7 @@

{

  typedef typename std::remove_reference_Del::type _Del1;

  typedef std::reference_wrapper_Del1 _Del2;

- return new _Sp_counted_deleter_Tp*, _Del2, std::allocator_Tp,

+ return new _Sp_counted_deleter_Tp*, _Del2, std::allocatorvoid,

_Lp(__r.get(), std::ref(__r.get_deleter()));

}


[Bug libstdc++/55123] [C++11] Construction of shared_ptrconst T from unique_ptrconst T fails

2012-10-29 Thread yegor.derevenets at gmail dot com


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



--- Comment #4 from Yegor Derevenets yegor.derevenets at gmail dot com 
2012-10-29 18:35:45 UTC ---

Confirm, the patch works for me.


[Bug c/55125] New: declaration of the struct's array

2012-10-29 Thread hak1r at yahoo dot com

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

 Bug #: 55125
   Summary: declaration of the struct's array
Classification: Unclassified
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ha...@yahoo.com


Created attachment 28564
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28564
at the requests of workers :)

1. gcc version

hak1r@HPBM ~/Dropbox/progs $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object
--enable-plugin --enable-objc-gc --enable-targets=all --disable-werror
--with-arch-32=i686 --with-tune=generic --enable-checking=release
--build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 

2. system info

hak1r@HPBM ~/Dropbox/progs $ uname -a
Linux HPBM 3.2.0-32-generic #51-Ubuntu SMP Wed Sep 26 21:32:50 UTC 2012 i686
i686 i386 GNU/Linux

3. and my trick

hak1r@HPBM ~/Dropbox/progs $ gcc main.c 
main.c: In function ‘main’:
main.c:9:9: warning: initialization from incompatible pointer type [enabled by
default]
main.c:9:9: warning: (near initialization for ‘(anonymous)’) [enabled by
default]
main.c:9:9: warning: excess elements in scalar initializer [enabled by default]
main.c:9:9: warning: (near initialization for ‘(anonymous)’) [enabled by
default]
main.c:7:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.6/README.Bugs for instructions.
Preprocessed source stored into /tmp/ccUJNmU4.out file, please attach this to
your bugreport.

4. source file

main.c:
  1 #include stdlib.h
  2 
  3 int main(int argc, char **argv) {
  4 const struct {
  5 char foo;
  6 const char **bar;
  7 } baz[] = {
  8 { 'a', (const char **){ NULL } },
  9 { 'b', (const char **){ qux, NULL } }
 10 };
 11 return 0;
 12 }
 13


[Bug c++/55120] Inaccessible virtual base constructor does not prevent generation of default constructor

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

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

--- Comment #3 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-10-29 19:20:26 UTC ---
(In reply to comment #2)
 This is http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#7 which 
 was
 closed as NAD saying This is what was intended but I'm not sure what this
 is.

Not being Jason, but this one made curious: I think the this refers to In
short, it looks like a class with a virtual private base can't be derived
from.. I double-checked by contacting Mike who confirmed that There's no
special treatment for access in indirect virtual base classes


[Bug target/54805] __gthread* on VxWorks

2012-10-29 Thread rbmj at verizon dot net


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



--- Comment #1 from rbmj at verizon dot net 2012-10-29 19:22:09 UTC ---

Ping?



Robert Mason


[Bug tree-optimization/55006] [4.8 Regression] aermod.f90 is miscompiled with '-m64 -O2 -funroll-loops' after revision 192526

2012-10-29 Thread izamyatin at gmail dot com


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



Igor Zamyatin izamyatin at gmail dot com changed:



   What|Removed |Added



 CC||izamyatin at gmail dot com



--- Comment #3 from Igor Zamyatin izamyatin at gmail dot com 2012-10-29 
19:25:26 UTC ---

It's also can be seen for x86_64-unknown-linux-gnu. In particular, 447.dealII

fails with -O3 and -funroll-loops


[Bug debug/54693] VTA guality issues with loops

2012-10-29 Thread aoliva at gcc dot gnu.org


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



--- Comment #7 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-10-29 
19:26:21 UTC ---

Author: aoliva

Date: Mon Oct 29 19:26:16 2012

New Revision: 192957



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

Log:

PR debug/54693

* config/i386/i386.c (add_parameter_dependencies): Stop

backward scan at the insn before the incoming head.

(ix86_dependencies_evaluation_hook): Skip debug insns.  Stop

if first_arg is head.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/config/i386/i386.c


[Bug debug/54693] VTA guality issues with loops

2012-10-29 Thread aoliva at gcc dot gnu.org


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



--- Comment #8 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-10-29 
19:27:11 UTC ---

Author: aoliva

Date: Mon Oct 29 19:27:09 2012

New Revision: 192958



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

Log:

PR debug/54693

* loop-unroll.c (loop_exit_at_end_p): Skip debug insns.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/loop-unroll.c


[Bug debug/54551] DF resets some DEBUG_INSNs unnecessarily

2012-10-29 Thread aoliva at gcc dot gnu.org


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



--- Comment #7 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-10-29 
19:27:39 UTC ---

Author: aoliva

Date: Mon Oct 29 19:27:31 2012

New Revision: 192959



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

Log:

PR debug/54551

PR debug/54693

* valtrack.c (dead_debug_global_find): Accept NULL dtemp.

(dead_debug_global_insert): Return new entry.

(dead_debug_global_replace_temp): Return early if REG is no

longer in place, or if dtemp was already substituted.

(dead_debug_promote_uses): Insert for all defs and replace all

debug uses at once.

(dead_debug_local_finish): Release used after promotion.

(dead_debug_insert_temp): Stop if dtemp is NULL.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/valtrack.c


[Bug debug/54693] VTA guality issues with loops

2012-10-29 Thread aoliva at gcc dot gnu.org


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



--- Comment #9 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-10-29 
19:27:39 UTC ---

Author: aoliva

Date: Mon Oct 29 19:27:31 2012

New Revision: 192959



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

Log:

PR debug/54551

PR debug/54693

* valtrack.c (dead_debug_global_find): Accept NULL dtemp.

(dead_debug_global_insert): Return new entry.

(dead_debug_global_replace_temp): Return early if REG is no

longer in place, or if dtemp was already substituted.

(dead_debug_promote_uses): Insert for all defs and replace all

debug uses at once.

(dead_debug_local_finish): Release used after promotion.

(dead_debug_insert_temp): Stop if dtemp is NULL.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/valtrack.c


[Bug debug/54693] VTA guality issues with loops

2012-10-29 Thread aoliva at gcc dot gnu.org


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



--- Comment #10 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-10-29 
19:36:52 UTC ---

Author: aoliva

Date: Mon Oct 29 19:36:47 2012

New Revision: 192961



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

Log:

gcc/ChangeLog:

PR debug/54693

* tree-ssa-threadedge.c (thread_around_empty_block): Copy

debug temps from predecessor before threading.

gcc/testsuite/ChangeLog:

PR debug/54693

* gcc.dg/guality/pr54693.c: New.



Added:

trunk/gcc/testsuite/gcc.dg/guality/pr54693.c

Modified:

trunk/gcc/ChangeLog

trunk/gcc/testsuite/ChangeLog

trunk/gcc/tree-ssa-threadedge.c


[Bug debug/54693] VTA guality issues with loops

2012-10-29 Thread aoliva at gcc dot gnu.org


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



--- Comment #11 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-10-29 
19:37:31 UTC ---

Author: aoliva

Date: Mon Oct 29 19:37:25 2012

New Revision: 192962



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

Log:

PR debug/54693

* gcc/valtrack.c (dead_debug_insert_temp): Defer rescan of

newly-emitted debug insn.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/valtrack.c


[Bug c/55125] segfault when declaration of the struct's array

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


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



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-29 
19:41:01 UTC ---

Can't reproduce with gcc4.7/trunk.  BTW, to quash that warning, better write:

{ 'b', (const char *[]){ qux, NULL } }.


[Bug tree-optimization/55124] ICE in find_or_generate_expression, at tree-ssa-pre.c:2803

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


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



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 CC||mpolacek at gcc dot gnu.org



--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org 2012-10-29 
19:44:22 UTC ---

Started with http://gcc.gnu.org/viewcvs?view=revisionrevision=189321


[Bug lto/48427] ICE: tree check: expected array_type, have pointer_type in array_ref_low_bound, at expr.c:6253

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


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



Dmitry Gorbachev d.g.gorbachev at gmail dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||WORKSFORME



--- Comment #3 from Dmitry Gorbachev d.g.gorbachev at gmail dot com 
2012-10-29 19:47:23 UTC ---

Works with GCC 4.7/4.8.


[Bug debug/38226] Configure time option --with-stabs does not work

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


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



Dmitry Gorbachev d.g.gorbachev at gmail dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||WONTFIX

  Known to fail||



--- Comment #2 from Dmitry Gorbachev d.g.gorbachev at gmail dot com 
2012-10-29 19:49:43 UTC ---

No interest in this bug.


[Bug libstdc++/55123] [C++11] Construction of shared_ptrconst T from unique_ptrconst T fails

2012-10-29 Thread glisse at gcc dot gnu.org


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



--- Comment #5 from Marc Glisse glisse at gcc dot gnu.org 2012-10-29 19:50:59 
UTC ---

The standard doesn't say anything about it, but it would also be possible to

tweak one of the address overloads in allocator so there is no ambiguity when

both types are the same. No idea if that's desirable though, I haven't followed

the allocator work.


[Bug libstdc++/55126] New: Libstdc++-v3 fails to compile

2012-10-29 Thread rbmj at verizon dot net


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



 Bug #: 55126

   Summary: Libstdc++-v3 fails to compile

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: libstdc++

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

ReportedBy: r...@verizon.net





Hello everyone,



libstdc++-v3 fails to compile, with the following error message:



In file included from

../../../../../gcc/libstdc++-v3/src/c++98/complex_io.cc:25:0:

/home/rbmj/build/powerpc-wrs-vxworks/libstdc++-v3/include/complex: In function

'std::basic_ostream_CharT, _Traits

std::operator(std::basic_ostream_CharT, _Traits, const std::complex_Tp)

[with _Tp = float; _CharT = char; _Traits = std::char_traitschar]':

/home/rbmj/build/powerpc-wrs-vxworks/libstdc++-v3/include/complex:529:5:

internal compiler error: Segmentation fault

 }

 ^

0xa582bf crash_signal

../../gcc/gcc/toplev.c:333

0xa43264 emit_case_dispatch_table

../../gcc/gcc/stmt.c:1919

0xa4a219 expand_sjlj_dispatch_table(rtx_def*, vec_ttree_node**)

../../gcc/gcc/stmt.c:2292

0x81bde9 sjlj_emit_dispatch_table

../../gcc/gcc/except.c:1363

0x81bde9 sjlj_build_landing_pads

../../gcc/gcc/except.c:1420

0x81bde9 finish_eh_generation()

../../gcc/gcc/except.c:1454

0x784ef6 gimple_expand_cfg

../../gcc/gcc/cfgexpand.c:4600

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[5]: *** [complex_io.lo] Error 1



This is a regression, as it successfully compiled with revision 191596, but

with 192956 has the above error message.



I wasn't sure whether to file this under libstdc++ or the c++ front end.



Build configuration:



../gcc/configure  --prefix=/usr  --target=powerpc-wrs-vxworks  

   --with-gnu-as  --with-gnu-ld  --with-headers 

--disable-shared  --disable-libssp  --disable-multilib 

--with-float=hard  --enable-languages=c,c++  --enable-libstdcxx

 --enable-threads=vxworks  --without-gconv 

--disable-libgomp  --disable-nls  --disable-libmudflap 

--with-cpu-PPC603  --disable-symvers


[Bug c++/55127] New: [4.8 regression] Incorrect dependent scope error with partial specialisation of non-type parameter

2012-10-29 Thread gccbugs at qo dot cx


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



 Bug #: 55127

   Summary: [4.8 regression] Incorrect dependent scope error

with partial specialisation of non-type parameter

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

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

ReportedBy: gccb...@qo.cx





The current GCC snapshot in Debian unstable seems to reject valid code (mininal

test case attached).



In a template function context, accessing a nested type of a template

instantiation of an unrelated(!) template class may be flagged as requiring a

'typename' for being a dependent scope.



AFAICS, it only happens in case of the instantiated template being partially

specialised for a non-type template parameter, like bool here:



struct some_class

{

  static const bool is_valid_type = true;

};



template typename Type

, bool Valid = Type::is_valid_type 

struct wrapper;



template typename Type 

struct wrapper Type, true  { ... };



template typename T 

int fun()

{

  wrapper some_class ::type x; // fails w/ 4.8.0

}



$ g++-snapshot -c  -o typename-bug.o typename-bug.cpp



typename-bug.cpp: In function 'void fun()':

typename-bug.cpp:29:3: error: need 'typename' before

'wrappersome_class::type' because 'wrappersome_class' is a dependent scope

   wrappersome_class::type x;

   ^

typename-bug.cpp:29:29: error: expected ';' before 'x'

   wrappersome_class::type x;

 ^

typename-bug.cpp: In instantiation of 'void fun() [with T = int]':

typename-bug.cpp:34:12:   required from here

typename-bug.cpp:29:3: error: dependent-name 'wrappersome_class::type' is

parsed as a non-type, but instantiation yields a type

   wrappersome_class::type x;

   ^

typename-bug.cpp:29:3: note: say 'typename wrappersome_class::type' if a type

is meant



A possible workaround is to partially specialise via a type parameter (as shown

in the attached file with WORKAROUND being defined).



The failing GCC version reports:



Using built-in specs.

COLLECT_GCC=g++-snapshot

COLLECT_LTO_WRAPPER=/usr/lib/gcc-snapshot/libexec/gcc/i486-linux-gnu/4.8.0/lto-wrapper

Target: i486-linux-gnu

Configured with: ../src/configure -v --with-pkgversion='Debian 20121008-1'

--with-bugurl=file:///usr/share/doc/gcc-snapshot/README.Bugs

--enable-languages=c,ada,c++,java,go,fortran,objc,obj-c++

--prefix=/usr/lib/gcc-snapshot --enable-shared --enable-linker-build-id

--with-system-zlib --disable-nls --with-sysroot=/ --enable-clocale=gnu

--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object

--enable-plugin --disable-browser-plugin --enable-java-awt=gtk

--enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-snap/jre

--enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-snap

--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-snap

--with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar

--enable-objc-gc --enable-targets=all --with-arch-32=i586 --with-tune=generic

--disable-werror --enable-checking=yes --build=i486-linux-gnu

--host=i486-linux-gnu --target=i486-linux-gnu

Thread model: posix

gcc version 4.8.0 20121008 (experimental) [trunk revision 192192] (Debian

20121008-1) 



Code is accepted by all other GCC variants in Debian testing/unstable:



Using built-in specs.

Target: i486-linux-gnu

Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.7-3'

--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs

--enable-languages=c,c++,fortran --prefix=/usr --program-suffix=-4.4

--enable-shared --enable-linker-build-id --with-system-zlib

--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix

--with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls

--enable-clocale=gnu --enable-libstdcxx-debug --enable-targets=all

--with-arch-32=i586 --with-tune=generic --enable-checking=release

--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu

Thread model: posix

gcc version 4.4.7 (Debian 4.4.7-3) 



Using built-in specs.

COLLECT_GCC=g++-4.6

COLLECT_LTO_WRAPPER=/usr/lib/gcc/i486-linux-gnu/4.6/lto-wrapper

Target: i486-linux-gnu

Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-12'

--with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs

--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr

--program-suffix=-4.6 --enable-shared --enable-linker-build-id

--with-system-zlib --libexecdir=/usr/lib --without-included-gettext

--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6

--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu

--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object

--enable-plugin --enable-objc-gc --enable-targets=all --with-arch-32=i586


[Bug c++/55127] [4.8 regression] Incorrect dependent scope error with partial specialisation of non-type parameter

2012-10-29 Thread gccbugs at qo dot cx


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



--- Comment #1 from Philipp A. Hartmann gccbugs at qo dot cx 2012-10-29 
20:17:32 UTC ---

Created attachment 28565

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

minimal test-case (and workaround)



Without WORKAROUND being defined, GCC 4.8 fails with the mentioned error

message.  Otherwise with WORKAROUD defined all tested versions accept the code.


[Bug c/53066] Wshadow should not warn for shadowing an extern function

2012-10-29 Thread manu at gcc dot gnu.org

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

--- Comment #2 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-10-29 
20:17:34 UTC ---
Author: manu
Date: Mon Oct 29 20:17:23 2012
New Revision: 192963

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=192963
Log:
2012-10-29  Manuel López-Ibáñez  m...@gcc.gnu.org

PR c/53066
c/
* c-decl.c (warn_if_shadowing): Do not warn if a variable
shadows a function, unless the variable is a function or a
pointer-to-function.
gcc/
* tree.h (FUNCTION_POINTER_TYPE_P): New.
testsuite/
* gcc.dg/Wshadow-4.c: New.
* gcc.dg/Wshadow-4.h: New.


Added:
trunk/gcc/testsuite/gcc.dg/Wshadow-4.c
trunk/gcc/testsuite/gcc.dg/Wshadow-4.h
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-decl.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree.h


[Bug c/53066] Wshadow should not warn for shadowing an extern function

2012-10-29 Thread manu at gcc dot gnu.org

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

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

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.8.0

--- Comment #3 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-10-29 
20:20:15 UTC ---
FIXED in GCC 4.8


[Bug libstdc++/55123] [C++11] Construction of shared_ptrconst T from unique_ptrconst T fails

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


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



--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-29 
20:32:41 UTC ---

I've previously considered removing the address(const_reference) overload when

is_samereference,const_reference, but doing so would not help most code (e.g.

std::vector) work with user-defined allocators that haven't made the same

(not-required-by-the-standard) change.  That wouldn't be a problem for this

specific bug, as shared_ptr explicitly uses std::allocator in the relevant

code, but I'd rather just use allocatorvoid instead of allocator_Tp anyway.



Feel free to open an issue (either here or the LWG) suggesting a change to

std::allocator ... but I'm juggling too many other things to do that change

without a PR or DR to force me to do it :)


[Bug c++/55126] Libstdc++-v3 fails to compile

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


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



  Component|libstdc++   |c++



--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-29 
20:35:52 UTC ---

if the C++ front-end segfaults it's a front-end bug (or maybe target)


[Bug middle-end/54386] Unaligned mem load wrongly generated for inlined inline/static function

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


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



Oleg Endo olegendo at gcc dot gnu.org changed:



   What|Removed |Added



 Target|sh*-*-* |sh*-*-* arm*

 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-29

 Ever Confirmed|0   |1



--- Comment #3 from Oleg Endo olegendo at gcc dot gnu.org 2012-10-29 20:38:08 
UTC ---

I've checked this issue again on rev 192482.  It seems to be target

independent, as it also happens on ARM.

The following:



static inline int readint (int* x)

{

  return *x;

}



int test (int* x)

{

  return readint (x);

}



compiles to (-O2):



test:

ldrbr3, [r0]

ldrbr1, [r0, #1]

ldrbr2, [r0, #2]

orrr3, r3, r1, asl #8

ldrbr0, [r0, #3]

orrr3, r3, r2, asl #16

orrr0, r3, r0, asl #24

bxlr


[Bug c++/55128] New: auto changes storage from .data to .rodata

2012-10-29 Thread ricilake at gmail dot com


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



 Bug #: 55128

   Summary: auto changes storage from .data to .rodata

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

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

ReportedBy: ricil...@gmail.com





This is probably related to #49673 (as in, it's probably a case which was not

fixed by the fix to that bug.) I noticed it while mucking about with

compile-time array generation.



In this little extract, a and b are identical, except that b is automatically

typed. I can't see any reason why the type wouldn't be exactly the same as a's,

and the DWARF debugging information shows them as having the same type.

However, a ends up in .rodata (expected) and b in .data (unexpected). I have a

stronger expectation which is that both would be in the same section, but I'm

pretty sure that .rodata is correct.



code:



#include array



constexpr std::arraydouble, 1 makearray(double d) {

  return std::arraydouble, 1{{d}};

}



extern const std::arraydouble, 1 a = makearray(1);

extern const auto b = makearray(1);





General ASM with -O3 -S:



.file   auto1.cc

.globl  b

.data

.align 8

.type   b, @object

.size   b, 8

b:

.long   0

.long   1072693248

.globl  a

.section.rodata

.align 8

.type   a, @object

.size   a, 8

a:

.long   0

.long   1072693248

.ident  GCC: (Ubuntu/Linaro 4.7.2-4precise1) 4.7.2

.section.note.GNU-stack,,@progbits


[Bug regression/55129] New: removal of gcc-core tarballs leads to huge extraction times

2012-10-29 Thread lxllol at yopmail dot com


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



 Bug #: 55129

   Summary: removal of gcc-core tarballs leads to huge extraction

times

Classification: Unclassified

   Product: gcc

   Version: 4.7.0

Status: UNCONFIRMED

  Severity: major

  Priority: P3

 Component: regression

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

ReportedBy: lxl...@yopmail.com





now that gcc-core and all other tarballs are merged into a single, huge 83 MB

bzip2 tarball, i waste serious time whenever i rebuild my linux distro in qemu.



unpacking the official .bz2 tarball on qemu/mips takes nearly 2 hours (!)



since it is unlikely that i could convince you to go back to the former

distribution strategy, i suggest shipping the tarballs additionally in .xz

format, which is 3-4 times faster to extract.



i compared speeds of the official gcc 4.7.0 bzip2 tarballs vs a .xz version i

made out of the former.



/dev/shm $ cp ~/Downloads/gcc-4.7.2.tar.bz2 .

/dev/shm $ time tar xf gcc-4.7.2.tar.bz2 



real0m19.381s

user0m18.866s

sys 0m2.616s

/dev/shm $ tar cJf gcc-4.7.2.tar.xz gcc-4.7.2

/dev/shm $ la gcc-4.7.2.tar.xz

-rw-r--r-- 1 roger users 66696632 Oct 29 21:50 gcc-4.7.2.tar.xz

/dev/shm $ la gcc-4.7.2.tar.bz2 

-rw-r--r-- 1 roger users 82884636 Oct 29 21:44 gcc-4.7.2.tar.bz2

/dev/shm $ rm -rf gcc-4.7.2

/dev/shm $ time tar xf gcc-4.7.2.tar.xz 



real0m7.410s

user0m7.225s

sys 0m1.695s



even on this high-end 3.1Ghz system the .xz version is 3 times faster.





since the tarball is also a good bit smaller (66 vs 82 MB, could be further

reduced by using higher compression options), i strongly suggest adding .xz to

the official releases, to accommodate for the heavily increased tarball sizes.


[Bug regression/55129] removal of gcc-core tarballs leads to huge extraction times

2012-10-29 Thread lxllol at yopmail dot com


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



--- Comment #1 from Roger Meyer lxllol at yopmail dot com 2012-10-29 21:19:32 
UTC ---

before you suggest using the .tar.gz instead:

that one is 100 MB and increases download times and needed storage space

significantly.



.xz is the best of both world, fast extraction speeds and small tarballs.


[Bug libstdc++/55123] [C++11] Construction of shared_ptrconst T from unique_ptrconst T fails

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


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



--- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-29 
21:49:31 UTC ---

Author: redi

Date: Mon Oct 29 21:49:19 2012

New Revision: 192964



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

Log:

PR libstdc++/55123

* include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):

Do not instantiate allocator with element_type.

* testsuite/20_util/shared_ptr/cons/55123.cc: New.



Added:

trunk/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc

Modified:

trunk/libstdc++-v3/ChangeLog

trunk/libstdc++-v3/include/bits/shared_ptr_base.h


[Bug regression/55129] removal of gcc-core tarballs leads to huge extraction times

2012-10-29 Thread manu at gcc dot gnu.org

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

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

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #2 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-10-29 
21:56:01 UTC ---
(In reply to comment #1)
 before you suggest using the .tar.gz instead:
 that one is 100 MB and increases download times and needed storage space
 significantly.
 
 .xz is the best of both world, fast extraction speeds and small tarballs.

I think this has been suggested already, and the people in charge were not
opposed to the idea. But... someone needs to step up, and offer themselves to
update all the relevant scripts. Best place to offer your help is
g...@gcc.gnu.org (use a clear subject line, so the people in charge will
actually read your email).


[Bug libstdc++/55123] [C++11] Construction of shared_ptrconst T from unique_ptrconst T fails

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


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



--- Comment #8 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-29 
21:56:25 UTC ---

Author: redi

Date: Mon Oct 29 21:56:12 2012

New Revision: 192965



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

Log:

PR libstdc++/55123

* include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):

Do not instantiate allocator with element_type.

* testsuite/20_util/shared_ptr/cons/55123.cc: New.



Added:

   

branches/gcc-4_7-branch/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc

Modified:

branches/gcc-4_7-branch/libstdc++-v3/ChangeLog

branches/gcc-4_7-branch/libstdc++-v3/include/bits/shared_ptr_base.h


  1   2   >