[Bug debug/44694] [4.5/4.6 Regression] Long var tracking compile time of GiNaC tests

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2010-06-29 06:28 ---
The extremely long location lists are caused mainly by reverse_op created
equivalences.  Wonder whether we shouldn't on RHS replace sp and sp + const_int
with framep and framep + const_int even outside of memory addresses and of
course not do reverse_op if the register is framep - the framep is always
computable, so it isn't useful to reverse it.


-- 


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



[Bug target/44707] New: operand requires impossible reload

2010-06-29 Thread jakub at gcc dot gnu dot org
extern struct { int a, b, c, d; } v;
extern int w;

void
foo (void)
{
  int e1 = v.a;
  int e2 = w;
  int e3 = v.b;
  int e4 = v.c;
  int e5 = v.d;
  __asm__ volatile (/* %0 %1 %2 %3 %4 */ : : nro (e1), nro (e2), nro
(e3), nro (e4), nro (e5));
}

with -O2 -m32 gives:
xlog.i: In function 'foo':
xlog.i:12:3: error: 'asm' operand requires impossible reload
xlog.i:12:3: error: 'asm' operand requires impossible reload

With nro is replaced with nrm, it compiles fine (but, GCC except for latest
trunk might put there side-effects into the unused operand).  With nrm
(which is wrong in this case, the asm would actually need to do ld%U1 %0,%1 or
something similar, but then would be valid) it dies with similar error.

It seems that before reload only when nrm is used the asm has (mem (lo_sum
(reg) (symbol_ref))) or (mem (plus (reg) (const_int))) but with nro or
nrm it contains bare (mem (symbol_ref)) or (mem (plus (symbol_ref)
(const_int))) and apparently reload isn't able to deal with that.  Not sure if
it is a target powerpc bug, or reload bug, or both.  In any case, there
shouldn't be anything impossible here to reload.
I see the ICEs with GCC 4.1, 4.4 and 4.6, so perhaps it is not a regression.


-- 
   Summary: operand requires impossible reload
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: powerpc-linux


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



[Bug libstdc++/44708] New: Enabling -std=c++0x results in ambiguous function overload in ext/algorithm header

2010-06-29 Thread oakad at yahoo dot com
The example program below will exhibit the problem when compiled with
-std=c++0x or gnu++0x flag. The fix appears to be trivial, but requires a
change to ext/algorithm header.

Example program:
#include iostream
#include ext/rope

using namespace std;

int main(int argc, char **argv)
{
__gnu_cxx::crope line(test-test-test);

cout  line.c_str()  endl;
return 0;
}

Compilation error message:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/include/g++-v4/ext/ropeimpl.h:48,
 from
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/include/g++-v4/ext/rope:2956,
 from testrope.cpp:2:   
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/include/g++-v4/ext/algorithm: In
function #8216;std::pair_InputIter, _ForwardIter
__gnu_cxx::copy_n(_InputIterator, _Size, _OutputIterator) [with _InputIterator
= char*, _Size = long unsigned int, _OutputIterator = char*]#8217;:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/include/g++-v4/ext/ropeimpl.h:1090:  
instantiated from #8216;static _CharT* __gnu_cxx::rope_CharT,
_Alloc::_S_flatten(__gnu_cxx::_Rope_RopeRep_CharT, _Alloc*, _CharT*) [with
_CharT = char, _Alloc = std::allocatorchar]#8217;
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/include/g++-v4/ext/ropeimpl.h:1621:  
instantiated from #8216;const _CharT* __gnu_cxx::rope_CharT, _Alloc::c_str()
const [with _CharT = char, _Alloc = std::allocatorchar]#8217;
testrope.cpp:10:   instantiated from here
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/include/g++-v4/ext/algorithm:127: error:
call of overloaded #8216;__copy_n(char*, long unsigned int, char*,
std::random_access_iterator_tag)#8217; is ambiguous
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/include/g++-v4/ext/algorithm:78: note:
candidates are: std::pair_InputIter, _ForwardIter
__gnu_cxx::__copy_n(_InputIterator, _Size, _OutputIterator,
std::input_iterator_tag) [with _InputIterator = char*, _Size = long unsigned
int, _OutputIterator = char*]
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/include/g++-v4/ext/algorithm:93: note:  
  std::pair_InputIter, _ForwardIter
__gnu_cxx::__copy_n(_RAIterator, _Size, _OutputIterator,
std::random_access_iterator_tag) [with _RAIterator = char*, _Size = long
unsigned int, _OutputIterator = char*]
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/include/g++-v4/bits/stl_algo.h:1003:
note: _OutputIterator std::__copy_n(_RandomAccessIterator,
_Size, _OutputIterator, std::random_access_iterator_tag) [with
_RandomAccessIterator = char*, _Size = long unsigned int, _OutputIterator =
char*]
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/include/g++-v4/bits/stl_algo.h:988:
note: _OutputIterator std::__copy_n(_InputIterator, _Size,
_OutputIterator, std::input_iterator_tag) [with _InputIterator = char*, _Size =
long unsigned int, _OutputIterator = char*]


-- 
   Summary: Enabling -std=c++0x results in ambiguous function
overload in ext/algorithm header
   Product: gcc
   Version: 4.4.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: oakad at yahoo dot com
 GCC build triplet: x86_64-pc-linux-gnu
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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



[Bug c/44519] improve message for missing ; after struct

2010-06-29 Thread pzhao at gcc dot gnu dot org


--- Comment #1 from pzhao at gcc dot gnu dot org  2010-06-29 08:34 ---
Confirmed.


-- 

pzhao at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-29 08:34:37
   date||


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||44592
  nThis||
   Target Milestone|--- |4.6.0


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



[Bug target/44705] FAIL: gcc.dg/pr44674.c (internal compiler error)

2010-06-29 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-06-29 08:45 ---
More like a target issue.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|tree-optimization   |target


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



[Bug fortran/44709] New: BLOCK and GOTO/EXIT/CYCLE

2010-06-29 Thread burnus at gcc dot gnu dot org
I think at least some of the following block-leaving statements are valid,
probably all. Besides some issues of the type 'rejects valid' there is a big
wrong-code question:

The allocatable objects need to be freed and derived types finalized when one
leaves the scope of the block. How to handle this? As the example shows, there
are many jump targets. Maybe one has to do something like

   if (cond)
  savelabel = L.1
  goto clean_up_and_jump

   goto end:
   clean_up_and_jump: 
 cleanup
 goto target
   end:
 cleanup

Or something similar...

Example:

outer: block
  doloop: do i = 1, 4
inner: block
   integer, allocatable :: a
   allocate(a)
   a = i
if(i == 1) cycle   ! (1) - wrong-code: no dealloc
if(i == 2) exit! (2a)- wrong-code: no dealloc
if(i == 2) exit doloop ! (2b)- rejects-valid: label not found
if(i == 3) exit inner  ! (3) - PR 44602
if(i == 4) exit outer  ! (4) - PR 44602
   if(i == 5) goto 111 ! (5) - wrong-code: no dealloc
end block inner
  end do doloop
end block outer
111 continue
end


(1) and (5) is accepted by gfortran, (2) is only accepted without the label
(Name 'doloop' in EXIT statement at (1) is not a loop name). (3) and (4) are
constructs not yet supported, cf. PR 44602.


-- 
   Summary: BLOCK and GOTO/EXIT/CYCLE
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: wrong-code, rejects-valid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
OtherBugsDependingO 44602
 nThis:


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



[Bug debug/44694] [4.5/4.6 Regression] Long var tracking compile time of GiNaC tests

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2010-06-29 08:53 ---
Created an attachment (id=21035)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21035action=view)
gcc46-pr44694.patch

With this patchlet the compile time on ginac.ii went down from more than 3
minutes to 16 seconds.  The same number of DIEs as before have DW_AT_location,
just .debug_loc got bigger, so need to investigate whether it is because the
debug info is more completely, or if it is worse or just less compact.


-- 


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



[Bug debug/44694] [4.5/4.6 Regression] Long var tracking compile time of GiNaC tests

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2010-06-29 09:09 ---
readelf -wo ginac.o1 | grep 'End of' | wc -l; readelf -wo ginac.o2 | grep 'End
of' | wc -l; readelf -wo ginac.o1 | wc -l; readelf -wo ginac.o2 | wc -l;
readelf -wo ginac.o1 | grep fbreg | wc -l; readelf -wo ginac.o2 | grep fbreg |
wc -l
11850
11796
351354
462546
8117
341790

