[Bug c++/50504] New: g++ 4.5.2 -O2 with complex produces incorrect code on AMD64

2011-09-24 Thread casubbu at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50504

 Bug #: 50504
   Summary: g++ 4.5.2 -O2 with complex produces incorrect
code on AMD64
Classification: Unclassified
   Product: gcc
   Version: 4.5.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: casu...@yahoo.com


Created attachment 25353
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25353
g++ -O2 main.cpp, and ./a.out should not produce all zero outputs. The correct
outputs are when compiled without -O2 option

A simple program attached that just delays complex inputs (in a rather
complicated manner is a simple version of the bug) when compiled with -O2 using
g++ 4.5.2 on Ubuntu 11.04 produces incorrect outputs. The same code works fine
without -O2 option. Also Works correctly with g++-4.4 -O2 as well.

Compiler details:
OLLECT_GCC=g++-4.5
COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.5 --enable-shared --enable-multiarch
--with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu
--without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu
--enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default
--with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu


[Bug tree-optimization/46309] optimization a==3||a==1

2011-09-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46309

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org
  Component|c++ |tree-optimization

--- Comment #4 from Jakub Jelinek  2011-09-24 
08:36:27 UTC ---
With s/bool/int/ we generate identical code for both, without jumps.
Anyway, more important is that we don't seem to optimize the
x == CST1 || x == CST2 where __builtin_popcount (CST1 ^ CST2) == 1
in fold-const.c and don't even optimize range tests if the constants alternate
and, more importantly, don't seem to do anything similar to fold_range_test at
the GIMPLE level.

int
f1 (int a, int b)
{
  int v1 = (a == 3);
  int v2 = (a == 1);
  int v3 = (a == 4);
  int v4 = (a == 2);
  return v1 || v2 || v3 || v4;
}

int
f2 (int a, int b)
{
  int v1 = (a == 1);
  int v2 = (a == 2);
  int v3 = (a == 3);
  int v4 = (a == 4);
  return v1 || v2 || v3 || v4;
}

int
f3 (int a, int b)
{
  int v1 = (a == 3);
  int v2 = (a == 1);
  return v1 || v2;
}

int
f4 (int a, int b)
{
  int v1 = (a == 1);
  int v2 = (a == 2);
  return v1 || v2;
}

int
f5 (int a, int b)
{
  return a == 3 || a == 1 || a == 4 || a == 2;
}

int
f6 (int a, int b)
{
  return a == 1 || a == 2 || a == 3 || a == 4;
}

int
f7 (int a, int b)
{
  return a == 3 || a == 1;
}

int
f8 (int a, int b)
{
  return a == 1 || a == 2;
}

int
f9 (int a, int b)
{
  return a == 3 || a == 1 || a == 2 || a == 4;
}


[Bug c++/44267] SFINAE does not handle down static_cast over virtual inheritance

2011-09-24 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44267

--- Comment #6 from paolo at gcc dot gnu.org  
2011-09-24 09:55:06 UTC ---
Author: paolo
Date: Sat Sep 24 09:55:01 2011
New Revision: 179141

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179141
Log:
/cp
2011-09-24  Paolo Carlini  

PR c++/44267
* class.c (build_base_path): Add a tsubst_flags_t parameter.
(convert_to_base): Adjust call.
* typeck.c (build_class_member_access_expr,
get_member_function_from_ptrfunc, build_static_cast_1): Likewise.
* init.c (dfs_initialize_vtbl_ptrs, emit_mem_initializers): Likewise.
* method.c (do_build_copy_constructor, do_build_copy_assign): Likewise.
* rtti.c (build_dynamic_cast_1): Likewise.
* typeck2.c (build_scoped_ref, build_m_component_ref): Likewise.
* call.c (build_over_call, build_special_member_call): Likewise.
* cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
build_up_reference): Likewise.
* cp-tree.h (build_base_path): Adjust declaration.

/testsuite
2011-09-24  Paolo Carlini  

PR c++/44267
* g++.dg/template/sfinae28.C: New.

Added:
trunk/gcc/testsuite/g++.dg/template/sfinae28.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/cvt.c
trunk/gcc/cp/init.c
trunk/gcc/cp/method.c
trunk/gcc/cp/rtti.c
trunk/gcc/cp/typeck.c
trunk/gcc/cp/typeck2.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/44267] SFINAE does not handle down static_cast over virtual inheritance

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44267

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #7 from Paolo Carlini  2011-09-24 
09:56:45 UTC ---
Fixed for 4.7.0.


[Bug c++/50504] g++ 4.5.2 -O2 with complex produces incorrect code on AMD64

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50504

