[Bug target/35714] x86 poor code with pmaddwd

2008-03-27 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2008-03-27 07:41 ---
Combine doesn't want to merge memory operand into sse2_pmaddwd pattern. Perhaps
this is the limitation of combiner, since pmaddwd pattern defines multiple uses
of its input operands.


-- 


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



[Bug target/31110] Problem while compiling gcc for mn10300-elf

2008-03-27 Thread nickc at redhat dot com


--- Comment #7 from nickc at redhat dot com  2008-03-27 08:26 ---
Subject: Re:  Problem while compiling gcc for mn10300-elf

Hi Jeff,


>> The CLASS is DATA_OR_EXTENDED_REGS.

>>(plus:SI (reg/f:SI 9 sp)
>>(const_int 1100 [0x44c]))

> Hmm, so why isn't this caught by this code in secondary_reload_class:
> 
>/* We can't directly load sp + const_int into a data register;
>   we must use an address register as an intermediate.  */
>if (class != SP_REGS
>&& class != ADDRESS_REGS
>&& class != SP_OR_ADDRESS_REGS
>&& class != SP_OR_EXTENDED_REGS
>&& class != ADDRESS_OR_EXTENDED_REGS
>&& class != SP_OR_ADDRESS_OR_EXTENDED_REGS
>&& (in == stack_pointer_rtx
>|| (GET_CODE (in) == PLUS
>&& (XEXP (in, 0) == stack_pointer_rtx
>|| XEXP (in, 1) == stack_pointer_rtx
>  return ADDRESS_REGS;
> 
> 
> In fact, I'm having trouble seeing why the clause which returns 
> DATA_REGS/DATA_OR_EXTENDED_REGS exists at all.
> 
> Am I being overly dense today?

Nope, when you pointed it out to me I puzzled over it too.  The answer 
is quite simple though, at the point where 
mn10300_secondary_reload_class is called the value of CLASS is 
ADDRESS_REGS, which explains why the above fragment of code is not 
triggered.

I guess it makes sense - if you need to perform a reload of a stack 
pointer manipulation then the obvious first choice of class is the 
address registers.  If that does not work, say because the stack 
adjustment is too big, then using a data or extended register and 
performing direct arithmetic on the stack pointer is the way to go.

Cheers
   Nick


-- 


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



[Bug tree-optimization/35429] [4.1/4.2/4.3/4.4 regression] ICE with complex arithmetic

2008-03-27 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2008-03-27 08:56 ---
Subject: Bug 35429

Author: pinskia
Date: Thu Mar 27 08:55:50 2008
New Revision: 133631

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133631
Log:
2008-03-27  Andrew Pinski  <[EMAIL PROTECTED]>

PR middle-end/35429
* fold-const.c (fold_truthop): Check for integeral types when folding
a == 0 && b == 0 and a != 0 || b != 0 .

2008-03-27  Andrew Pinski  <[EMAIL PROTECTED]>

PR middle-end/35429
* gcc.c-torture/compile/complex-5.c: New test.


Added:
trunk/gcc/testsuite/gcc.c-torture/compile/complex-5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/35715] New: openmp usage fault

2008-03-27 Thread anoop dot sabir at rediffmail dot com
#include
#include
#include
class ProcessorScheduling{
public :vector  schedule(vector  machines, vector  jobs,
int transfer){
vector assignments(0);
vector  > minimization(machines.max_size(),vector
(machines.max_size()));
int c,j;
omp_set_num_threads(32);
#pragma omp parallel for private (c,j)
for(int i=0;imachines.max_size()){
int minimization[assignments.max_size()][assignments.max_size()];
omp_set_num_threads(32);
#pragma omp parallel for private (j)
for(int i=0;i > balancetime(machines.max_size());
vector starttime(machines.max_size());
for(int i=0;i returns(0);
int first;int interval;
vector completed(0);
int startdelay[jobs.max_size()];
vector placements(machines.max_size());
q:
int min;
omp_set_num_threads(32);
#pragma omp parallel for private (min,j)
for(int i=0;i >
square(minimization.max_size(),vector(minimization.max_size()));
vector >
cross(minimization.max_size(),vector(minimization.max_size()));
int rowline[minimization.max_size()];
int colline[minimization.max_size()];
int markrow[minimization.max_size()];
int markcol[minimization.max_size()];
int zeros=1;
int z=1,more=0;
b:
if (more==1)z++;
more=0;
zeros=z;
int row,col;
omp_set_num_threads(32);
#pragma omp parallel for private (row,col,c,j)
for(int i=0;i> str;
//#pragma critical
{placements[i]+=str+" ";
assignments[j]=assignments[assignments.max_size()-1];
assignments.resize(assignments.max_size()-1);}
}}}
goto p;
}
flag=1;
omp_set_num_threads(32);
#pragma omp parallel for private (j)
for(int i=0;i machine(32);
vector job(1);
string st;
int f,add,l,t;
omp_set_num_threads(32);
#pragma omp parallel for private (c,f,st,str,s,flops,add,l,t)
for(int i=0;iatoi(starttime[i].c_str())){
//#pragma critical
{starttime[i]=startdelay[atoi(str.c_str())];}}}
f=1;str="";}
else str+=placements[i][c];
c++;
}
if(jump==0){
string s=jobs[atoi(str.c_str())];
string flops="";
c=0;
while(!isspace(s[c])){
flops+=s[c];
c++;
}
add=0;
if(balancetime[i].max_size()>0){l=0;
t=balancetime[i].max_size();
while(ladd)add=startdelay[atoi(str.c_str())]-add;else
add=0;
//#pragma critical
{balancetime[i].resize(balancetime[i].max_size()+1);
balancetime[i][balancetime[i].max_size()-1]=ceil(atoi(flops.c_str())/machines[i]+add);}
}
if(first==1){
//#pragma critical
{interval=balancetime[i][0];first=0;machine[0]=i;job[0]=st;}}
else if(balancetime[i][0]> str;
std::string stri;
ss << machine[i];
ss >> stri;
//#pragma critical
{returns[returns.max_size()-1]=starttime[machine[i]]+" "+str+" "+job[i]+"
"+stri;
completed.resize(completed.max_size()+1);
completed[completed.max_size()-1]=atoi(job[i].c_str());}
for(int j=0;jstartdelay[j])startdelay[j]=time+transfer;
str="";}
else str+=jobs[j][c];
}
}}
if(completed.max_size()==jobs.max_size())return returns;
omp_set_num_threads(32);
#pragma omp parallel for private (c,ss,str)
for(int i=0;i=0){
//#pragma critical
{balancetime[i][c]=balancetime[i][c+1];}
c--;
}
//#pragma critical
{balancetime[1].resize(balancetime[i].max_size()-1);}
std::stringstream ss;
std::string str;
ss << time;
ss >> str;
//#pragma critical
{starttime[i]=str;}
c=0;
while(!isspace(placements[i][c]))
c++;
if(strlen(placements[i].c_str())==c+1){
//#pragma critical
{placements[i]="";}}
else{ 
//#pragma critical
{placements[i]=placements[i].substr(c+1,strlen(placements[i].c_str())-c-1);}}
}}}
omp_set_num_threads(32);
#pragma omp parallel for private (spaces,c,str,j,flag,f)
for(int i=0;imachines.max_size()){
int minimization[assignments.max_size()][assignments.max_size()];
omp_set_num_threads(32);
#pragma omp parallel for private (j)
for(int i=0;i flop(assignments.max_size());
int cumtime,k;
omp_set_num_threads(32);
#pragma omp parallel for private (cumtime,j,k,s,c,flop)
for(int i=0;icumtime){
//#pragma critical
{minimization[j][i]=startdelay[assignments[j]];}}
//#pragma critical
{minimization[j][i]+=ceil(atoi(flop[j].c_str())/machines[i]);}
}}
goto q;
}};


-- 
   Summary: openmp usage fault
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: anoop dot sabir at rediffmail dot com


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



[Bug c++/35546] [4.3/4.4 Regression] __attribute__(format...) broken for members of template classes?

2008-03-27 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2008-03-27 09:31 ---
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=35546



[Bug middle-end/35705] [4.3/4.4 Regression] Symbol address check eliminated by C frontend.