As the number of DW_AT_location (and DW_AT_const_value) attributes in
.debug_info is identical, the above means that with the patch 54 vars no longer
use .debug_loc (which means they cover the whole function while before they
didn't).  For the tiny bit fewer location lists the patched version has more
entries in many of them (which can still mean either that the coverage is
better, or worse (there could be more holes)) and that DW_OP_fbreg is now used
much more often than before (that is quite expected with this patch).


-- 


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



[Bug tree-optimization/44710] New: If-conversion generates redundant statements

2010-06-29 Thread irar at il dot ibm dot com
Starting from revision 160625
(http://gcc.gnu.org/ml/gcc-patches/2010-06/msg01155.html) if-conversion
generates redundant statements for 

  for (i = 0; i  N; i++)
if (arr[i]  limit)
  {
pos = i + 1;
limit = arr[i];
  }


  # pos_22 = PHI pos_1(4), 1(2)
  # i_23 = PHI prephitmp.8_2(4), 0(2)
  # limit_24 = PHI limit_4(4), 1.28e+2(2)
  # ivtmp.9_18 = PHI ivtmp.9_17(4), 64(2)
  limit_9 = arr[i_23];
  pos_10 = i_23 + 1;
  D.4534_12 = limit_9  limit_24;   -
  pretmp.7_3 = i_23 + 1;
  D.4535_20 = limit_9 = limit_24;  -
  pos_1 = [cond_expr] limit_9 = limit_24 ? pos_22 : pos_10;
  limit_4 = [cond_expr] limit_9 = limit_24 ? limit_24 : limit_9;
  prephitmp.8_2 = [cond_expr] limit_9 = limit_24 ? pretmp.7_3 : pos_10;
  ivtmp.9_17 = ivtmp.9_18 - 1;
  D.4536_19 = D.4534_12 || D.4535_20;   -
  if (ivtmp.9_17 != 0)
goto bb 4;
  else
goto bb 5;

The statements are removed by later dce pass, but they interfere with my
attempts to vectorize this loop.


-- 
   Summary: If-conversion generates redundant statements
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: irar at il dot ibm dot com


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



[Bug tree-optimization/44710] If-conversion generates redundant statements

2010-06-29 Thread irar at il dot ibm dot com


--- Comment #1 from irar at il dot ibm dot com  2010-06-29 09:11 ---
Created an attachment (id=21036)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21036action=view)
Full testcase


-- 


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



[Bug libstdc++/44708] Enabling -std=c++0x results in ambiguous function overload in ext/algorithm header

2010-06-29 Thread paolo dot carlini at oracle dot com


--- Comment #1 from paolo dot carlini at oracle dot com  2010-06-29 09:15 
---
Fixing momentarily, thanks.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |paolo dot carlini at oracle
   |dot org |dot com
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-29 09:15:47
   date||


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



[Bug libstdc++/44708] Enabling -std=c++0x results in ambiguous function overload in ext/algorithm header

2010-06-29 Thread paolo dot carlini at oracle dot com


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

   Target Milestone|--- |4.5.1


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



[Bug rtl-optimization/44659] Combiner fails to match QI cmp patterns with upper 8bit register

2010-06-29 Thread ebotcazou at gcc dot gnu dot org


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-29 09:24:50
   date||


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



[Bug rtl-optimization/44659] Combiner fails to match QI cmp patterns with upper 8bit register

2010-06-29 Thread ebotcazou at gcc dot gnu dot org


--- Comment #4 from ebotcazou at gcc dot gnu dot org  2010-06-29 09:24 
---
Subject: Bug 44659

Author: ebotcazou
Date: Tue Jun 29 09:24:34 2010
New Revision: 161523

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161523
Log:
PR rtl-optimization/44659
* combine.c (make_compound_operation) SUBREG: Do not return the
result of force_to_mode if it partially re-expanded the compound.

Added:
trunk/gcc/testsuite/gcc.target/i386/extract-1.c
trunk/gcc/testsuite/gcc.target/i386/extract-2.c
trunk/gcc/testsuite/gcc.target/i386/extract-3.c
trunk/gcc/testsuite/gcc.target/i386/extract-4.c
trunk/gcc/testsuite/gcc.target/i386/extract-5.c
trunk/gcc/testsuite/gcc.target/i386/extract-6.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/44706] [4.6 regression] Failed to build 483.xalancbmk in SPEC CPU 2006

2010-06-29 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug testsuite/44701] [4.6 regression] PR44492 fix broke gcc.target/powerpc/asm-es-2.c

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2010-06-29 09:49 ---
Guess something like:

--- gcc/testsuite/gcc.target/powerpc/asm-es-2.c 2009-07-20 20:41:46.0
+0200
+++ gcc/testsuite/gcc.target/powerpc/asm-es-2.c 2010-06-29 11:37:05.482959217
+0200
@@ -11,7 +11,7 @@ f2 (int *p)
   while (1)
 {
   p += 4;
-  asm (asm2%U0 %0 : =m (*p));
+  asm (asm2%U0 %0 : =m (*p));
 }
 }

should fix this.


-- 


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



[Bug libstdc++/44708] Enabling -std=c++0x results in ambiguous function overload in ext/algorithm header

2010-06-29 Thread paolo at gcc dot gnu dot org


--- Comment #2 from paolo at gcc dot gnu dot org  2010-06-29 10:04 ---
Subject: Bug 44708

Author: paolo
Date: Tue Jun 29 10:03:36 2010
New Revision: 161524

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161524
Log:
2010-06-29  Paolo Carlini  paolo.carl...@oracle.com

PR libstdc++/44708
* include/ext/algorithm (copy_n): Qualify __copy_n call with
__gnu_cxx::
* testsuite/ext/rope/44708.cc: New.

Added:
trunk/libstdc++-v3/testsuite/ext/rope/44708.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/ext/algorithm


-- 


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



[Bug libstdc++/44708] Enabling -std=c++0x results in ambiguous function overload in ext/algorithm header

2010-06-29 Thread paolo at gcc dot gnu dot org


--- Comment #3 from paolo at gcc dot gnu dot org  2010-06-29 10:04 ---
Subject: Bug 44708

Author: paolo
Date: Tue Jun 29 10:04:01 2010
New Revision: 161525

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161525
Log:
2010-06-29  Paolo Carlini  paolo.carl...@oracle.com

PR libstdc++/44708
* include/ext/algorithm (copy_n): Qualify __copy_n call with
__gnu_cxx::
* testsuite/ext/rope/44708.cc: New.

Added:
branches/gcc-4_5-branch/libstdc++-v3/testsuite/ext/rope/44708.cc
Modified:
branches/gcc-4_5-branch/libstdc++-v3/ChangeLog
branches/gcc-4_5-branch/libstdc++-v3/include/ext/algorithm


-- 


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



[Bug libstdc++/44708] Enabling -std=c++0x results in ambiguous function overload in ext/algorithm header

2010-06-29 Thread paolo dot carlini at oracle dot com


--- Comment #4 from paolo dot carlini at oracle dot com  2010-06-29 10:04 
---
Fixed.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/44710] [4.6 Regression] If-conversion generates redundant statements

2010-06-29 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||missed-optimization
Summary|If-conversion generates |[4.6 Regression] If-
   |redundant statements|conversion generates
   ||redundant statements
   Target Milestone|--- |4.6.0


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



[Bug tree-optimization/44711] New: PRE doesn't remove equivalent computations of induction variables

2010-06-29 Thread irar at il dot ibm dot com
For the following loop 

  for (i = 0; i  N; i++)
if (arr[i]  limit)
  {
pos = i + 1;
limit = arr[i];
  }

PRE fails to eliminate redundant i_24 + 1 computation. 

Here is Richard's analysis from
http://gcc.gnu.org/ml/gcc-patches/2010-06/msg02982.html:

So the reason is our heuristic in PRE to not introduce new IVs:

Found partial redundancy for expression {plus_expr,i_24,1} (0005)
Skipping insertion of phi for partial redundancy: Looks like an
induction variable
Inserted pretmp.4_2 = i_13 + 1;
 in predecessor 8
Found partial redundancy for expression {plus_expr,i_24,1} (0005)
Inserted pretmp.4_22 = i_24 + 1;
 in predecessor 7
Created phi prephitmp.5_21 = PHI pretmp.4_22(7), pos_11(4)
 in block 5
Found partial redundancy for expression {plus_expr,i_24,1} (0005)
Skipping insertion of phi for partial redundancy: Looks like an
induction variable
Replaced i_24 + 1 with prephitmp.5_21 in i_13 = i_24 + 1;
Removing unnecessary insertion:pretmp.4_2 = i_13 + 1;

we do not want to insert into block 3, so we are left with

bb 3:
  # pos_23 = PHI pos_1(8), 1(2)
  # i_24 = PHI i_13(8), 0(2)
  # limit_25 = PHI limit_4(8), 1.28e+2(2)
  limit_9 = arr[i_24];
  D.3841_10 = limit_9  limit_25;
  if (D.3841_10 != 0)
goto bb 4;
  else
goto bb 7;

bb 7:
  pretmp.4_22 = i_24 + 1;
  goto bb 5;

bb 4:
  pos_11 = i_24 + 1;

bb 5:
  # pos_1 = PHI pos_23(7), pos_11(4)
  # limit_4 = PHI limit_25(7), limit_9(4)
  # prephitmp.5_21 = PHI pretmp.4_22(7), pos_11(4)
  i_13 = prephitmp.5_21;

where there is no full redundancy for i_24 + 1 now (that is,
we did some useless half-way PRE because of that IV
heuristic ...).


-- 
   Summary: PRE doesn't remove equivalent computations of induction
variables
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: irar at il dot ibm dot com


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



[Bug tree-optimization/44711] PRE doesn't remove equivalent computations of induction variables

2010-06-29 Thread irar at il dot ibm dot com


--- Comment #1 from irar at il dot ibm dot com  2010-06-29 11:00 ---
Created an attachment (id=21037)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21037action=view)
Full testcase


-- 


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



[Bug testsuite/44701] [4.6 regression] PR44492 fix broke gcc.target/powerpc/asm-es-2.c

2010-06-29 Thread mikpe at it dot uu dot se