--- Comment #1 from Paolo Carlini  2011-09-24 
10:05:08 UTC ---
I haven't really looked into the code, but both gcc4.6.x and mainline seem
fine. Thus in case would be a regression from 4.4.x present only in 4.5.x:
unless the fix is a relatively straightforward backport...


[Bug c++/40831] g++ generated symbols for cloned function that be demangled.

2011-09-24 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40831

--- Comment #13 from Dmitry Gorbachev  
2011-09-24 10:39:28 UTC ---
Thanks!

It would be nice to fix it in binutils and in gdb as well.


[Bug target/50505] New: gcc-4.6.1 doesn't use "-mtune=k8-sse3" when using "-march=native"

2011-09-24 Thread pacho at condmat1 dot ciencias.uniovi.es
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50505

 Bug #: 50505
   Summary: gcc-4.6.1 doesn't use "-mtune=k8-sse3" when using
"-march=native"
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: pa...@condmat1.ciencias.uniovi.es


This is not a regression over gcc-4.4, but I don't understand why it doesn't
tune for k8-sse3 even if my processor has sse3 support and it's detected for
-march:

\_ /usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.3/cc1 -quiet - -D_FORTIFY_SOURCE=2
-march=k8-sse3 -msahf --param l1-cache-size=64 --param l1-cache-line-size=64
--param l2-cache-size=512 -mtune=k8 -quiet -dumpbase - -auxbase-strip /dev/null
-o /tmp/ccm0bSsZ.s

If I don't misremember, this is a Venice:
http://en.wikipedia.org/wiki/Athlon_64#Venice_.2890.C2.A0nm_SOI.29

$ cat /proc/cpuinfo 
processor: 0
vendor_id: AuthenticAMD
cpu family: 15
model: 47
model name: AMD Athlon(tm) 64 Processor 3200+
stepping: 0
cpu MHz: 2042.838
cache size: 512 KB
fpu: yes
fpu_exception: yes
cpuid level: 1
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext
3dnow rep_good nopl pni lahf_lm
bogomips: 4085.67
TLB size: 1024 4K pages
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

Downstream closed bug as INVALID because:
"Probably because you don't "tune" for an instruction set.  It doesn't make
sense.  -mtune controls things like scheduling behavior, prefetching, branch
costs, etc.  These don't change when you tack on SSE3 instructions.  -march is
what controls which instructions sets are used.  As far as tuning is concerned
k8 and k8-sse3 are the exact same thing, because gcc has one cost model (struct
processor_costs k8_cost in gcc/config/i386.c) and machine model (m_K8 in same)
it uses for all K8 family chips."

-> https://bugs.gentoo.org/show_bug.cgi?id=384189#c5

But, if that is true, gcc man page should be fixed to drop "k8-sse3" from
-mtune options

Thanks a lot for clarifying this :-)


[Bug target/50505] gcc-4.6.1 doesn't use "-mtune=k8-sse3" when using "-march=native"

2011-09-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50505