2008-03-27 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2008-03-27 09:42 ---
That will unnecessarily punish the majority of targets which use simple
pointers.
I thought you can align functions more than FUNCTION_BOUNDARY by
ASM_OUTPUT_MAX_SKIP_ALIGN, but apparently that's not unconditional.
In that case, we should have a target macro or target hook, which will tell us
alignment of ADDR_EXPR , defaulting to DECL_ALIGN_UNIT of the
FUNCTION_DECL, and get_pointer_modulus_and_residue should use that.


-- 


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



[Bug middle-end/35705] [4.3/4.4 Regression] Symbol address check eliminated by C frontend.

2008-03-27 Thread rguenther at suse dot de


--- Comment #12 from rguenther at suse dot de  2008-03-27 09:52 ---
Subject: Re:  [4.3/4.4 Regression] Symbol address check
 eliminated by C frontend.

On Thu, 27 Mar 2008, jakub at gcc dot gnu dot org wrote:

> --- Comment #11 from jakub at gcc dot gnu dot org  2008-03-27 09:42 
> ---
> That will unnecessarily punish the majority of targets which use simple
> pointers.
> I thought you can align functions more than FUNCTION_BOUNDARY by
> ASM_OUTPUT_MAX_SKIP_ALIGN, but apparently that's not unconditional.
> In that case, we should have a target macro or target hook, which will tell us
> alignment of ADDR_EXPR , defaulting to DECL_ALIGN_UNIT of the
> FUNCTION_DECL, and get_pointer_modulus_and_residue should use that.

I don't think alignment checks on function pointers are common
(nor portable, a function "pointer" is an opaque object).  So a new
target hook is overkill IMHO.

Richard.


-- 


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



[Bug c++/35715] openmp usage fault

2008-03-27 Thread anoop dot sabir at rediffmail dot com


--- Comment #1 from anoop dot sabir at rediffmail dot com  2008-03-27 10:49 
---
Created an attachment (id=15386)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15386&action=view)
code


-- 


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



[Bug c++/35715] openmp usage fault

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2008-03-27 11:00 ---
so...  where does the bug hide?


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug fortran/35698] lbound and ubound wrong for allocated run-time zero size array

2008-03-27 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2008-03-27 11:08 ---
Some comments about the patch in comment #2:

1) If I am not mistaken, the first change is within a commented block (look at
the last line in the diff.:
' }  */')

2) With the patch I have a lot of regressions on my quick and dirty testsuite.
Among them I have several:

test.exe(65765) malloc: *** error for object 0x2004c0: incorrect checksum for
freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug

one example being:

PROGRAM  testb 
 IMPLICIT none 

 CHARACTER(len=120), DIMENSION(3) :: vect 

 CHARACTER(len=1), DIMENSION(:), ALLOCATABLE :: cvect 

 INTEGER :: length 

!!$--- 

 vect(:)=(/'ippaaa0','ippaaa1','ippaaa2'/) 
 WRITE(*,*) 'Say hi!' 
 length=SIZE(TRANSFER(vect,cvect)) 
 WRITE(*,*) 'Say hi again!', length 
 ALLOCATE(cvect(length)) 
 cvect=TRANSFER(vect,cvect) 

!!$- 

END PROGRAM testb 


-- 


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



[Bug c++/35715] openmp usage fault

2008-03-27 Thread anoop dot sabir at rediffmail dot com


--- Comment #3 from anoop dot sabir at rediffmail dot com  2008-03-27 11:09 
---
ProcessorScheduling.cc: In member function ‘std::vector, std::allocator >,
std::allocator,
std::allocator > > > ProcessorScheduling::schedule(std::vector >, std::vector, std::allocator >,
std::allocator,
std::allocator > > >, int)’:
ProcessorScheduling.cc:448: internal compiler error: in lower_stmt, at
gimple-low.c:283


-- 

anoop dot sabir at rediffmail dot com changed:

   What|Removed |Added

 CC||anoop dot sabir at
   ||rediffmail dot com


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



[Bug fortran/35702] [4.4, 4.3 regression]: structure character element with subscripts

2008-03-27 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2008-03-27 11:10 ---
Works as advertised without regression on i686-apple-darwin9 for 32 and 64 bit
modes.

Thanks for the patch.


-- 


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



[Bug fortran/35699] [4.3/4.4 regression] run-time abort writing zero sized section to direct access file

2008-03-27 Thread dominiq at lps dot ens dot fr


--- Comment #7 from dominiq at lps dot ens dot fr  2008-03-27 11:11 ---
Works as advertised without regression on i686-apple-darwin9 for 32 and 64 bit
modes.

Thanks for the patch.


-- 


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



[Bug c++/35715] openmp usage fault

2008-03-27 Thread anoop dot sabir at rediffmail dot com


--- Comment #4 from anoop dot sabir at rediffmail dot com  2008-03-27 11:22 
---
ProcessorScheduling.cc: In member function ‘std::vector, std::allocator >,
std::allocator,
std::allocator > > > ProcessorScheduling::schedule(std::vector >, std::vector, std::allocator >,
std::allocator,
std::allocator > > >, int)’:
ProcessorScheduling.cc:448: internal compiler error: in lower_stmt, at
gimple-low.c:283


-- 


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



[Bug c++/35711] bad text in -Wcast-qual warning (forgets volatile)

2008-03-27 Thread manu at gcc dot gnu dot org


--- Comment #1 from manu at gcc dot gnu dot org  2008-03-27 14:14 ---
Confirmed in trunk and GCC 4.3.0


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||manu at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
  Known to fail||4.3.0
   Last reconfirmed|-00-00 00:00:00 |2008-03-27 14:14:41
   date||


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



[Bug tree-optimization/35716] New: [4.4 Regression]: gfortran.dg/assign_6.f and gfortran.dg/g77/dnrm2.f

2008-03-27 Thread hjl dot tools at gmail dot com
Gcc 4.4 revision 133635 has

http://gcc.gnu.org/ml/gcc-testresults/2008-03/msg02105.html

FAIL: gfortran.dg/assign_6.f  -O1  execution test
FAIL: gfortran.dg/assign_6.f  -O2  execution test
FAIL: gfortran.dg/assign_6.f  -O3 -fomit-frame-pointer  execution test
FAIL: gfortran.dg/assign_6.f  -O3 -fomit-frame-pointer -funroll-loops 
execution test
FAIL: gfortran.dg/assign_6.f  -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions  execution test
FAIL: gfortran.dg/assign_6.f  -O3 -g  execution test
FAIL: gfortran.dg/assign_6.f  -Os  execution test
FAIL: gfortran.dg/g77/dnrm2.f  -O1  execution test
FAIL: gfortran.dg/g77/dnrm2.f  -O2  execution test
FAIL: gfortran.dg/g77/dnrm2.f  -O3 -fomit-frame-pointer  execution test
FAIL: gfortran.dg/g77/dnrm2.f  -O3 -fomit-frame-pointer -funroll-loops 
execution test
FAIL: gfortran.dg/g77/dnrm2.f  -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions  execution test
FAIL: gfortran.dg/g77/dnrm2.f  -O3 -g  execution test
FAIL: gfortran.dg/g77/dnrm2.f  -Os  execution test

Revision 133631 is OK

http://gcc.gnu.org/ml/gcc-testresults/2008-03/msg02101.html


-- 
   Summary: [4.4 Regression]: gfortran.dg/assign_6.f and
gfortran.dg/g77/dnrm2.f
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com
GCC target triplet: i686-pc-linux-gnu


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



[Bug tree-optimization/35717] New: [4.4 Regression] gcc.c-torture/compile/limits-structnest.c

2008-03-27 Thread hjl dot tools at gmail dot com
Gcc 4.4 revision 133630 has

http://gcc.gnu.org/ml/gcc-testresults/2008-03/msg02104.html

Running target unix/-m32
FAIL: gcc.c-torture/compile/limits-structnest.c  -O2  (test for excess errors)
FAIL: gcc.c-torture/compile/limits-structnest.c  -O3 -fomit-frame-pointer 
(test for excess errors)
FAIL: gcc.c-torture/compile/limits-structnest.c  -O3 -g  (test for excess
errors)
FAIL: gcc.c-torture/compile/limits-structnest.c  -Os  (test for excess errors)

