[Bug other/49930] New: Need some adjustments for bionic

2011-08-01 Thread mh+gcc at glandium dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49930

   Summary: Need some adjustments for bionic
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mh+...@glandium.org


Created attachment 24879
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24879
Patch

The following things are bionic specificities that the gcc source code doesn't
handle well:
- sincos is not supported
- getpagesize is defined as an inline in the headers
- prctl is defined with the prototype as per the linux manual page:
  int prctl(int option, unsigned long arg2, unsigned long arg3,
unsigned long arg4, unsigned long arg5)
  and not prctl(int option, ...) as in glibc headers.

With the attached patch, I was able to build gcc 4.6.1 for use with the Android
NDK.


[Bug rtl-optimization/49927] [4.7 Regression] ice in spill_failure, at reload1.c:2120

2011-08-01 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49927

Uros Bizjak  changed:

   What|Removed |Added

 Target||i686-pc-linux-gnu
 Status|UNCONFIRMED |NEW
   Keywords||ra
   Last reconfirmed||2011.08.01 08:07:57
  Component|c   |rtl-optimization
 CC||vmakarov at gcc dot gnu.org
 Ever Confirmed|0   |1
Summary|ice in spill_failure, at|[4.7 Regression] ice in
   |reload1.c:2120  |spill_failure, at
   ||reload1.c:2120
   Target Milestone|--- |4.7.0
  Known to fail||4.7.0

--- Comment #1 from Uros Bizjak  2011-08-01 08:07:58 
UTC ---
Register allocator failure:

We have:

(insn 9 8 10 2 (set (mem/s/j:QI
(plus:SI (plus:SI (subreg:SI (reg:DI 60 [ g_91.1 ]) 0)
(subreg:SI (reg:DI 59 [ g_91.0 ]) 0))
(symbol_ref:SI ("g_73")  )) [0
g_73 S1 A8])
(reg:QI 62 [ D.1999 ])) pr49927.c:6 66 {*movqi_internal}
 (nil))


Reloads for insn # 9
Reload 0: reload_in (DI) = (reg:DI 60 [ g_91.1 ])
GENERAL_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 0)
reload_in_reg: (reg:DI 60 [ g_91.1 ])
Reload 1: reload_in (DI) = (reg:DI 59 [ g_91.0 ])
INDEX_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 0)
reload_in_reg: (reg:DI 59 [ g_91.0 ])
Reload 2: reload_in (QI) = (reg:QI 4 si [orig:62 D.1999 ] [62])
Q_REGS, RELOAD_FOR_INPUT (opnum = 1)
reload_in_reg: (reg:QI 4 si [orig:62 D.1999 ] [62])

Register si is not valid for QImode on 32bit x86.

GCC 4.4 works OK, so confirmed regression on x86_64-pc-linux-gnu with -O0 -m32.


[Bug rtl-optimization/48721] [4.6 Regression] ICE: verify_flow_info failed: missing barrier after block 6 with -foptimize-sibling-calls -fsched2-use-superblocks

2011-08-01 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48721

Uros Bizjak  changed:

   What|Removed |Added

  Known to work||4.7.0
Summary|[4.6/4.7 Regression] ICE:   |[4.6 Regression] ICE:
   |verify_flow_info failed:|verify_flow_info failed:
   |missing barrier after block |missing barrier after block
   |6 with  |6 with
   |-foptimize-sibling-calls|-foptimize-sibling-calls
   |-fsched2-use-superblocks|-fsched2-use-superblocks
  Known to fail|4.7.0   |

--- Comment #2 from Uros Bizjak  2011-08-01 08:27:01 
UTC ---
Compiles OK with gcc 4.7.0 20110801 (experimental) [trunk revision 176998].


[Bug c++/49931] New: bug when use named operators

2011-08-01 Thread kai_henning at web dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49931

   Summary: bug when use named operators
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: kai_henn...@web.de


Created attachment 24880
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24880
preprocessor output

Code in attachment compiles fine with VC and Comeau Online, but fail with GCC
in every version 3/4.x on Windows and linux.

version: any
system: any
command line: -Wall -Wextra
error message: buggy.cpp: In member function 'FOO2::operator FOO2::type()
const': buggy.cpp:10:58: error: 'struct FOO' has no member named 'operator
FOO2::type
'
buggy.cpp: In member function 'FOO2::operator FOO2::type() const [with T
=
 int, FOO2::type = int]': buggy.cpp:10:66: warning: control reaches end of
non-void function [-Wreturn-type]


[Bug tree-optimization/49911] vrp2 + -fstrict-enums incorrectly remove predicate

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49911

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.08.01 08:33:31
 Ever Confirmed|0   |1

--- Comment #4 from Richard Guenther  2011-08-01 
08:33:31 UTC ---
Ok, reproduced on a linux host.  It's quite obvious:

void jsop_setelem(bool, int) (bool y, int z)
{
  RegisterID SR.6;

:
  if (y_1(D) != 0)
goto ;
  else
goto ;

:
  SR.6_11 = (RegisterID) z_3(D);
  if (SR.6_11 <= 45)

the conversion truncates z_3 to precision 3, so it's not VRPs fault here.

It seems to be SRAs fault which replaces D.1809.offset_ with a register of
type RegisterID, then having to insert a not useless conversion (which it
should _never_ need - it's a sign of a bug):

  D.1809.offset_ = z_3(D);
  address.0_7 = (unsigned int) z_3(D);
  if (address.0_7 <= 45)

  D.1816_11 = (RegisterID) z_3(D);
 ^^ here
  SR.6_6 = D.1816_11;
  address.0_7 = (unsigned int) z_3(D);
  if (address.0_7 <= 45)

Now, then comes along DOM and replaces

Optimizing statement address.0_7 = (unsigned int) z_3(D);
LKUP STMT address.0_7 = nop_expr z_3(D)
  address.0_7 = (unsigned int) z_3(D);
FIND: SR.6_11
  Replaced redundant expr '(unsigned int) z_3(D)' with 'SR.6_11'
 ASGN address.0_7 = SR.6_11
Optimizing statement if (address.0_7 <= 45)
  Replaced 'address.0_7' with variable 'SR.6_11'

for some other reason ...


[Bug tree-optimization/49911] SRA + DOM + -fstrict-enums incorrectly remove predicate

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49911

Richard Guenther  changed:

   What|Removed |Added

 CC||jamborm at gcc dot gnu.org
Summary|vrp2 + -fstrict-enums   |SRA + DOM + -fstrict-enums
   |incorrectly remove  |incorrectly remove
   |predicate   |predicate

--- Comment #5 from Richard Guenther  2011-08-01 
08:34:04 UTC ---
I'm looking into the DOM problem - martin, can you look at the SRA bug?


[Bug tree-optimization/49911] SRA + DOM + -fstrict-enums incorrectly remove predicate

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49911

Richard Guenther  changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot
   ||gnu.org

--- Comment #6 from Richard Guenther  2011-08-01 
08:41:40 UTC ---
Ok, I misread.  The enum type _does_ have precision 32, even with
-fstrict-enums:

 
unit size 
align 32 symtab 0 alias set -1 canonical type 0x75b46bd0 precision
3 min  max >
unsigned SI size  unit size 
align 32 symtab 0 alias set -1 canonical type 0x75b46b28 precision 32
min  max 

so it's the middle-end/VRP mismatch I suspected in comment #1.

Still SRA should probably not produce enum kind replacements but always
integer kind ones.

So, Eric - are you still objecting to make VRP and the middle-end aligned
by ignoring TYPE_MIN/MAX_VALUE in VRP?


[Bug tree-optimization/49911] SRA + DOM + VRP + -fstrict-enums incorrectly remove predicate

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49911

Richard Guenther  changed:

   What|Removed |Added

   Keywords||wrong-code
Summary|SRA + DOM + -fstrict-enums  |SRA + DOM + VRP +
   |incorrectly remove  |-fstrict-enums incorrectly
   |predicate   |remove predicate

--- Comment #7 from Richard Guenther  2011-08-01 
08:44:26 UTC ---
See http://gcc.gnu.org/ml/gcc-patches/2011-04/msg00741.html


[Bug tree-optimization/49911] SRA + DOM + VRP + -fstrict-enums incorrectly remove predicate

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49911

--- Comment #8 from Richard Guenther  2011-08-01 
08:49:30 UTC ---
So the issue here is that enum types with non-canonical TYPE_MIN/MAX_VALUE
leak from storage representation (union StateRemat) via SRA as register
variables into the IL.  Is that something that cannot happen for Ada because
it is also careful to not use such types in storage representations?


[Bug tree-optimization/49911] SRA + DOM + VRP + -fstrict-enums incorrectly remove predicate

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49911

--- Comment #9 from Richard Guenther  2011-08-01 
09:05:38 UTC ---
verifier patch that would catch at least computation results (but not loads):

Index: gcc/tree-cfg.c
===
--- gcc/tree-cfg.c  (revision 176998)
+++ gcc/tree-cfg.c  (working copy)
@@ -3241,6 +3314,16 @@ verify_gimple_assign_unary (gimple stmt)
   return true;
 }

+  if (INTEGRAL_TYPE_P (lhs_type)
+  && (!tree_int_cst_equal (TYPE_MIN_VALUE (lhs_type),
+  lower_bound_in_type (lhs_type, lhs_type))
+ || !tree_int_cst_equal (TYPE_MAX_VALUE (lhs_type),
+ upper_bound_in_type (lhs_type, lhs_type
+{
+  error ("register with non-canonical bounds");
+  return true;
+}
+
   /* First handle conversions.  */
   switch (rhs_code)
 {
@@ -3397,6 +3480,16 @@ verify_gimple_assign_binary (gimple stmt
   return true;
 }

+  if (INTEGRAL_TYPE_P (lhs_type)
+  && (!tree_int_cst_equal (TYPE_MIN_VALUE (lhs_type),
+  lower_bound_in_type (lhs_type, lhs_type))
+ || !tree_int_cst_equal (TYPE_MAX_VALUE (lhs_type),
+ upper_bound_in_type (lhs_type, lhs_type
+{
+  error ("register with non-canonical bounds");
+  return true;
+}
+
   /* First handle operations that involve different types.  */
   switch (rhs_code)
 {


shows that the IL after SRA is broken:

t.ii: In function 'void jsop_setelem(bool, int)':
t.ii:32:6: error: register with non-canonical bounds
D.1816_11 = (RegisterID) z_3(D);

t.ii:32:6: internal compiler error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.


[Bug other/49929] GNU Malloc fails when compiling Bash 4.1 statically

2011-08-01 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49929

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.08.01 09:41:43
 Ever Confirmed|0   |1

--- Comment #1 from Jonathan Wakely  2011-08-01 
09:41:43 UTC ---
What has this got to do with GCC?

If you think it really is a GCC bug please follow the bug reporting
instructions at http://gcc.gnu.org/bugs/


[Bug c++/49921] [C++0x] Segfault during compilation, decltype and operator->*

2011-08-01 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49921

--- Comment #3 from Jonathan Wakely  2011-08-01 
09:51:56 UTC ---
Yes, the standard says:

"If the result of .* or ->* is a function, then that result can be used only as
the operand for the function call operator ()"

So I think G++ should reject decltype((l->*ptr))


[Bug other/49929] GNU Malloc fails when compiling Bash 4.1 statically

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49929

Richard Guenther  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID

--- Comment #2 from Richard Guenther  2011-08-01 
10:03:06 UTC ---
.


[Bug rtl-optimization/49927] [4.7 Regression] ice in spill_failure, at reload1.c:2120

2011-08-01 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49927

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  2011-08-01 
10:07:57 UTC ---
Caused by http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176536
Shorter testcase:
char a[1][1];
long long b;

void
foo (void)
{
  --a[b][b];
}

I'd say it is a mistake to allow subregs of DImode pseudos in the addresses for
-m32, it makes sense only for TARGET_64BIT when DImode is just a single general
register.  Because otherwise the subregs of DImode registers in addresses
increase register pressure on the insn in question, especially if in the
address there is more than one.


[Bug rtl-optimization/49927] [4.7 Regression] ice in spill_failure, at reload1.c:2120

2011-08-01 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49927

--- Comment #3 from Jakub Jelinek  2011-08-01 
10:14:12 UTC ---
So perhaps it shouldn't be DImode but Pmode.


[Bug rtl-optimization/49927] [4.7 Regression] ice in spill_failure, at reload1.c:2120

2011-08-01 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49927

--- Comment #4 from Uros Bizjak  2011-08-01 11:34:29 
UTC ---
(In reply to comment #3)
> So perhaps it shouldn't be DImode but Pmode.

Yes, this is a very good suggestion.

BTW: I plan to relax the check for SUBREG_PROMOTED_UNSIGNED_P [1] with
paradoxical subregs.

[1] http://gcc.gnu.org/ml/gcc-patches/2011-07/msg01647.html


[Bug debug/49887] [4.7 regression] .debug_macro breaks many Solaris/SPARC tests

2011-08-01 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49887

--- Comment #6 from Rainer Orth  2011-08-01 12:14:28 UTC 
---
Author: ro
Date: Mon Aug  1 12:14:21 2011
New Revision: 177020

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177020
Log:
PR debug/49887
* config/sol2.c (solaris_code_end): Rename to solaris_file_end.
* config/sol2-protos.h: Likewise.
* config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Don't call
solaris_code_end.
* config/i386/sol2.h [!USE_GAS] (TARGET_ASM_FILE_END): Redefine.
* config/sparc/sparc.c (sparc_file_end) [TARGET_SOLARIS]: Call
solaris_file_end.
* config/sparc/sol2.h (TARGET_ASM_CODE_END): Remove.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/sol2.h
trunk/gcc/config/sol2-protos.h
trunk/gcc/config/sol2.c
trunk/gcc/config/sparc/sol2.h
trunk/gcc/config/sparc/sparc.c


[Bug debug/49887] [4.7 regression] .debug_macro breaks many Solaris/SPARC tests

2011-08-01 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49887

Rainer Orth  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2011-08/msg00030.htm
   ||l
 Resolution||FIXED
 AssignedTo|unassigned at gcc dot   |ro at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.7.0

--- Comment #7 from Rainer Orth  2011-08-01 12:15:58 UTC 
---
Fixed for 4.7.0.


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-08-01 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

--- Comment #96 from ro at CeBiTec dot Uni-Bielefeld.DE  2011-08-01 12:31:54 UTC ---
> --- Comment #90 from Marc Glisse  
> 2011-07-30 20:19:42 UTC ---
> How does one go about reporting a bug in solaris? In Solaris 11, with

Not anymore since Oracle in their infinite wisdom made
bugs.opensolaris.org `temporarily unavailable', which so far has lasted
for several months.  In general, you need to have a support contract.  I
do have good connections to Solaris engineering, though.

> -std=c++** (as opposed to gnu++**), __cplusplus=199711L and without -m64 or
> -pthreads, iso/stdio_iso.h doesn't declare getc but uses it in the definition
> of getchar.

I could trace this to g++ defining __STRICT_ANSI__ for
-std=c++98/c++0x.   defines _STRICT_STDC in this
case, which hides the !_REENTRANT && !_LP64 && !_STRICT_STDC getc
definition in .

Rainer


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-08-01 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

--- Comment #97 from ro at CeBiTec dot Uni-Bielefeld.DE  2011-08-01 12:52:50 UTC ---
> --- Comment #91 from Marc Glisse  
> 2011-07-30 21:02:20 UTC ---
> solaris also provides the pow(*,int) overloads (see DR550). Should these be
> fixincluded out? On the other hand, solaris doesn't provide the cos(int)
> overload, so cos(0) fails as ambiguous (like with sunpro) if one includes
> math.h and not cmath. Should this be ignored? or the integral overload
> fixincluded into math.h? or an extra math.h shipped that is equivalent to 
> cmath
> (careful to use #include_next)?

If there's wording in the C++ standard that suggests the cos(int)
overload should exist, I could file a bug with Oracle.

> In any case, as already mentioned, we'll have trouble with different versions
> of solaris providing different things in their headers. The solution of having
> __cplusplus as 199711L except for system headers where it is 1 seems easier.

Given the mess with STDC_0_IN_SYSTEM_HEADERS, I'd avoid something like
this if at all possible.

Rainer


[Bug rtl-optimization/49927] [4.7 Regression] ice in spill_failure, at reload1.c:2120

2011-08-01 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49927

Uros Bizjak  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |ubizjak at gmail dot com
   |gnu.org |

--- Comment #5 from Uros Bizjak  2011-08-01 12:56:29 
UTC ---
Created attachment 24881
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24881
Untested patch

I'm testing the attached patch.


[Bug middle-end/47990] Missed promotion of double precision constants to single precision for -funsafe-math-optimizations

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47990

--- Comment #2 from Richard Guenther  2011-08-01 
13:07:00 UTC ---
The intel compiler does not perform this optimization even at -fast.  It does
perform the demotion on

float foo (float x, float y)
{
  return (int)((float)(x/y + 0.5)) * y;
}

though, even with default optimization (also with the conversion to
int removed or associated to apply to the first operand of the
multiplication only).

So they leave alone what looks like a usual "rounding" pattern.

My original idea was to fold (int)((double)(x/y) + 0.5) to (int)(x/y + 0.5f),
similar to (float)((double)(x/y) + 0.5) to (x/y + 0.5f) which we already
do (at -O0, in convert_to_real).


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-08-01 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

--- Comment #98 from Marc Glisse  2011-08-01 
13:03:18 UTC ---
(In reply to comment #97)
> If there's wording in the C++ standard that suggests the cos(int)
> overload should exist, I could file a bug with Oracle.

Only in C++2011. So they will likely add it in a few years, protected with a
different __cplusplus value. But in the meantime it will cause what some will
see as a regression in gcc on solaris.

(by the way, I will update my fixinclude patch to not always remove the pow
overloads but only in C++0X mode, as done in cmath)

> > In any case, as already mentioned, we'll have trouble with different 
> > versions
> > of solaris providing different things in their headers. The solution of 
> > having
> > __cplusplus as 199711L except for system headers where it is 1 seems easier.
> 
> Given the mess with STDC_0_IN_SYSTEM_HEADERS, I'd avoid something like
> this if at all possible.

I guess the alternative is to live with inconsistencies between the various
solaris releases (which Oracle itself seems happy to do with its compiler).


[Bug c++/49932] New: [C++0x] ICE on instantiating decltype(expr)::type with template

2011-08-01 Thread flast at flast dot jp
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49932

   Summary: [C++0x] ICE on instantiating decltype(expr)::type with
template
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: fl...@flast.jp


ICE on instantiating the following two template functions.
I tested with GCC 4.7.0 20110801.

 8< 
template < typename T >
auto
f1( T x ) // ICE on here
  -> typename decltype( x )::type {}

template < typename T >
typename decltype( T{} )::type
f2( T x ) {} // ICE on here

struct S { typedef void type; };

void g()
{
f1( S() );
f2( S() );
}
 8< 


[Bug target/47908] attribute((optimize(2))) causes ICE in m68k_sched_issue_rate

2011-08-01 Thread owner at bugs dot debian.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47908

--- Comment #10 from owner at bugs dot debian.org 2011-08-01 13:45:23 UTC ---
Thank you for the additional information you have supplied regarding
this Bug report.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 Debian GCC Maintainers 

If you wish to submit further information on this problem, please
send it to 635...@bugs.debian.org.

Please do not send mail to ow...@bugs.debian.org unless you wish
to report a problem with the Bug-tracking system.


[Bug target/49547] LZCNT should be enabled only if ABM or LZCNT bits are set

2011-08-01 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49547

--- Comment #6 from hjl at gcc dot gnu.org  2011-08-01 
13:47:39 UTC ---
Author: hjl
Date: Mon Aug  1 13:47:31 2011
New Revision: 177034

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177034
Log:
Add -mlzcnt.

gcc/

2011-08-01  Kirill Yukhin  

PR target/49547
* config.gcc (i[34567]86-*-*): Replace abmintrin.h with
lzcntintrin.h.
(x86_64-*-*): Likewise.
* config/i386/i386.opt (mlzcnt): New.
* config/i386/abmintrin.h: File removed.
(__lzcnt_u16, __lzcnt, __lzcnt_u64): Moved to ...
* config/i386/lzcntintrin.h: ... here. New file.
(__lzcnt): Rename to ...
(__lzcnt32): ... this.
* config/i386/bmiintrin.h (head): Update copyright year.
(__lzcnt_u16): Removed.
(__lzcnt_u32): Likewise.
(__lzcnt_u64): Likewise.
* config/i386/x86intrin.h: Include lzcntintrin.h when __LZCNT__
is defined, remove abmintrin.h.
* config/i386/cpuid.h (bit_LZCNT): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
LZCNT feature.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__LZCNT__ if needed.
* config/i386/i386.c (ix86_target_string): New option -mlzcnt.
(ix86_option_override_internal): Handle LZCNT option.
(ix86_valid_target_attribute_inner_p): Likewise.
(struct builtin_description bdesc_args) : Update.
* config/i386/i386.h (TARGET_LZCNT): New.
(CLZ_DEFINED_VALUE_AT_ZERO): Update.
* config/i386/i386.md (clz2): Update insn constraint.
(clz2_lzcnt): Likewise.
* doc/invoke.texi: Mention -mlzcnt option.
* doc/extend.texi: Likewise.

gcc/testsuite/

2011-08-01  Kirill Yukhin  

* gcc.target/i386/i386.exp (check_effective_target_lzcnt): New.
* gcc.target/i386/lzcnt-1.c: New test.
* gcc.target/i386/lzcnt-2.c: Likewise.
* gcc.target/i386/lzcnt-2a.c: Likewise.
* gcc.target/i386/lzcnt-3.c: Likewise.
* gcc.target/i386/lzcnt-4.c: Likewise.
* gcc.target/i386/lzcnt-4a.c: Likewise.
* gcc.target/i386/lzcnt-5.c: Likewise.
* gcc.target/i386/lzcnt-6.c: Likewise.
* gcc.target/i386/lzcnt-6a.c: Likewise.
* gcc.target/i386/lzcnt-check.h: Likewise.

* gcc.target/i386/sse-12.c (dg-compile): Add -mlzcnt.
* gcc.target/i386/sse-13.c: Likewise.
* gcc.target/i386/sse-14.c: Likewise.
* g++.dg/other/i386-2.C: Likewise.
* g++.dg/other/i386-3.C: Likewise.

Added:
trunk/gcc/config/i386/lzcntintrin.h
trunk/gcc/testsuite/gcc.target/i386/lzcnt-1.c
trunk/gcc/testsuite/gcc.target/i386/lzcnt-2.c
trunk/gcc/testsuite/gcc.target/i386/lzcnt-2a.c
trunk/gcc/testsuite/gcc.target/i386/lzcnt-3.c
trunk/gcc/testsuite/gcc.target/i386/lzcnt-4.c
trunk/gcc/testsuite/gcc.target/i386/lzcnt-4a.c
trunk/gcc/testsuite/gcc.target/i386/lzcnt-5.c
trunk/gcc/testsuite/gcc.target/i386/lzcnt-6.c
trunk/gcc/testsuite/gcc.target/i386/lzcnt-6a.c
trunk/gcc/testsuite/gcc.target/i386/lzcnt-check.h
Removed:
trunk/gcc/config/i386/abmintrin.h
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config.gcc
trunk/gcc/config/i386/bmiintrin.h
trunk/gcc/config/i386/cpuid.h
trunk/gcc/config/i386/driver-i386.c
trunk/gcc/config/i386/i386-c.c
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.h
trunk/gcc/config/i386/i386.md
trunk/gcc/config/i386/i386.opt
trunk/gcc/config/i386/x86intrin.h
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/other/i386-2.C
trunk/gcc/testsuite/g++.dg/other/i386-3.C
trunk/gcc/testsuite/gcc.target/i386/i386.exp
trunk/gcc/testsuite/gcc.target/i386/sse-12.c
trunk/gcc/testsuite/gcc.target/i386/sse-13.c
trunk/gcc/testsuite/gcc.target/i386/sse-14.c


[Bug tree-optimization/48766] [4.4/4.5/4.6/4.7 Regression] Infinite recursion in fold_binary_loc()

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48766

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug target/49547] LZCNT should be enabled only if ABM or LZCNT bits are set

2011-08-01 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49547

H.J. Lu  changed:

   What|Removed |Added

   Target Milestone|4.6.2   |4.7.0


[Bug rtl-optimization/48840] [4.4/4.5 regression] assertion failure in reload1.c

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48840

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P4


[Bug c/49933] New: float pointer postincrement during complex calculations increments twice

2011-08-01 Thread michael.pippig at mathematik dot tu-chemnitz.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49933

   Summary: float pointer postincrement during complex
calculations increments twice
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: michael.pip...@mathematik.tu-chemnitz.de


Created attachment 24882
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24882
Multiply complex array with float array. Use pointer postincrement ++ to go
through the float array.

The postincrement operator of float pointers is evaluated twice, if it is used
during complex calculations, e.g., the simple multiplication of the complex
array c and the float array f in the way

#  for(k=0;k

[Bug c++/48869] [4.5 Regression] OpenMP task construct fails to instantiate copy constructor(same as Bug 36523)

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48869

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug tree-optimization/49067] [4.5 Regression] Internal Compiler Error with -O3

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49067

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2
  Component|c   |tree-optimization


[Bug target/49206] [4.5/4.6/4.7 Regression] RA failure in spill_failure, at reload1.c:2113

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49206

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug c++/49932] [C++0x] ICE on instantiating decltype(expr)::type with template

2011-08-01 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49932

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.08.01 14:01:45
 CC||jason at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Paolo Carlini  2011-08-01 
14:01:45 UTC ---
The ICE happens in the mangler, in write_prefix: decl = TREE_TYPE (node) is
NULL_TREE.


[Bug c++/49279] [4.5/4.6/4.7 Regression] Optimization incorrectly presuming constant variable inside loop in g++ 4.5 and 4.6 with -O2 and -O3 for x86_64 targets

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49279

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug tree-optimization/49234] [4.4/4.5/4.7/4.7 Regression] -Wstrict-overflow gives obviously unwarranted warning

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49234

Richard Guenther  changed:

   What|Removed |Added

   Keywords||diagnostic
   Priority|P3  |P2


[Bug tree-optimization/49442] [4.5/4.6/4.7 Regression] Misaligned store support pessimization

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49442

Richard Guenther  changed:

   What|Removed |Added

   Keywords||missed-optimization
   Priority|P3  |P2


[Bug middle-end/49897] [4.5 Regression] nesting lastprivate gives incorrect result

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49897

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug tree-optimization/49460] [4.5 Regression] g++: Internal error: Segmentation fault (program cc1plus) using -O2 or -O3

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49460

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug libfortran/49791] [4.4/4.5/4.6/4.7 Regression] Formatted namelist reads fails with: Cannot match namelist object

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49791

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P4


[Bug tree-optimization/49651] [4.4/4.5 Regression] nested lambdas and -O3 produced incorrect integer variable increments

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49651

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug bootstrap/49907] [4.5/4.6/4.7 Regression] lto-plugin -Wall in stage1

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49907

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Richard Guenther  2011-08-01 
14:21:29 UTC ---
I posted a patch.


[Bug tree-optimization/48641] [4.7 Regression] ICE: verify_flow_info failed: Wrong frequency of block 77 -419530 with -O -fno-tree-ccp -fno-tree-copy-prop

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48641

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug target/48308] [4.6 regression] crosscompiling to arm fails with assembler: can't resolve '.LC4' {.rodata.str1.1 section} - '.LPIC4' {*UND* section}

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48308

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.2


[Bug debug/48853] [4.7 Regression] Wrong DWARF codegen when Pmode != ptr_mode

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48853

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug rtl-optimization/48596] [4.7 Regression] [SH] unable to find a register to spill in class 'FPUL_REGS'

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48596

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug c++/49852] [4.7 Regression] cp-demangle.c segfault

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49852

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug tree-optimization/49019] [4.4 Regression] Spurious aliasing warning with boost:optional

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49019

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.4.7

--- Comment #1 from Richard Guenther  2011-08-01 
14:26:18 UTC ---
There are still a lot of wrong points-to bugs in 4.4 that I didn't dare to
provide backports for.


[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug c++/49272] [4.7 Regression] FAIL: g++.old-deja/g++.jason/rfg10.C (test for errors, line 11)

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49272

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug middle-end/48965] [4.7 Regression] FAIL: gcc.dg/pr45055.c

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48965

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug target/49641] [4.6 Regression] Wrong code for ARMv4T and stmia

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49641

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.2


[Bug c/49934] New: gcc 4.6.1 messes up code

2011-08-01 Thread andy_code at mailup dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49934

   Summary: gcc 4.6.1 messes up code
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: andy_c...@mailup.net


here is the original function 

void keypad_isr(void) 
{ 
/*  read a character from the key buffer */ 
FPGA_UART_DATA *ptr;  /* volatile register makes no dif */
FPGA_UART_DATA kpd; 
int g; 
int n; 
KEYBUFFER *kb; 
char ch; 

kb= &key_buffer; 
asm(" halt");  /* just for debugging */ 
ptr = FPGA_UART;   /* make a pointer to the FPGA register */ 
// read upto 8 keys from the keypad 
for( n = 0; n < 8 ; n++ ) 
{ 
kpd= *ptr;/* read from register  (only do this ONCE) */ 
g = kpd.fifo_cnt; 
if(g == 0) 
return; 
ch = (char) kpd.rx_data; 
kb->status = ch; 
if( ch != 0 && ch != -1 ) 
{ 
if ( kb->current_location >= MAX_KEY_BUFFERS_SIZE-1 ) 
{ 
kb->current_location = MAX_KEY_BUFFERS_SIZE-1; 
} 
kb->key_buff[kb->current_location] = ch; 
kb->current_location++; 
} 
} 
} 

ok now here is my problem, gcc does not use an address register for the
pointer, and it insists on reading the FPGA directly twice  
here is generated assembly from gcc. 

dat's not wot I rit...

keypad_isr: 
lea (-12,%sp),%sp 
 movem.l #1036,(%sp) 
move.w -1073741664,%d0   
clr.l %d1 
move.w %d0,%d1   
moveq #13,%d2 
lsr.l %d2,%d1 
tst.b %d1 
jeq .L3 
moveq #8,%d1 
lea key_buffer+33,%a1 
lea key_buffer,%a0 
lea key_buffer+1,%a2 
jra .L5 
.L8: 
move.w -1073741664,%d0   <<< --- look its done it again ? 
clr.l %d2 
move.w %d0,%d2  <<< --- ARRRGGGgg its knackered my FPGA 
moveq #13,%d3 
lsr.l %d3,%d2 
tst.b %d2 
jeq .L3 
.L5: 
move.b %d0,%d2 
move.b %d0,(%a1) 
move.l %d2,%d0 
addq.l #1,%d0 
and.l #255,%d0 
moveq #1,%d3 
cmp.l %d0,%d3 
jcc .L6 
clr.l %d0 
move.b (%a0),%d0 
move.b #30,%d3 
cmp.l %d0,%d3 
jcc .L7 
move.b #31,(%a0) 
.L7: 
move.b (%a0),%d0 
clr.l %d3 
move.b %d0,%d3 
move.b %d2,(%a2,%d3.l) 
addq.l #1,%d0 
move.b %d0,(%a0) 
.L6: 
subq.l #1,%d1 
 jne .L8 
.L3: 
movem.l (%sp),#1036 
lea (12,%sp),%sp 
rts


[Bug target/49865] [4.7 Regression] Unnecessary reload causes small bloat

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49865

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug middle-end/49629] [4.7 Regression] ICE: in df_refs_verify, at df-scan.c

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49629

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug tree-optimization/49033] [4.6/4.7 Regression] ICE in compute_affine_dependence (tree-data-ref.c:4090) with -O3 -fcheck-data-deps -march=amdfam10

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49033

Richard Guenther  changed:

   What|Removed |Added

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

--- Comment #8 from Richard Guenther  2011-08-01 
14:35:53 UTC ---
Fixed for trunk.  -fcheck-data-deps isn't improtant enough to warrant a
backport.


[Bug tree-optimization/49140] [4.6 regression] wrong code with -O2 and -O3, not with -O3 -no-inline

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49140

Richard Guenther  changed:

   What|Removed |Added

 Status|REOPENED|WAITING

--- Comment #22 from Richard Guenther  2011-08-01 
14:36:43 UTC ---
Waiting for a testcase.


[Bug target/49641] [4.6 Regression] Wrong code for ARMv4T and stmia

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49641

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug middle-end/49545] [4.6 Regression] New C++ test failures

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49545

Richard Guenther  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #14 from Richard Guenther  2011-08-01 
14:39:16 UTC ---
Fixed.  The cris issue seems to be sth else.


[Bug testsuite/49464] [4.6/4.7 Regression] FAIL: g++.dg/ext/altivec-17.C (test for errors, line 15)

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49464

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.2


[Bug fortran/49885] [4.6/4.7 Regression] Segmentation fault when writing to an automatic character array

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49885

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P4


[Bug tree-optimization/49006] [4.6/4.7 Regression] Missed vectorization due to revision 167531

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49006

Richard Guenther  changed:

   What|Removed |Added

   Keywords||missed-optimization
   Priority|P3  |P2


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-08-01 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

Marc Glisse  changed:

   What|Removed |Added

  Attachment #24877|0   |1
is obsolete||

--- Comment #99 from Marc Glisse  2011-08-01 
14:38:24 UTC ---
Created attachment 24883
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24883
Solaris fixinclude

This should wrap the pow overloads to remove them in C++0X instead of always
(as in cmath). Untested (my virtualbox solaris doesn't answer ssh today).


[Bug target/49821] [4.6 regression] ICE in dwarf2out_cfi_begin_epilogue, at dwarf2out.c:3015

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49821

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug tree-optimization/49006] [4.6/4.7 Regression] Missed vectorization due to revision 167531

2011-08-01 Thread irar at il dot ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49006

--- Comment #7 from Ira Rosen  2011-08-01 14:47:08 UTC 
---
I think that this is not really a missed-optimization. It's just that some
loops disappear because of the unrolling.

Ira


[Bug c/49933] float pointer postincrement during complex calculations increments twice

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49933

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #1 from Richard Guenther  2011-08-01 
14:50:17 UTC ---
This is a dup of PR49644.

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


[Bug c/49644] [4.5 Regression] post-increment of promoted operand is incorrect.

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49644

Richard Guenther  changed:

   What|Removed |Added

 CC||michael.pippig at
   ||mathematik dot
   ||tu-chemnitz.de

--- Comment #15 from Richard Guenther  2011-08-01 
14:50:17 UTC ---
*** Bug 49933 has been marked as a duplicate of this bug. ***


[Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug debug/49775] [4.6 Regression on AVR] ICE in based_loc_descr

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49775

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P4
Summary|[4.6.1 Regression on AVR]   |[4.6 Regression on AVR] ICE
   |ICE in based_loc_descr  |in based_loc_descr


[Bug c++/49669] [4.6/4.7 Regression] [C++0x] Compiler crashes with "internal compiler error: in perform_member_init, at cp/init.c:530"

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49669

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug c/49934] gcc 4.6.1 messes up code

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49934

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.08.01 14:49:11
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2011-08-01 
14:49:11 UTC ---
The testcase does not compile.  You didn't specify what optimization option
you used nor for what target.

Please provide information according to http://gcc.gnu.org/bugs.html


[Bug tree-optimization/49518] [4.6 Regression] ICE in vect_enhance_data_refs_alignment, at tree-vect-data-refs.c:1555

2011-08-01 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49518

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug tree-optimization/49926] [4.7 Regression] ice in process_use, at tree-vect-stmts.c:405

2011-08-01 Thread irar at il dot ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49926

--- Comment #3 from Ira Rosen  2011-08-01 15:14:50 UTC 
---
I am testing this patch:

Index: tree-vect-loop.c
===
--- tree-vect-loop.c(revision 177007)
+++ tree-vect-loop.c(working copy)
@@ -1730,7 +1730,7 @@
   tree lhs;
   imm_use_iterator imm_iter;
   use_operand_p use_p;
-  int nloop_uses, size = 0;
+  int nloop_uses, size = 0, n_out_of_loop_uses;
   bool found = false;

   if (loop != vect_loop)
@@ -1741,6 +1741,7 @@
   while (1)
 {
   nloop_uses = 0;
+  n_out_of_loop_uses = 0;
   FOR_EACH_IMM_USE_FAST (use_p, imm_iter, lhs)
 {
  gimple use_stmt = USE_STMT (use_p);
@@ -1757,16 +1758,22 @@
   break;
 }

-  if (flow_bb_inside_loop_p (loop, gimple_bb (use_stmt))
-  && vinfo_for_stmt (use_stmt)
- && !STMT_VINFO_IN_PATTERN_P (vinfo_for_stmt (use_stmt)))
-   {
- loop_use_stmt = use_stmt;
- nloop_uses++;
-   }
+  if (flow_bb_inside_loop_p (loop, gimple_bb (use_stmt)))
+{
+  if (vinfo_for_stmt (use_stmt)
+  && !STMT_VINFO_IN_PATTERN_P (vinfo_for_stmt (use_stmt)))
+{
+  loop_use_stmt = use_stmt;
+  nloop_uses++;
+}
+}
+   else
+ n_out_of_loop_uses++;

-  if (nloop_uses > 1)
-return false;
+   /* There are can be either a single use in the loop or two uses in
+  phi nodes.  */
+   if (nloop_uses > 1 || (n_out_of_loop_uses && nloop_uses))
+ return false;
 }

   if (found)


[Bug tree-optimization/45034] [4.4 Regression] "safe" conversion from unsigned to signed char gives broken code

2011-08-01 Thread sezeroz at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45034

--- Comment #21 from Ozkan Sezer  2011-08-01 15:31:01 
UTC ---
Can we expect this bug to be fixed in 4.4?  If not, is the 4.5.x commit in
comment #18 safe to apply to 4.4.x for private use?  Thanks.


[Bug c++/49272] [4.7 Regression] FAIL: g++.old-deja/g++.jason/rfg10.C (test for errors, line 11)

2011-08-01 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49272

John David Anglin  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED

--- Comment #3 from John David Anglin  2011-08-01 
15:35:27 UTC ---
Fixed.


[Bug web/49935] New: Upgrade GCC Bugzilla to 3.6.6

2011-08-01 Thread LpSolit at netscape dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49935

   Summary: Upgrade GCC Bugzilla to 3.6.6
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: web
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: lpso...@netscape.net


We are close from releasing Bugzilla 4.0.2 and 3.6.6 (should happen later this
week, or next week). As they will include several security fixes, I will
upgrade GCC and Sourceware Bugzilla from 3.6.4+ to 3.6.6.

Is there any wish or need to upgrade to 4.0.2 instead?


[Bug tree-optimization/49651] [4.4/4.5 Regression] nested lambdas and -O3 produced incorrect integer variable increments

2011-08-01 Thread pedro.larroy at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49651

--- Comment #14 from Pedro Larroy  2011-08-01 
15:59:23 UTC ---
(In reply to comment #13)
> Fixed for 4.6.2 and trunk sofar.

great!  thanks.


[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2011-08-01 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

--- Comment #100 from Marc Glisse  
2011-08-01 16:17:25 UTC ---
Created attachment 24884
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24884
Alter mangling of std::tm and std::ldiv_t

And I attach a patch that mangles std::tm as ::tm, and the same for ldiv_t. Of
course it would also require div_t, lconv, and whatever else a grep will turn
up. Note that I don't understand half of the macros in the patch (everything to
do with TYPE is likely useless) but it seems to work.

Note also that I don't answer the question of whether we want to do such a
thing (which should allow compatibility with older gcc and can be reverted at
the next ABI break), or even do it just for solaris.

(if anyone wants to try, you'll likely hit PR 49914, which can be worked around
by s/abs/llabs/ wherever it complains)


[Bug web/48924] bugzilla: password dialog still claims 6-char minimum length

2011-08-01 Thread LpSolit at netscape dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48924

Frédéric Buclin  changed:

   What|Removed |Added

 CC||LpSolit at netscape dot net
  Component|other   |web

--- Comment #1 from Frédéric Buclin  2011-08-01 
16:31:08 UTC ---
What's the URL of the page where you saw that?


[Bug bootstrap/49914] call to abs(long long) in gcc/fold-const.c

2011-08-01 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49914

Paolo Carlini  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot
   ||com, rguenth at gcc dot
   ||gnu.org

--- Comment #3 from Paolo Carlini  2011-08-01 
16:36:54 UTC ---
So, Richard, what shall we do here? Add to tree.h just:

  #define ABS(X) ((X >= 0) ? (X) : (-X))

and use it in all those places? Or a static inline? Better name?


[Bug tree-optimization/45034] [4.4 Regression] "safe" conversion from unsigned to signed char gives broken code

2011-08-01 Thread ian at airs dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45034

Ian Lance Taylor  changed:

   What|Removed |Added

 CC||ian at airs dot com

--- Comment #22 from Ian Lance Taylor  2011-08-01 16:39:49 
UTC ---
There are no plans to backport this patch to 4.4.  See comment #14 and comment
#15.


[Bug tree-optimization/45034] [4.4 Regression] "safe" conversion from unsigned to signed char gives broken code

2011-08-01 Thread ian at airs dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45034

Ian Lance Taylor  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|4.4.7   |4.5.2

--- Comment #23 from Ian Lance Taylor  2011-08-01 16:40:57 
UTC ---
In fact, since we're not going to backport it, I'm going to close this.


[Bug bootstrap/49914] call to abs(long long) in gcc/fold-const.c

2011-08-01 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49914

--- Comment #4 from joseph at codesourcery dot com  2011-08-01 16:44:52 UTC ---
For HOST_WIDE_INT we want abs_hwi from 
.


[Bug bootstrap/49914] call to abs(long long) in gcc/fold-const.c

2011-08-01 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49914

--- Comment #5 from Paolo Carlini  2011-08-01 
16:56:33 UTC ---
Ah, excellent. But what happened to that patch, I see it approved but not
committed!?


[Bug tree-optimization/49926] [4.7 Regression] ice in process_use, at tree-vect-stmts.c:405

2011-08-01 Thread irar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49926

--- Comment #4 from irar at gcc dot gnu.org 2011-08-01 16:58:24 UTC ---
Author: irar
Date: Mon Aug  1 16:58:20 2011
New Revision: 177063

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177063
Log:

PR tree-optimization/49926
* tree-vect-loop.c (vect_is_slp_reduction): Check that a
statement in a chain doesn't have uses both inside and
outside the loop.


Added:
trunk/gcc/testsuite/gcc.dg/vect/pr49926.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-loop.c


[Bug rtl-optimization/49927] [4.7 Regression] ice in spill_failure, at reload1.c:2120

2011-08-01 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49927

--- Comment #6 from uros at gcc dot gnu.org 2011-08-01 17:13:35 UTC ---
Author: uros
Date: Mon Aug  1 17:13:30 2011
New Revision: 177064

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177064
Log:
PR target/49927
* config/i386/i386.c (ix86_address_subreg_operand): New.
(ix86_decompose_address): Use ix86_address_subreg_operand.
(ix86_legitimate_address_p): Do not assert that subregs satisfy
register_no_elim_operand in DImode.

testsuite/ChangeLog:

PR target/49927
* gcc.target/i386/pr49927.c: New test.


Added:
trunk/gcc/testsuite/gcc.target/i386/pr49927.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/testsuite/ChangeLog


[Bug target/49927] [4.7 Regression] ice in spill_failure, at reload1.c:2120

2011-08-01 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49927

Uros Bizjak  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Component|rtl-optimization|target
 Resolution||FIXED

--- Comment #7 from Uros Bizjak  2011-08-01 17:15:58 
UTC ---
Fixed.


[Bug bootstrap/49914] call to abs(long long) in gcc/fold-const.c

2011-08-01 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49914

--- Comment #6 from Paolo Carlini  2011-08-01 
17:20:57 UTC ---
To be clear: if nobody objects I'm willing to bootstrap and test again that
patch, commit it, and then use abs_hwi in all the places pointed out here.


[Bug c++/49813] [C++0x] sinh vs asinh vs constexpr

2011-08-01 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49813

--- Comment #54 from Jason Merrill  2011-08-01 
18:14:32 UTC ---
Author: jason
Date: Mon Aug  1 18:14:29 2011
New Revision: 177066

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177066
Log:
PR c++/49813
* semantics.c (potential_constant_expression_1): Allow any builtin.
(morally_constexpr_builtin_function_p): Remove.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-builtin1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug target/47766] [x32] -fstack-protector doesn't work

2011-08-01 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47766

--- Comment #2 from hjl at gcc dot gnu.org  2011-08-01 
18:21:10 UTC ---
Author: hjl
Date: Mon Aug  1 18:21:07 2011
New Revision: 177067

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177067
Log:
Use ptr_mode for stack protector.

2011-08-01  H.J. Lu  

PR target/47766
* config/i386/i386.md (PTR): New.
(stack_protect_set: Check TARGET_LP64 instead of TARGET_64BIT.
(stack_protect_test): Likewise.
(stack_protect_set_): Replace ":P" with ":PTR".
(stack_tls_protect_set_): Likewise.
(stack_tls_protect_test_): Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.md


[Bug target/47766] [x32] -fstack-protector doesn't work

2011-08-01 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47766

H.J. Lu  changed:

   What|Removed |Added

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

--- Comment #3 from H.J. Lu  2011-08-01 18:22:56 
UTC ---
Fixed.


[Bug c++/49813] [C++0x] sinh vs asinh vs constexpr

2011-08-01 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49813

--- Comment #55 from Jason Merrill  2011-08-01 
18:27:58 UTC ---
I've changed the compiler to allow all builtins in constexpr functions.


[Bug c++/49924] [C++0X] [constexpr] can't initialize a non-static member array of a literal type as a constexpr

2011-08-01 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49924

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.08.01 18:37:43
 AssignedTo|unassigned at gcc dot   |jason at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1


[Bug c++/49813] [C++0x] sinh vs asinh vs constexpr

2011-08-01 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49813

--- Comment #56 from paolo at gcc dot gnu.org  
2011-08-01 19:26:42 UTC ---
Author: paolo
Date: Mon Aug  1 19:26:39 2011
New Revision: 177070

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177070
Log:
2011-08-01  Paolo Carlini  

PR c++/49813
* include/c_global/cmath (isinf): Remove workaround.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/c_global/cmath


[Bug target/49881] [AVR] Inefficient stack manipulation around calls

2011-08-01 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49881

--- Comment #8 from Richard Henderson  2011-08-01 
19:35:46 UTC ---
Author: rth
Date: Mon Aug  1 19:35:43 2011
New Revision: 177071

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177071
Log:
PR target/49881
* config/avr/avr.h (PUSH_ROUNDING): New.
* config/avr/avr.md (pushqi1): Rename from *pushqi.
(*pushhi, *pushsi, *pushsf): Remove.
(MPUSH): New mode iterator.
(push1): New expander.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/avr/avr.h
trunk/gcc/config/avr/avr.md


[Bug rtl-optimization/49936] New: [4.7 regression] IRA handles CANNOT_CHANGE_MODE_CLASS poorly, + spills to memory on 4.7

2011-08-01 Thread sandra at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49936

   Summary: [4.7 regression] IRA handles CANNOT_CHANGE_MODE_CLASS
poorly, + spills to memory on 4.7
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: san...@codesourcery.com
CC: vmaka...@redhat.com


Created attachment 24885
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24885
test case abstest.c

Consider the attached test case, compiled for MIPS with

mipsisa32r2-sde-elf-gcc -O3 -fno-inline -fno-unroll-loops -march=74kf1_1 -S
abstest.c 

On MIPS, the hardware floating-point abs and neg instructions aren't usable by
default because they do the wrong thing with NaNs.  And, the sign-bit-twiddling
used by the optabs.c expansions can't be performed in a floating-point register
because of CANNOT_CHANGE_MODE_CLASS.  

With a GCC 4.6 compiler, this snippet of code from the test1 function

  for (i=0; i

[Bug rtl-optimization/49936] [4.7 regression] IRA handles CANNOT_CHANGE_MODE_CLASS poorly, + spills to memory on 4.7

2011-08-01 Thread sandra at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49936

--- Comment #1 from Sandra Loosemore  
2011-08-01 19:44:34 UTC ---
Created attachment 24886
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24886
WIP patch to MIPS backend

Here is the WIP patch I referred to earlier.  This patch (which handles abs
only) produced pretty good code on 4.6 by adding MIPS-specific expansions of
abs with explicit register constraints, but didn't fix the memory spills on
4.7.  Since this is pretty complicated, I think it would be better to fix IRA
to deal better with CANNOT_CHANGE_MODE_CLASS in a target-inspecific way than
continue farther down this route.


[Bug bootstrap/49914] call to abs(long long) in gcc/fold-const.c

2011-08-01 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49914

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|paolo.carlini at oracle dot |
   |com |
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com
   Target Milestone|--- |4.7.0


[Bug middle-end/49545] [4.6 Regression] New C++ test failures

2011-08-01 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49545

--- Comment #15 from Hans-Peter Nilsson  2011-08-01 
20:16:28 UTC ---
(In reply to comment #14)
> Fixed.  The cris issue seems to be sth else.

Whatever, as long as it helps fixing the bug. Cloning this PR then.


[Bug middle-end/49937] New: [4.7 Regression] g++.dg/tree-ssa/fwprop-align.C

2011-08-01 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49937

   Summary: [4.7 Regression] g++.dg/tree-ssa/fwprop-align.C
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: h...@gcc.gnu.org
Depends on: 49545
  Host: x64_86-unknown-linux-gnu
Target: cris-axis-elf


+++ This bug was initially created as a clone of Bug #49545 +++

Still seeing
FAIL: g++.dg/tree-ssa/fwprop-align.C scan-tree-dump-times forwprop2 "& 1" 0
at r177051.

See PR49545 for the rest.


  1   2   >