--- Comment #1 from Jonathan Wakely  2011-09-24 
12:35:02 UTC ---
(In reply to comment #0)
> But, if that is true, gcc man page should be fixed to drop "k8-sse3" from
> -mtune options

No, because it's a valid option.

Since -march=k8 and -march-k8-sse3 do not do that same thing, it belongs in the
manual as a supported arch.

What the downstream reply says is that there's no difference between -mtune=k8
and -mtune=k8-sse3, so it doesn't matter that gcc uses -mtune=k8, you get the
same result.

If -mtune=k8 and -mtune=k8-sse3 do the same thing, why do you care which is
used?


[Bug c/50506] New: gcc fails at assembly with -O1 while inlining is forced

2011-09-24 Thread galtgendo at o2 dot pl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50506

 Bug #: 50506
   Summary: gcc fails at assembly with -O1 while inlining is
forced
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: galtge...@o2.pl


Created attachment 25354
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25354
preprocesed code

This bug simply separates the latest comments of bug 39333 for better
visibility.

Using built-in specs.
COLLECT_GCC=gcc-4.6.1
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-linux-gnu/4.6.1/lto-wrapper
Target: i686-pc-linux-gnu
Configured with:
/mnt/workbox/builds/portage/sys-devel/gcc-4.6.1-r1/work/gcc-4.6.1/configure
--prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.6.1
--includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.6.1/include
--datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.6.1
--mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.6.1/man
--infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.6.1/info
--with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.6.1/include/g++-v4
--host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec
--disable-fixed-point --with-ppl --with-cloog --disable-ppl-version-check
--with-cloog-include=/usr/include/cloog-ppl --enable-lto --enable-nls
--without-included-gettext --with-system-zlib --disable-werror
--enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp
--enable-libgomp
--with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.6.1/python
--enable-checking=release --disable-libgcj --with-arch=i686 --enable-objc-gc
--enable-languages=c,c++,objc,fortran --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.6.1-r1 p1.0,
pie-0.4.5' --disable-libstdcxx-pch
Thread model: posix
gcc version 4.6.1 (Gentoo 4.6.1-r1 p1.0, pie-0.4.5) 
COLLECT_GCC_OPTIONS='-v' '-Wall' '-O1' '-c' '-o' 'fprintf-bug-code-4.6.o'
'-save-temps' '-mtune=generic' '-march=i686'
 /usr/libexec/gcc/i686-pc-linux-gnu/4.6.1/cc1 -fpreprocessed
fprintf-bug-code-4.6.i
-quiet -dumpbase fprintf-bug-code-4.6.i -mtune=generic -march=i686
-auxbase-strip
fprintf-bug-code-4.6.o -O1 -Wall -version -o fprintf-bug-code-4.6.s
GNU C (Gentoo 4.6.1-r1 p1.0, pie-0.4.5) version 4.6.1 (i686-pc-linux-gnu)
compiled by GNU C version 4.6.1, GMP version 5.0.2, MPFR version 3.0.1-p4,
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (Gentoo 4.6.1-r1 p1.0, pie-0.4.5) version 4.6.1 (i686-pc-linux-gnu)
compiled by GNU C version 4.6.1, GMP version 5.0.2, MPFR version 3.0.1-p4,
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 5f6717c7397ac8a626933ce7eb52
fprintf-bug-code-4.6.i: In function ‘write_cfg’:
fprintf-bug-code-4.6.i:71:1: sorry, unimplemented: inlining failed in call to
‘fprintf’: indirect function call with a yet undetermined callee
fprintf-bug-code-4.6.i:78:7: sorry, unimplemented: called from here

The code builds fine is either -fipa-cp is added or '__attribute__
((__always_inline__))' is removed.


[Bug c/50506] gcc fails at assembly with -O1 while inlining is forced

2011-09-24 Thread galtgendo at o2 dot pl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50506

Rafał Mużyło  changed:

   What|Removed |Added

  Attachment #25354|0   |1
is obsolete||

--- Comment #1 from Rafał Mużyło  2011-09-24 13:05:00 
UTC ---
Created attachment 25355
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25355
reduced testcase

Sorry, that's full preprocessed code - attaching reduced version.


[Bug c/50506] gcc fails at assembly with -O1 while inlining is forced

2011-09-24 Thread galtgendo at o2 dot pl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50506

Rafał Mużyło  changed:

   What|Removed |Added

  Attachment #25355|0   |1
is obsolete||

--- Comment #2 from Rafał Mużyło  2011-09-24 13:07:45 
UTC ---
Created attachment 25356
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25356
the really reduced testcase

I should really check what I'm attaching.
This is the result of final reduction.


[Bug target/49069] ICE in gen_cstoredi4, at config/arm/arm.md:7554

2011-09-24 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49069

Mikael Pettersson  changed:

   What|Removed |Added

 CC||mikpe at it dot uu.se

--- Comment #3 from Mikael Pettersson  2011-09-24 
13:17:36 UTC ---
This still ICEs gcc-4.6-20110923, but stopped ICEing trunk with the
tree-ssa-forwprop optimization improvement in r174428:

http://gcc.gnu.org/ml/gcc-cvs/2011-05/msg01209.html

However the underlying issue remains.  The ARM cstoredi4 expander has a very
loose operand match spec which allows both operands to be constants, but that
case doesn't work(*), so it has a gcc_assert () to cause an error in that case.
But asserting is wrong: it should either use stricter operand specs to avoid
undesirable operand combinations, or FAIL the expander for such operands.

Replacing the assert with a FAIL on the negated condition seem appropriate and
fixes this test case for me.

[(*) Simply removing the gcc_assert in 4.6.1 leads to

pr49069.i: In function 'foo':
pr49069.i:26:1: error: unrecognizable insn:
(insn 8 7 9 3 (set (reg:CC 24 cc)
(compare:CC (const_int 0 [0])
(const_int 1 [0x1]))) pr49069.i:23 -1
 (nil))
pr49069.i:26:1: internal compiler error: in extract_insn, at recog.c:2109]


[Bug c/50506] gcc fails at assembly with -O1 while inlining is forced

2011-09-24 Thread galtgendo at o2 dot pl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50506

--- Comment #3 from Rafał Mużyło  2011-09-24 13:17:59 
UTC ---
OK, that's a bit surprising, -fipa-cp does help for attachment from comment 1,
but not for my final reduction - removing the attribute still works there,
though.


[Bug c/50506] gcc fails at assembly with -O1 while inlining is forced

2011-09-24 Thread galtgendo at o2 dot pl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50506

--- Comment #4 from Rafał Mużyło  2011-09-24 13:38:47 
UTC ---
Well,...
The actual result was quite a bit more interesting, cause:
Using built-in specs.
COLLECT_GCC=/usr/i686-pc-linux-gnu/gcc-bin/4.5.3/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-linux-gnu/4.5.3/lto-wrapper
Target: i686-pc-linux-gnu
Configured with:
/mnt/workbox/builds/portage/sys-devel/gcc-4.5.3-r1/work/gcc-4.5.3/configure
--prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.5.3
--includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.5.3/include
--datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.3
--mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.3/man
--infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.3/info
--with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.5.3/include/g++-v4
--host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec
--disable-fixed-point --with-ppl --with-cloog --disable-ppl-version-check
--with-cloog-include=/usr/include/cloog-ppl --enable-lto --enable-nls
--without-included-gettext --with-system-zlib --disable-werror
--enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp
--enable-libgomp
--with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.5.3/python
--enable-checking=release --disable-libgcj --with-arch=i686 --enable-objc-gc
--enable-languages=c,c++,objc,fortran --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.5.3-r1 p1.0,
pie-0.4.5' --disable-libstdcxx-pch
Thread model: posix
gcc version 4.5.3 (Gentoo 4.5.3-r1 p1.0, pie-0.4.5) 
COLLECT_GCC_OPTIONS='-v' '-O1' '-fipa-cp' '-Wall' '-c' '-o'
'fprintf-mini-bug-4.6.o' '-mtune=generic' '-march=i686'
 /usr/libexec/gcc/i686-pc-linux-gnu/4.5.3/cc1 -fpreprocessed
fprintf-mini-bug-4.6.i -quiet -dumpbase fprintf-mini-bug-4.6.i -mtune=generic
-march=i686 -auxbase-strip fprintf-mini-bug-4.6.o -O1 -Wall -version -fipa-cp
-o /tmp/ccAnJvmq.s
GNU C (Gentoo 4.5.3-r1 p1.0, pie-0.4.5) version 4.5.3 (i686-pc-linux-gnu)
compiled by GNU C version 4.5.3, GMP version 5.0.2, MPFR version 3.0.1-p4,
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (Gentoo 4.5.3-r1 p1.0, pie-0.4.5) version 4.5.3 (i686-pc-linux-gnu)
compiled by GNU C version 4.5.3, GMP version 5.0.2, MPFR version 3.0.1-p4,
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 8436f5776e6fdb86b8b69daea94dff9c
fprintf-mini-bug-4.6.i: In function ‘write_cfg’:
fprintf-mini-bug-4.6.i:4:1: sorry, unimplemented: inlining failed in call to
‘foo’: originally indirect function call not considered for inlining
fprintf-mini-bug-4.6.i:11:7: sorry, unimplemented: called from here

This is with the code from comment 2 and '-fipa-cp'
 doesn't help in that case.

It does, however, for gcc 4.6.1.


[Bug target/50505] gcc-4.6.1 doesn't use "-mtune=k8-sse3" when using "-march=native"

2011-09-24 Thread pacho at condmat1 dot ciencias.uniovi.es
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50505

--- Comment #2 from Pacho Ramos  
2011-09-24 13:46:00 UTC ---
Because I wanted to confirm it from upstream as looked strange to me that both
mtune options are allowed if they do the same. Why do you keep both? Thanks for
the info :)