Revision 133612 is OK

http://gcc.gnu.org/ml/gcc-testresults/2008-03/msg02057.html


-- 
   Summary: [4.4 Regression] gcc.c-torture/compile/limits-
structnest.c
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug tree-optimization/35716] [4.4 Regression]: gfortran.dg/assign_6.f and gfortran.dg/g77/dnrm2.f

2008-03-27 Thread bonzini at gnu dot org


--- Comment #1 from bonzini at gnu dot org  2008-03-27 14:27 ---
my build patches are innocent :-)


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 CC|bonzini at gnu dot org  |


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



[Bug c++/35715] openmp usage fault

2008-03-27 Thread anoop dot sabir at rediffmail dot com


--- Comment #5 from anoop dot sabir at rediffmail dot com  2008-03-27 14:39 
---
Created an attachment (id=15387)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15387&action=view)
code

this code is better


-- 

anoop dot sabir at rediffmail dot com changed:

   What|Removed |Added

  Attachment #15386|0   |1
is obsolete||


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



[Bug c++/35715] openmp usage fault

2008-03-27 Thread anoop dot sabir at rediffmail dot com


--- Comment #6 from anoop dot sabir at rediffmail dot com  2008-03-27 14:40 
---
errors compiling:

ProcessorScheduling.cc: In member function ‘std::vector, std::allocator >,
std::allocator,
std::allocator > > > ProcessorScheduling::schedule(std::vector >, std::vector, std::allocator >,
std::allocator,
std::allocator > > >, int)’:
ProcessorScheduling.cc:449: internal compiler error: in lower_stmt, at
gimple-low.c:283


-- 


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



[Bug tree-optimization/35716] [4.4 Regression]: gfortran.dg/assign_6.f and gfortran.dg/g77/dnrm2.f

2008-03-27 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-03-27 14:41 ---
Confirmed on i686-apple-darwin9 at revision 133638. The error is:

Fortran runtime error: Assigned label is not in the list


-- 


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



[Bug bootstrap/35704] Bootstrap failure on i686-apple-darwin9 at revision 133519 (take 2).

2008-03-27 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-03-27 14:49:45
   date||
   Target Milestone|--- |4.4.0


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



[Bug bootstrap/35704] Bootstrap failure on i686-apple-darwin9 at revision 133519 (take 2).

2008-03-27 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2008-03-27 14:54 ---
Subject: Bug 35704

Author: dgregor
Date: Thu Mar 27 14:53:57 2008
New Revision: 133643

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133643
Log:
2008-03-27  Douglas Gregor  <[EMAIL PROTECTED]>

PR obj-c++/35704
* typeck.c (build_x_compound_expr): Use cp_build_compound_expr.
(build_compound_expr): New, for compatibility with C
build_compound_expr.
(cp_build_compound_expr): Renamed from build_compound_expr.
(build_c_cast): New, for compatibility with C build_c_cast.
(cp_build_c_cast): Renamed from build_c_cast.
* init.c (build_vec_delete_1): Fix calls to build_compound_expr.
* decl.c (cxx_maybe_build_cleanup): Ditto.
* cp-tree.h (build_compound_expr): Add C-compatibile prototype.
(cp_build_compound_expr): Renamed from build_compound_expr.
(build_c_cast): Add C-compatible prototype.
(cp_build_c_cast): Renamed from build_c_cast.
* typeck2.c (build_functional_cast): Use cp_build_c_cast.
* parser.c (cp_parser_cast_expression): Fix call to build_c_cast.

2008-03-27  Douglas Gregor  <[EMAIL PROTECTED]>

PR obj-c++/35704
* objc-act.c (objc_build_component_ref): Fix call to
finish_class_member_access_expr.
(objc_generate_cxx_ctor_or_dtor): Fix call to
build_special_member_call.


Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/init.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/typeck.c
trunk/gcc/cp/typeck2.c
trunk/gcc/objc/ChangeLog
trunk/gcc/objc/objc-act.c


-- 


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



[Bug bootstrap/35704] Bootstrap failure on i686-apple-darwin9 at revision 133519 (take 2).

2008-03-27 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2008-03-27 14:54 ---
Fixed on mainline


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/35716] [4.4 Regression]: gfortran.dg/assign_6.f and gfortran.dg/g77/dnrm2.f

2008-03-27 Thread hp at gcc dot gnu dot org


--- Comment #3 from hp at gcc dot gnu dot org  2008-03-27 15:11 ---
Seen for cris-elf too; worked with 133631, failed with 133638.


-- 

hp at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hp at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-03-27 15:11:34
   date||


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



[Bug tree-optimization/35717] [4.4 Regression] gcc.c-torture/compile/limits-structnest.c

2008-03-27 Thread hjl dot tools at gmail dot com


--- Comment #1 from hjl dot tools at gmail dot com  2008-03-27 15:29 ---
This problem may be kernel related.


-- 


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



[Bug tree-optimization/35716] [4.4 Regression]: gfortran.dg/assign_6.f and gfortran.dg/g77/dnrm2.f

2008-03-27 Thread hjl dot tools at gmail dot com


--- Comment #4 from hjl dot tools at gmail dot com  2008-03-27 15:44 ---
I have verified that revision 133632:

http://gcc.gnu.org/ml/gcc-cvs/2008-03/msg00852.html

is the cause.


-- 


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



[Bug target/35695] [4.3/4.4 Regression] -funroll-loops breaks inline float divide

2008-03-27 Thread schwab at suse dot de


--- Comment #4 from schwab at suse dot de  2008-03-27 15:47 ---
Results here: ,
and it fixes the test case.


-- 


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



[Bug fortran/35718] New: deallocating non-allocated pointer target does not fail

2008-03-27 Thread dick dot hendrickson at gmail dot com
The following program fails to raise an error condition in the deallocate
statement.  The pointer target was not created by an allocate.

Dick Hendrickson

  program MF0069
! fails on Windows XP
! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139]
! F95 page 83, line 34 says deallocating a pointer whose target
!wasn't created by an ALLOCATE causes error condition


  REAL, pointer  :: RLA(:)
  REAL, TARGET   :: RLA1(6)
  RLA1 = 0
  RLA => RLA1
  DEALLOCATE (RLA, STAT = ISTAT)
  IF (ISTAT .LE. 0) print *, 'deallocate did not fail!', istat
  END


-- 
   Summary: deallocating non-allocated pointer target does not fail
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dick dot hendrickson at gmail dot com


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



[Bug fortran/35719] New: pointer to zero sized array not associated

2008-03-27 Thread dick dot hendrickson at gmail dot com
The ASSOCIATED function returns FALSE when its argument is a
pointer to a zero-sized array.

Dick Hendrickson

  program try_mf1053

! fails on Windows XP
! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139]

  call   mf1053 (  1,   2,   3,   4)
  end

  SUBROUTINE MF1053 (nf1, nf2, nf3, nf4)
  INTEGER, pointer :: ILA(:,:)
  INTEGER, target  :: ILA1(NF2,NF4:NF3)

  ILA => ILA1

  if (ASSOCIATED (ILA, ILA1(NF1:NF2,NF4:NF3) ) ) print *, "1 bad"
  if ( .not. ASSOCIATED(ILA) )  print *, "2 bad"

  END SUBROUTINE

C:\g_experiments\gfortran>gfortran mf1053.f

C:\g_experiments\gfortran>a
 2 bad


-- 
   Summary: pointer to zero sized array not associated
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dick dot hendrickson at gmail dot com


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



[Bug tree-optimization/35716] [4.4 Regression]: gfortran.dg/assign_6.f and gfortran.dg/g77/dnrm2.f

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2008-03-27 16:22 ---
Mine.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-03-27 15:11:34 |2008-03-27 16:22:10
   date||


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



[Bug tree-optimization/32810] Not folding of const element for goto

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-03-27 16:32 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug tree-optimization/32810] Not folding of const element for goto

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2008-03-27 16:33 ---
Subject: Bug 32810

Author: rguenth
Date: Thu Mar 27 16:32:28 2008
New Revision: 133645

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133645
Log:
2008-03-27  Richard Guenther  <[EMAIL PROTECTED]>