--- Comment #2 from mikpe at it dot uu dot se  2010-06-29 11:00 ---
(In reply to comment #1)
 -  asm (asm2%U0 %0 : =m (*p));
 +  asm (asm2%U0 %0 : =m (*p));

That fixed the test case.  Thanks.  I didn't know about the PowerPC-specific %U
thing, but now I see that the compiler did the right thing.

Seems like the descriptions of m and es in the PowerPC-specific part of
md.texi are now a bit stale: es should be equivalent to m, and m should
be safe (free of side-effects) unless accompanied by  or .


-- 


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread matz at gcc dot gnu dot org


--- Comment #3 from matz at gcc dot gnu dot org  2010-06-29 11:31 ---
Can you perhaps run the testsuite without bootstrapping
(configure --disable-bootstrap; make; make check) to see if there occurs some
more obvious bug than a miscompilation of genmodes?  Debugging bootstrap
miscompilations via bugzilla is difficult.  The miscompile might be in
bitmap_clear, perhaps there's something obvious, but a breaking testcase
is much easier.

(I do wonder though why the miscompile happens on darwin but not linux,
even though the architecture is the same)


-- 


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2010-06-29 12:06 ---
On revision 161462 with the patch of revision 161496 I have located the problem
in:


static void
create_modes (void)
{
/* make_int_mode (BI, 1, 1, ../../work/gcc/machmode.def, 176); */
make_int_mode (QI, -1U, 1, ../../work/gcc/machmode.def, 181);
make_int_mode (HI, -1U, 2, ../../work/gcc/machmode.def, 182);

}

int
main (int argc, char **argv)
{

  create_modes ();
}

with the ICE in

genmodes.c: In function 'new_mode.constprop.0':
genmodes.c:2214:1: internal compiler error: Segmentation fault

I'll continue to reduce the test later today.


-- 


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



[Bug tree-optimization/44711] PRE doesn't remove equivalent computations of induction variables

2010-06-29 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-06-29 12:07 ---
Note that the issue is that PRE pessimizes code by transforming

  if (D.3841_10 != 0)
goto bb 4;
  else
goto bb 7;

bb 7:
  goto bb 5;

bb 4:
  pos_11 = i_24 + 1;

bb 5:
  # pos_1 = PHI pos_23(7), pos_11(4)
  # limit_4 = PHI limit_25(7), limit_9(4)
  i_13 = i_24 + 1;

to

  if (D.3841_10 != 0)
goto bb 4;
  else
goto bb 7;

bb 7:
  pretmp.4_22 = i_24 + 1;
  goto bb 5;

bb 4:
  pos_11 = i_24 + 1;

bb 5:
  # pos_1 = PHI pos_23(7), pos_11(4)
  # limit_4 = PHI limit_25(7), limit_9(4)
  # prephitmp.5_21 = PHI pretmp.4_22(7), pos_11(4)
  i_13 = prephitmp.5_21;

which exposes the fact that we do not do code-hoisting presently.
Removing the IV restriction from PRE would create i_24 + 1
as new IV with an increment in the latch block.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-29 12:07:13
   date||


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



[Bug tree-optimization/44667] [4.5/4.6 Regression] ICE: verify_stmts failed: non-trivial conversion at assignment with -fprofile-generate

2010-06-29 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-06-29 12:12 ---
Subject: Bug 44667

Author: rguenth
Date: Tue Jun 29 12:12:10 2010
New Revision: 161527

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161527
Log:
2010-06-29  Richard Guenther  rguent...@suse.de

PR middle-end/44667
* tree-inline.c (initialize_inlined_parameters): Make sure
to remap the inlined parameter variable substitutions types.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-inline.c


-- 


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



[Bug tree-optimization/44667] [4.5 Regression] ICE: verify_stmts failed: non-trivial conversion at assignment with -fprofile-generate

2010-06-29 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-06-29 12:24 ---
Fixed on the trunk.  Probably not worth to fix on the branch though as it
is a checking-only ICE.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work||4.6.0
Summary|[4.5/4.6 Regression] ICE:   |[4.5 Regression] ICE:
   |verify_stmts failed: non-   |verify_stmts failed: non-
   |trivial conversion at   |trivial conversion at
   |assignment with -fprofile-  |assignment with -fprofile-
   |generate|generate


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



[Bug debug/44712] New: Debug info for partially inlined functions

2010-06-29 Thread jakub at gcc dot gnu dot org
/* { dg-options -g -O2 } */
extern void abort (void);
extern void exit (int);
extern int printf (const char *, ...);

static int
foo (int x)
{
  typedef int T;
  T z = 2 * x;
  if (x = 0)
{
  printf (foo\n);
  printf (foo\n);
  printf (foo\n);
  exit (0);
}
  return 6;
}

__attribute__((noinline))
int bar (int x)
{
  return foo (x) + foo (6) + foo (x);
}

int
main (void)
{
  int l;
  asm volatile ( : =r (l) : 0 (5));
  if (bar (l) != 18)
abort ();
  bar (l - 10);
  abort ();
}

Debugging experience on this testcase isn't ideal, work will be needed both on
the gcc side and gdb side.  Roland has some ideas what should be done,
certainly DW_AT_artificial should be set on the foo.part* function, and perhaps
it should have some DW_TAG_lexical_block from the abstract DW_TAG_subprogram as
DW_AT_abstract_origin instead of the whole DW_TAG_subroutine (or perhaps some
artificial DW_TAG_lexical_block created just for that purpose?).
I'll let Roland write the details here himself.


-- 
   Summary: Debug info for partially inlined functions
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: wrong-debug
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug middle-end/44133] [4.5 Regression] Uninit warning regression with new SRA

2010-06-29 Thread jamborm at gcc dot gnu dot org


--- Comment #6 from jamborm at gcc dot gnu dot org  2010-06-29 13:09 ---
Subject: Bug 44133

Author: jamborm
Date: Tue Jun 29 13:08:46 2010
New Revision: 161532

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161532
Log:
2010-06-29  Martin Jambor  mjam...@suse.cz

Backport from mainline
2010-05-17  Martin Jambor  mjam...@suse.cz

PR middle-end/44133
* tree-sra.c (create_access_replacement): New parameter rename, mark
the replaement for renaming only when it is true.
(get_access_replacement): Pass true in the rename parameter of
create_access_replacement.
(get_unrenamed_access_replacement): New function.
(replace_uses_with_default_def_ssa_name): New parameter racc, get the
replacement declaration from it.

* testsuite/gcc.dg/tree-ssa/pr44133.c: New test.


Added:
branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/tree-ssa/pr44133.c
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
branches/gcc-4_5-branch/gcc/tree-sra.c


-- 


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



[Bug middle-end/44133] [4.5 Regression] Uninit warning regression with new SRA

2010-06-29 Thread jamborm at gcc dot gnu dot org


--- Comment #7 from jamborm at gcc dot gnu dot org  2010-06-29 13:10 ---
This is now fixed on both the trunk and the 4.5 branch.


-- 

jamborm at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/43905] [4.5 Regression] duplicate __PRETTY_FUNCTION__ symbol for functions differing in const-ness

2010-06-29 Thread jamborm at gcc dot gnu dot org


--- Comment #9 from jamborm at gcc dot gnu dot org  2010-06-29 13:16 ---
4.5 patch submitted to the mailing list:
http://gcc.gnu.org/ml/gcc-patches/2010-06/msg02896.html


-- 


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread dominiq at lps dot ens dot fr


--- Comment #5 from dominiq at lps dot ens dot fr  2010-06-29 13:24 ---
Created an attachment (id=21038)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21038action=view)
reduced test

The reduced test gives an ICE:

[macbook] f90/bug% /opt/gcc/gcc4.6bw/bin/gcc -c -O2 genmodes.c
genmodes.c: In function 'main':
genmodes.c:152:1: internal compiler error: Segmentation fault


-- 


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



Re: [Bug debug/44712] New: Debug info for partially inlined functions

2010-06-29 Thread Jan Hubicka
Thanks for opening PR on this.  One thing I was planning to look into soon is 
to make
progress at least reversible - i.e. find way to declare the fact that function 
is part
of another in GCC and make inliner to produce the problem block tree after 
inlining
them back together.
I wonder what the representation should be?

Honza


[Bug debug/44712] Debug info for partially inlined functions

2010-06-29 Thread hubicka at ucw dot cz


--- Comment #1 from hubicka at ucw dot cz  2010-06-29 13:25 ---
Subject: Re:   New: Debug info for partially inlined
functions

Thanks for opening PR on this.  One thing I was planning to look into soon is
to make
progress at least reversible - i.e. find way to declare the fact that function
is part
of another in GCC and make inliner to produce the problem block tree after
inlining
them back together.
I wonder what the representation should be?

Honza


-- 


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2010-06-29 13:30 ---
The backtrace for the reduced test of comment #5 is

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0022
0x0001007c320a in execute_vrp ()
(gdb) bt
#0  0x0001007c320a in execute_vrp ()
#1  0x0001005794f4 in execute_one_pass ()
#2  0x0001005797cd in execute_pass_list ()
#3  0x0001005797df in execute_pass_list ()
#4  0x0001006a2e9c in tree_rest_of_compilation ()
#5  0x00010085e02d in cgraph_expand_function ()
#6  0x000100860e69 in cgraph_optimize ()
#7  0x0001008614fa in cgraph_finalize_compilation_unit ()
#8  0x00010001bc72 in c_write_global_declarations ()
#9  0x00010063d061 in toplev_main ()
#10 0x00011194 in start ()


-- 


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



[Bug target/43902] suboptimal MIPS widening multiply accumulate

2010-06-29 Thread bernds at gcc dot gnu dot org


--- Comment #14 from bernds at gcc dot gnu dot org  2010-06-29 13:44 ---
Subject: Bug 43902

Author: bernds
Date: Tue Jun 29 13:43:57 2010
New Revision: 161533

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161533
Log:
PR target/43902
* config/arm/arm.md (maddsidi4, umaddsidi4): New expanders.
(maddhisi4): Renamed from mulhisi3addsi.  Operands renumbered.
(maddhidi4): Likewise.

testsuite/
PR target/43902
* gcc.target/arm/wmul-1.c: Test for smlabb instead of smulbb.
* gcc.target/arm/wmul-3.c: New test.
* gcc.target/arm/wmul-4.c: New test.


Added:
trunk/gcc/testsuite/gcc.target/arm/wmul-3.c
trunk/gcc/testsuite/gcc.target/arm/wmul-4.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.md
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/arm/wmul-1.c


-- 


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread matz at gcc dot gnu dot org


--- Comment #7 from matz at gcc dot gnu dot org  2010-06-29 13:47 ---
Is /opt/gcc/gcc4.6bw/bin/gcc a bootstrapped compiler or one created without
bootstrapping?

The initial comment didn't reveal it, so maybe my assumption that it's a
miscompiled cc1 is wrong.  So, just to be crystal clear in the initial
comment, the segfaulting compiler, is that the stage1 or the stage2 compiler?
(you can check for the existence of stage1-gcc directory in the build-dir
when the segfault happens, if there's such a directory then prev-gcc/xgcc
is the stage2 compiler).


-- 


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



[Bug tree-optimization/44710] [4.6 Regression] If-conversion generates redundant statements

2010-06-29 Thread spop at gcc dot gnu dot org


--- Comment #2 from spop at gcc dot gnu dot org  2010-06-29 13:56 ---
Mine.

Patch 0005 of http://gcc.gnu.org/ml/gcc-patches/2010-06/msg02250.html
fixes exactly this problem.  I have not yet worked on correcting the patch
as Richi asked.


-- 

spop at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |spop at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-29 13:56:58
   date||


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



[Bug debug/44694] [4.5/4.6 Regression] Long var tracking compile time of GiNaC tests

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #8 from jakub at gcc dot gnu dot org  2010-06-29 14:11 ---
Created an attachment (id=21039)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21039action=view)
gcc46-pr44694.patch

Updated patch that actually passed bootstrap/regtested on x86_64-linux and
i686-linux.  When (frame) is present outside of MEM addresses, some tweaks to
cselib are needed, otherwise it ICEs quite often.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #21035|0   |1
is obsolete||
 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug bootstrap/44713] New: [4.6 regression] Revision 161530 failed bootstrap

2010-06-29 Thread hjl dot tools at gmail dot com
On Linux/x86, revison 161530:

http://gcc.gnu.org/ml/gcc-cvs/2010-06/msg01448.html

caused:

../../src-trunk/gcc/config/i386/i386.c: At top level:
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: initialization from
incompatible pointer type [-Werror]
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: (near initialization for
'targetm.calls.function_arg_advance') [-Werror]
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: initialization from
incompatible pointer type [-Werror]
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: (near initialization for
'targetm.calls.function_arg') [-Werror]
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: initialization from
incompatible pointer type [-Werror]