About the man page I am referring that both options (k8 and k8-sse3) are
referred as mtune options (not only for -march)


[Bug target/50505] gcc-4.6.1 doesn't use "-mtune=k8-sse3" when using "-march=native"

2011-09-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50505

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  2011-09-24 
14:17:43 UTC ---
-mtune= accepts the same CPU names as -march=, and while (currently) there is
no difference between k8 and k8-sse3 tuning, for -march= it makes a difference
(-march=k8-sse3 is essentially -march=k8 -msse3).  But -march=native or
-mtune=native is expanded by the driver which knows very well the underlying
compiler and knows those two are the same thing.  If k8-sse3 tuning ever does
something different than k8 tuning, the driver would be obviously adjusted to
reflect that.


[Bug target/50505] gcc-4.6.1 doesn't use "-mtune=k8-sse3" when using "-march=native"

2011-09-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50505

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||documentation
 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #4 from Jonathan Wakely  2011-09-24 
14:22:28 UTC ---
It shouldn't be hard to understand that -mtune=k8-sse3 is a *valid* option but
has the same effects as -mtune=k8. Removing it from the manual would be wrong.


[Bug target/50505] gcc-4.6.1 doesn't use "-mtune=k8-sse3" when using "-march=native"

2011-09-24 Thread pacho at condmat1 dot ciencias.uniovi.es
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50505