PR tree-optimization/32810
* tree-ssa-ccp.c (get_symbol_constant_value): Strip useless
conversions from DECL_INITIAL.
(fold_const_aggregate_ref): Likewise from constructor elements.

* gcc.dg/tree-ssa/ssa-ccp-18.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-18.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-ccp.c


-- 


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



[Bug c/32511] GCC inlines weak function

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2008-03-27 16:35 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug c/32511] GCC inlines weak function

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2008-03-27 16:35 ---
Subject: Bug 32511

Author: rguenth
Date: Thu Mar 27 16:34:55 2008
New Revision: 133646

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133646
Log:
2008-03-27  Richard Guenther  <[EMAIL PROTECTED]>

PR c/32511
* c-common.c (handle_weak_attribute): Reject combination of
weak and inline.

* gcc.dg/attr-weak-1.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/attr-weak-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-common.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug gcov-profile/35720] New: ICE during build of 4.3.0 on AIX 5.3, function '__gcov_execlp', libgcov.c:858

2008-03-27 Thread al dot danial at gmail dot com
I'm trying to build a 32 bit version of GCC 4.3.0 on an AIX 5.3 system using
GCC v3.3.3.

/tmp/gcc_exe/./gcc/xgcc -B/tmp/gcc_exe/./gcc/
-B/apps/gcc/4.3.0/powerpc-ibm-aix5.3.0.0/bin/
-B/apps/gcc/4.3.0/powerpc-ibm-aix5.3.0.0/lib/ -isystem
/apps/gcc/4.3.0/powerpc-ibm-aix5.3.0.0/include -isystem
/apps/gcc/4.3.0/powerpc-ibm-aix5.3.0.0/sys-include -g -fkeep-inline-functions
-pthread -O2  -O2 -g -O2 -maix32   -DIN_GCC-W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -mlong-double-128 -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../../.././gcc
-I../../../../gcc-4.3.0/libgcc -I../../../../gcc-4.3.0/libgcc/.
-I../../../../gcc-4.3.0/libgcc/../gcc -I../../../../gcc-4.3.0/libgcc/../include
 -DHAVE_CC_TLS -o _gcov_execlp.o -MT _gcov_execlp.o -MD -MP -MF
_gcov_execlp.dep -DL_gcov_execlp -c
../../../../gcc-4.3.0/libgcc/../gcc/libgcov.c
../../../../gcc-4.3.0/libgcc/../gcc/libgcov.c: In function '__gcov_execlp':
../../../../gcc-4.3.0/libgcc/../gcc/libgcov.c:858: internal compiler error:
tree check: expected ssa_name, have error_mark in rewrite_update_init_block, at
tree-into-ssa.c:1820
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
gmake[5]: *** [_gcov_execlp.o] Error 1
gmake[5]: Leaving directory
`/tmp/gcc_exe/powerpc-ibm-aix5.3.0.0/pthread/libgcc'gmake[4]: *** [multi-do]
Error 1
gmake[4]: Leaving directory `/tmp/gcc_exe/powerpc-ibm-aix5.3.0.0/libgcc'
gmake[3]: *** [all-multi] Error 2
gmake[3]: Leaving directory `/tmp/gcc_exe/powerpc-ibm-aix5.3.0.0/libgcc'
gmake[2]: *** [all-stage1-target-libgcc] Error 2
gmake[2]: Leaving directory `/tmp/gcc_exe'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/tmp/gcc_exe'
gmake: *** [all] Error 2

I'll attach /tmp/gcc_exe/powerpc-ibm-aix5.3.0.0/pthread/libgcc/config.log
and /tmp/gcc_exe/powerpc-ibm-aix5.3.0.0/pthread/libgcc/_gcov_execl.dep


-- 
   Summary: ICE during build of 4.3.0 on AIX 5.3, function
'__gcov_execlp', libgcov.c:858
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: gcov-profile
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: al dot danial at gmail dot com
 GCC build triplet: powerpc-ibm-aix5.3.0.0
  GCC host triplet: powerpc-ibm-aix5.3.0.0
GCC target triplet: powerpc-ibm-aix5.3.0.0


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



[Bug gcov-profile/35720] ICE during build of 4.3.0 on AIX 5.3, function '__gcov_execlp', libgcov.c:858

2008-03-27 Thread al dot danial at gmail dot com


--- Comment #1 from al dot danial at gmail dot com  2008-03-27 16:44 ---
Created an attachment (id=15388)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15388&action=view)
/tmp/gcc_exe/powerpc-ibm-aix5.3.0.0/pthread/libgcc/config.log


-- 


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



[Bug gcov-profile/35720] ICE during build of 4.3.0 on AIX 5.3, function '__gcov_execlp', libgcov.c:858

2008-03-27 Thread al dot danial at gmail dot com


--- Comment #2 from al dot danial at gmail dot com  2008-03-27 16:44 ---
Created an attachment (id=15389)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15389&action=view)
/tmp/gcc_exe/powerpc-ibm-aix5.3.0.0/pthread/libgcc/_gcov_execl.dep


-- 


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



[Bug fortran/35721] New: ASSOCIATED returns false when strides confusing

2008-03-27 Thread dick dot hendrickson at gmail dot com
The ASSOCIATED functions returns false for the 4th test below.  It
should return true.  there have been a ton of interps and rewording
of the associated function.  It's probably clearer to read
case (v) in the F2003 standard.

  program try_mg0028
! fails on Windows XP
! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139]

  real  tda2r(2,3)

  call   mg0028(tda2r,  1,  2,  3)

  end


  SUBROUTINE MG0028(TDA2R,nf1,nf2,nf3)
  real, pointer  ::  TLA2L(:,:),TLA2L1(:,:)
  real, target   ::  TDA2R(NF2,NF3)
  logical LL(4)
  TLA2L => TDA2R(NF2:NF1:-NF2,NF3:NF1:-NF2)
  TLA2L1 => TLA2L
  LL(1) = ASSOCIATED(TLA2L)
  LL(2) = ASSOCIATED(TLA2L,TLA2L1)
  LL(3) = ASSOCIATED(TLA2L,TDA2R)
  LL(4) = ASSOCIATED(TLA2L1,TDA2R(2:2,3:1:-2))  !should be true

  if (any(LL .neqv. (/ .true., .true., .false., .true./))) then
print *, LL
print *, shape(TLA2L1)
print *, shape(TDA2R(2:2,3:1:-2))
  endif

  END SUBROUTINE


C:\g_experiments\gfortran>gfortran m
g0028.f

C:\g_experiments\gfortran>a
 T T F F
   1   2
   1   2


-- 
   Summary: ASSOCIATED returns false when strides confusing
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dick dot hendrickson at gmail dot com


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



[Bug fortran/35718] deallocating non-allocated pointer target does not fail

2008-03-27 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2008-03-27 16:50 ---
Confirmed. gfortran deallocates the static memory as valgrind also complains:

==3839== Invalid free() / delete / delete[]
==3839==at 0x4C2430F: free (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==3839==by 0x4008F2: MAIN__ (aaa.f90:12)
==3839==by 0x4009BB: main (fmain.c:21)


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2008-03-27 16:50:00
   date||


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



[Bug fortran/35719] pointer to zero sized array not associated

2008-03-27 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2008-03-27 16:53 ---
Confirm. Thanks for finding this bug.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2008-03-27 16:53:24
   date||


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



[Bug tree-optimization/35716] [4.4 Regression]: gfortran.dg/assign_6.f and gfortran.dg/g77/dnrm2.f

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2008-03-27 17:10 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug tree-optimization/35716] [4.4 Regression]: gfortran.dg/assign_6.f and gfortran.dg/g77/dnrm2.f

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2008-03-27 17:10 ---
Subject: Bug 35716

Author: rguenth
Date: Thu Mar 27 17:09:54 2008
New Revision: 133647

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133647
Log:
2008-03-27  Richard Guenther  <[EMAIL PROTECTED]>

PR middle-end/35716
* fold-const.c (fold_comparison): Restrict distinct decl
comparison folding to VAR_DECLs and PARM_DECLs.  Do not
solely rely on operand_equal_p.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c