-- 
   Summary: [4.6 regression] Revision 161530 failed bootstrap
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug bootstrap/44713] [4.6 regression] Revision 161530 failed bootstrap

2010-06-29 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug bootstrap/44713] [4.6 regression] Revision 161530 failed bootstrap

2010-06-29 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-06-29 14:15 ---
The patch also misses doc/tm.texi pieces.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-29 14:15:23
   date||


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



[Bug bootstrap/44713] [4.6 regression] Revision 161530 failed bootstrap

2010-06-29 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-06-29 14:19 ---
My build fails with (x86_64):

libbackend.a(i386.o): In function `ix86_setup_incoming_varargs':
/space/rguenther/src/svn/trunk/gcc/config/i386/i386.c:7050: undefined reference
to `function_arg_advance'
collect2: ld returned 1 exit status
make: *** [cc1-dummy] Error 1


-- 


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



[Bug bootstrap/44714] New: libgcc configure: error: cannot compute suffix of object files

2010-06-29 Thread jbare7 at gmail dot com
I am trying to install the new version of gcc and am getting an error in the
process.

Version of gcc: 4.5.0
System type: Ubuntu 10.04

I downloaded the package gcc-4.5.0.tar.gz from
ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-4.5.0/ and extracted the
file to my Desktop directory and I tried 

./configure
sudo make

Then I found out I needed GMP, MPFR, and MPC installed. I downloaded the
packages to my desktop and built and installed them, several times since some
of the latest versions did not seem to be compatible with each other. So after
a few tries I found a combination of versions of these that would install
correctly and still met the stated requirements for installing gcc 4.5.0

Then, finally I tried building gcc again with

./configure
sudo make

but then I get the error described in the summary above. Here is the last part
of the make process:

Checking multilib configuration for libgcc...
Configuring stage 1 in i686-pc-linux-gnu/libgcc
configure: loading cache ./config.cache
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for i686-pc-linux-gnu-ar... ar
checking for i686-pc-linux-gnu-lipo... lipo
checking for i686-pc-linux-gnu-nm...
/home/justin/Desktop/gcc-4.5.0/host-i686-pc-linux-gnu/gcc/nm
checking for i686-pc-linux-gnu-ranlib... ranlib
checking for i686-pc-linux-gnu-strip... strip
checking whether ln -s works... yes
checking for i686-pc-linux-gnu-gcc...
/home/justin/Desktop/gcc-4.5.0/host-i686-pc-linux-gnu/gcc/xgcc
-B/home/justin/Desktop/gcc-4.5.0/host-i686-pc-linux-gnu/gcc/
-B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/
-isystem /usr/local/i686-pc-linux-gnu/include -isystem
/usr/local/i686-pc-linux-gnu/sys-include   
checking for suffix of object files... configure: error: in
`/home/justin/Desktop/gcc-4.5.0/i686-pc-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/home/justin/Desktop/gcc-4.5.0'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/justin/Desktop/gcc-4.5.0'
make: *** [all] Error 2

Thanks for the help!


-- 
   Summary: libgcc configure: error: cannot compute suffix of object
files
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jbare7 at gmail dot com


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



[Bug bootstrap/44713] [4.6 regression] Revision 161530 failed bootstrap

2010-06-29 Thread hjl dot tools at gmail dot com


--- Comment #3 from hjl dot tools at gmail dot com  2010-06-29 14:31 ---
More errors/warnings on i386.c:

../../src-trunk/gcc/config/i386/i386.c: In function
'ix86_function_arg_advance':
../../src-trunk/gcc/config/i386/i386.c:6086:5: error: passing argument 3 of
'function_arg_advance_64' discards 'const' qualifier from pointer target type
[-Werror]
../../src-trunk/gcc/config/i386/i386.c:6027:1: note: expected 'tree' but
argument is of type 'const_tree'
../../src-trunk/gcc/config/i386/i386.c:6088:5: error: passing argument 3 of
'function_arg_advance_32' discards 'const' qualifier from pointer target type
[-Werror]
../../src-trunk/gcc/config/i386/i386.c:5939:1: note: expected 'tree' but
argument is of type 'const_tree'
../../src-trunk/gcc/config/i386/i386.c: In function 'ix86_function_arg':
../../src-trunk/gcc/config/i386/i386.c:6331:5: error: passing argument 2 of
'type_natural_mode' discards 'const' qualifier from pointer target type
[-Werror]
../../src-trunk/gcc/config/i386/i386.c:5183:1: note: expected 'struct
CUMULATIVE_ARGS *' but argument is of type 'const struct CUMULATIVE_ARGS *'
../../src-trunk/gcc/config/i386/i386.c:6334:5: error: passing argument 1 of
'function_arg_ms_64' discards 'const' qualifier from pointer target type
[-Werror]
../../src-trunk/gcc/config/i386/i386.c:6258:1: note: expected 'struct
CUMULATIVE_ARGS *' but argument is of type 'const struct CUMULATIVE_ARGS *'
../../src-trunk/gcc/config/i386/i386.c:6336:5: error: passing argument 1 of
'function_arg_64' discards 'const' qualifier from pointer target type [-Werror]
../../src-trunk/gcc/config/i386/i386.c:6222:1: note: expected 'struct
CUMULATIVE_ARGS *' but argument is of type 'const struct CUMULATIVE_ARGS *'
../../src-trunk/gcc/config/i386/i386.c:6336:5: error: passing argument 4 of
'function_arg_64' discards 'const' qualifier from pointer target type [-Werror]
../../src-trunk/gcc/config/i386/i386.c:6222:1: note: expected 'tree' but
argument is of type 'const_tree'
../../src-trunk/gcc/config/i386/i386.c:6338:5: error: passing argument 1 of
'function_arg_32' discards 'const' qualifier from pointer target type [-Werror]
../../src-trunk/gcc/config/i386/i386.c:6105:1: note: expected 'struct
CUMULATIVE_ARGS *' but argument is of type 'const struct CUMULATIVE_ARGS *'
../../src-trunk/gcc/config/i386/i386.c:6338:5: error: passing argument 4 of
'function_arg_32' discards 'const' qualifier from pointer target type [-Werror]
../../src-trunk/gcc/config/i386/i386.c:6105:1: note: expected 'tree' but
argument is of type 'const_tree'
../../src-trunk/gcc/config/i386/i386.c: In function
'ix86_setup_incoming_varargs':
../../src-trunk/gcc/config/i386/i386.c:7050:5: error: implicit declaration of
function 'function_arg_advance' [-Werror=implicit-function-declaration]
../../src-trunk/gcc/config/i386/i386.c: At top level:
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: initialization from
incompatible pointer type [-Werror]
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: (near initialization for
'targetm.calls.function_arg_advance') [-Werror]
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: initialization from
incompatible pointer type [-Werror]
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: (near initialization for
'targetm.calls.function_arg') [-Werror]
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: initialization from
incompatible pointer type [-Werror]
../../src-trunk/gcc/config/i386/i386.c:30995:8: error: (near initialization for
'targetm.calls.function_incoming_arg') [-Werror]


-- 


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread dominiq at lps dot ens dot fr


--- Comment #8 from dominiq at lps dot ens dot fr  2010-06-29 14:36 ---
 Is /opt/gcc/gcc4.6bw/bin/gcc a bootstrapped compiler or one created without
 bootstrapping?

Sorry for the confusion.  /opt/gcc/gcc4.6bw/bin/gcc was built with revision
161462 and the patch of revision 161496 (see comment #4). The test case in
comment #5 was extracted from the genmodes.i file generated by the
prev-gcc/xgcc of the failed bootstrap. Using the corresponding cc1 with the
reduced test, I get

[macbook] f90/bug% /opt/gcc/mod_build_w_fail/prev-gcc/cc1 -O2 genmodes.c
 __inline_memcpy_chk find_mode new_mode make_int_mode create_modes main
Analyzing compilation unit
Performing interprocedural optimizations
 *free_lang_data visibility early_local_cleanups whole-program
ipa-profile cp inline pure-const static-varAssembling functions:
 main
genmodes.c: In function 'main':
genmodes.c:152:1: internal compiler error: Segmentation fault


-- 


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread matz at gcc dot gnu dot org


--- Comment #9 from matz at gcc dot gnu dot org  2010-06-29 14:48 ---
Yes, but I'm asking if it was a bootstrapped compiler (in difference to one
built with configuring with --disable-bootstrap) or not.

If it was a bootstrapped compiler, are you saying that bootstrap fails with
r161501 (initial comment), but works when using r161462 plus patch of 161496?


-- 


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread dominiq at lps dot ens dot fr


--- Comment #10 from dominiq at lps dot ens dot fr  2010-06-29 14:57 ---
 Yes, but I'm asking if it was a bootstrapped compiler (in difference to one
 built with configuring with --disable-bootstrap) or not.

 If it was a bootstrapped compiler, are you saying that bootstrap fails with
 r161501 (initial comment), but works when using r161462 plus patch of 161496?

The compiler was bootstrapped at revision 161436 then updated to 161443,
161455, 161459, and 161462, then updated with the patch leading to revision
161496 applied.

What gives the reduced test case on a post r161496 gcc on linux?


-- 


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



[Bug bootstrap/44714] libgcc configure: error: cannot compute suffix of object files

2010-06-29 Thread redi at gcc dot gnu dot org


--- Comment #1 from redi at gcc dot gnu dot org  2010-06-29 15:09 ---
(In reply to comment #0)
 sudo make

There's no need to build as root.

 Then I found out I needed GMP, MPFR, and MPC installed. I downloaded the
 packages to my desktop and built and installed them, several times since some
 of the latest versions did not seem to be compatible with each other. So after
 a few tries I found a combination of versions of these that would install
 correctly and still met the stated requirements for installing gcc 4.5.0

You don't need to install them, you can just put them in the gcc-4.5.0
directory, that's sometimes easier.

Or you can probably install them from your distro's package management system.

 See `config.log' for more details.

Like it says, see config.log for more details


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|major   |normal


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread matz at gcc dot gnu dot org


--- Comment #11 from matz at gcc dot gnu dot org  2010-06-29 15:15 ---
I can reproduce now.  It's also the non-bootstrapped compiler failing with
the testcase, thanks for that.  I'm on it.


-- 

matz at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |matz at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-29 15:15:01
   date||


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



[Bug bootstrap/44714] libgcc configure: error: cannot compute suffix of object files