--- Comment #5 from Pacho Ramos  
2011-09-24 14:25:44 UTC ---
(In reply to comment #4)
> It shouldn't be hard to understand that -mtune=k8-sse3 is a *valid* option but
> has the same effects as -mtune=k8. Removing it from the manual would be wrong.

Understanding that both are valid options (in the sense both can be used) isn't
hard, but understanding that -mtune=k8 and k8-sse3 had the same effect and
that, even in that case, both options are accepted and allowed even being
redundant, didn't look so easy to understand for me.

But, anyway, all is more clear now to me. Thanks a lot for your help and sorry
for the inconvenience


[Bug middle-end/50496] [4.7 regression] ICE in redirect_jump, at jump.c:1497

2011-09-24 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50496

Markus Trippelsdorf  changed:

   What|Removed |Added

  Attachment #25351|0   |1
is obsolete||

--- Comment #3 from Markus Trippelsdorf  
2011-09-24 14:25:48 UTC ---
Created attachment 25357
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25357
reduced testcase

New reduced testcase after one round of "multidelta -level=0".


[Bug c/50507] New: Huge amount of memory used while building GCC4

2011-09-24 Thread fzvqedi at v dot mintemail.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50507

 Bug #: 50507
   Summary: Huge amount of memory used while building GCC4
Classification: Unclassified
   Product: gcc
   Version: 4.5.3
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: fzvq...@v.mintemail.com


when compiling GCC 4.5.3 core (C only), at some point there's a memory
requirement of more than 1 GB RAM.
this happens during the link stage of some object files.

after i set my virtual machine to have 1.2 GB RAM, it worked.

this is a major showstopper, you can only build GCC on restricted platforms
such as an ARM netbook by using swap-memory, which makes the build much slower
as it already is. Additionally this swap memory is usually on flash memory
device on such a system, decreasing its lifetime.

for comparison, GCC 3.4.6 builds well on a virtual machine with just 128 MB
RAM.


[Bug target/45483] gcc-4.4.3 and 4.5.3: probably wrong optimization options chosen by "-march=native"

2011-09-24 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45483

--- Comment #12 from H.J. Lu  2011-09-24 15:19:56 
UTC ---
(In reply to comment #10)
> New output:
> 
> \_ /usr/libexec/gcc/i686-pc-linux-gnu/4.6.1/cc1 -quiet - -D_FORTIFY_SOURCE=2
> -march=pentium-m -mno-cx16 -mno-sahf -mno-movbe -mno-aes -mno-pclmul
> -mno-popcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm
> -mno-avx -mno-sse4.2 -mno-sse4.1 --param l1-cache-size=32 --param
> l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=generic -quiet
> -dumpbase - -auxbase-strip /dev/null -o /tmp/cc63ioaE.s

It looks great.


[Bug target/45483] gcc-4.4.3 and 4.5.3: probably wrong optimization options chosen by "-march=native"

2011-09-24 Thread pacho at condmat1 dot ciencias.uniovi.es
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45483

Pacho Ramos  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #13 from Pacho Ramos  
2011-09-24 15:40:17 UTC ---
OK, I guess I should close this one as looks like "generic" is the best option
for my processor


[Bug c/50506] gcc fails at assembly with -O1 while inlining is forced

2011-09-24 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50506

--- Comment #5 from Andrew Pinski  2011-09-24 
15:54:22 UTC ---
And this is not a bug in GCC really as GCC is correct it cannot inline
always_inline functions for indirect function calls.


gcc-bugs@gcc.gnu.org

2011-09-24 Thread fuchsia.groan at virgin dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50508

 Bug #: 50508
   Summary: [C++0x] ICE cxx_eval_logical_expression
cp/semantics.c:6487 4.61/4.7 converting
std::intergal_constant to bool with &&
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: fuchsia.gr...@virgin.net


/* This ICEd the official mingw 4.6.1 with: 'internal compiler error: in
cxx_eval_logical_expression at cp/semantics.c:6487'

(I had the same result on gcc 4.7.0 20110813 from www.equation.com)
*/
#include 

static constexpr bool value = std::integral_constant()
  && std::integral_constant();


[Bug c/50506] gcc fails at assembly with -O1 while inlining is forced

2011-09-24 Thread galtgendo at o2 dot pl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50506

--- Comment #6 from Rafał Mużyło  2011-09-24 16:05:20 
UTC ---
So, whose bug is it then ? glibc ?
cause before reduction, the code was
(http://bugs.gentoo.org/show_bug.cgi?id=365015):

#include 
static void w_i(void *fp, int (*outf)(void *, const char *, ...))
{
  outf(fp, ";%s\n", " - EOF -");
}

void write_cfg()
{
  FILE *fp = 0;
  w_i(fp, (int (*)(void *, const char *, ...))fprintf);
}

In gcc 4.5.3 it works likely due to internal fprint definition.


gcc-bugs@gcc.gnu.org

2011-09-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50508

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-09-24
 CC||jason at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Jonathan Wakely  2011-09-24 
16:20:07 UTC ---
fails the gcc_assert in cxx_eval_logical_expression


gcc-bugs@gcc.gnu.org

2011-09-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50508

--- Comment #2 from Jonathan Wakely  2011-09-24 
16:23:30 UTC ---
reduced

template 
  struct integral_constant {
typedef T value_type;
constexpr operator value_type() { return true; }
  };


static constexpr bool value = integral_constant()
  && true;


[Bug libstdc++/50509] New: incorrect code in std::seed_seq::generate

2011-09-24 Thread john.salmon at deshaw dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50509

 Bug #: 50509
   Summary: incorrect code in std::seed_seq::generate
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: john.sal...@deshaw.com


The implementation of std::seed_seq::generate contains two typos.  The code
uses '<<' where the standard in rand.util.seed_seq 26.5.7.1 paragraph 8 says:

   T(x) is defined as x xor (x rshift 27)

Here's a patch against the 4.6.1 tree:

 salm...@drdlogin0039.en.desres$ diff -u 
/proj/desres/root/Linux/x86_64/gcc/4.6.1-23A/include/c++/4.6.1/bits/random.tcc
myrandom/bits/random.tcc
---
/proj/desres/root/Linux/x86_64/gcc/4.6.1-23A/include/c++/4.6.1/bits/random.tcc 
  2011-06-27 15:29:53.0 -0400
+++ myrandom/bits/random.tcc2011-09-19 10:04:46.836512000 -0400
@@ -2768,7 +2768,7 @@
   _Type __arg = (__begin[__k % __n]
  ^ __begin[(__k + __p) % __n]
  ^ __begin[(__k - 1) % __n]);
-  _Type __r1 = __arg ^ (__arg << 27);
+  _Type __r1 = __arg ^ (__arg >> 27);
   __r1 = __detail::__mod<_Type, __detail::_Shift<_Type, 32>::__value,
  1664525u, 0u>(__r1);
   _Type __r2 = __r1;
@@ -2790,7 +2790,7 @@
   _Type __arg = (__begin[__k % __n]
  + __begin[(__k + __p) % __n]
  + __begin[(__k - 1) % __n]);
-  _Type __r3 = __arg ^ (__arg << 27);
+  _Type __r3 = __arg ^ (__arg >> 27);
   __r3 = __detail::__mod<_Type, __detail::_Shift<_Type, 32>::__value,
  1566083941u, 0u>(__r3);
   _Type __r4 = __r3 - __k % __n;
salm...@drdlogin0039.en.desres$


[Bug target/50493] ICE in neon_disambiguate_copy, at config/arm/arm.c:20388

2011-09-24 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50493

Mikael Pettersson  changed:

   What|Removed |Added

 CC||irar at gcc dot gnu.org,
   ||mikpe at it dot uu.se

--- Comment #1 from Mikael Pettersson  2011-09-24 
16:42:17 UTC ---
This test case started ICEing on trunk with Ira's r178588:

http://gcc.gnu.org/ml/gcc-cvs/2011-09/msg00199.html


[Bug libstdc++/50509] [C++0x] incorrect code in std::seed_seq::generate

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50509

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011-09-24
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com
Summary|incorrect code in   |[C++0x] incorrect code in
   |std::seed_seq::generate |std::seed_seq::generate
 Ever Confirmed|0   |1

--- Comment #1 from Paolo Carlini  2011-09-24 
18:13:32 UTC ---
Thanks, I'll commit the change momentarily.


[Bug middle-end/50496] [4.7 regression] ICE in redirect_jump, at jump.c:1497

2011-09-24 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50496

--- Comment #4 from Markus Trippelsdorf  
2011-09-24 18:23:15 UTC ---
I've found a new testcase that results in the same ICE:

 % < test.cpp
class GCAlloc {
};
class BaseAlloc {
};
class String;
class Base {
public:
 virtual void destroy( String *str ) const =0;
};
class String: public GCAlloc {
 const Base *m_class;
public:
 enum constants {
 };
 String( const char *data );
 ~String() {
  m_class->destroy( this );
 }
 void copy( const String &other );
 String & operator=( const char *other ) {
  copy( String( other ) );
 }
};
class ListElement: public BaseAlloc {
};
class List: public BaseAlloc {
 ListElement *m_head;
 void (*m_deletor)( void *);
public:
 List():   m_deletor(0) {
 }
 const void *back() const {
 }
 bool empty() const {
  return m_head == 0;
 }
 void popBack();
};
class FalconData: public BaseAlloc {
public:
 virtual ~FalconData() {
 }
};
class Stream: public FalconData {
};
class SrcLexer: public BaseAlloc {
 List m_streams;
 String m_whiteLead;
 void reset();
};
void SrcLexer::reset()
{
 m_whiteLead = "";
 while( ! m_streams.empty() ) {
  Stream *s = (Stream *) m_streams.back();
  m_streams.popBack();
  if ( !m_streams.empty() )  delete s;
 }
}

 % g++ -O2 test.cpp
test.ii: In member function ‘void SrcLexer::reset()’:
test.ii:59:1: internal compiler error: in redirect_jump, at jump.c:1497


[Bug libstdc++/50509] [C++0x] incorrect code in std::seed_seq::generate

2011-09-24 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50509

--- Comment #2 from paolo at gcc dot gnu.org  
2011-09-24 18:28:40 UTC ---
Author: paolo
Date: Sat Sep 24 18:28:36 2011
New Revision: 179144

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179144
Log:
2011-09-24  John Salmon  

PR libstdc++/50509
* include/bits/random.tcc (seed_seq::generate): Fix computation.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/random.tcc


[Bug libstdc++/50509] [C++0x] incorrect code in std::seed_seq::generate

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50509

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.2

--- Comment #4 from Paolo Carlini  2011-09-24 
18:29:18 UTC ---
Fixed for 4.6.2.


[Bug libstdc++/50509] [C++0x] incorrect code in std::seed_seq::generate

2011-09-24 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50509

--- Comment #3 from paolo at gcc dot gnu.org  
2011-09-24 18:28:51 UTC ---
Author: paolo
Date: Sat Sep 24 18:28:48 2011
New Revision: 179145

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179145
Log:
2011-09-24  John Salmon  

PR libstdc++/50509
* include/bits/random.tcc (seed_seq::generate): Fix computation.

Modified:
branches/gcc-4_6-branch/libstdc++-v3/ChangeLog
branches/gcc-4_6-branch/libstdc++-v3/include/bits/random.tcc


[Bug middle-end/50496] [4.7 regression] ICE in redirect_jump, at jump.c:1497

2011-09-24 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50496

--- Comment #5 from Markus Trippelsdorf  
2011-09-24 19:06:40 UTC ---
Created attachment 25358
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25358
fix

This patch from Chung-Lin Tang fixes both issues.
See: https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/748138


[Bug c++/50261] [C++0x] ICE on brace-initialize an array member

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50261

--- Comment #1 from Paolo Carlini  2011-09-24 
20:30:48 UTC ---
Now many of these do not ice anymore for me, only the second of the second
block does.


[Bug c++/50019] [C++0x] ICE when compiling template function (should print error instead)

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50019

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.7.0
 Resolution||WORKSFORME

--- Comment #2 from Paolo Carlini  2011-09-24 
20:40:35 UTC ---
Works for me in mainline (r179143). Please double-check, and in case re-open.


[Bug c++/42507] internal compiler error: verify_stmts failed

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42507

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #4 from Paolo Carlini  2011-09-24 
20:54:58 UTC ---
Feedback not forthcoming.


[Bug libstdc++/50510] New: transposed variable names in std::seed_seq::generate

2011-09-24 Thread john.salmon at deshaw dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50510

 Bug #: 50510
   Summary: transposed variable names in std::seed_seq::generate
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: john.sal...@deshaw.com


The C++11 "Final Draft International Standard" (FDIS n3290.pdf) fixes a defect
in the "Final Committee Draft" (FCD n3092.pdf), swapping the use of the
intermediate variables r3 and r4 in the std::seed_seq::generate() function. 
See 25.5.7.1 paragraph 8c.  This patch brings libstdc++ up-to-date:

salm...@drdlogin0039.en.desres$ diff -u oldrandom.tcc random.tcc
--- oldrandom.tcc2011-09-19 10:04:46.836512000 -0400
+++ random.tcc2011-09-24 17:45:02.879621416 -0400
@@ -2796,8 +2796,8 @@
   _Type __r4 = __r3 - __k % __n;
   __r4 = __detail::__mod<_Type,
__detail::_Shift<_Type, 32>::__value>(__r4);
-  __begin[(__k + __p) % __n] ^= __r4;
-  __begin[(__k + __q) % __n] ^= __r3;
+  __begin[(__k + __p) % __n] ^= __r3;
+  __begin[(__k + __q) % __n] ^= __r4;
   __begin[__k % __n] = __r4;
 }
 }
salm...@drdlogin0039.en.desres$


[Bug libstdc++/50510] transposed variable names in std::seed_seq::generate

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50510

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-09-24
 Ever Confirmed|0   |1

--- Comment #1 from Paolo Carlini  2011-09-24 
22:27:00 UTC ---
Ok, thanks.


[Bug libstdc++/50510] transposed variable names in std::seed_seq::generate

2011-09-24 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50510

--- Comment #2 from paolo at gcc dot gnu.org  
2011-09-24 22:34:57 UTC ---
Author: paolo
Date: Sat Sep 24 22:34:50 2011
New Revision: 179149

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179149
Log:
2011-09-24  John Salmon  

PR libstdc++/50510
* include/bits/random.tcc (seed_seq::generate): Fix computation.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/random.tcc


[Bug libstdc++/50510] transposed variable names in std::seed_seq::generate

2011-09-24 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50510

--- Comment #3 from paolo at gcc dot gnu.org  
2011-09-24 22:35:11 UTC ---
Author: paolo
Date: Sat Sep 24 22:35:02 2011
New Revision: 179150

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179150
Log:
2011-09-24  John Salmon  

PR libstdc++/50510
* include/bits/random.tcc (seed_seq::generate): Fix computation.

Modified:
branches/gcc-4_6-branch/libstdc++-v3/ChangeLog
branches/gcc-4_6-branch/libstdc++-v3/include/bits/random.tcc


[Bug libstdc++/50510] transposed variable names in std::seed_seq::generate

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50510

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.2

--- Comment #4 from Paolo Carlini  2011-09-24 
22:35:52 UTC ---
Done.



[Bug c++/50495] Optimize exact matches in overload resolution

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50495

--- Comment #9 from Paolo Carlini  2011-09-24 
22:44:04 UTC ---
Thanks for the scripts!


[Bug c++/50244] wcstold not available for C++0x

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50244

Paolo Carlini  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID

--- Comment #6 from Paolo Carlini  2011-09-24 
22:46:00 UTC ---
I'm closing this. If you still see something strange on supported targets,
please re-open.


[Bug c++/45487] Request to change comma to semicolon in error message

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45487

Paolo Carlini  changed:

   What|Removed |Added

 CC|gcc-bugs at gcc dot gnu.org |jason at gcc dot gnu.org

--- Comment #1 from Paolo Carlini  2011-09-24 
22:54:50 UTC ---
Jason, can we triage this?


[Bug c++/45095] "internal compiler error: Segmentation fault" compiling p7zip

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45095

Paolo Carlini  changed:

   What|Removed |Added

 CC|gcc-bugs at gcc dot gnu.org |dje.gcc at gmail dot com

--- Comment #3 from Paolo Carlini  2011-09-24 
22:58:29 UTC ---
David, can you have a look to this? Thanks.


[Bug c++/43563] gnu++0x: ICE on default value as lambda

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43563

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME

--- Comment #2 from Paolo Carlini  2011-09-24 
23:06:31 UTC ---
Doesn't ICE for me with current 4_5-branch or newer branches (preprocessed
doesn't compile with the latter)


[Bug c++/39680] ICE with -g3

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39680

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
  Known to fail||

--- Comment #3 from Paolo Carlini  2011-09-24 
23:13:24 UTC ---
Closing.


[Bug c++/38540] Type of 'const int f ()'

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38540

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to work||4.5.2
 Resolution||FIXED
  Known to fail||

--- Comment #2 from Paolo Carlini  2011-09-24 
23:19:23 UTC ---
Fixed long ago.


[Bug c++/35076] ICE with rvalue references and casts

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35076

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to work||4.6.1, 4.7.0
 Resolution||FIXED
  Known to fail||4.6.0

--- Comment #2 from Paolo Carlini  2011-09-24 
23:27:58 UTC ---
Fixed.


[Bug c++/50280] Incorrect type deduced for T& when passed a const bitfield

2011-09-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50280

Paolo Carlini  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot
   ||com

--- Comment #2 from Paolo Carlini  2011-09-24 
23:45:34 UTC ---
Indeed it does with current mainline and isn't a regression, AFAIK. I'd like to
close it but the seems a bit delicate, thus I guess better adding the testcase,
unless somebody figures out which change fixed it (thus whether we got already
an equivalent testcase)


[Bug lto/50511] New: gcc lto streamer in fragments memory badly

2011-09-24 Thread andi-gcc at firstfloor dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50511

 Bug #: 50511
   Summary: gcc lto streamer in fragments memory badly
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: andi-...@firstfloor.org


I ran into a problem while testing LTO on 
a quite large project with a lot of object files:

the lto streamer fragmented the memory map badly by constantly mapping
and unmapping the input files with mmap. I ended up with a memory
map with lots of 2 page holes between mappings. Eventually it bumped
into the default 64k max number of mappings limit on Linux and errored out
because mmap failed.

Workaround was to increase this limit (sysctl -w vm.max_map_count = 20)
However gcc should be more efficient in its mappings.

I think the problem is the one off cache in lto_file_read() being too dumb.
Looking into a fix.