-- 


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



[Bug target/31334] Bad codegen for vector initializer with constants prop'd into a vector initializer

2008-03-27 Thread pinskia at gcc dot gnu dot org


--- Comment #11 from pinskia at gcc dot gnu dot org  2008-03-27 17:17 
---
(In reply to comment #6)
> Now the patch does not solve the following testcase:
> int main1 (int X)

This is really PR 32107 and PR 32110 which I have patches for, and I will be
submitting them this weekend.

The first issue I posted as
http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01700.html .


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||03/msg01700.html
   Keywords||patch


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



[Bug target/35695] [4.3/4.4 Regression] -funroll-loops breaks inline float divide

2008-03-27 Thread schwab at suse dot de


--- Comment #5 from schwab at suse dot de  2008-03-27 17:18 ---
It also fixes the original problem.


-- 


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



[Bug c++/35722] New: [C++0x] Variadic templates expansion into non-variadic class template

2008-03-27 Thread dgregor at gcc dot gnu dot org
The following well-formed example produces the incorrect error:

  error: cannot expand ‘G ...’ into a fixed-length argument list

template
struct foo
{};

template
struct bar : foo
{};

int main() {
  bar f;
}


-- 
   Summary: [C++0x] Variadic templates expansion into non-variadic
class template
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dgregor at gcc dot gnu dot org


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



[Bug c++/35722] [C++0x] Variadic templates expansion into non-variadic class template

2008-03-27 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-03-27 17:31:52
   date||


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



[Bug tree-optimization/35717] [4.4 Regression] gcc.c-torture/compile/limits-structnest.c

2008-03-27 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2008-03-27 17:43 ---
This test needs more than 8MB stack. I have

stacksize   8MB

Some kernel doesn't enforce it. When I set stack to unlimited,
it compiles fine.


-- 


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



[Bug fortran/35721] ASSOCIATED returns false when strides confusing

2008-03-27 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2008-03-27 18:27 ---
Confirm. Note NAG f95 complains the program is invalid and I think it is right:

Error: Explicit interface required for MG0028 from TRY_MG0028 - argument TDA2R
(no. 1) is a TARGET

But this does not solve the gfortran problem ;-)

>From the standard: (v) applies here, but (vii) is analog - except that TARGET
is a pointer instead of a target.

"Case (v): If TARGET is present and is an array target, the result is true if
the target associated with POINTER and TARGET have the same shape, are neither
of size zero nor arrays whose elements are zero-sized storage sequences, and
occupy the same storage units in array element order. Otherwise, the result is
false. If POINTER is disassociated, the result is false."

gfortran is failing since in dimension 1 they have different strides:
Pointer:  2:1:-2  (namely: element 2)
Target:   2:2:1   (namely: element 2)

However, libgfortran/intrinsics/associated.c only checks whether the stride is
the same. Proposed patch:

Index: libgfortran/intrinsics/associated.c
===
--- libgfortran/intrinsics/associated.c (Revision 133633)
+++ libgfortran/intrinsics/associated.c (Arbeitskopie)
@@ -48,10 +48,12 @@ associated (const gfc_array_void *pointe
   rank = GFC_DESCRIPTOR_RANK (pointer);
   for (n = 0; n < rank; n++)
 {
-  if (pointer->dim[n].stride != target->dim[n].stride)
+  long extent;
+  extent = pointer->dim[n].ubound - pointer->dim[n].lbound;
+
+  if (extent != (target->dim[n].ubound - target->dim[n].lbound))
 return 0;
-  if ((pointer->dim[n].ubound - pointer->dim[n].lbound)
-  != (target->dim[n].ubound - target->dim[n].lbound))
+  if (pointer->dim[n].stride != target->dim[n].stride && extent != 0)
 return 0;
   if (pointer->dim[n].ubound < pointer->dim[n].lbound)
return 0;


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-03-27 18:27:43
   date||


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



[Bug target/35657] TDmode isn't aligned at 128bit when passing to a function

2008-03-27 Thread hjl at gcc dot gnu dot org


--- Comment #4 from hjl at gcc dot gnu dot org  2008-03-27 18:53 ---
Subject: Bug 35657

Author: hjl
Date: Thu Mar 27 18:52:18 2008
New Revision: 133649

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133649
Log:
2008-03-27  H.J. Lu  <[EMAIL PROTECTED]>

PR target/35657
* config/i386/i386.c (ix86_function_arg_boundary): Align
decimal floating point to its natural boundary.

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


-- 


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



[Bug target/35657] TDmode isn't aligned at 128bit when passing to a function

2008-03-27 Thread hjl at gcc dot gnu dot org


--- Comment #5 from hjl at gcc dot gnu dot org  2008-03-27 18:56 ---
Subject: Bug 35657

Author: hjl
Date: Thu Mar 27 18:55:36 2008
New Revision: 133651

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133651
Log:
2008-03-27  H.J. Lu  <[EMAIL PROTECTED]>

Backport from mainline:
2008-03-27  H.J. Lu  <[EMAIL PROTECTED]>

PR target/35657
* config/i386/i386.c (ix86_function_arg_boundary): Align
decimal floating point to its natural boundary.

Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/config/i386/i386.c


-- 


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



[Bug target/31110] Problem while compiling gcc for mn10300-elf

2008-03-27 Thread law at redhat dot com


--- Comment #8 from law at redhat dot com  2008-03-27 18:57 ---
Subject: Re:  Problem while compiling gcc for mn10300-elf

nickc at redhat dot com wrote:
> 
> Nope, when you pointed it out to me I puzzled over it too.  The answer 
> is quite simple though, at the point where 
> mn10300_secondary_reload_class is called the value of CLASS is 
> ADDRESS_REGS, which explains why the above fragment of code is not 
> triggered.
> 
> I guess it makes sense - if you need to perform a reload of a stack 
> pointer manipulation then the obvious first choice of class is the 
> address registers.  If that does not work, say because the stack 
> adjustment is too big, then using a data or extended register and 
> performing direct arithmetic on the stack pointer is the way to go.
So, if CLASS is ADDRESS_REGS, the worst possible scenario I can envision 
  would be for IN to have the form

(plus (stack_pointer_rtx) (pseudo))

Where the pseudo did not get a hard register and lives at a large offset 
   within the local stack.  For that case I think this sequence works 
regardless of what kind of scratch register we are given:


(set (reloadreg) (stack_pointer_rtx))  /* sp into addrreg */
(set (scratch) (reloadreg))/* sp into scratch */
(set (reloadreg) (plus (reloadreg) (offset)))  /* ADDR of pseudo */
(set (reloadreg) (mem (reloadreg)) /* get pseudo */
(set (reloadreg) (plus (reloadreg) (scratch))  /* sp + pseudo */



So if reload or the backend can generate that sequence, then I think we 
can indeed return GENERAL_REG like your patch suggests.

Jeff


-- 


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



[Bug target/35657] TDmode isn't aligned at 128bit when passing to a function

2008-03-27 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2008-03-27 19:05 ---
Fixed.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c++/12255] exception-specifications unchecked during assignment of pointer to function

2008-03-27 Thread pluto at agmk dot net


--- Comment #2 from pluto at agmk dot net  2008-03-27 19:26 ---
ping-bug,
comeau detects this error w/o any problems.

"ComeauTest.c", line 2: error: incompatible exception specifications
  void (*pt)() throw() = &foo
 ^


-- 

pluto at agmk dot net changed:

   What|Removed |Added

 CC||pluto at agmk dot net


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



[Bug c++/12255] exception-specifications unchecked during assignment of pointer to function

2008-03-27 Thread pluto at agmk dot net


--- Comment #3 from pluto at agmk dot net  2008-03-27 19:29 ---
(In reply to comment #2)
> ping-bug,
> comeau detects this error w/o any problems.
> 
> "ComeauTest.c", line 2: error: incompatible exception specifications
>   void (*pt)() throw() = &foo
>  ^

one more trivial testcase:

$ cat exspec.cpp
void foo() throw (int);
void (*pt)() throw() = &foo;


-- 


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



[Bug target/32065] Many dfp testsuite failures for -msse targets

2008-03-27 Thread hjl dot tools at gmail dot com


--- Comment #8 from hjl dot tools at gmail dot com  2008-03-27 19:38 ---
The patch for PR 32000:

http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01632.html

is another approach to handle unaligned SSE load/store.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||hjl dot tools at gmail dot
   ||com


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



[Bug fortran/35723] New: Can't use run-time array element in character declaration

2008-03-27 Thread dick dot hendrickson at gmail dot com
The following program gives an error message for valid use of
an array element in an expression for an automatic character
array.  

The error message is repeated twice.

Changing from a run-time subscript in the parameter array to a
constant fixes the problem.

Dick Hendrickson

  program try_vf0016
! fails on Windows XP
! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139]
! syntax error for valid syntax

  call   vf0016(  1,  2,  3)

  end
  SUBROUTINE VF0016(nf1,nf2,nf3)
  CHARACTER(LEN=9,KIND=1),DIMENSION(3), PARAMETER
 $ ::  TEST_STRINGS =
 $  (/'   HI','ABC  ','  CDEFG  '/)
  CHARACTER :: TEST_ARRAY
 $(LEN_TRIM(ADJUSTL(TEST_STRINGS(nf1))),  ! changing nf1 to 1 fixes it
 $ SUM(LEN_TRIM(ADJUSTL(TEST_STRINGS))),
 $ LEN_TRIM(ADJUSTL(ADJUSTR(TEST_STRINGS(3,
 $ SUM(LEN_TRIM(ADJUSTL(ADJUSTR(TEST_STRINGS(NF1:NF3:NF2)   )

   print *, 2, 10, 5, 7
   print *, shape (test_array)
 end



C:\g_experiments\gfortran>gfortran vf0016.f
vf0016.f:14.24:

 $(LEN_TRIM(ADJUSTL(TEST_STRINGS(nf1))),  ! changing nf1 to 1 fixes
   1
Error: Variable 'test_strings' cannot appear in the expression at (1)
vf0016.f:14.24:

 $(LEN_TRIM(ADJUSTL(TEST_STRINGS(nf1))),  ! changing nf1 to 1 fixes
   1
Error: Variable 'test_strings' cannot appear in the expression at (1)


-- 
   Summary: Can't use run-time array element in character
declaration
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dick dot hendrickson at gmail dot com


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



[Bug fortran/35019] Gfortran does not support "-J " only "-J"

2008-03-27 Thread dfranke at gcc dot gnu dot org


--- Comment #5 from dfranke at gcc dot gnu dot org  2008-03-27 21:55 ---
Confirmed :(

Just found: the same holds true for -fintrinsic-modules-path which is supposed
to accept separated arguments as well. For both, -J and
-fintrinsic-modules-path, a separated argument is stripped away and treated as
input file. However, the same does NOT hold for -I which is defined the same
way as the other two (Fortran Joined Separate) in lang.opt?!

I'm investigating.


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords|patch   |


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



[Bug fortran/35724] New: Compile time segmentation fault for CSHIFT with negative third arg

2008-03-27 Thread dick dot hendrickson at gmail dot com
The following program gives a compile time segmentation fault.
Changing the third argument to CSHIFT to either MF1 or -1 fixes 
the problem.

I didn't experiment with a unary minus expression for the 
second argument.

Dick Hendrickson

  SUBROUTINE RA0072(DDA,LDA,nf10,nf1,mf1,nf2)
! fails on Windows XP
! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139]
!compile time seq fault

  REAL DDA(10,10)
  LOGICAL LDA(10,10)

  WHERE (LDA) DDA = CSHIFT(DDA,1,-MF1)  ! MF1 works, -1 works

  END SUBROUTINE



C:\g_experiments\gfortran>gfortran ra0072.f
f951.exe: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.


-- 
   Summary: Compile time segmentation fault for CSHIFT with negative
third arg
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dick dot hendrickson at gmail dot com


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



[Bug c++/25223] [4.1 Regression] FAIL: g++.old-deja/g++.abi/vtable2.C

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||4.1.2
  Known to work||4.2.0
Summary|[4.1 only] FAIL: g++.old-   |[4.1 Regression] FAIL:
   |deja/g++.abi/vtable2.C  |g++.old-
   ||deja/g++.abi/vtable2.C
   Target Milestone|--- |4.1.3


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



[Bug target/26401] [4.1 Regression] x264 revision 439 make fprofiled fails

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2008-03-27 22:04 ---
Fixed for 4.3.0, wontfix for earlier releases.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to fail||4.1.3
 Resolution||FIXED
Summary|[4.1] x264 revision 439 make|[4.1 Regression] x264
   |fprofiled fails |revision 439 make fprofiled
   ||fails
   Target Milestone|--- |4.3.0


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



[Bug middle-end/27478] [4.2 Regression] entry and addressable and value-expr: and the gimplifier

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work|4.1.2   |4.1.2 4.3.0
Summary|[4.2 regression] entry and  |[4.2 Regression] entry and
   |addressable and value-expr: |addressable and value-expr:
   |and the gimplifier  |and the gimplifier
   Target Milestone|--- |4.2.4


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



[Bug target/28629] [4.1 Regression] Segfault with --march=pentium-m -O2 when compiling faac

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2008-03-27 22:07 
---
Fixed in 4.2.0.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to fail||4.1.3
 Resolution||FIXED
Summary|[4.1] Segfault with --  |[4.1 Regression] Segfault
   |march=pentium-m -O2 when|with --march=pentium-m -O2
   |compiling faac  |when compiling faac
   Target Milestone|--- |4.2.0


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



[Bug c++/29289] [4.1/4.2] additionally weak symbols referenced/generated

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-03-27 22:09 ---
As suggested.  Please re-open only with a proper testcase.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug gcov-profile/30258] [4.1.0] undefined reference to `__gcov_one_value_profiler'

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-03-27 22:10 ---
Thus, invalid.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug target/30956] [4.1 only] ice on final.c

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2008-03-27 22:11 ---
Fixed in 4.2.0.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to fail||4.1.3
 Resolution||FIXED
   Target Milestone|--- |4.2.0


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



[Bug other/31050] [4.1] gcc --version reports wrong year.

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2008-03-27 22:11 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to work|4.2.0 4.3.0 |4.1.2 4.2.0 4.3.0
 Resolution||FIXED
   Target Milestone|--- |4.1.2


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



[Bug target/31478] Typos in sse2_umulv2siv2di3, sse2_pmaddwd, sdot_prodv8hi

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2008-03-27 22:13 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to fail||4.1.3 4.2.3
  Known to work||4.3.0
 Resolution||FIXED
Summary|[4.1/4.2]: Typos in |Typos in sse2_umulv2siv2di3,
   |sse2_umulv2siv2di3, |sse2_pmaddwd, sdot_prodv8hi
   |sse2_pmaddwd, sdot_prodv8hi |
   Target Milestone|--- |4.3.0


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



[Bug ada/32654] [4.2 regression] Ada comparison failure in exp_aggr.o on Tru64 UNIX V5.1B

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-03-27 22:15 ---
Which exact version?  Does this still happen?  Does this happen with 4.1 as a
bootstrap compiler?


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Target Milestone|--- |4.2.4


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



[Bug middle-end/34216] [4.2 regression] Optimizations cause audio distortion in GSM decompression

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.2.4


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



[Bug target/34815] [4.1 4.2] endless loop while trying to compile 2.6.23-rc4

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2008-03-27 22:18 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.3


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



[Bug target/34947] [4.2 Regression] Clobbered float registers not popped

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |target
   Keywords||wrong-code
  Known to work|4.1.2   |4.1.2 4.3.0
   Target Milestone|--- |4.2.4


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



[Bug ada/35050] [4.1/4.2/4.3/4.4 regression] renames entities not in symbol table

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P4
Summary|[4.x regression] renames|[4.1/4.2/4.3/4.4 regression]
   |entities not in symbol table|renames entities not in
   ||symbol table
   Target Milestone|--- |4.1.3


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



[Bug target/35090] [4.3/4.4 regression] libjava testsuite failures on hppa-linux

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.1


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



[Bug c++/35146] [4.1/4.2 regression] weird error in template function specialization

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.1.3


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



[Bug target/35366] [4.4 Regression] gfortran.dg/equiv_7.f90 fails with -m64 -Os on powerpc-apple-darwin9

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.4.0


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



[Bug rtl-optimization/35388] [4.2 Regression] error compiling dealII SPEC CPU 2006 benchmark

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.2.4


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



[Bug target/35419] [4.3/4.4 Regression] bfin libgcc build error

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|other   |target
   Keywords||build
   Target Milestone|--- |4.3.1


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



[Bug fortran/35680] [4.3/4.4 regression] ICE on invalid transfer in variable declaration

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.1


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



[Bug ada/35687] [4.4 Regression] gnatmake: "/test/gnu/gcc/gcc-svn/gcc/ada/gnatchop.adb" compilation error

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.4.0


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



[Bug fortran/35702] [4.3/4.4 Regression]: structure character element with subscripts

2008-03-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.4, 4.3 regression]:  |[4.3/4.4 Regression]:
   |structure character element |structure character element
   |with subscripts |with subscripts
   Target Milestone|--- |4.3.1


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



[Bug tree-optimization/35717] [4.4 Regression] gcc.c-torture/compile/limits-structnest.c

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-03-27 22:28 ---
This is know.

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


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE
   Target Milestone|--- |4.4.0


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



[Bug c/35608] gcc.c-torture/compile/limits-structnest.c fails -O2 -Os

2008-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-03-27 22:28 ---
*** Bug 35717 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hjl dot tools at gmail dot
   ||com


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



[Bug libstdc++/35725] New: ambiguous std::fill with character array

2008-03-27 Thread beckmann dot maik at googlemail dot com
This snipped

#include 
#include 
#include 

int main() {
  std::vector foo(20);  
  std::fill(foo.begin(), foo.end(), "bar");
}

compiles fine with g++-4.2.3, where 4.3.0 gives the attached error message
(error.log) .


-- 
   Summary: ambiguous std::fill with character array
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: beckmann dot maik at googlemail dot com


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



[Bug libstdc++/35725] ambiguous std::fill with character array

2008-03-27 Thread beckmann dot maik at googlemail dot com


--- Comment #1 from beckmann dot maik at googlemail dot com  2008-03-27 
22:35 ---
Created an attachment (id=15390)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15390&action=view)
error message

error message of g++-4.3.0 when compiling the provided snippet


-- 


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



[Bug c/35608] gcc.c-torture/compile/limits-structnest.c fails -O2 -Os

2008-03-27 Thread hjl dot tools at gmail dot com


--- Comment #4 from hjl dot tools at gmail dot com  2008-03-27 23:08 ---
This test needs more than 8MB stack. I have

stacksize   8MB

Some kernel doesn't enforce it. When I set stack to unlimited,
it compiles fine.


-- 


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



[Bug middle-end/35705] [4.3/4.4 Regression] Symbol address check eliminated by C frontend.

2008-03-27 Thread carlos at codesourcery dot com


--- Comment #13 from carlos at codesourcery dot com  2008-03-28 00:14 
---
Dave,

I tested the patch you posted in comment #9, and I have no regressions on
hppa-linux (C/C++), and it fixes my testcase. I haven't done a full
all-languages bootstrap and test.


-- 


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



[Bug c++/35727] New: Nested class of specialized template class bug

2008-03-27 Thread philippe at fornux dot com
** I am trying to compile a program that looks like the following but the
compiler cannot recognize which class the nested class belongs to:

#include 


using namespace std;


template 
struct A
{
class B;
friend class B;
};


template <>
struct A
{
class B;
friend class B;
};


template 
struct A::B
{
B() 
{
cout << __PRETTY_FUNCTION__ << endl;
}
};


int main()
{
A::B b;
}


** Reports:
nesttempspecbug.cpp: In function `int main()':
nesttempspecbug.cpp:35: error: aggregate `A::B b' has incomplete type and
cannot be defined


-- 
   Summary: Nested class of specialized template class bug
   Product: gcc
   Version: 3.4.5
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: philippe at fornux dot com
 GCC build triplet: gcc version 3.4.5 (mingw special)
  GCC host triplet: Windows XP
GCC target triplet: MinGW


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



[Bug c++/35727] Nested class of specialized template class bug

2008-03-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-03-28 00:25 ---
This error message is correct as you specialized A but you also need to
specialize the nested class as the non specialized version of the nested
function will not be used.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug libstdc++/35725] ambiguous std::fill with character array

2008-03-27 Thread pcarlini at suse dot de


--- Comment #2 from pcarlini at suse dot de  2008-03-28 00:37 ---
Argh. Easy to fix, will do ASAP.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pcarlini at suse dot de
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-03-28 00:37:52
   date||


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



[Bug fortran/35019] Gfortran does not support "-J " only "-J"

2008-03-27 Thread dfranke at gcc dot gnu dot org


--- Comment #6 from dfranke at gcc dot gnu dot org  2008-03-28 00:40 ---
This patch seems to finally fix the problem - but if this is the Right Way
(TM)? 

The changes in gfortranspec.c are necessary to trigger a missing-argument
message on:

$> gfortran-svn foo.f90 -J
gfortran-svn: argument to '-J' missing


Index: ../gcc.h
===
--- ../gcc.h(revision 133396)
+++ ../gcc.h(working copy)
@@ -35,9 +35,9 @@ struct spec_function
 #define DEFAULT_SWITCH_TAKES_ARG(CHAR) \
   ((CHAR) == 'D' || (CHAR) == 'U' || (CHAR) == 'o' \
|| (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \
-   || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x' \
-   || (CHAR) == 'L' || (CHAR) == 'A' || (CHAR) == 'V' \
-   || (CHAR) == 'B' || (CHAR) == 'b')
+   || (CHAR) == 'I' || (CHAR) == 'J' || (CHAR) == 'm' \
+   || (CHAR) == 'x' || (CHAR) == 'L' || (CHAR) == 'A' \
+   || (CHAR) == 'V' || (CHAR) == 'B' || (CHAR) == 'b')

 /* This defines which multi-letter switches take arguments.  */

@@ -50,7 +50,8 @@ struct spec_function
   || !strcmp (STR, "iquote") || !strcmp (STR, "isystem") \
   || !strcmp (STR, "isysroot") \
   || !strcmp (STR, "-param") || !strcmp (STR, "specs") \
-  || !strcmp (STR, "MF") || !strcmp (STR, "MT") || !strcmp (STR, "MQ"))
+  || !strcmp (STR, "MF") || !strcmp (STR, "MT") || !strcmp (STR, "MQ") \
+  || !strcmp(STR, "fintrinsic-modules-path"))


 /* These are exported by gcc.c.  */
Index: gfortranspec.c
===
--- gfortranspec.c  (revision 133396)
+++ gfortranspec.c  (working copy)
@@ -175,6 +175,8 @@ lookup_option (Option *xopt, int *xskip,
 opt = OPTION_v, skip = 0;
   else if (text[1] == 'x')
 opt = OPTION_x, arg = text + 2;
+  else if (text[1] == 'J')
+;
   else
 {
   if ((skip = WORD_SWITCH_TAKES_ARG (text + 1)) != 0)  /* See gcc.c.  */


Not bootstrapped/regtested yet.


-- 


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



[Bug libstdc++/35725] [4.3/4.4 Regression] ambiguous std::fill with character array

2008-03-27 Thread pcarlini at suse dot de


--- Comment #3 from pcarlini at suse dot de  2008-03-28 00:47 ---
Created an attachment (id=15392)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15392&action=view)
Draft patch

I'm finishing testing something along these lines...


-- 


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



[Bug libstdc++/35725] [4.3/4.4 Regression] ambiguous std::fill with character array

2008-03-27 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

   Target Milestone|--- |4.3.1


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



[Bug fortran/35721] ASSOCIATED returns false when strides confusing

2008-03-27 Thread dick dot hendrickson at gmail dot com


--- Comment #2 from dick dot hendrickson at gmail dot com  2008-03-28 00:57 
---
Subject: Re:  ASSOCIATED returns false when strides confusing

On 27 Mar 2008 18:27:44 -, burnus at gcc dot gnu dot org
<[EMAIL PROTECTED]> wrote:
>
>
>  --- Comment #1 from burnus at gcc dot gnu dot org  2008-03-27 18:27 
> ---
>  Confirm. Note NAG f95 complains the program is invalid and I think it is 
> right:
>
>  Error: Explicit interface required for MG0028 from TRY_MG0028 - argument 
> TDA2R
>  (no. 1) is a TARGET
>
Yes, you (and NAG) are correct.  Originally, the subroutine was in a big module
and when I cut it out I did the quick and dirty thing of merely
calling it without
thinking.  For what it's worth, the other g compiler I tried this on
also got the wrong
answer and didn't complain about the interface.

Dick Hendrickson

>  But this does not solve the gfortran problem ;-)
>
>  From the standard: (v) applies here, but (vii) is analog - except that TARGET
>  is a pointer instead of a target.
>
>  "Case (v): If TARGET is present and is an array target, the result is true if
>  the target associated with POINTER and TARGET have the same shape, are 
> neither
>  of size zero nor arrays whose elements are zero-sized storage sequences, and
>  occupy the same storage units in array element order. Otherwise, the result 
> is
>  false. If POINTER is disassociated, the result is false."
>
>  gfortran is failing since in dimension 1 they have different strides:
>  Pointer:  2:1:-2  (namely: element 2)
>  Target:   2:2:1   (namely: element 2)
>
>  However, libgfortran/intrinsics/associated.c only checks whether the stride 
> is
>  the same. Proposed patch:
>
>  Index: libgfortran/intrinsics/associated.c
>  ===
>  --- libgfortran/intrinsics/associated.c (Revision 133633)
>  +++ libgfortran/intrinsics/associated.c (Arbeitskopie)
>  @@ -48,10 +48,12 @@ associated (const gfc_array_void *pointe
>rank = GFC_DESCRIPTOR_RANK (pointer);
>for (n = 0; n < rank; n++)
>  {
>  -  if (pointer->dim[n].stride != target->dim[n].stride)
>  +  long extent;
>  +  extent = pointer->dim[n].ubound - pointer->dim[n].lbound;
>  +
>  +  if (extent != (target->dim[n].ubound - target->dim[n].lbound))
>  return 0;
>  -  if ((pointer->dim[n].ubound - pointer->dim[n].lbound)
>  -  != (target->dim[n].ubound - target->dim[n].lbound))
>  +  if (pointer->dim[n].stride != target->dim[n].stride && extent != 0)
>  return 0;
>if (pointer->dim[n].ubound < pointer->dim[n].lbound)
> return 0;
>
>
>  --
>
>  burnus at gcc dot gnu dot org changed:
>
>What|Removed |Added
>  
>  CC||burnus at gcc dot gnu dot
>||org
>  Status|UNCONFIRMED |NEW
>  Ever Confirmed|0   |1
>Last reconfirmed|-00-00 00:00:00 |2008-03-27 18:27:43
>date||
>
>
>  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35721
>
>  --- You are receiving this mail because: ---
>  You reported the bug, or are watching the reporter.
>


-- 


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



[Bug fortran/35724] Compile time segmentation fault for CSHIFT with negative third arg

2008-03-27 Thread jvdelisle at gcc dot gnu dot org


--- Comment #1 from jvdelisle at gcc dot gnu dot org  2008-03-28 01:09 
---
I will have a go at this one.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-03-28 01:09:32
   date||


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



[Bug c/35728] New: Inlined function via function pointer emitted unnecessarily

2008-03-27 Thread rusty at rustcorp dot com dot au
>From http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9079 now we get:

.file   "foo.c"
.section.rodata.str1.1,"aMS",@progbits,1
.LC0:
.string "Hello World.\n"
.text
.p2align 4,,15
.type   funk, @function
funk:
pushl   %ebp
movl$.LC0, %eax
movl%esp, %ebp
popl%ebp
ret
.size   funk, .-funk
.section.rodata.str1.1
.LC1:
.string "Hello World."
.text
.p2align 4,,15
.globl main
.type   main, @function
main:
leal4(%esp), %ecx
andl$-16, %esp
pushl   -4(%ecx)
pushl   %ebp
movl%esp, %ebp
pushl   %ecx
subl$4, %esp
movl$.LC1, (%esp)
callputs
addl$4, %esp
popl%ecx
popl%ebp
leal-4(%ecx), %esp
ret
.size   main, .-main
.ident  "GCC: (Ubuntu 4.3.0-1ubuntu1) 4.3.0"
.section.note.GNU-stack,"",@progbits

Note funk (a static function) is unused, and successfully inlined, but still
omitted.  Replicated on powerpc as well, so not x86-specific.


-- 
   Summary: Inlined function via function pointer emitted
unnecessarily
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rusty at rustcorp dot com dot au
 GCC build triplet: i386-linux-gnu-gcc-4.1
  GCC host triplet: i386-linux-gnu-gcc-4.1
GCC target triplet: i386-linux-gnu-gcc-4.1


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



[Bug tree-optimization/9079] [tree-ssa] Inline constant function pointers

2008-03-27 Thread rusty at rustcorp dot com dot au


--- Comment #16 from rusty at rustcorp dot com dot au  2008-03-28 02:38 
---
OK, this is fixed in gcc 4.3 (woot!), but the unused "funk" is still omitted.

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


-- 


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



[Bug c/35729] New: const volatile variable accessed that should not be

2008-03-27 Thread regehr at cs dot utah dot edu
This is for "gcc version 4.3.0 (GCC)" 

func_1() here should never load from g_361 since the loop body never executes:

  const volatile int g_361 = 3L;
  volatile int g_2 = 0L;
  void func_1 (void) {
for (g_2 = 0; g_2 > 10; g_2++)
  {
int l_357 = g_361;
  }
  }

However when compiled with "gcc -Os -S foo.c" we get the following output which
does load from g_361:

.file   "foo.c"
.text
.globl func_1
.type   func_1, @function
func_1:
pushl   %ebp
movl%esp, %ebp
movl$0, g_2
movlg_361, %eax
jmp .L2
.L3:
movlg_2, %eax
incl%eax
movl%eax, g_2
.L2:
movlg_2, %eax
cmpl$10, %eax
jg  .L3
popl%ebp
ret
.size   func_1, .-func_1
.globl g_361
.data
.align 4
.type   g_361, @object
.size   g_361, 4
g_361:
.long   3
.globl g_2
.bss
.align 4
.type   g_2, @object
.size   g_2, 4
g_2:
.zero   4
.ident  "GCC: (GNU) 4.3.0"
.section.note.GNU-stack,"",@progbits

At -O0, -O1, and -O2 there is no problem.


-- 
   Summary: const volatile variable accessed that should not be
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: regehr at cs dot utah dot edu
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug fortran/35724] [4.3/4.4 Regression] Compile time segmentation fault for CSHIFT with negative third arg

2008-03-27 Thread jvdelisle at gcc dot gnu dot org


--- Comment #2 from jvdelisle at gcc dot gnu dot org  2008-03-28 04:18 
---
The following patch appears to fix this.

Index: iresolve.c
===
--- iresolve.c  (revision 133275)
+++ iresolve.c  (working copy)
@@ -597,7 +597,8 @@ gfc_resolve_cshift (gfc_expr *f, gfc_exp

   if (dim != NULL)
 {
-  if (dim->expr_type != EXPR_CONSTANT &&
dim->symtree->n.sym->attr.optional)
+  if (dim->expr_type != EXPR_CONSTANT && dim->symtree != NULL
+ && dim->symtree->n.sym->attr.optional)
{
  /* Mark this for later setting the type in gfc_conv_missing_dummy. 
*/
  dim->representation.length = shift->ts.kind;

Another of my doing.  I will commit after regression testing.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||4.3.1 4.4.0
  Known to work||4.1.2 4.2.4
Summary|Compile time segmentation   |[4.3/4.4 Regression] Compile
   |fault for CSHIFT with   |time segmentation fault for
   |negative third arg  |CSHIFT with negative third
   ||arg


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



[Bug fortran/35724] [4.3/4.4 Regression] Compile time segmentation fault for CSHIFT with negative third arg

2008-03-27 Thread jvdelisle at gcc dot gnu dot org


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.1


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



  1   2   >