2010-06-29 Thread redi at gcc dot gnu dot org


--- Comment #2 from redi at gcc dot gnu dot org  2010-06-29 15:20 ---
also, please check whether this is the same issue as Bug 43819 (did you search
for existing bugs with cannot compute suffix before entering a bug?)

It's likely you need to set LD_LIBRARY_PATH so that libgmp etc can be found

That wouldn't be necessary if you installed your distro's packages, or if you
put the gmp/mpfr/mpc sources in the gcc-4.5.0 directory instead of building and
installing them manually


-- 


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



[Bug c++/44682] [4.6 Regression] warning: variable �x� set but not used

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2010-06-29 15:24 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/44203] [4.6 regression] New prefetch test failures

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2010-06-29 15:43 ---
Fixed then.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug bootstrap/44713] [4.6 regression] Revision 161530 failed bootstrap

2010-06-29 Thread froydnj at gcc dot gnu dot org


--- Comment #4 from froydnj at gcc dot gnu dot org  2010-06-29 15:57 ---
Subject: Bug 44713

Author: froydnj
Date: Tue Jun 29 15:57:06 2010
New Revision: 161540

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161540
Log:
PR bootstrap/44713
* config/i386/i386.c (type_natural_mode): Const-ify CUM parameter.
(function_arg_advance_32): Const-ify TYPE parameter.
(function_arg_advance_64): Likewise.  Change type of NAMED to bool.
(ix86_function_arg_advance): Change type of NAMED to bool.
(function_arg_32): Const-ify CUM and TYPE parameters.
(function_arg_64): Likewise.  Change type of NAMED to bool.
(function_arg_ms_64): Const-ify CUM parameter. Change type of NAMED
to bool.
(ix86_function_arg): Change type of NAMED to bool.
(ix86_setup_incoming_varargs): Call ix86_function_arg_advance.  Pass
last argument as a bool.

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


-- 


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



[Bug c/44715] New: Break in increment expression of for statement inconsistent with g++

2010-06-29 Thread doug dot gregor at gmail dot com
The following program exhibits different behavior with gcc vs. g++:

dgregor$ cat t.c
#include stdio.h

int main()
{
  int i;
  for( i = 0; i  3; )
for( ; ; ({ i++; break; }) )
  printf( %d\n, i );
}

With gcc, the break in the statement expression applies to the outer for
loop, so we get just 0 as output:

dgregor$ gcc t.c  ./a.out
0

with g++, the break in the statement expression applies to the inner for
loop, so we get 0 1 and 2 as the output:

dgregor$ g++ t.c  ./a.out
0
1
2

g++ seems to have the right behavior here, and in any case g++ can't really be
changed now: Qt's foreach macro depends on having break bind to the inner for
loop.


-- 
   Summary: Break in increment expression of for statement
inconsistent with g++
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: doug dot gregor at gmail dot com


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



[Bug tree-optimization/43801] [4.5/4.6 Regression] error: function causes a section type conflict with -fipa-cp -fipa-cp-clone

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2010-06-29 16:27 ---
Created an attachment (id=21040)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21040action=view)
gcc46-pr43801.patch

Untested fix.

I think for !DECL_ONE_ONLY decls we can put the virtual clone in the same
section, but for comdat groups we obviously can't do that.


-- 


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



[Bug target/43636] [4.5/4.6 Regression] ICE in extract_insn, at recog.c:2103

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #8 from jakub at gcc dot gnu dot org  2010-06-29 16:28 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/43610] [4.5 Regression] ICE: in prepare_float_lib_cmp, at optabs.c:4392 with -fno-trapping-math and _Decimal64 comparison

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #13 from jakub at gcc dot gnu dot org  2010-06-29 16:30 ---
Fixed on the trunk, unfixed on the branch.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.5/4.6 Regression] ICE: in|[4.5 Regression] ICE: in
   |prepare_float_lib_cmp, at   |prepare_float_lib_cmp, at
   |optabs.c:4392 with -fno-|optabs.c:4392 with -fno-
   |trapping-math and _Decimal64|trapping-math and _Decimal64
   |comparison  |comparison


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



[Bug c/44715] Break in increment expression of for statement inconsistent with g++

2010-06-29 Thread joseph at codesourcery dot com


--- Comment #1 from joseph at codesourcery dot com  2010-06-29 16:36 ---
Subject: Re:   New: Break in increment expression of for
 statement inconsistent with g++

On Tue, 29 Jun 2010, doug dot gregor at gmail dot com wrote:

 g++ seems to have the right behavior here, and in any case g++ can't really be
 changed now: Qt's foreach macro depends on having break bind to the inner 
 for
 loop.

Yes, the inconsistency should be fixed, but for both C and C++ I get 
error: break statement not within loop or switch if I only have one loop 
rather than nested loops, and break binding to the inner loop seems 
inconsistent with that error.  The C standard specifically says that 
continue and break statements must appear in a loop body (or switch body, 
in the case of break); if you make break bind to the inner loop, you 
should also not have that error in the single loop case (the rule should 
change to allow additional positions in the loop outside its body).

Whatever is done needs clearly defining and documenting (with testcases) 
for both break and continue, and including all relevant places in for, 
while, do-while and switch statements (I do not make a claim here as to 
exactly which places should allow break and so bind to the inner 
construct, and which should not and so bind to the outer construct if 
any).


-- 


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



Re: [Bug c/44715] New: Break in increment expression of for statement inconsistent with g++

2010-06-29 Thread Andrew Pinski
What does a break with a statement expression do for each frontend? Is  
it even valid to have a break there(without a statement expression)?
If it is valid, what does each standard say about the break there? If  
they say the same thing then I say both frontends should behave the  
same but if the c standard says a break should apply to the outer one  
then we should follow that for statement expressions also.


On Jun 29, 2010, at 9:20 AM, doug dot gregor at gmail dot com gcc-bugzi...@gcc.gnu.org 
 wrote:



The following program exhibits different behavior with gcc vs. g++:

dgregor$ cat t.c
#include stdio.h

int main()
{
 int i;
 for( i = 0; i  3; )
   for( ; ; ({ i++; break; }) )
 printf( %d\n, i );
}

With gcc, the break in the statement expression applies to the outer  
for

loop, so we get just 0 as output:

dgregor$ gcc t.c  ./a.out
0

with g++, the break in the statement expression applies to the inner  
for

loop, so we get 0 1 and 2 as the output:

dgregor$ g++ t.c  ./a.out
0
1
2

g++ seems to have the right behavior here, and in any case g++ can't  
really be
changed now: Qt's foreach macro depends on having break bind to  
the inner for

loop.


--
  Summary: Break in increment expression of for statement
   inconsistent with g++
  Product: gcc
  Version: 4.2.0
   Status: UNCONFIRMED
 Severity: normal
 Priority: P3
Component: c
   AssignedTo: unassigned at gcc dot gnu dot org
   ReportedBy: doug dot gregor at gmail dot com


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



[Bug c/44715] Break in increment expression of for statement inconsistent with g++

2010-06-29 Thread pinskia at gmail dot com


--- Comment #2 from pinskia at gmail dot com  2010-06-29 16:40 ---
Subject: Re:   New: Break in increment expression of for statement
inconsistent with g++

What does a break with a statement expression do for each frontend? Is  
it even valid to have a break there(without a statement expression)?
If it is valid, what does each standard say about the break there? If  
they say the same thing then I say both frontends should behave the  
same but if the c standard says a break should apply to the outer one  
then we should follow that for statement expressions also.

On Jun 29, 2010, at 9:20 AM, doug dot gregor at gmail dot com
gcc-bugzi...@gcc.gnu.org 
  wrote:

 The following program exhibits different behavior with gcc vs. g++:

 dgregor$ cat t.c
 #include stdio.h

 int main()
 {
  int i;
  for( i = 0; i  3; )
for( ; ; ({ i++; break; }) )
  printf( %d\n, i );
 }

 With gcc, the break in the statement expression applies to the outer  
 for
 loop, so we get just 0 as output:

 dgregor$ gcc t.c  ./a.out
 0

 with g++, the break in the statement expression applies to the inner  
 for
 loop, so we get 0 1 and 2 as the output:

 dgregor$ g++ t.c  ./a.out
 0
 1
 2

 g++ seems to have the right behavior here, and in any case g++ can't  
 really be
 changed now: Qt's foreach macro depends on having break bind to  
 the inner for
 loop.


 -- 
   Summary: Break in increment expression of for statement
inconsistent with g++
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: doug dot gregor at gmail dot com


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



-- 


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



[Bug c/44715] Break in increment expression of for statement inconsistent with g++

2010-06-29 Thread joseph at codesourcery dot com


--- Comment #3 from joseph at codesourcery dot com  2010-06-29 16:46 ---
Subject: Re:  Break in increment expression of for statement
 inconsistent with g++

On Tue, 29 Jun 2010, pinskia at gmail dot com wrote:

 What does a break with a statement expression do for each frontend? Is  
 it even valid to have a break there(without a statement expression)?

The relevant contexts have expressions, so without statement expressions 
it's not possible to have break there.  The C standard (I haven't checked 
C++) requires break (and continue, which probably has much the same issue) 
to be in a loop or switch body - but being elsewhere in the loop than its 
body isn't possible in standard C anyway.  When I was fixing statement 
expression issues with jumps, and defining exactly what was permitted (bug 
772), I didn't think of this particular issue.


-- 


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



[Bug target/44707] operand requires impossible reload

2010-06-29 Thread uweigand at gcc dot gnu dot org


--- Comment #1 from uweigand at gcc dot gnu dot org  2010-06-29 16:56 
---
I agree, this looks like a longstanding bug in
rs6000_legitimize_reload_address.

What happens here is that find_reloads is called on this insn:

(insn 15 8 18 2 pr44707.c:13 (asm_operands/v (/* %0 %1 %2 %3 %4 */) () 0 [
(mem/s/c:SI (symbol_ref:SI (v) [flags 0xc0] var_decl 0xf6f90fc0
v) [3 v.a+0 S4 A32])
(mem/c/i:SI (symbol_ref:SI (w) [flags 0xc4] var_decl 0xf6f91020
w) [3 w+0 S4 A32])
(mem/s/c:SI (const:SI (plus:SI (symbol_ref:SI (v) [flags 0xc0]
var_decl 0xf6f90fc0 v)
(const_int 4 [0x4]))) [3 v.b+0 S4 A32])
(mem/s/c:SI (const:SI (plus:SI (symbol_ref:SI (v) [flags 0xc0]
var_decl 0xf6f90fc0 v)
(const_int 8 [0x8]))) [3 v.c+0 S4 A32])
(mem/s/c:SI (const:SI (plus:SI (symbol_ref:SI (v) [flags 0xc0]
var_decl 0xf6f90fc0 v)
(const_int 12 [0xc]))) [3 v.d+0 S4 A32])
]
 [
(asm_input:SI (nro) (null):0)
(asm_input:SI (nro) (null):0)
(asm_input:SI (nro) (null):0)
(asm_input:SI (nro) (null):0)
(asm_input:SI (nro) (null):0)
]
 [] pr44707.c:14) -1 (nil))

