[Bug c++/20397] improve diagnostic for 'is inaccessible' error

2011-10-21 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20397

--- Comment #16 from Manuel López-Ibáñez  2011-10-21 
07:57:59 UTC ---
(In reply to comment #9)
> I am reopening as an enhancement request because all this discussion could be
> better summarized in the error message (in particular, the part about A being
> injected in B and being private).
> 
> clang has a "fixit/extra info" switch that provides a long explanation for 
> each
> error message. I wonder what error/message they give here.

Indeed, the error from clang is a bit more clear:

/tmp/webcompile/_3843_0.cc:9:8: error: 'A' is a private member of 'A'
int c(A *a) { return 7; }
  ^
/tmp/webcompile/_3843_0.cc:4:11: note: constrained by implicitly private
inheritance here
class B : A {
  ^
/tmp/webcompile/_3843_0.cc:1:7: note: member is declared here
class A {
  ^

but I am not sure the first error is correctly enunciated.


[Bug c++/50817] New: G++ emits errors containing lowered vtable references

2011-10-21 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50817

 Bug #: 50817
   Summary: G++ emits errors containing lowered vtable references
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: m...@gcc.gnu.org


struct a {
virtual int bar();
  };

  struct foo : public virtual a {
  };

  void test(foo *P) {
return P->bar() + *P;
  }

g++ revision 180166: 

 void test(foo*)
vtable.cc:9:22: error: no match for ‘operator+’ in ‘(((a*)P) +
((sizetype)(*(long int*)(P->foo::.a::_vptr.a +
0xffe0u->a::bar() + * P’
vtable.cc:9:22: error: return-statement with a value, in function returning
'void' [-fpermissive]

clang:

 t.cc:9:18: error: invalid operands to binary expression ('int' and 'foo')
return P->bar() + *P;
    ^ ~~


[Bug c++/50817] G++ emits errors containing lowered vtable references

2011-10-21 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50817

Manuel López-Ibáñez  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot
   ||com
Version|unknown |4.7.0

--- Comment #1 from Manuel López-Ibáñez  2011-10-21 
08:18:43 UTC ---
Which has a simple fix: Do not print expressions but types like clang does.
This fix will also fix a couple of other PRs.


[Bug c++/50817] G++ emits errors containing lowered vtable references

2011-10-21 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50817

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-10-21
 Ever Confirmed|0   |1

--- Comment #2 from Jonathan Wakely  2011-10-21 
08:33:28 UTC ---
wow! I've seen some bad ones, but this is the worst example of trying to
reconstruct expressions!


[Bug c++/50817] G++ emits errors containing lowered vtable references

2011-10-21 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50817

--- Comment #3 from Jonathan Wakely  2011-10-21 
08:34:47 UTC ---
I'm not sure this qualifies as an enhancement, I'd call it a plain ol' bug


[Bug target/50809] driver-arm.c:55:11: error: anonymous type with no linkage used to declare variable ' vendors []' with linkage [-Werror]

2011-10-21 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50809

Ramana Radhakrishnan  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-10-21
 CC||ams at gcc dot gnu.org,
   ||ramana at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Ramana Radhakrishnan  2011-10-21 
08:44:05 UTC ---
Andrew's been looking into it. 

Ramana


[Bug target/50818] New: va_list is filled incorrectly in functions with ms_abi attribute on amd64

2011-10-21 Thread andrey.sploshnov at kaspersky dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50818

 Bug #: 50818
   Summary: va_list is filled incorrectly in functions with ms_abi
attribute on amd64
Classification: Unclassified
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: andrey.splosh...@kaspersky.com


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

Compile the following testcase on x86_64-linux-gnu target:

void __attribute__((ms_abi)) callee (const char* fmt, ...)
{
__builtin_va_list ap;
__builtin_va_start (ap, fmt);

const char* p = __builtin_va_arg(ap, const char*);

va_end (ap);
}

void caller ()
{
const char* str = "arg";
test_proc1("a string: %s", str);
}

After I've built the code with default Debian/squeeze compiler (gcc (Debian
4.4.5-8) 4.4.5), I've got the following piece of code in callee:

   leaq  -32(%rbp), %rax
   movl  $8, (%rax)
   leaq  -32(%rbp), %rax
   movl  $48, 4(%rax)
   leaq  -32(%rbp), %rax
   leaq  24(%rbp), %rdx
   movq  %rdx, 8(%rax)

It seems to me, that va_list is filled incorrectly: pointer to the argument is
saved in overflow_arg_area, but gp_offset is set to 8 instead of 48 (according
to "System V ABI, AMD64 supplement"). So the following va_arg is trying to
extract the pointer from reg_save_area instead of overflow_arg_area.


[Bug target/50818] va_list is filled incorrectly in functions with ms_abi attribute on amd64

2011-10-21 Thread andrey.sploshnov at kaspersky dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50818

--- Comment #1 from Andrey Sploshnov  
2011-10-21 09:16:32 UTC ---
Sorry, there is a typo in the caller() function, it should be:

const char* str = "arg";
callee("a string: %s", str);

test.ii contains a correct version of the case


[Bug tree-optimization/50819] New: missed SLP vectorization

2011-10-21 Thread vincenzo.innocente at cern dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50819

 Bug #: 50819
   Summary: missed SLP vectorization
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: vincenzo.innoce...@cern.ch


in this example sum2 vectorize sum1 does not.
As you may suspect all current code looks more like sum1…

typedef float Value;

struct LorentzVector
{

  LorentzVector(Value x=0, Value  y=0, Value  z=0, Value  t=0) :
theX(x),theY(y),theZ(z),theT(t){} 
  LorentzVector & operator+=(const LorentzVector & a) {
theX += a.theX;
theY += a.theY;
theZ += a.theZ;
theT += a.theT;
return *this;
  }

  Value theX;
  Value theY;
  Value theZ;
  Value theT;
}  __attribute__ ((aligned(16)));

inline LorentzVector
operator+(LorentzVector const & a, LorentzVector const & b) {
  return
LorentzVector(a.theX+b.theX,a.theY+b.theY,a.theZ+b.theZ,a.theT+b.theT);
}

inline LorentzVector
operator*(LorentzVector const & a, Value s) {
return LorentzVector(a.theX*s,a.theY*s,a.theZ*s,a.theT*s);
}

inline LorentzVector
operator*(Value s, LorentzVector const & a) {
  return a*s;
}


void sum1(LorentzVector & res, Value s, LorentzVector const & v1, LorentzVector
const & v2) {
  res += s*(v1+v2);
}

void sum2(LorentzVector & res, Value s, LorentzVector const & v1, LorentzVector
const & v2) {
  res = res + s*(v1+v2);
}


c++ -O3 -c FourVec.cc
Vincenzos-MacBook-Pro:ctest innocent$ otool -V -t -v -X  FourVec.o | c++filt
sum1(LorentzVector&, float, LorentzVector const&, LorentzVector const&):
movss0x0c(%rsi),%xmm1
movss0x08(%rsi),%xmm2
movss0x04(%rsi),%xmm3
movss(%rsi),%xmm4
addss0x0c(%rdx),%xmm1
addss0x08(%rdx),%xmm2
addss0x04(%rdx),%xmm3
addss(%rdx),%xmm4
mulss%xmm0,%xmm1
mulss%xmm0,%xmm2
mulss%xmm0,%xmm3
mulss%xmm0,%xmm4
addss0x0c(%rdi),%xmm1
addss0x08(%rdi),%xmm2
addss0x04(%rdi),%xmm3
addss(%rdi),%xmm4
movss%xmm1,0x0c(%rdi)
movss%xmm2,0x08(%rdi)
movss%xmm3,0x04(%rdi)
movss%xmm4,(%rdi)
ret
nopl(%rax)
sum2(LorentzVector&, float, LorentzVector const&, LorentzVector const&):
movaps(%rsi),%xmm1
shufps$0x0,%xmm0,%xmm0
addps(%rdx),%xmm1
mulps%xmm1,%xmm0
addps(%rdi),%xmm0
movaps%xmm0,(%rdi)
ret


[Bug c++/50817] G++ emits errors containing lowered vtable references

2011-10-21 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50817

Manuel López-Ibáñez  changed:

   What|Removed |Added

   Keywords||diagnostic
   Severity|enhancement |normal

--- Comment #4 from Manuel López-Ibáñez  2011-10-21 
10:16:44 UTC ---
(In reply to comment #2)
> wow! I've seen some bad ones, but this is the worst example of trying to
> reconstruct expressions!

It is a very old and well-known example: http://clang.llvm.org/diagnostics.html

(In reply to comment #3)
> I'm not sure this qualifies as an enhancement, I'd call it a plain ol' bug

As you wish.


[Bug target/50809] driver-arm.c:55:11: error: anonymous type with no linkage used to declare variable ' vendors []' with linkage [-Werror]

2011-10-21 Thread ams at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50809

--- Comment #2 from Andrew Stubbs  2011-10-21 10:31:53 
UTC ---
Author: ams
Date: Fri Oct 21 10:31:48 2011
New Revision: 180289

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180289
Log:
2011-10-21  Andrew Stubbs  

PR target/50809

gcc/
* config/arm/driver-arm.c (vendors): Make static.



Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/driver-arm.c


[Bug target/50809] driver-arm.c:55:11: error: anonymous type with no linkage used to declare variable ' vendors []' with linkage [-Werror]

2011-10-21 Thread ams at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50809

Andrew Stubbs  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
 AssignedTo|unassigned at gcc dot   |ams at gcc dot gnu.org
   |gnu.org |

--- Comment #3 from Andrew Stubbs  2011-10-21 10:40:16 
UTC ---
Fixed.


[Bug c++/50817] G++ emits errors containing lowered vtable references

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50817

--- Comment #5 from Paolo Carlini  2011-10-21 
11:32:16 UTC ---
Of course agreed about the substance, but I'm still finding a bit puzzling the
"simple fix" assessment, I don't see tons of lazy people around not willing to
spend 5 minutes on this, do you? ;)


[Bug c++/50817] G++ emits errors containing lowered vtable references

2011-10-21 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50817

--- Comment #6 from Manuel López-Ibáñez  2011-10-21 
11:38:43 UTC ---
(In reply to comment #5)
> Of course agreed about the substance, but I'm still finding a bit puzzling the
> "simple fix" assessment, I don't see tons of lazy people around not willing to
> spend 5 minutes on this, do you? ;)

Of course, my "simple" was meant to be "conceptually simple". I know by
experience how much effort takes to fix any bug at all in GCC, and in
particular, trying to get a patch approved to fix this will end up in an
endless discussion whether the expression could be better pretty-printed. Not a
five minutes fix for sure.


[Bug middle-end/50691] Incorrect argument evaluation in call with __thread argument

2011-10-21 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50691

--- Comment #4 from John David Anglin  2011-10-21 
12:17:11 UTC ---
The following tree is incorrectly expanded bt expand call:

(gdb) p debug_tree (exp)
 
unit size 
align 32 symtab 0 alias set 2 canonical type 0x4036c3c0 precision 32
min  max 
pointer_to_this >
side-effects
fn 
unsigned SI size  unit size 
align 32 symtab 0 alias set -1 canonical type 0x403cff00>
constant
arg 0 
addressable used public external decl_5 SI file xxx.c line 2 col 12
align 32 context  chain >>
arg 0 
unsigned SI size  unit size 
align 32 symtab 0 alias set -1 canonical type 0x4036cae0>

arg 0 
addressable used SI file xxx.c line 4 col 10 size  unit size 
align 32 context 
(mem/c/i:SI (plus:SI (reg/f:SI 90 virtual-incoming-args)
(const_int -4 [0xfffc])) [2 x+0 S4 A32]) arg-type 
incoming-rtl (reg:SI 26 %r26 [ x ])>
xxx.c:6:14>
arg 1 

arg 0 
addressable used public external tls-global-dynamic SI file xxx.c
line 1 col 21 size  unit size 
align 32 context  chain
>
xxx.c:6:14>
xxx.c:6:3>
$11 = void
(gdb) bt
#0  expand_call (exp=0x403bf730, target=0x403bbe50, ignore=0)
at ../../gcc/gcc/calls.c:1965
#1  0x0027bdb0 in expand_expr_real_1 (exp=0x403bf730, target=, 
tmode=SImode, modifier=EXPAND_NORMAL, alt_rtl=0xfdf02a08)
at ../../gcc/gcc/expr.c:9934
#2  0x0027a194 in expand_expr_real_1 (exp=0x403bf730, target=, 
tmode=SImode, modifier=EXPAND_NORMAL, alt_rtl=0xfdf02a08)
at ../../gcc/gcc/expr.c:9911


[Bug c++/48119] -Wtype-limits should warn when bit masking cannot possibly be true due to type size

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48119

Paolo Carlini  changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #1 from Paolo Carlini  2011-10-21 
12:28:01 UTC ---
Richard, is this a C++ issue? The C compiler doesn't warn either..


[Bug target/50820] New: [avr] Use EIND consistently

2011-10-21 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50820

 Bug #: 50820
   Summary: [avr] Use EIND consistently
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: documentation, wrong-code
  Severity: enhancement
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@gcc.gnu.org
CC: eric.wedding...@atmel.com
Target: avr


EIND is not used consistently by the compiler: Some places use EICALL/EIJMP,
others to PUSH __zero_reg__ prior to indirect jump by means of RET.

Moreover, the usage of EIND and its assertions need documentation.


[Bug target/50820] [avr] Use EIND consistently

2011-10-21 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50820

Georg-Johann Lay  changed:

   What|Removed |Added

   Priority|P3  |P5
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-10-21
   Target Milestone|--- |4.7.0
 Ever Confirmed|0   |1


[Bug bootstrap/50812] libbid build fails with ICE on bid128_div.c

2011-10-21 Thread fxcoudert at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50812

Francois-Xavier Coudert  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #5 from Francois-Xavier Coudert  
2011-10-21 12:36:25 UTC ---
Fixed indeed.


[Bug fortran/50821] New: [4.7 Regression] 3 new GCC HEAD@180266 regressions

2011-10-21 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50821

 Bug #: 50821
   Summary: [4.7 Regression] 3 new GCC HEAD@180266 regressions
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: domi...@lps.ens.fr
CC: h...@gcc.gnu.org, ka...@gcc.gnu.org


Between revisions 180262 (OK) and 180266 three gfortran tests failed (see
http://gcc.gnu.org/ml/gcc-regression/2011-10/msg00461.html )

NEW   gfortran.sum gfortran.dg/g77/f90-intrinsic-bit.f
NEW   gfortran.sum gfortran.dg/simplify_argN_1.f90
NEW   gfortran.sum gfortran.fortran-torture/execute/intrinsic_bitops.f90

The errors are

[macbook] f90/bug% gfc
/opt/gcc/work/gcc/testsuite/gfortran.dg/g77/f90-intrinsic-bit.f
/opt/gcc/work/gcc/testsuite/gfortran.dg/g77/f90-intrinsic-bit.f:224.24-27:

  call c_i(ISHFTC(i,i2,i3),5,'ISHFTC(integer,integer,integer)') 
1  2
Error: The absolute value of SHIFT at (1) must be less than or equal to SIZE at
(2)
...
/opt/gcc/work/gcc/testsuite/gfortran.dg/g77/f90-intrinsic-bit.f:265.25-28:

  call c_i2(ISHFTC(j,k2,i3),ja, 
 1  2
Error: The absolute value of SHIFT at (1) must be less than or equal to SIZE at
(2)
Fatal Error: Error count reached limit of 25.

[macbook] f90/bug% gfc
/opt/gcc/work/gcc/testsuite/gfortran.dg/simplify_argN_1.f90
/opt/gcc/work/gcc/testsuite/gfortran.dg/simplify_argN_1.f90:11.53-56:

  INTEGER, PARAMETER, DIMENSION(N)  :: C = ISHFTC(3, B, 5)   !ICE
 1  2
Error: The absolute value of SHIFT at (1) must be less than or equal to SIZE at
(2)
/opt/gcc/work/gcc/testsuite/gfortran.dg/simplify_argN_1.f90:13.53-56:

  INTEGER, PARAMETER, DIMENSION(N)  :: E = ISHFTC(A, B, 5)   !  OK
 1  2
Error: The absolute value of SHIFT at (1) must be less than or equal to SIZE at
(2)
/opt/gcc/work/gcc/testsuite/gfortran.dg/simplify_argN_1.f90:17.6:

  use mods
  1
Fatal Error: Can't open module file 'mods.mod' for reading at (1): No such file
or directory

[macbook] f90/bug% gfc
/opt/gcc/work/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_bitops.f90
/opt/gcc/work/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_bitops.f90:28.18-23:

   if (ishftc (k, o+1, o+3) .ne. 9) call abort
  12
Error: The absolute value of SHIFT at (1) must be less than or equal to SIZE at
(2)

This is likely due to revision 180264

Author:kargl
Date:Thu Oct 20 18:07:10 2011 UTC (18 hours, 32 minutes ago)
Changed paths:4
Log Message:
2011-10-20  Steven G. Kargl  

* gfortran.dg/ishft_3.f90:  Update test.

2011-10-20  Steven G. Kargl  

* check.c (less_than_bitsize1): Check |shift| <= bit_size(i).
(gfc_check_ishftc):  Check |shift| <= bit_size(i) and check
that size is positive.


[Bug target/50820] [avr] Use EIND consistently

2011-10-21 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50820

--- Comment #1 from Georg-Johann Lay  2011-10-21 
12:48:08 UTC ---
Author: gjl
Date: Fri Oct 21 12:48:04 2011
New Revision: 180299

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180299
Log:
PR target/50820
* config/avr/libgcc.S (__EIND__): New define to 0x3C.
(__tablejump__): Consistently use EIND for indirect jump/call.
(__tablejump_elpm__): Ditto.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/avr/libgcc.S


[Bug debug/50816] [4.6.1] Discriminators are emitted in DWARF 2 format

2011-10-21 Thread anitha.boyapati at atmel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50816

--- Comment #3 from Anitha Boyapati  
2011-10-21 13:07:33 UTC ---
Can someone confirm this and fix this? We are blocked otherwise :-(


[Bug c++/50811] [C++0x] G++ rejects class-virt-specifier if class-head-name includes nested-name-specifier

2011-10-21 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50811

--- Comment #5 from Jason Merrill  2011-10-21 
13:31:26 UTC ---
Author: jason
Date: Fri Oct 21 13:31:21 2011
New Revision: 180301

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180301
Log:
PR c++/50811
* parser.c (cp_parser_class_head): Parse virt-specifiers
regardless of whether an id is present

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/override2.C


[Bug bootstrap/50326] [4.7 regression] ICE in set_lattice_value, at tree-ssa-ccp.c:456

2011-10-21 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50326

Eric Botcazou  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC||ebotcazou at gcc dot
   ||gnu.org
 Resolution||FIXED

--- Comment #14 from Eric Botcazou  2011-10-21 
13:35:17 UTC ---
> The "bad" PR49911 commit was backported to 4.5 branch too, in r178701.  I
> haven't checked yet if it caused any regressions there or not.

The 4.5 branch doesn't have build_ref_for_model and the only call to build3 on
a COMPONENT_REF already uses the type of the field, so it shouldn't be
affected.


[Bug bootstrap/50822] [4.7 regression] Solaris/SPARC bootstrap failure with Sun as: invalid assembler for ios_init.cc

2011-10-21 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50822

--- Comment #1 from Rainer Orth  2011-10-21 13:37:47 UTC 
---
Created attachment 25569
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25569
preprocessed input


[Bug bootstrap/50822] [4.7 regression] Solaris/SPARC bootstrap failure with Sun as: invalid assembler for ios_init.cc

2011-10-21 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50822

--- Comment #2 from Rainer Orth  2011-10-21 13:38:33 UTC 
---
Created attachment 25570
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25570
assembler input


[Bug bootstrap/50778] [4.7 Regression] Bootstrap failure on powerpc-apple-darwin9

2011-10-21 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50778

Dodji Seketeli  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |dodji at gcc dot gnu.org
   |gnu.org |

--- Comment #10 from Dodji Seketeli  2011-10-21 
13:35:41 UTC ---
Created attachment 25568
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25568
Candidate patch

Thanks to the ssh access granted by Dominique, I could looking into the Fortran
related breakage.  This lightly tested attached patch seems to fix it.

Iain, maybe your machine is faster than Dominique's, so maybe you could give it
a spin?

Thanks.


[Bug bootstrap/50822] New: [4.7 regression] Solaris/SPARC bootstrap failure with Sun as: invalid assembler for ios_init.cc

2011-10-21 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50822

 Bug #: 50822
   Summary: [4.7 regression] Solaris/SPARC bootstrap failure with
Sun as: invalid assembler for ios_init.cc
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org
CC: ebotca...@gcc.gnu.org
  Host: sparc-sun-solaris2*
Target: sparc-sun-solaris2*
 Build: sparc-sun-solaris2*


Between 20111014 and 20111021,Solaris/SPARC bootstrap with Sun as got broken
compiling the stage1 libstdc++:

> /var/gcc/regression/trunk/11-gcc/build/./gcc/xgcc -shared-libgcc 
> -B/var/gcc/regression/trunk/11-gcc/build/./gcc -nostdinc++ 
> -L/var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/libstdc++-v3/src
>  
> -L/var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/libstdc++-v3/src/.libs
>  -B/vol/gcc/sparc-sun-solaris2.11/bin/ -B/vol/gcc/sparc-sun-solaris2.11/lib/ 
> -isystem /vol/gcc/sparc-sun-solaris2.11/include -isystem 
> /vol/gcc/sparc-sun-solaris2.11/sys-include 
> -I/var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/libstdc++-v3/include/sparc-sun-solaris2.11
>  
> -I/var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/libstdc++-v3/include
>  -I/vol/gcc/src/hg/trunk/local/libstdc++-v3/libsupc++ -fno-implicit-templates 
> -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once 
> -ffunction-sections -fdata-sections -frandom-seed=ios_init.lo -g -O2 -c 
> /vol/gcc/src/hg/trunk/local/libstdc++-v3/src/ios_init.cc  -fPIC -DPIC -o 
> .libs/ios_init.o -save-temps
/usr/bin/as: "ios_init.s", line 14123: error: symbol
"_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EP6__FILESt13_Ios_Openmodej"
is used but not defined
/usr/bin/as: "ios_init.s", line 14123: error: symbol
"_ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEC2EP6__FILESt13_Ios_Openmodej"
is used but not defined
/usr/bin/as: "ios_init.s": , approx line 14123: internal error:
evaluate_symbol_expression(): op 48?

In fact, both symbols are used, but not defined:

   
_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EP6__FILESt13_Ios_Openmodej
=
_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EP6__FILESt13_Ios_Openmodej
   
_ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEC1EP6__FILESt13_Ios_Openmodej
=
_ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEC2EP6__FILESt13_Ios_Openmodej

gas can cope with that, Sun as cannot.  I'll have to start a reghunt for the
culprit patch.

  Rainer


[Bug bootstrap/50822] [4.7 regression] Solaris/SPARC bootstrap failure with Sun as: invalid assembler for ios_init.cc

2011-10-21 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50822

Rainer Orth  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug middle-end/45632] const function pointer propagation issues with inlining

2011-10-21 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45632

--- Comment #2 from Martin Jambor  2011-10-21 
14:07:53 UTC ---
Is the second call to func() in main we pass the pointer p again, p2
being basically thrown away, I think that is a mistake because this
way, there isn't actually any call to b_foo in the testcase, just two
calls to a_foo.

BTW, currently (at -O3 and on i686) not even these calls to a_foo is
inlined.  Just one of them is direct but the other one is not, presumably
because we don't believe in the constantness of *p over the first call
at this stage.  When I change the testcase to pass p2 to the second
invocation of func, neither a_foo nor b_foo are inlined either.

So it seems to me that in order to inline both cases we'd need
aggregate return functions that we would be able to combine with
indirect cgraph edges at inlining time.  Tough.


[Bug c++/50811] [C++0x] G++ rejects class-virt-specifier if class-head-name includes nested-name-specifier

2011-10-21 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50811

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #6 from Jonathan Wakely  2011-10-21 
14:09:58 UTC ---
thanks!


[Bug c/17534] gcc fails to diagnose suspect expressions that have incompatible bit masks

2011-10-21 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17534

--- Comment #6 from Manuel López-Ibáñez  2011-10-21 
14:10:52 UTC ---
Still an issue with revision 180166. This could be warned by Wlogical-op.


[Bug bootstrap/50778] [4.7 Regression] Bootstrap failure on powerpc-apple-darwin9

2011-10-21 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50778

--- Comment #11 from Iain Sandoe  2011-10-21 14:19:40 
UTC ---
(In reply to comment #10)
> Iain, maybe your machine is faster than Dominique's, so maybe you could give 
> it
> a spin?

looks good off a stage3-bubble,
 - libgfortran built, struct-layout-1.exp back to normal.

full bootstrap incl. Ada and Java will take circa 3hrs + another 6 or so for
full test-suite (i.e. results v late today or tomorrow AM).


[Bug c++/50811] [C++0x] G++ rejects class-virt-specifier if class-head-name includes nested-name-specifier

2011-10-21 Thread ville.voutilainen at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50811

--- Comment #7 from Ville Voutilainen  
2011-10-21 14:24:23 UTC ---
(In reply to comment #6)
> thanks!

You're welcome! I don't like leaving bugs open in code I wrote,
so instead of turning in early, I decided to fix it. ;)

Just out of curiosity, since you reported this and Daniel's
been watching, is such code something you intend to use
in a library implementation?


[Bug target/50820] [avr] Use EIND consistently

2011-10-21 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50820

--- Comment #2 from Georg-Johann Lay  2011-10-21 
14:24:28 UTC ---
Author: gjl
Date: Fri Oct 21 14:24:21 2011
New Revision: 180303

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180303
Log:
PR target/50820
Backport from Mainline r180299.
* config/avr/libgcc.S (__EIND__): New define to 0x3C.
(__tablejump__): Consistently use EIND for indirect jump/call.
(__tablejump_elpm__): Ditto.


Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/config/avr/libgcc.S   (contents, props changed)

Propchange: branches/gcc-4_6-branch/gcc/config/avr/libgcc.S
('svn:mergeinfo' added)


[Bug bootstrap/50778] [4.7 Regression] Bootstrap failure on powerpc-apple-darwin9

2011-10-21 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50778

--- Comment #12 from Dominique d'Humieres  
2011-10-21 14:25:47 UTC ---
If the patch in comment #10 regstrap on *-linux-*, I think it could be
committed, then monitor regress on
http://gcc.gnu.org/ml/gcc-testresults/2011-10/ and
http://gcc.gnu.org/ml/gcc-regression/2011-10/ .


[Bug target/50820] [avr] Use EIND consistently

2011-10-21 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50820

Georg-Johann Lay  changed:

   What|Removed |Added

   Target Milestone|4.7.0   |4.6.2
  Known to fail||4.6.1


[Bug fortran/50821] [4.7 Regression] 3 new GCC HEAD@180266 regressions

2011-10-21 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50821

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011-10-21
 Ever Confirmed|0   |1

--- Comment #1 from kargl at gcc dot gnu.org 2011-10-21 14:29:28 UTC ---
Mine.  Don't know why my regression passed.


[Bug driver/50740] CPUID leaf 7 for BMI/BMI2/AVX2 feature detection not qualified with max_level and doesn't use subleaf

2011-10-21 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50740

--- Comment #2 from uros at gcc dot gnu.org 2011-10-21 14:32:36 UTC ---
Author: uros
Date: Fri Oct 21 14:32:32 2011
New Revision: 180304

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180304
Log:
PR target/50740
* config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only
if max_level allows that.

testsuite/ChangeLog:

PR target/50740
* gcc.target/i386/avx2-check.h (main): Check CPUID level correctly.
* gcc.target/i386/bmi2-check.h: Ditto.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/driver-i386.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/i386/avx2-check.h
trunk/gcc/testsuite/gcc.target/i386/bmi2-check.h


[Bug c++/50811] [C++0x] G++ rejects class-virt-specifier if class-head-name includes nested-name-specifier

2011-10-21 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50811

--- Comment #8 from Jonathan Wakely  2011-10-21 
14:38:03 UTC ---
Daniel watches any PR to do with C++11 non-conformance  ;)

No, this didn't come up in the context of the library (although I might use
final on some of the shared_ptr and future helper classes to enable
de-virtualisation.)

I'm using -Wdelete-non-virtual-dtor and adding __final (in std=c++98 mode) to
classes so the compiler knows when not to warn. I hit the bug with code like:

// a.h
struct Interface { virtual void f() = 0; };

class A
{
  class Impl;
  Impl* impl;
};

// a.cc
class A::Impl __final : Interface { ... };


[Bug middle-end/44382] Slow integer multiply

2011-10-21 Thread wschmidt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44382

--- Comment #10 from William J. Schmidt  
2011-10-21 14:41:13 UTC ---
One more data point.  I repeated the experiment using -fsched-pressure. 
Although this reduced the degradations considerably, the overall results are
equivocal.  I see a few improvements and a few degradations in the 1-4% range,
with the geometric means essentially unchanged.  So even if -fsched-pressure
were the default, there wouldn't be an overwhelming case for enabling this
support on powerpc64.


[Bug driver/50740] CPUID leaf 7 for BMI/BMI2/AVX2 feature detection not qualified with max_level and doesn't use subleaf

2011-10-21 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50740

Uros Bizjak  changed:

   What|Removed |Added

 Target||x86
 Status|UNCONFIRMED |RESOLVED
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2011-10/msg01949.htm
   ||l
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #3 from Uros Bizjak  2011-10-21 14:44:01 
UTC ---
Fixed.


[Bug translation/29897] %s substituted with parts of sentence can not be translated correctly

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29897

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC|gcc-bugs at gcc dot gnu.org |
 Resolution||WORKSFORME
   Target Milestone|--- |4.7.0

--- Comment #2 from Paolo Carlini  2011-10-21 
14:49:45 UTC ---
Moot in mainline, file and message don't exist anymore.


[Bug bootstrap/50778] [4.7 Regression] Bootstrap failure on powerpc-apple-darwin9

2011-10-21 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50778

--- Comment #13 from Iain Sandoe  2011-10-21 14:52:54 
UTC ---
(In reply to comment #12)
> If the patch in comment #10 regstrap on *-linux-*, I think it could be
> committed, then monitor regress on
> http://gcc.gnu.org/ml/gcc-testresults/2011-10/ and
> http://gcc.gnu.org/ml/gcc-regression/2011-10/ .

hm.. got an ICE in stage1 libgcc .. @180302 - but possibly unrelated

/GCC/gcc-live-trunk/libgcc/../gcc/libgcc2.c: In function ‘__popcountti2’:
/GCC/gcc-live-trunk/libgcc/../gcc/libgcc2.c:848:1: internal compiler error: in
rs6000_adjust_cost, at config/rs6000/rs6000.c:22865

... will wind back to 241 and try again.


[Bug translation/47064] params.def: Translatable string compilatoin (vs. compilation)

2011-10-21 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47064

--- Comment #1 from paolo at gcc dot gnu.org  
2011-10-21 14:55:45 UTC ---
Author: paolo
Date: Fri Oct 21 14:55:42 2011
New Revision: 180307

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180307
Log:
2011-10-21  Roland Stigge  

PR translation/47064
* params.def: Fix typo "compilatoin" -> "compilation".

Modified:
trunk/gcc/ChangeLog
trunk/gcc/params.def


[Bug translation/47064] params.def: Translatable string compilatoin (vs. compilation)

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47064

Paolo Carlini  changed:

   What|Removed |Added

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

--- Comment #2 from Paolo Carlini  2011-10-21 
14:58:38 UTC ---
Fixed for 4.7.0.


[Bug rtl-optimization/50788] [4.7 Regression] ICE: in merge_overlapping_regs, at regrename.c:318 with -mavx -fpeel-loops -fstack-protector-all and __builtin_ia32_maskloadpd256

2011-10-21 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50788

Eric Botcazou  changed:

   What|Removed |Added

 Target|x86_64-pc-linux-gnu |i?86-*-* x86_64-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-10-21
 CC||ebotcazou at gcc dot
   ||gnu.org
   Host|x86_64-pc-linux-gnu |
 Ever Confirmed|0   |1

--- Comment #1 from Eric Botcazou  2011-10-21 
15:04:41 UTC ---
I can reproduce on x86.


[Bug rtl-optimization/50788] [4.7 Regression] ICE: in merge_overlapping_regs, at regrename.c:318 with -mavx -fpeel-loops -fstack-protector-all and __builtin_ia32_maskloadpd256

2011-10-21 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50788

Eric Botcazou  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|ebotcazou at gcc dot|
   |gnu.org |
 AssignedTo|unassigned at gcc dot   |ebotcazou at gcc dot
   |gnu.org |gnu.org

--- Comment #2 from Eric Botcazou  2011-10-21 
15:08:02 UTC ---
Investigating.


[Bug middle-end/50823] New: [4.7 Regression] ICE in inline_small_functions, at ipa-inline.c:1407

2011-10-21 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50823

 Bug #: 50823
   Summary: [4.7 Regression] ICE in inline_small_functions, at
ipa-inline.c:1407
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mar...@trippelsdorf.de


Happens when one tries to build gcc with -O3:

x86_64-pc-linux-gnu-gcc -c -march=native -O3 -pipe -fuse-linker-plugin -DIN_GCC
-W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -I.
-I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include
-I../../gcc/gcc/../libcpp/include -I../../gcc/gcc/../libdecnumber
-I../../gcc/gcc/../libdecnumber/bid -I../libdecnumber ../../gcc/gcc/emit-rtl.c
-o emit-rtl.o
../../gcc/gcc/emit-rtl.c:5939:0: internal compiler error: in
inline_small_functions, at ipa-inline.c:1407

Reduced testcase is attached.

 % gcc -c -O3 -w test.i
test.i:79:1: internal compiler error: in inline_small_functions, at
ipa-inline.c:1407


[Bug fortran/50821] [4.7 Regression] 3 new GCC HEAD@180266 regressions

2011-10-21 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50821

kargl at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P4
 AssignedTo|unassigned at gcc dot   |kargl at gcc dot gnu.org
   |gnu.org |


[Bug middle-end/50823] [4.7 Regression] ICE in inline_small_functions, at ipa-inline.c:1407

2011-10-21 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50823

--- Comment #1 from Markus Trippelsdorf  
2011-10-21 15:22:35 UTC ---
Created attachment 25571
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25571
testcase


[Bug tree-optimization/50824] New: memset or memcpy on structure prevents SRA

2011-10-21 Thread andi-gcc at firstfloor dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50824

 Bug #: 50824
   Summary: memset or memcpy on structure prevents SRA
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: andi-...@firstfloor.org


Clearing a structure using memset or copying it using memcpy currently
disables SRA for the structure because it counts as escaping. 

Since this is common it would be better
if it was handled. Clearing it using an initializer or copying it with
= already works, so those could be handled the same way.


[Bug middle-end/50823] [4.7 Regression] ICE in inline_small_functions, at ipa-inline.c:1407

2011-10-21 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50823

--- Comment #2 from Markus Trippelsdorf  
2011-10-21 16:10:45 UTC ---
Caused by:

commit 60ac8a3c08cc653bc92507cb1be08ca2ebe6774a
Author: hubicka 
Date:   Thu Oct 20 11:46:08 2011 +

PR bootstrap/50709
* ipa-inline.c (inline_small_functions): Fix checking code to not make
effect on fibheap stability.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180247
138bc75d-0d04-0410-961f-82ee72b054a4

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 204ab43..e7c42e5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-10-19  Jan Hubicka  
+
+   PR bootstrap/50709
+   * ipa-inline.c (inline_small_functions): Fix checking code to not make
+   effect on fibheap stability.
+
 2011-10-20  Maxim Kuvyrkov  

* config/m68k/t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index f069914..909b5ba 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -1384,6 +1384,7 @@ inline_small_functions (void)
   struct cgraph_node *where, *callee;
   int badness = fibheap_min_key (heap);
   int current_badness;
+  int cached_badness;
   int growth;

   edge = (struct cgraph_edge *) fibheap_extract_min (heap);
@@ -1392,16 +1393,18 @@ inline_small_functions (void)
   if (!edge->inline_failed)
continue;

-  /* Be sure that caches are maintained consistent.  */
-#ifdef ENABLE_CHECKING
+  /* Be sure that caches are maintained consistent.  
+ We can not make this ENABLE_CHECKING only because it cause differnt
+ updates of the fibheap queue.  */
+  cached_badness = edge_badness (edge, false);
   reset_edge_growth_cache (edge);
   reset_node_growth_cache (edge->callee);
-#endif

   /* When updating the edge costs, we only decrease badness in the keys.
 Increases of badness are handled lazilly; when we see key with out
 of date value on it, we re-insert it now.  */
   current_badness = edge_badness (edge, false);
+  gcc_assert (cached_badness == current_badness);
   gcc_assert (current_badness >= badness);
   if (current_badness != badness)
{

The whole cached_badness thing looks pretty bogus to me.


[Bug c++/48940] GCC fails to issue expected error

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48940

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #6 from Paolo Carlini  2011-10-21 
16:37:16 UTC ---
I think we can close this.


[Bug c++/24314] Extra "template<>" in partial specialization is compiled successfuly.

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24314

Paolo Carlini  changed:

   What|Removed |Added

 CC||Nimantha.Siriwardana at
   ||googlemail dot com

--- Comment #6 from Paolo Carlini  2011-10-21 
16:48:59 UTC ---
*** Bug 49453 has been marked as a duplicate of this bug. ***


[Bug c++/49453] Accepts invalid syntax for partial specialization of class template where the specialization is a class template

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49453

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #1 from Paolo Carlini  2011-10-21 
16:48:59 UTC ---
Duplicate.

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


[Bug fortran/50821] [4.7 Regression] 3 new GCC HEAD@180266 regressions

2011-10-21 Thread sgk at troutmask dot apl.washington.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50821

--- Comment #2 from Steve Kargl  
2011-10-21 17:43:31 UTC ---
On Fri, Oct 21, 2011 at 12:41:00PM +, dominiq at lps dot ens.fr wrote:
> The errors are
> 
> [macbook] f90/bug% gfc
> /opt/gcc/work/gcc/testsuite/gfortran.dg/g77/f90-intrinsic-bit.f
> /opt/gcc/work/gcc/testsuite/gfortran.dg/g77/f90-intrinsic-bit.f:224.24-27:
> 
>   call c_i(ISHFTC(i,i2,i3),5,'ISHFTC(integer,integer,integer)') 
> 1  2
> Error: The absolute value of SHIFT at (1) must be less than
> or equal to SIZE at (2)

Dominiq,

Can you test the attached patch?  I still don't know why
my previous regression test passed, but it's clear that
I need to check that SHIFT and SIZE are constants before
I try to check their values. :-/


[Bug bootstrap/50825] New: [4.7 regression] bootstrap fails at stage1 libgcc from r180302

2011-10-21 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50825

 Bug #: 50825
   Summary: [4.7 regression] bootstrap fails at stage1 libgcc from
r180302
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ia...@gcc.gnu.org
CC: ber...@gcc.gnu.org
Target: powerpc-apple-darwin9


/GCC/gcc-4-7-id9-id9-pd9/./gcc/xgcc -B/GCC/gcc-4-7-id9-id9-pd9/./gcc/
-B/GCC/gcc-4-7-id9xpd9/powerpc-apple-darwin9/bin/
-B/GCC/gcc-4-7-id9xpd9/powerpc-apple-darwin9/lib/ -isystem
/GCC/gcc-4-7-id9xpd9/powerpc-apple-darwin9/include -isystem
/GCC/gcc-4-7-id9xpd9/powerpc-apple-darwin9/sys-include-g -O2 -O2  -I. -I.
-I/GCC/gcc-live-trunk/gcc -I/GCC/gcc-live-trunk/gcc/.
-I/GCC/gcc-live-trunk/gcc/../include -I/GCC/gcc-live-trunk/gcc/../libdecnumber
-I/GCC/gcc-live-trunk/gcc/../libdecnumber/dpd -I../libdecnumber
-I/GCC/gcc-live-trunk/gcc/../libgcc -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-isystem ./include  -Wa,-force_cpusubtype_ALL -pipe -mmacosx-version-min=10.4
-g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector 
-mlong-double-128 -I. -I. -I../.././gcc -I/GCC/gcc-live-trunk/libgcc
-I/GCC/gcc-live-trunk/libgcc/. -I/GCC/gcc-live-trunk/libgcc/../gcc
-I/GCC/gcc-live-trunk/libgcc/../include  -DHAVE_CC_TLS -DUSE_EMUTLS -o
_popcountdi2_s.o -MT _popcountdi2_s.o -MD -MP -MF _popcountdi2_s.dep -DSHARED
-DL_popcountdi2 -c /GCC/gcc-live-trunk/libgcc/../gcc/libgcc2.c 
/GCC/gcc-live-trunk/libgcc/../gcc/libgcc2.c: In function ‘__popcountdi2’:
/GCC/gcc-live-trunk/libgcc/../gcc/libgcc2.c:848:1: internal compiler error: in
rs6000_adjust_cost, at config/rs6000/rs6000.c:22865

==
my ppc machine is tied up at the moment - but this is easily demonstrable from
a cross.


[Bug fortran/50821] [4.7 Regression] 3 new GCC HEAD@180266 regressions

2011-10-21 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50821

--- Comment #3 from Dominique d'Humieres  2011-10-21 
18:07:39 UTC ---
> Can you test the attached patch?

Quick tests show that your path fixes the problem. For more serious testing my
time scales are ~2h30 for bootstrap and ~1h30 to regtest gfortran alone. Do you
want me to start right now or could you wait till tomorrow morning (my time:
+9h for yours)?


[Bug c++/31423] Improve upon "invalid use of member (did you forget the '&' ?)"

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31423

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC|gcc-bugs at gcc dot gnu.org |
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #11 from Paolo Carlini  2011-10-21 
18:20:07 UTC ---
Fixed for 4.7.0.


[Bug c++/31423] Improve upon "invalid use of member (did you forget the '&' ?)"

2011-10-21 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31423

--- Comment #10 from paolo at gcc dot gnu.org  
2011-10-21 18:19:00 UTC ---
Author: paolo
Date: Fri Oct 21 18:18:55 2011
New Revision: 180309

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180309
Log:
/cp
2011-10-21  Paolo Carlini  

PR c++/31423
* typeck2.c (cxx_incomplete_type_diagnostic): Improve error message
for invalid use of member function.

/testsuite
2011-10-21  Paolo Carlini  

PR c++/31423
* g++.dg/parse/error43.C: New.
* g++.dg/parse/error44.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/parse/error43.C
trunk/gcc/testsuite/g++.dg/parse/error44.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck2.c
trunk/gcc/testsuite/ChangeLog


[Bug bootstrap/50825] [4.7 regression] bootstrap fails at stage1 libgcc from r180302

2011-10-21 Thread bernds at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50825

--- Comment #1 from Bernd Schmidt  2011-10-21 
18:38:48 UTC ---
Author: bernds
Date: Fri Oct 21 18:38:44 2011
New Revision: 180310

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180310
Log:
PR bootstrap/50825
* sched-deps.c (add_dependence): If not doing predication, promote
REG_DEP_CONTROL to REG_DEP_ANTI.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/sched-deps.c


[Bug bootstrap/50778] [4.7 Regression] Bootstrap failure on powerpc-apple-darwin9

2011-10-21 Thread dodji at seketeli dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50778

--- Comment #14 from dodji at seketeli dot org  
2011-10-21 18:40:41 UTC ---
>> If the patch in comment #10 regstrap on *-linux-*, I think it could be
>> committed, then monitor regress on
>> http://gcc.gnu.org/ml/gcc-testresults/2011-10/ and
>> http://gcc.gnu.org/ml/gcc-regression/2011-10/ .

Sure.  I am about to propose it.

> hm.. got an ICE in stage1 libgcc .. @180302 - but possibly unrelated
>
> /GCC/gcc-live-trunk/libgcc/../gcc/libgcc2.c: In function ‘__popcountti2’:
> /GCC/gcc-live-trunk/libgcc/../gcc/libgcc2.c:848:1: internal compiler error: in
> rs6000_adjust_cost, at config/rs6000/rs6000.c:22865

Seems unrelated.


[Bug bootstrap/50778] [4.7 Regression] Bootstrap failure on powerpc-apple-darwin9

2011-10-21 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50778

--- Comment #15 from Iain Sandoe  2011-10-21 18:48:52 
UTC ---
(In reply to comment #14)
> > hm.. got an ICE in stage1 libgcc .. @180302 - but possibly unrelated
> >
> > /GCC/gcc-live-trunk/libgcc/../gcc/libgcc2.c: In function ‘__popcountti2’:
> > /GCC/gcc-live-trunk/libgcc/../gcc/libgcc2.c:848:1: internal compiler error: 
> > in
> > rs6000_adjust_cost, at config/rs6000/rs6000.c:22865
> 
> Seems unrelated.

yes, pr50825 - and fixed :-)

the bootstrap (r180257) is on stage 3 (building libjava)


[Bug bootstrap/50825] [4.7 regression] bootstrap fails at stage1 libgcc from r180302

2011-10-21 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50825

Iain Sandoe  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Iain Sandoe  2011-10-21 18:54:46 
UTC ---
thanks for the quick fix.


[Bug bootstrap/50778] [4.7 Regression] Bootstrap failure on powerpc-apple-darwin9

2011-10-21 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50778

--- Comment #16 from Dodji Seketeli  2011-10-21 
19:00:59 UTC ---
Patch proposed to http://gcc.gnu.org/ml/gcc-patches/2011-10/msg02017.html


[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11

2011-10-21 Thread nenad at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992

Nenad Vukicevic  changed:

   What|Removed |Added

 CC||nenad at intrepid dot com

--- Comment #58 from Nenad Vukicevic  2011-10-21 
19:12:47 UTC ---
Is there a final patch for this? Or more testing is required.


[Bug target/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11

2011-10-21 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992

--- Comment #59 from Iain Sandoe  2011-10-21 19:23:53 
UTC ---
(In reply to comment #58)
> Is there a final patch for this? Or more testing is required.

http://gcc.gnu.org/ml/gcc-patches/2011-10/msg01245.html
http://gcc.gnu.org/ml/gcc-patches/2011-10/msg01246.html

I will ping these over the weekend 

also you would need:
http://gcc.gnu.org/ml/gcc-patches/2011-10/msg01622.html

if you want to do LTO bootstraps.


[Bug target/50813] gcc.dg/torture/vshuf-{v4di,v8si}.c fail on AVX target

2011-10-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50813

--- Comment #3 from Jakub Jelinek  2011-10-21 
19:32:23 UTC ---
Author: jakub
Date: Fri Oct 21 19:32:20 2011
New Revision: 180311

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180311
Log:
PR target/50813
* config/i386/i386.c (expand_vec_perm_even_odd_1): Handle
V4DImode and V8SImode for !TARGET_AVX2.

* gcc.dg/torture/vshuf-32.inc: Add broadcast permutation
from element other than first and reverse permutation.
* gcc.dg/torture/vshuf-16.inc: Likewise.
* gcc.dg/torture/vshuf-8.inc: Likewise.
* gcc.dg/torture/vshuf-4.inc: Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/torture/vshuf-16.inc
trunk/gcc/testsuite/gcc.dg/torture/vshuf-32.inc
trunk/gcc/testsuite/gcc.dg/torture/vshuf-4.inc
trunk/gcc/testsuite/gcc.dg/torture/vshuf-8.inc


[Bug c++/45385] [4.4/4.5/4.6/4.7 Regression] missing -Wconversion for method calls

2011-10-21 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45385

--- Comment #5 from paolo at gcc dot gnu.org  
2011-10-21 20:01:34 UTC ---
Author: paolo
Date: Fri Oct 21 20:01:31 2011
New Revision: 180312

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180312
Log:
/cp
2011-10-21  Paolo Carlini  

PR c++/45385
* init.c (build_vec_init): Early return error_mark_node if
maxindex is -1.

/c-family
2011-10-21  Paolo Carlini  

PR c++/45385
* c-common.c (conversion_warning): Remove code looking for
artificial operands.

/testsuite
2011-10-21  Paolo Carlini  

PR c++/45385
* g++.dg/warn/Wconversion4.C: New.

Added:
trunk/gcc/testsuite/g++.dg/warn/Wconversion4.C
Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-common.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/init.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/45385] [4.4/4.5/4.6 Regression] missing -Wconversion for method calls

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45385

Paolo Carlini  changed:

   What|Removed |Added

Summary|[4.4/4.5/4.6/4.7|[4.4/4.5/4.6 Regression]
   |Regression] missing |missing -Wconversion for
   |-Wconversion for method |method calls
   |calls   |

--- Comment #6 from Paolo Carlini  2011-10-21 
20:02:53 UTC ---
Fixed for 4.7.0 so far.


[Bug middle-end/20319] -fkeep-static-consts with -O asserted doesn't keep consts

2011-10-21 Thread pub at goldshmidt dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20319

Oleg Goldshmidt  changed:

   What|Removed |Added

 CC||pub at goldshmidt dot org

--- Comment #10 from Oleg Goldshmidt  2011-10-21 
20:41:51 UTC ---
Hi,

I recently was bitten by the same "feature" and I would like to add a few
points (important, IMHO) to the discussion.

1. I noticed that combining -g with -O2 kept unused static constants in the
object files up to version 4.4, but not in 4.5 or 4.6. My tests were all done
on Red Hat Linux systems (RHEL or Fedora) rather than on vanilla gcc - I doubt
it matters but I think it needs to be mentioned.   

2. I must state that from my prospective the current behaviour is a problem.
There is an optimization that cannot be turned off selectively, even as many
other optimizations can. The behavior of -fkeep-static-consts is illogical, as
others have mentioned. 

3. The use case of version control keywords is a very important one. This
thread http://gcc.gnu.org/ml/gcc/2005-04/msg01429.html shows that it is not
regarded as such by the GCC team. I do not intend to start a discussion here,
but with all due respect there are lots of very practical considerations that
may be irrelevant for GCC itself but very relevant in other contexts. I will
only make a general statement as follows:

4. GCC optimizes unused static consts away as it understands that they cannot
be accessed by any program of which the const is a part. It misses the
possibility that the resulting object may be input to another program (e.g.,
ident(1) or strings(1)) and thus there may be a legitimate reason to keep the
const even as other optimizations are applied.

5. I can only regard __attribute__((unused)) as a very poor workaround because
it makes the code non-portable and requires, apart from the definition of the
constant, at least some preprocessor trickery like #ifdef __GNUC__ / #else /
#endif. Dealing with the issue with a compiler option is much better.

This begs for being patched, probably along the lines of what Gary Funck
suggested. I may be willing to look at the code and submit such a patch, but I
would first appreciate a bit of procedural guidance from developers.

This bug, albeit still NEW and unassigned, is against a very old version.
Should a new bug be opened and tracked? 

Given that a patch would change the default behaviour of an option, and the
documented "we don't really understand the need for this" opinion (highly
respected but contested), is there a reasonable chance that a patch would be
accepted?

Has a patch like this been submitted and rejected in the past? Verifying it
"from outside" seems a non-trivial task by itself.

Manuel (comment #8)? Anyone? I'd appreciate a reaction before diving in.

Thanks, Oleg.


[Bug bootstrap/50826] New: bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor

2011-10-21 Thread sje at cup dot hp.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

 Bug #: 50826
   Summary: bootstrap on 64 bit pa broken by r180194, ICE in
mem_loc_descriptor
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: s...@cup.hp.com
  Host: hppa64-hp-hpux11.11
Target: hppa64-hp-hpux11.11
 Build: hppa64-hp-hpux11.11


[Bug bootstrap/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor

2011-10-21 Thread sje at cup dot hp.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

--- Comment #1 from Steve Ellcey  2011-10-21 20:46:46 
UTC ---
Created attachment 25573
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25573
small test case

Test case.


[Bug bootstrap/50826] bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor

2011-10-21 Thread sje at cup dot hp.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50826

--- Comment #2 from Steve Ellcey  2011-10-21 20:55:47 
UTC ---
forgot to mention that the test case needs to be compiled with -O2 -g to
reproduce the problem.


[Bug fortran/50821] [4.7 Regression] 3 new GCC HEAD@180266 regressions

2011-10-21 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50821

--- Comment #4 from kargl at gcc dot gnu.org 2011-10-21 22:48:43 UTC ---
Author: kargl
Date: Fri Oct 21 22:48:39 2011
New Revision: 180316

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180316
Log:
2011-10-20  Steven G. Kargl  

PR fortran/50821
* check.c (gfc_check_ishftc): Check args are constant before 
extracting the integer.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/check.c


[Bug c++/50810] c++0x-compat does not warn about narrowing conversions

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50810

Paolo Carlini  changed:

   What|Removed |Added

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

--- Comment #2 from Paolo Carlini  2011-10-21 
22:50:00 UTC ---
Note, this changed between 4.6 and 4.7 from permerror to pedwarn.

This said, check_narrowing is called by digest_init_r like this:

  if (cxx_dialect != cxx98 && nested)
check_narrowing (type, init);

thus probably it would be easy to call it also when cxx_dialect is cxx98 &&
warn_cxx0x_compat and then, at the end, have something like:

  if (!ok)
{
  if (cxx_dialect != cxx98)
pedwarn (input_location, OPT_Wnarrowing, "narrowing conversion of %qE "
"from %qT to %qT inside { }", init, ftype, type);
  else
warning (OPT_Wc__0x_compat, "narrowing conversion of %qE "
"from %qT to %qT inside { }", init, ftype, type);
}

maybe with a slightly different message in the -Wc++0x-compat case.

Jason?


[Bug fortran/50821] [4.7 Regression] 3 new GCC HEAD@180266 regressions

2011-10-21 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50821

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #5 from kargl at gcc dot gnu.org 2011-10-21 22:53:27 UTC ---
Fixed.  Sorry about the snafu.


[Bug c++/50810] c++0x-compat does not warn about narrowing conversions

2011-10-21 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50810

--- Comment #3 from Paolo Carlini  2011-10-21 
22:57:31 UTC ---
(detail: not sure about the 'if (!warn_narrowing) return;' at the beginning of
check_narrowing: probably we don't want -Wno-narrowing to suppress the warnings
enabled of -Wc++0x-compat)


[Bug target/50182] Performance degradation from gcc 4.1 (x86_64)

2011-10-21 Thread xinliangli at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50182

--- Comment #15 from davidxl  2011-10-21 23:02:16 
UTC ---
(In reply to comment #14)
> (In reply to comment #13)
> > David, it looks like we are seeing different things with v4.7... See my 
> > comment 11 - I am still observing the slowdown. Do you have access to 
> > v4.1 and v4.6? Could you try reproducing my test please?
> 
> Sorry for the delay -- I am pretty swamped these days (till mid October). I
> will try to look at the problem more then.
> 
> David


I still can not reproduce the problem with trunk compiler:


rv=4282167296

test description   absolute   operations   ratio with
number time   per second   test0

 0 "int8_t constant add"   1.09 sec   1467.89 M 1.00

Total absolute time for int8_t constant folding: 1.09 sec


Can you attach the output of -v and the assembly file with -fverbose-asm -dA
and the optimized dump file with option -fdump-tree-optimized-blocks using
trunk compiler?

thanks,

David


[Bug target/50691] Incorrect argument evaluation in call with __thread argument

2011-10-21 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50691

John David Anglin  changed:

   What|Removed |Added

  Component|middle-end  |target

--- Comment #5 from John David Anglin  2011-10-21 
23:16:08 UTC ---
Testing a change to pa_legitimate_constant_p.


[Bug c++/50810] c++0x-compat does not warn about narrowing conversions

2011-10-21 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50810

Manuel López-Ibáñez  changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #4 from Manuel López-Ibáñez  2011-10-22 
01:15:14 UTC ---
(In reply to comment #3)
> (detail: not sure about the 'if (!warn_narrowing) return;' at the beginning of
> check_narrowing: probably we don't want -Wno-narrowing to suppress the 
> warnings
> enabled of -Wc++0x-compat)

I think what you want is that -Wc++0x-compat enables -Wnarrowing independently
of -std=, but still -Wc++0x-compat -Wno-narrowing should disable it. See the
handling of Wlonglong in c-opts.c. So:

  if (!ok)
{
  if (cxx_dialect != cxx98)
pedwarn (input_location, OPT_Wnarrowing, "narrowing conversion of %qE "
"from %qT to %qT inside { }", init, ftype, type);
  else
warning_at (input_location, OPT_Wnarrowing, "narrowing conversion of
%qE "
"from %qT to %qT inside { }", init, ftype, type);
}

This approach also allows the user to specify -Wnarrowing to get the warnings
independently of -std=.


[Bug c++/50810] c++0x-compat does not warn about narrowing conversions

2011-10-21 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50810

--- Comment #5 from Manuel López-Ibáñez  2011-10-22 
01:24:25 UTC ---
(In reply to comment #4)
> (In reply to comment #3)
> > (detail: not sure about the 'if (!warn_narrowing) return;' at the beginning 
> > of
> > check_narrowing: probably we don't want -Wno-narrowing to suppress the 
> > warnings
> > enabled of -Wc++0x-compat)
> 
> I think what you want is that -Wc++0x-compat enables -Wnarrowing independently
> of -std=, but still -Wc++0x-compat -Wno-narrowing should disable it. See the
> handling of Wlonglong in c-opts.c. So:
> 
>   if (!ok)
> {
>   if (cxx_dialect != cxx98)
> pedwarn (input_location, OPT_Wnarrowing, "narrowing conversion of %qE 
> "
> "from %qT to %qT inside { }", init, ftype, type);
>   else
> warning_at (input_location, OPT_Wnarrowing, "narrowing conversion of
> %qE "
> "from %qT to %qT inside { }", init, ftype, type);
> }
> 

You can even make this more compact by using emit_diagnostic:

emit_diagnostic ((cxx_dialect != cxx98) ? DK_PEDWARN : DK_WARNING,
 input_location, OPT_Wnarrowing,
 "narrowing conversion of %qE from %qT to %qT inside { }", 
  init, ftype, type);

The C FE has wrappers around something similar called pedwarn_c99, that is, a
pedwarn in C99, otherwise just a warning. You could add something similar to
C++.



[Bug c++/50810] c++0x-compat does not warn about narrowing conversions

2011-10-21 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50810

--- Comment #6 from Jason Merrill  2011-10-22 
04:38:15 UTC ---
Makes sense to me.


[Bug bootstrap/50778] [4.7 Regression] Bootstrap failure on powerpc-apple-darwin9

2011-10-21 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50778

--- Comment #17 from Iain Sandoe  2011-10-22 06:49:09 
UTC ---
bootstrap & regtest completed (r180257 + patch proposed); 
fails in struct-layout1 and vmx are gone (all plugins are now failing, but
likely a different reason).
thanks for the patch.