rs6000_find_reloads_address notices that it can rewrite
  (symbol_ref:SI v)
to
  (lo_sum:SI (high:SI (symbol_ref:SI v)) (symbol_ref:SI v))
(and place a reload on the (high:SI) subexpression) and does so.  This change
remains in the insn, and when in the next iteration find_reloads is called
again, the insn now looks like:

(insn 15 8 18 2 pr44707.c:13 (asm_operands/v (/* %0 %1 %2 %3 %4 */) () 0 [
(mem/s/c:SI (lo_sum:SI (high:SI (symbol_ref:SI (v) [flags 0xc0]
var_decl 0xf6f90fc0 v))
(symbol_ref:SI (v) [flags 0xc0] var_decl 0xf6f90fc0 v))
[3 v.a+0 S4 A32])
(mem/c/i:SI (lo_sum:SI (high:SI (symbol_ref:SI (w) [flags 0xc4]
var_decl 0xf6f91020 w))
(symbol_ref:SI (w) [flags 0xc4] var_decl 0xf6f91020 w))
[3 w+0 S4 A32])
(mem/s/c:SI (const:SI (plus:SI (symbol_ref:SI (v) [flags 0xc0]
var_decl 0xf6f90fc0 v)
(const_int 4 [0x4]))) [3 v.b+0 S4 A32])
(mem/s/c:SI (const:SI (plus:SI (symbol_ref:SI (v) [flags 0xc0]
var_decl 0xf6f90fc0 v)
(const_int 8 [0x8]))) [3 v.c+0 S4 A32])
(mem/s/c:SI (const:SI (plus:SI (symbol_ref:SI (v) [flags 0xc0]
var_decl 0xf6f90fc0 v)
(const_int 12 [0xc]))) [3 v.d+0 S4 A32])
]
 [
(asm_input:SI (nro) (null):0)
(asm_input:SI (nro) (null):0)
(asm_input:SI (nro) (null):0)
(asm_input:SI (nro) (null):0)
(asm_input:SI (nro) (null):0)
]
 [] pr44707.c:14) -1 (nil))

However, this expression is now no longer recognized by
rs6000_legitimize_reload_address, and therefore no reload on (high:SI) is
pushed.

Thus, when the reload is finally processed, a reload insn like this is
generated:

(insn 26 8 27 2 pr44707.c:13 (set (reg:SI 10 10)
(lo_sum:SI (high:SI (symbol_ref:SI (v) [flags 0xc0] var_decl
0xf6f90fc0 v))
(symbol_ref:SI (v) [flags 0xc0] var_decl 0xf6f90fc0 v))) -1
(nil))

As this does not actually correspond to any valid pattern, an assertion is
triggered.

The underlying problem is that with the current reload setup, an implementation
of LEGITIMATE_RELOAD_ADDRESS must always recognize expressions it has itself
generated in an earlier call.  And indeed, that's what a comment in
rs6000_legitimize_reload_address says:

static rtx
rs6000_legitimize_reload_address (rtx x, enum machine_mode mode,
  int opnum, int type,
  int ind_levels ATTRIBUTE_UNUSED, int *win)
{
  bool reg_offset_p = reg_offset_addressing_ok_p (mode);

  /* We must recognize output that we have already generated ourselves.  */
  if (GET_CODE (x) == PLUS
   GET_CODE (XEXP (x, 0)) == PLUS
   GET_CODE (XEXP (XEXP (x, 0), 0)) == REG
   GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT
   GET_CODE (XEXP (x, 1)) == CONST_INT)


However, this recognizes only certain types of such output, and in particular
not the one that shows up in this test case.

It seems to me that simply extending rs6000_legitimate_reload_address to handle
this case as well should fix the bug.


-- 

uweigand at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-29 16:56:47
   date||


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



[Bug target/44707] operand requires impossible reload

2010-06-29 Thread uweigand at gcc dot gnu dot org


--- Comment #2 from uweigand at gcc dot gnu dot org  2010-06-29 17:03 
---
Created an attachment (id=21041)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21041action=view)
Recognize (lo_sum (high ...) ...) in rs6000_legitimize_reload_address

 It seems to me that simply extending rs6000_legitimate_reload_address to 
 handle
 this case as well should fix the bug.

And indeed, this (otherwise untested) patch fixes the bug for me.


-- 


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



[Bug c++/35167] Problem with non-type template parameter and name lookup in template.

2010-06-29 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2010-06-29 17:32 ---
Reopening, this is a bug.  The address of a static member function is a valid
address constant expression: it's a pointer to a function, in this case created
implicitly.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jason at gcc dot gnu dot org
 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |


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



[Bug c++/35167] Problem with non-type template parameter and name lookup in template.

2010-06-29 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-29 17:32:50
   date||


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



[Bug c++/35167] problem with function address constant non-type template parameter in template

2010-06-29 Thread jason at gcc dot gnu dot org


--- Comment #5 from jason at gcc dot gnu dot org  2010-06-29 17:34 ---
tweaking summary a bit.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|Problem with non-type   |problem with function
   |template parameter and name |address constant non-type
   |lookup in template. |template parameter in
   ||template


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



[Bug c++/41544] unqualified member function reference is or not valid in constant expression depending on class being a template or not

2010-06-29 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2010-06-29 17:34 ---
Dupe of 35167, which I have now reopened.

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


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jason at gcc dot gnu dot org
 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/35167] problem with function address constant non-type template parameter in template

2010-06-29 Thread jason at gcc dot gnu dot org


--- Comment #6 from jason at gcc dot gnu dot org  2010-06-29 17:34 ---
*** Bug 41544 has been marked as a duplicate of this bug. ***


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||skandalfo at gmail dot com


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



[Bug middle-end/44716] New: Bootstrap fails with partial inlining (r161382)

2010-06-29 Thread sje at cup dot hp dot com
The ia64-hp-hpux11.23 platform fails when building the C++ library during a
bootstrap build with r161382.  r161381 works. r161521, which has some bug
fixes, still fails.  The failure only occurs with bootstrap, the compiler
faults when building the libstdc++ library.

/proj/opensrc_nobackup/sje/reg3/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/include/bits/postypes.h:123:12:
internal compiler error: Illegal instruction
Please submit a full bug report,  
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make[4]: *** [ia64-hp-hpux11.23/bits/stdc++.h.gch/O2ggnu++0x.gch] Error

Running under gdb didn't give me a complete backtrace but did show:

#0  0x42c88b0:2 in cplus_expand_constant (cst=0x6432d880)
at /proj/opensrc_nobackup/sje/reg3/src/trunk/gcc/cp/expr.c:70

I will try turning off partial inlining and see if that fixes the
problem using the r161382 sources.  This bug doesn't appear to be
the same as PR44671 (fixed in r161521) or PR44687 (an ICE error in tree_nrv).


-- 
   Summary: Bootstrap fails with partial inlining (r161382)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sje at cup dot hp dot com
 GCC build triplet: ia64-hp-hpux11.23
  GCC host triplet: ia64-hp-hpux11.23
GCC target triplet: ia64-hp-hpux11.23


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



[Bug c++/44717] New: [4.5 Regression] extern C static void test(); produces error

2010-06-29 Thread bero at arklinux dot org
Compiling the following code:

extern C static void test();

with a 4.5.1 snapshot results in:

test.cpp:1:12: error: invalid use of ‘static’ in linkage specification

The supposedly equivalent

extern C {
static void test();
}

works fine.

This used to work before (not sure what version).


Real-world use: This issue breaks building the LZMA SDK 9.12


-- 
   Summary: [4.5 Regression] extern C static void test(); produces
error
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bero at arklinux dot org
 GCC build triplet: x86_64-pc-linux-gnu
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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



[Bug other/44034] target hooks are hard to maintain

2010-06-29 Thread amylaar at gcc dot gnu dot org


--- Comment #6 from amylaar at gcc dot gnu dot org  2010-06-29 18:22 ---
Subject: Bug 44034

Author: amylaar
Date: Tue Jun 29 18:22:00 2010
New Revision: 161547

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161547
Log:
gcc:
PR other/44034
* target.def, doc/tm.texi.in, genhooks.c: New files.
* target.h: Instead of defining individual hook members,
define DEFHOOKPOD / DEFHOOK / DEFHOOK_UNDOC / HOOKSTRUCT and
include target.def.
* target-def.h: Instead of defining individual hook initializers,
include target-hooks-def.h.
* df-scan.c, haifa-sched.c, sel-sched.c: Rename targetm members:
targetm.live_on_entry - targetm.extra_live_on_entry
targetm.sched.md_finish -targetm.sched.finish
targetm.sched.md_init - targetm.sched.init
targetm.sched.md_init_global - targetm.sched.init_global
targetm.asm_out.unwind_label - targetm.asm_out.emit_unwind_label
targetm.asm_out.except_table_label -
  targetm.asm_out.emit_except_table_label
targetm.asm_out.visibility - targetm.asm_out.assemble_visibility
targetm.target_help - targetm.help
targetm.vectorize.builtin_support_vector_misalignment -
  targetm.vectorize.support_vector_misalignment
targetm.file_start_app_off - targetm.asm_file_start_app_off
targetm.file_start_file_directive -
 targetm.asm_file_start_file_directive
* dwarf2out.c, opts.c, tree-vect-data-refs.c, except.c: Likewise.
* varasm.c, config/alpha/alpha.c, config/cris/cris.c: Likewise.
* gcc/config/spu/spu.c, config/ia64/ia64.c: Rename target macros:
TARGET_VECTOR_ALIGNMENT_REACHABLE -
  TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE
TARGET_SUPPORT_VECTOR_MISALIGNMENT -
  TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT
TARGET_UNWIND_EMIT - TARGET_ASM_UNWIND_EMIT
* config/rs6000/rs6000.c, config/arm/arm.c: Likewise.
* Makefile.in (TARGET_H): Depend on target.def.
(TARGET_DEF_H): Depend on target-hooks-def.h.
(target-hooks-def.h, tm.texi, s-target-hooks-def-h): New rules.
(s-tm-texi, build/genhooks.o, build/genhooks): Likewise.
* doc/tm.texi: Regenerate.
gcc/c-family:
* c-common.c: Rename targetm member:
targetm.enum_va_list - targetm.enum_va_list_p
gcc/po:
* EXCLUDES: Add genhooks.c.
Index: gcc/doc/tm.texi


Added:
trunk/gcc/doc/tm.texi.in
  - copied, changed from r161540, trunk/gcc/doc/tm.texi
trunk/gcc/genhooks.c
trunk/gcc/target.def
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-common.c
trunk/gcc/config/alpha/alpha.c
trunk/gcc/config/arm/arm.c
trunk/gcc/config/cris/cris.c
trunk/gcc/config/ia64/ia64.c
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/spu/spu.c
trunk/gcc/df-scan.c
trunk/gcc/doc/tm.texi
trunk/gcc/dwarf2out.c
trunk/gcc/except.c
trunk/gcc/haifa-sched.c
trunk/gcc/opts.c
trunk/gcc/po/ChangeLog
trunk/gcc/po/EXCLUDES
trunk/gcc/sel-sched.c
trunk/gcc/target-def.h
trunk/gcc/target.h
trunk/gcc/tree-vect-data-refs.c
trunk/gcc/varasm.c


-- 


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



[Bug c++/44717] [4.5 Regression] extern C static void test(); produces error

2010-06-29 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-06-29 18:23 ---
There was only a few version of GCC which accepted this.  They were incorrectly
accepting it.  See PR 26068 for the versions which accepted it (marked as known
to fail).  This is invalid code.

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/26068] [4.0 Regression] extern C static function should not be allowed

2010-06-29 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2010-06-29 18:23 
---
*** Bug 44717 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||bero at arklinux dot org


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



[Bug bootstrap/44714] libgcc configure: error: cannot compute suffix of object files

2010-06-29 Thread jbare7 at gmail dot com


--- Comment #3 from jbare7 at gmail dot com  2010-06-29 18:23 ---
  sudo make
 
 There's no need to build as root.

If I dont build as root I get errors with removing certain files due to lack
of permissions for some reason.

  Then I found out I needed GMP, MPFR, and MPC installed. I downloaded the
  packages to my desktop and built and installed them, several times since 
  some
  of the latest versions did not seem to be compatible with each other. So 
  after
  a few tries I found a combination of versions of these that would install
  correctly and still met the stated requirements for installing gcc 4.5.0
 
 You don't need to install them, you can just put them in the gcc-4.5.0
 directory, that's sometimes easier.
 
 Or you can probably install them from your distro's package management system.

I tried putting them in the gcc-4.5.0 directory and I tried installing them
from my distro, but neither of these worked to fix the error.

  See `config.log' for more details.
 
 Like it says, see config.log for more details
 

Sorry, but I am relatively new to Linux and am not experienced in reading this
file. However, in looking through it I noticed several places where it printed
an error and then a portion of C code where the error occurred. One of these
seemed to be checking the version of MPFR. Others couldnt find certain .h
files.


-- 


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



[Bug bootstrap/44714] libgcc configure: error: cannot compute suffix of object files

2010-06-29 Thread jbare7 at gmail dot com


--- Comment #4 from jbare7 at gmail dot com  2010-06-29 18:29 ---
(In reply to comment #2)
 also, please check whether this is the same issue as Bug 43819 (did you search
 for existing bugs with cannot compute suffix before entering a bug?)
 
 It's likely you need to set LD_LIBRARY_PATH so that libgmp etc can be found
 
 That wouldn't be necessary if you installed your distro's packages, or if you
 put the gmp/mpfr/mpc sources in the gcc-4.5.0 directory instead of building 
 and
 installing them manually
 

Ah I did not find that bug report before. But as I said before, I'm fairly new
to Linux and I'm not sure how to set LD_LIBRARY_PATH correctly. I tried setenv,
but TAB completion did not recognize LD_LIBRARY_PATH as an option for this. And
yea, putting the other package directories in the gcc-4.5.0 directory didn't
fix the issue.


-- 


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



[Bug fortran/44718] New: Procedure-pointer name is wrongly regarded as external procedure

2010-06-29 Thread burnus at gcc dot gnu dot org
Reported by John McFarland at
http://gcc.gnu.org/ml/fortran/2010-06/msg00286.html

If one uses
  procedure(interface), pointer :: f
at multiple scopes of the same program, gfortran treats the proc-pointer name
(f) as external name - and thus rejects using it once as function and once as
subroutine name:

Error: Global name 'f' at (1) is already being used as a SUBROUTINE at (2)


Test case by John McFarland:

MODULE m
  IMPLICIT NONE
CONTAINS
  FUNCTION func(x) RESULT(y)
INTEGER :: x,y
y = x *2
  END FUNCTION func

  SUBROUTINE sub(x)
INTEGER :: x
PRINT*, x
  END SUBROUTINE sub

  SUBROUTINE use_func()
PROCEDURE(func), POINTER :: f
INTEGER :: y
f = func
y = f(2)
  END SUBROUTINE use_func

  SUBROUTINE use_sub()
PROCEDURE(sub), POINTER :: f
f = sub
CALL f(2)
  END SUBROUTINE use_sub
END MODULE m


-- 
   Summary: Procedure-pointer name is wrongly regarded as external
procedure
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug bootstrap/44714] libgcc configure: error: cannot compute suffix of object files

2010-06-29 Thread redi at gcc dot gnu dot org


--- Comment #5 from redi at gcc dot gnu dot org  2010-06-29 18:43 ---
(In reply to comment #3)
   sudo make
  
  There's no need to build as root.
 
 If I dont build as root I get errors with removing certain files due to lack
 of permissions for some reason.

That's because you've tried to build as root already.
Remove the whole build tree (as root) then as non-root create a new directory
and make.

You don't have to do this, but there's no reason to build as root.  You do need
to make install as root if you are trying to install to e.g. /usr/local

   Then I found out I needed GMP, MPFR, and MPC installed. I downloaded the
   packages to my desktop and built and installed them, several times since 
   some
   of the latest versions did not seem to be compatible with each other. So 
   after
   a few tries I found a combination of versions of these that would install
   correctly and still met the stated requirements for installing gcc 4.5.0
  
  You don't need to install them, you can just put them in the gcc-4.5.0
  directory, that's sometimes easier.
  
  Or you can probably install them from your distro's package management 
  system.
 
 I tried putting them in the gcc-4.5.0 directory and I tried installing them
 from my distro, but neither of these worked to fix the error.

You need to rename them to just gmp instead of gmp-4.3.2 etc.

Or if you install from your distro you need the development packages, for gmp I
think that's libgmp3-dev, libmpfr-dev and libmpc-dev


   See `config.log' for more details.
  
  Like it says, see config.log for more details
  
 
 Sorry, but I am relatively new to Linux and am not experienced in reading this
 file. However, in looking through it I noticed several places where it printed
 an error and then a portion of C code where the error occurred. One of these
 seemed to be checking the version of MPFR. Others couldnt find certain .h
 files.

Most of the errors are not fatal, they are testing the features of your system,
so it's normal to see errors. Near the end of the file will be one that causes
the problem, search for the text cannot compute suffix. If you can't find it,
attach libgcc/config.log to this bug report. 

(In reply to comment #4)
 Ah I did not find that bug report before. But as I said before, I'm fairly new
 to Linux and I'm not sure how to set LD_LIBRARY_PATH correctly. I tried 
 setenv,
 but TAB completion did not recognize LD_LIBRARY_PATH as an option for this. 
 And
 yea, putting the other package directories in the gcc-4.5.0 directory didn't
 fix the issue.

Of course not, it's not an option. You could give absolutely any name to
setenv, so how can it predict what you want to type?

setenv is only the right command if you're using C shell, for sane shells you
would use:
  export LD_LIBRARY_PATH=/path/to/your/libs
For csh, if you insist on using it:
  setenv LD_LIBRARY_PATH /path/to/your/libs

But I really suggest you figure out how to install the libraries from Ubuntu's
packages, it will save you a lot of effort.  You could also try the gcc-help
mailing list, since I'm fairly sure this is user error, not a bug in gcc.


-- 


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



[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread iains at gcc dot gnu dot org


--- Comment #12 from iains at gcc dot gnu dot org  2010-06-29 18:45 ---
also fails when the bootstrap compiler is gcc-4.2 (apple 4.2.1).
i688-apple-darwin9 is ok for the same trunk rev.


-- 

iains at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||iains at gcc dot gnu dot org


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



[Bug fortran/44582] gfortran generates wrong results due to wrong ABI in function with array return

2010-06-29 Thread pault at gcc dot gnu dot org


--- Comment #18 from pault at gcc dot gnu dot org  2010-06-29 18:58 ---
Subject: Bug 44582

Author: pault
Date: Tue Jun 29 18:57:43 2010
New Revision: 161550

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161550
Log:
2010-06-29  Paul Thomas  pa...@gcc.gnu.org

PR fortran/44582
* trans-expr.c (arrayfunc_assign_needs_temporary): New function
to determine if a function assignment can be made without a
temporary.
(gfc_trans_arrayfunc_assign): Move all the conditions that
suppress the direct function call to the above new functon and
call it.

2010-06-29  Paul Thomas  pa...@gcc.gnu.org

PR fortran/44582
* gfortran.dg/aliasing_array_result_1.f90 : New test.


Added:
trunk/gcc/testsuite/gfortran.dg/aliasing_array_result_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-expr.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug bootstrap/44719] New: [4.6 Regression] Make warning: overriding command

2010-06-29 Thread hjl dot tools at gmail dot com
Revision 161547:

http://gcc.gnu.org/ml/gcc-cvs/2010-06/msg01465.html

caused:

Makefile:3712: warning: overriding commands for target `s-tm-texi'
Makefile:3710: warning: ignoring old commands for target `s-tm-texi'

The problem is the tab at

# check if someone mistakenly only changed tm.texi.
s-tm-texi: $(srcdir)/doc/tm.texi
-- Tab   

in gcc/Makefile.in.


-- 
   Summary: [4.6 Regression] Make warning: overriding command
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug bootstrap/44714] libgcc configure: error: cannot compute suffix of object files

2010-06-29 Thread redi at gcc dot gnu dot org


--- Comment #6 from redi at gcc dot gnu dot org  2010-06-29 19:00 ---
(In reply to comment #5)
 Or if you install from your distro you need the development packages, for gmp 

^ that should say for Ubuntu not for gmp


-- 


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



[Bug fortran/44718] Procedure-pointer name is wrongly regarded as external procedure

2010-06-29 Thread janus at gcc dot gnu dot org


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-06-29 19:02:30
   date||


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



[Bug fortran/44582] gfortran generates wrong results due to wrong ABI in function with array return

2010-06-29 Thread pault at gcc dot gnu dot org


--- Comment #19 from pault at gcc dot gnu dot org  2010-06-29 19:03 ---
Subject: Bug 44582

Author: pault
Date: Tue Jun 29 19:03:41 2010
New Revision: 161551

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161551
Log:
2010-06-29  Paul Thomas  pa...@gcc.gnu.org

PR fortran/44582
* trans-expr.c (arrayfunc_assign_needs_temporary): New function
to determine if a function assignment can be made without a
temporary.
(gfc_trans_arrayfunc_assign): Move all the conditions that
suppress the direct function call to the above new functon and
call it.

2010-06-29  Paul Thomas  pa...@gcc.gnu.org

PR fortran/44582
* gfortran.dg/aliasing_array_result_1.f90 : New test.


Added:
   
branches/gcc-4_5-branch/gcc/testsuite/gfortran.dg/aliasing_array_result_1.f90
Modified:
branches/gcc-4_5-branch/gcc/fortran/ChangeLog
branches/gcc-4_5-branch/gcc/fortran/trans-expr.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/44696] [OOP] ASSOCIATED fails on polymorphic variables

2010-06-29 Thread janus at gcc dot gnu dot org


--- Comment #5 from janus at gcc dot gnu dot org  2010-06-29 19:06 ---
Subject: Bug 44696

Author: janus
Date: Tue Jun 29 19:06:07 2010
New Revision: 161554

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161554
Log:
2010-06-29  Janus Weil  ja...@gcc.gnu.org

PR fortran/44696
* trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables
passed as second argument of ASSOCIATED.

2010-06-29  Janus Weil  ja...@gcc.gnu.org

PR fortran/44696
* gfortran.dg/associated_target_4.f90: New.

Added:
trunk/gcc/testsuite/gfortran.dg/associated_target_4.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-intrinsic.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/44696] [OOP] ASSOCIATED fails on polymorphic variables

2010-06-29 Thread janus at gcc dot gnu dot org


--- Comment #6 from janus at gcc dot gnu dot org  2010-06-29 19:08 ---
Fixed with r161554. Closing.


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug bootstrap/44719] [4.6 Regression] Make warning: overriding command

2010-06-29 Thread amylaar at gcc dot gnu dot org


--- Comment #1 from amylaar at gcc dot gnu dot org  2010-06-29 19:13 ---
Sorry, I certainly didn't mean to put a rule there; not sure if it was a typo
or some smartass-autoindent running wild.

I've removed the offending tab.


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/44695] [4.6 Regression] ice in simplify_subreg, at simplify-rtx.c:5117

2010-06-29 Thread hjl dot tools at gmail dot com


--- Comment #4 from hjl dot tools at gmail dot com  2010-06-29 19:16 ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2010-06/msg03033.html


-- 


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



[Bug bootstrap/44713] [4.6 regression] Revision 161530 failed bootstrap

2010-06-29 Thread hjl dot tools at gmail dot com


--- Comment #5 from hjl dot tools at gmail dot com  2010-06-29 19:21 ---
Fixed.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c++/44587] [4.4/4.5/4.6 Regression] ICE in instantiate_decl

2010-06-29 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2010-06-29 19:29 ---
Subject: Bug 44587

Author: jason
Date: Tue Jun 29 19:29:02 2010
New Revision: 161559

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161559
Log:
PR c++/44587
* pt.c (has_value_dependent_address): New.
(value_dependent_expression_p): Check it.
(convert_nontype_argument): Likewise.  Call decay_conversion before
folding if we want a pointer.
* semantics.c (finish_id_expression): Don't add SCOPE_REF if the
scope is the current instantiation.

Added:
trunk/gcc/testsuite/g++.dg/template/qualified-id2.C
trunk/gcc/testsuite/g++.dg/template/qualified-id3.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/44587] [4.4/4.5/4.6 Regression] ICE in instantiate_decl

2010-06-29 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2010-06-29 19:30 ---
Subject: Bug 44587

Author: jason
Date: Tue Jun 29 19:29:58 2010
New Revision: 161561

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161561
Log:
PR c++/44587
* pt.c (has_value_dependent_address): New.
(value_dependent_expression_p): Check it.
(convert_nontype_argument): Likewise.  Call decay_conversion before
folding if we want a pointer.
* semantics.c (finish_id_expression): Don't add SCOPE_REF if the
scope is the current instantiation.

Added:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/template/qualified-id2.C
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/template/qualified-id3.C
Modified:
branches/gcc-4_5-branch/gcc/cp/ChangeLog
branches/gcc-4_5-branch/gcc/cp/pt.c
branches/gcc-4_5-branch/gcc/cp/semantics.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/44587] [4.4/4.5/4.6 Regression] ICE in instantiate_decl

2010-06-29 Thread jason at gcc dot gnu dot org


--- Comment #5 from jason at gcc dot gnu dot org  2010-06-29 19:30 ---
Subject: Bug 44587

Author: jason
Date: Tue Jun 29 19:30:29 2010
New Revision: 161562

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161562
Log:
PR c++/44587
* pt.c (has_value_dependent_address): New.
(value_dependent_expression_p): Check it.
(convert_nontype_argument): Likewise.  Call decay_conversion before
folding if we want a pointer.
* semantics.c (finish_id_expression): Don't add SCOPE_REF if the
scope is the current instantiation.

Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/qualified-id2.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/qualified-id3.C
Modified:
branches/gcc-4_4-branch/gcc/cp/ChangeLog
branches/gcc-4_4-branch/gcc/cp/pt.c
branches/gcc-4_4-branch/gcc/cp/semantics.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/44718] Procedure-pointer name is wrongly regarded as external procedure

2010-06-29 Thread janus at gcc dot gnu dot org


--- Comment #1 from janus at gcc dot gnu dot org  2010-06-29 19:31 ---
The following patch fixes it:

Index: gcc/fortran/resolve.c
===
--- gcc/fortran/resolve.c   (revision 161551)
+++ gcc/fortran/resolve.c   (working copy)
@@ -2259,6 +2259,7 @@ is_external_proc (gfc_symbol *sym)
 !(sym-attr.intrinsic
  || gfc_is_intrinsic (sym, sym-attr.subroutine,
sym-declared_at))
 sym-attr.proc != PROC_ST_FUNCTION
+!sym-attr.proc_pointer
 !sym-attr.use_assoc
 sym-name)
 return true;


Regtesting now ...


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |janus at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-06-29 19:02:30 |2010-06-29 19:31:12
   date||


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



[Bug c++/44587] [4.4/4.5/4.6 Regression] ICE in instantiate_decl

2010-06-29 Thread jason at gcc dot gnu dot org


--- Comment #6 from jason at gcc dot gnu dot org  2010-06-29 19:31 ---
Fixed for 4.4.5.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug debug/44668] class-DW_TAG_typedef is missing DW_AT_accessibility

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2010-06-29 19:37 ---
Subject: Bug 44668

Author: jakub
Date: Tue Jun 29 19:37:46 2010
New Revision: 161563

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161563
Log:
PR debug/44668
* dwarf2out.c (add_accessibility_attribute): New function.
(gen_subprogram_die, gen_variable_die, gen_field_die): Use it
instead of adding DW_AT_accessibility manually.
(gen_enumeration_type_die, gen_struct_or_union_type_die,
gen_typedef_die): Use it.

* g++.dg/debug/dwarf2/accessibility1.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/debug/dwarf2/accessibility1.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/43801] [4.5/4.6 Regression] error: function causes a section type conflict with -fipa-cp -fipa-cp-clone

2010-06-29 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2010-06-29 19:46 ---
Subject: Bug 43801

Author: jakub
Date: Tue Jun 29 19:46:05 2010
New Revision: 161564

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161564
Log:
PR tree-optimization/43801
* cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
if old_decl was DECL_ONE_ONLY.

* g++.dg/torture/pr43801.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/torture/pr43801.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cgraph.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/44709] BLOCK and GOTO/EXIT/CYCLE

2010-06-29 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2010-06-29 20:03 ---
As pointed out by Andrew: One should follow C++ and generate  try {} finally{}
blocks  (TRY_FINALLY_EXPR).


-- 


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



[Bug bootstrap/44720] New: [4.6 Regression] Yet another bootstrap failure on x86_64-apple-darwin10

2010-06-29 Thread dominiq at lps dot ens dot fr
Bootstrapping revision 161565 on x86_64-apple-darwin10 fails with

...

gcc -c   -g -fkeep-inline-functions -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../../p_work/gcc -I../../p_work/gcc/. -I../../p_work/gcc/../include
-I../../p_work/gcc/../libcpp/include -I/opt/sw64/include -I/opt/sw64/include 
-I../../p_work/gcc/../libdecnumber -I../../p_work/gcc/../libdecnumber/dpd
-I../libdecnumber -I/opt/sw64/include  -I/opt/sw64/include -DCLOOG_PPL_BACKEND 
 -I/opt/sw64/include -I. -I. -I../../p_work/gcc -I../../p_work/gcc/.
-I../../p_work/gcc/../include -I../../p_work/gcc/../libcpp/include
-I/opt/sw64/include -I/opt/sw64/include  -I../../p_work/gcc/../libdecnumber
-I../../p_work/gcc/../libdecnumber/dpd -I../libdecnumber -I/opt/sw64/include 
-I/opt/sw64/include -DCLOOG_PPL_BACKEND   \
../../p_work/gcc/config/darwin.c
../../p_work/gcc/config/darwin.c: In function 'darwin_override_options':
../../p_work/gcc/config/darwin.c:1867: error: 'struct asm_out' has no member
named 'unwind_label'


-- 
   Summary: [4.6 Regression] Yet another bootstrap failure on
x86_64-apple-darwin10
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: x86_64-apple-darwin10
  GCC host triplet: x86_64-apple-darwin10
GCC target triplet: x86_64-apple-darwin10


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



  1   2   >