[Bug c++/25992] New: condition expression and strings literal

2006-01-27 Thread anton dot kirillov at rd-software dot com
void foo( char* );

int main()
{
foo( 0 ? a : b ); // 
}

The type of expression (0 ? a : b) is const char[2] but it cannot be
transformed to char*, however it works.

Why?


-- 
   Summary: condition expression and strings literal
   Product: gcc
   Version: 3.4.5
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: anton dot kirillov at rd-software dot com


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



[Bug fortran/25669] LBOUND (array), as actual arg,causes fatal error.

2006-01-27 Thread paul dot richard dot thomas at cea dot fr


--- Comment #6 from paul dot richard dot thomas at cea dot fr  2006-01-27 
11:04 ---
(In reply to comment #5)
 Confirmed (for now, unless you feel this is an exact dup of bug 18003).

I think that it might well be a duplicate but cannot be sure.

Paul


-- 


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



[Bug middle-end/20297] #pragma GCC visibility isn't properly handled for builtin functions

2006-01-27 Thread bero at arklinux dot org


--- Comment #13 from bero at arklinux dot org  2006-01-27 12:24 ---
Still seeing this problem w/ current 4.1 branch


-- 

bero at arklinux dot org changed:

   What|Removed |Added

 CC||bero at arklinux dot org


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



[Bug c++/25992] conditional expression and strings literal

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-27 12:39 ---
earth:~g++ t.cc -pedantic -Wwrite-strings
t.cc: In function ‘int main()’:
t.cc:5: warning: deprecated conversion from string constant to ‘char*’'


-- 


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



[Bug c/25993] New: -std= produces incorrect preprocessor output for .S

2006-01-27 Thread aldot at gcc dot gnu dot org
Specifying -std=c99 does not define __ASSEMBLER__ for assembler with
preprocessor inputfile (.S):

$ cat x.S 
#ifndef __ASSEMBLER__
extern int func(void);
#else
.global func
.type func,%function
.align 4
func:
ret
.size func,.-func
#endif
$ gcc -c x.S -o x.o 
$ gcc -c x.S -o x.o -std=c99
x.S: Assembler messages:
x.S:2: Error: no such instruction: `extern int func(void)'
$ gcc -std=c99 -x assembler-with-cpp -c x.S -o x.o
x.S: Assembler messages:
x.S:2: Error: no such instruction: `extern int func(void)'
$

I'd expect that __ASSEMBLER__ is defined even when any -std= was given.


-- 
   Summary: -std= produces incorrect preprocessor output for .S
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: aldot at gcc dot gnu dot org
 GCC build triplet: i686-linux-gnu
  GCC host triplet: i686-linux-gnu
GCC target triplet: i686-linux-gnu


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



[Bug middle-end/25989] gomp ICE with -O2 and schedule(guided)

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-27 12:50 ---
Confirmed,  This is obvious invalid gimple:
  D.1940 = __builtin_GOMP_loop_guided_next (.istart0.2, .iend0.3);
  if (D.1940) goto L3; else goto L6;

L6:;
  return;

L3:;
  ii = (int) .istart0.2;
  D.1938 = (int) .iend0.3;


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c   |middle-end
 Ever Confirmed|0   |1
   Keywords||openmp
   Last reconfirmed|-00-00 00:00:00 |2006-01-27 12:50:51
   date||


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



[Bug c++/25994] New: Using declarations and base function overloading

2006-01-27 Thread wolfgang dot roehrl at gi-de dot com
Dear all,

I would like to post a bug report for the GNU C/C++ compiler 3.3-e500.

We use the compiler to generate code for a PowerPC processor.

Used invokation line for the GNU C++ compiler:

ccppc -c -x c++ -ansi -Wall -Werror -mcpu=8540 -fverbose-asm -mbig
  -fmerge-templates -mmultiple -mno-string -mstrict-align -O3
  -fno-exceptions -fno-rtti -fno-builtin-printf
  -Idifferent include paths
  -Ddifferen #define's
  X.CPP -oX.O


// file X.CPP

struct B1
{
void f (char);
void f (double);
};

struct B2
{
void f (int);
void f (double);   // --- line 10
};

struct D : public B1, public B2
{
using B1::f;
using B2::f;
void g ()
{
f ('a');   // should call B1::f(char)
f (33);// should call B2::f(int)
}
};


The compiler gives the following error message:
X.CPP:10: error: `void B2::f(double)' and `void B1::f(double)' cannot be 
   overloaded

I think this is not standard conforming. See 7.3.3/12: [ Note: two using
declarations may introduce functions with the same name and the same parameter
types. If, for a call to an unqualified function name, function overload
resolution selects the functions introduced by such using declarations, the
function call is illformed. ]


Kind regards
W. Roehrl


-- 
   Summary: Using declarations and base function overloading
   Product: gcc
   Version: 3.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wolfgang dot roehrl at gi-de dot com
 GCC build triplet: sparc-sun-solaris2.5.1
  GCC host triplet: i386-pc-mingw32
GCC target triplet: powerpc-wrs-vxworks


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



[Bug c++/25994] Using declarations and base function overloading

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-27 12:53 ---
In 4.0, I get a different error message:
t.cc:16: error: using declaration ‘using B2::f’ conflicts with a previous using
declaration


-- 


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



[Bug c++/25994] Using declarations and base function overloading

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-27 12:55 ---
Hmm, This might be because we still have some ARM (pre-standard) based using
semantics implemented and not the standard C++ ones.


-- 


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



[Bug middle-end/25990] gomp ICE with -fopenmp and -O2

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-27 12:58 ---
This is a GC failure:
#0  ggc_set_mark (p=0xafafafafafafafaf) at
/home/pinskia/src/checkin/trunk/gcc/ggc-page.c:588
#1  0x00620268 in gt_ggc_mx_basic_block_def (x_p=Variable x_p is not
available.
) at gtype-desc.c:462
#2  0x0062060f in gt_ggc_mx_VEC_basic_block_gc (x_p=Variable x_p is
not available.
) at gtype-desc.c:193
#3  0x00620673 in gt_ggc_mx_control_flow_graph (x_p=Variable x_p is
not available.
) at gtype-desc.c:624
#4  0x0062072f in gt_ggc_mx_function (x_p=Variable x_p is not
available.
) at gtype-desc.c:639
#5  0x00409622 in gt_ggc_mx_lang_tree_node (x_p=Variable x_p is not
available.
) at gt-c-decl.h:315
#6  0x00619df7 in gt_ggc_mx_cgraph_node (x_p=Variable x_p is not
available.
) at gtype-desc.c:166
#7  0x00619f16 in gt_ggc_m_P11cgraph_node4htab (x_p=Variable x_p is
not available.
) at gtype-desc.c:1694


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |middle-end


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



[Bug c++/25995] New: switch/case does not detect invalid enum values if default-case is used

2006-01-27 Thread sven dot bornemann at materna dot de
The following code is compiled without warnings, in spite of 4711 not being
defined by enum. If the default-case will be omitted, the expected warning
appears.

int main(int argc, char** argv)
{
enum Enum { a };
Enum test = a;
switch(test)
{
case 4711:
break;
default:
break;
}
return 0;
}


-- 
   Summary: switch/case does not detect invalid enum values if
default-case is used
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sven dot bornemann at materna dot de


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



[Bug c++/25992] conditional expression and strings literal

2006-01-27 Thread anton dot kirillov at rd-software dot com


--- Comment #2 from anton dot kirillov at rd-software dot com  2006-01-27 
13:12 ---
(In reply to comment #1)
 earth:~g++ t.cc -pedantic -Wwrite-strings
 t.cc: In function ‘int main()’:
 t.cc:5: warning: deprecated conversion from string constant to ‘char*’'
 

Conversion from string constant to ‘char*’' it's legacy from C, but GCC should
not perceive it as const char*, because the type of expression is const char[]!

I think GCC have defined it as a compile-time constant, but it's infeasible
solution. 

In other situation it behaves correctly:

void foo( char* );

int main()
{
bool flag = false;
foo( flag ? a : b ); // error ( cannot convert from const char* to
char* )
}


-- 


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



[Bug c++/25994] Using declarations and base function overloading

2006-01-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-01-27 13:40 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|sparc-sun-solaris2.5.1  |
   GCC host triplet|i386-pc-mingw32 |
 GCC target triplet|powerpc-wrs-vxworks |
   Keywords||rejects-valid
  Known to fail||3.3.6 3.4.4 4.2.0
   Last reconfirmed|-00-00 00:00:00 |2006-01-27 13:40:58
   date||


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



[Bug c++/25983] [gomp] transient ICE, c++

2006-01-27 Thread tbptbp at gmail dot com


--- Comment #2 from tbptbp at gmail dot com  2006-01-27 13:51 ---
Woops, that ICE wasn't in trunk but the gomp branch.


-- 


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



[Bug c++/25995] switch/case does not detect invalid enum values if default-case is used

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-27 13:57 ---
Why do you think we should warn here?  The enum is promoted to an int by the
C/C++ standard for switch.


-- 


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



[Bug c/25995] switch/case does not detect invalid enum values if default-case is used

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-27 14:03 ---
Never mind, I see what you mean now, I was too tired when I first read this
bug.

Confirmed.  the default label is causing many things to be ignored.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c++ |c
 Ever Confirmed|0   |1
   Keywords||diagnostic
  Known to fail||3.2.3 3.3.3 3.4.0 4.0.0
   ||4.1.0
   Last reconfirmed|-00-00 00:00:00 |2006-01-27 14:03:27
   date||


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



[Bug middle-end/25990] gomp ICE with -fopenmp

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-27 14:09 ---
You can reproduce this with -std=c99 -fopenmp --param ggc-min-expand=0 --param
ggc-min-heapsize=0


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|gomp ICE with -fopenmp and -|gomp ICE with -fopenmp
   |O2  |


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



[Bug middle-end/25990] gomp ICE with -fopenmp

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-01-27 14:11 ---
Reducing.


-- 


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



[Bug c++/25992] conditional expression and strings literal

2006-01-27 Thread anton dot kirillov at rd-software dot com


--- Comment #4 from anton dot kirillov at rd-software dot com  2006-01-27 
14:20 ---
(In reply to comment #3)
 I have not looked into the standard yet but if GCC's warning message is 
 correct
 this is valid but deprecated code which allows for a compiler to accept it or
 not.
 

deprecated this converiont:

void foo( char* )
{
}

int main()
{
foo( lalala ); 
}

i.e. convresion from strings literal to char*, but the result of expression (0
? a : b) IS NOT STRING LITERAL!!! IT'S CONST CHAR[2]!!! ( See 5.16 )


-- 


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



[Bug middle-end/25990] gomp ICE with -fopenmp

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-01-27 14:22 ---
Reduced testcase:
__strcspn_c2 (__const char *__s, int __reject1, int __reject2)
{
  int m = 1,n = 1,s = 1;
  int DD,EE,num_s;
  int m_max = 99;
  int n_max = 00;
  for ( n = 1 ; n = 99 ; n++ )
for ( m = 1 ; m = 99 ; m++ )
  for ( m = 1 ; m = m_max ; m++)
for ( s = 1 ; s = num_s ; s++)
{
  int liter ;
#pragma omp parallel for private(m,liter,s)
   for ( n = 1 ; n = n_max ; n++) {}
}
}


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dnovillo at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-01-27 14:22:50
   date||


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



[Bug c++/25874] [gomp branch] ICE in calc_dfs_tree()

2006-01-27 Thread dnovillo at gcc dot gnu dot org


--- Comment #3 from dnovillo at gcc dot gnu dot org  2006-01-27 14:26 
---

Mine.


-- 

dnovillo at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dnovillo at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-01-27 14:26:53
   date||


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



[Bug c++/25992] conditional expression and strings literal

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-27 13:59 ---
I have not looked into the standard yet but if GCC's warning message is correct
this is valid but deprecated code which allows for a compiler to accept it or
not.


-- 


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



[Bug bootstrap/25987] insn-automata.c:2433: warning: implicit declaration of function 'hppa_fpstore_bypass_p'

2006-01-27 Thread danglin at gcc dot gnu dot org


--- Comment #6 from danglin at gcc dot gnu dot org  2006-01-27 14:28 ---
Fixed.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug libgomp/25984] libgomp installs include/omp_lib.f90 even if Fortran is not built

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-27 14:36 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-01-27 14:36:34
   date||


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



[Bug c++/25973] [4.0/4.1/4.2 Regression] Wrong warning: control reaches end of non-void function

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-27 14:52 ---
The problem here is that the C++ front-end produces IF_STMT and not COND_EXPR. 
I am going to mark this as a memory hog as it does cause excessive trees for
bigger testcases. 


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||memory-hog


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



[Bug middle-end/25990] gomp ICE with -fopenmp

2006-01-27 Thread reichelt at gcc dot gnu dot org


--- Comment #6 from reichelt at gcc dot gnu dot org  2006-01-27 15:18 
---
Even simpler testcase:

==
void foo()
{
  int i;
  for ( i=0; i1; i++ ) ;
  for ( i=0; i1; i++ ) ;
  for ( i=0; i1; i++ ) ;
  for ( i=0; i1; i++ ) ;
  for ( i=0; i1; i++ ) ;
#pragma omp parallel
  ;
}
==


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
   Keywords||monitored


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



[Bug c++/25873] [gomp] ICE in verify_eh_throw_stmt_node

2006-01-27 Thread reichelt at gcc dot gnu dot org


--- Comment #1 from reichelt at gcc dot gnu dot org  2006-01-27 15:33 
---
Fixed with the recent merge from mainline.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c++/25874] [gomp branch] ICE in calc_dfs_tree()

2006-01-27 Thread reichelt at gcc dot gnu dot org


--- Comment #4 from reichelt at gcc dot gnu dot org  2006-01-27 15:45 
---
Even shorter C-testcase (compile with -fopenmp -O):


void foo();

inline void bar()
{
  int i;
  for ( i=0; i1; ++i )
#pragma omp parallel
foo();
}

void baz()
{
#pragma omp parallel
  bar();
}



-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
   Keywords||monitored


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



[Bug c++/25873] [gomp] ICE in verify_eh_throw_stmt_node

2006-01-27 Thread dnovillo at gcc dot gnu dot org


--- Comment #2 from dnovillo at gcc dot gnu dot org  2006-01-27 15:49 
---

This is actually:

2006-01-26  Diego Novillo  [EMAIL PROTECTED]

* tree-cfg.c (move_block_to_fn): Call
remove_stmt_from_eh_region for each moved statement.

which I need to move to trunk when the C++ FE is merged in.  Added to my TODO
for the C++ merge.


-- 


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



[Bug c++/25983] [gomp] transient ICE, c++

2006-01-27 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2006-01-27 16:00 
---


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


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/25873] [gomp] ICE in verify_eh_throw_stmt_node

2006-01-27 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2006-01-27 16:00 
---
*** Bug 25983 has been marked as a duplicate of this bug. ***


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tbptbp at gmail dot com


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



[Bug c/25996] New: [gomp] ICE on undefined iteration variable

2006-01-27 Thread reichelt at gcc dot gnu dot org
Compiling the following invalid testcase with -fopenmp causes an ICE:

===
void foo()
{
#pragma omp parallel for
  for ( i=0; i1; ++i ) ;
}
===

bug.c: In function 'foo':
bug.c:4: error: 'i' undeclared (first use in this function)
bug.c:4: error: (Each undeclared identifier is reported only once
bug.c:4: error: for each function it appears in.)
bug.c:4: error: invalid type for iteration variable 'erroneous-expression'
bug.c:4: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in c_finish_omp_for, at c-omp.c:210
Please submit a full bug report, [etc.]


-- 
   Summary: [gomp] ICE on undefined iteration variable
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored, openmp
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c/25996] [gomp] ICE on undefined iteration variable

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-27 16:08 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dnovillo at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-01-27 16:08:34
   date||


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



[Bug other/25982] writer written by write_writer doesn't quote where necessary

2006-01-27 Thread amylaar at gcc dot gnu dot org


--- Comment #1 from amylaar at gcc dot gnu dot org  2006-01-27 16:17 ---
Fixed by:

r110275 | zack | 2006-01-26 21:21:42 + (Thu, 26 Jan 2006) | 11 lines

* genconditions.c (write_header): In generated code, #ifdef out
all includes and fake declarations, except includes of bconfig.h
and system.h, unless GCC_VERSION = 3001.  Do not include
gensupport.h in any case.
(write_conditions): Generate a definition of struct c_test.  Add
a comment to the generated #endif.
(write_one_condition): Escape backslashes in string too.
(write_writer): Generated code must escape backslashes and quote
marks (but not newlines) in the strings it writes.
* Makefile.in (build/gencondmd.o): Update dependencies.


-- 

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=25982



[Bug other/25527] [gomp] segfault in main.omp_fn.0 with -O2

2006-01-27 Thread reichelt at gcc dot gnu dot org


--- Comment #5 from reichelt at gcc dot gnu dot org  2006-01-27 16:25 
---
I can reproduce the problem on x86_64-unknown-linux-gnu
with the following testcase:

===
#includeiostream
#includecomplex

int main()
{
  std::complexint c;
  std::cout  c  std::endl;
}
===

It crashes when compiled with -fopenmp -O -m32,
but runs fine if I leave out any of these options.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
   Keywords||monitored, wrong-code


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



[Bug c++/25997] New: ICE in make_typename_type while parsing member template invocation

2006-01-27 Thread holt-gcc at gholt dot net
The following code causes an ICE.  This code is certainly invalid as it stands,
though it is derived from something larger which I think is valid.

namespace SArray {

class ColumnMajor;

template typename T, int rank class Array;

}

template typename T, int rank
void xxx(const SArray::ArrayT, rank  arr)
{
SArray::ArrayT, rank arr_contiguous = arr;
arr_contiguous.force_orderingtypename SArray::ColumnMajor();
}


Here is the compiler output:

% g++ -v test.cpp
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.0.2/configure --prefix=/usr/local/stow/gcc-4.0.2
Thread model: posix
gcc version 4.0.2
 /usr/local/stow/gcc-4.0.2/libexec/gcc/i686-pc-linux-gnu/4.0.2/cc1plus -quiet
-v -D_GNU_SOURCE test.cpp -quiet -dumpbase test.cpp -mtune=pentiumpro -auxbase
test -version -o /tmp/ccuyp00K.s
ignoring nonexistent directory
/usr/local/stow/gcc-4.0.2/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../i686-pc-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/usr/local/stow/gcc-4.0.2/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../include/c++/4.0.2

/usr/local/stow/gcc-4.0.2/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../include/c++/4.0.2/i686-pc-linux-gnu

/usr/local/stow/gcc-4.0.2/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../include/c++/4.0.2/backward
 /usr/local/include
 /usr/local/stow/gcc-4.0.2/include
 /usr/local/stow/gcc-4.0.2/lib/gcc/i686-pc-linux-gnu/4.0.2/include
 /usr/include
End of search list.
GNU C++ version 4.0.2 (i686-pc-linux-gnu)
compiled by GNU C version 3.3.5 20050117 (prerelease) (SUSE Linux).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
test.cpp: In function âvoid xxx(const SArray::ArrayT, rank)â:
test.cpp:13: internal compiler error: in make_typename_type, at cp/decl.c:2568
Please submit a full bug report,
with preprocessed source if appropriate.


-- 
   Summary: ICE in make_typename_type while parsing member template
invocation
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: holt-gcc at gholt dot net


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



[Bug c++/19253] [3.4/4.0/4.1 regression] bad error message / ICE for invalid template parameter

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #18 from pinskia at gcc dot gnu dot org  2006-01-27 16:31 
---
*** Bug 25997 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||holt-gcc at gholt dot net


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



[Bug c++/25997] ICE in make_typename_type while parsing member template invocation

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-27 16:31 ---
Fixed in 4.0.3, This is a dup of bug 19253.

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


-- 

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=25997



[Bug target/25761] -fpic (not -fPIC) does not work with i686-darwin

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-27 16:43 ---
I have a patch.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-01-27 16:43:23
   date||


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



[Bug other/25527] [gomp] segfault in main.omp_fn.0 with -O2

2006-01-27 Thread reichelt at gcc dot gnu dot org


--- Comment #6 from reichelt at gcc dot gnu dot org  2006-01-27 16:47 
---
Even shorter testcase:

=
#includesstream

int main()
{
std::ostringstream s;
return 0;
}
=


-- 


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



[Bug middle-end/25977] [4.1/4.2 Regression] RSO vs NRV (twice)

2006-01-27 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-01-26 15:50:23 |2006-01-27 16:50:08
   date||


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



[Bug target/25998] New: executable generated by f951 doesn't work with 32-bit SUNW,UltraAX-e2 (UltraSPARC-IIe) shared libc_psr.so.1

2006-01-27 Thread alex at milivojevic dot org
This might be a bug in any of the following:
  - gcc/f951
  - gmp
  - mpfr
  - Sun system libraries
  - binutils
  - UltraSPARC-IIe (not likely, but you never know)

Of course, there is always possibility it was just me doing something stupid.

If there is any way (or test) to check if bug is in f951 or not in f951, please
let me know.  So far, I had the problem only with gcc/f951 generated code on
this machine (relatively bussy box that was running all kind of stuff in the
past 3 years).  So it's either gcc/f951, or some obscure bug in other
component(s) that gets triggered only by gcc/f951.

When I compile sample Fortran hello world program, it produces different output
depending on which machine it is run (if dynamically linked).  Or depending on
which machine it was compiled on (if statically linked).  Statically linked
binary shouldn't include any machine-specific code (libc_psr is shared-only
library, there's no libc_psr.a).  However, f951 itself gets dynamically linked
against this system library which is processor dependant.

I've downloaded the hello world program from the net.  Haven't done Fortran
in long time, but looking at it, it should print Hello, world. in endless
loop.

Running uname -a shows:

$ uname -a
SunOS apollo 5.9 Generic_112233-04 sun4u sparc SUNW,UltraAX-e2 Solaris

When compiled with -m32 and run on SUNW,UltraAX-e2 machine (output of uname
-i), the program exits immediatelly with no output.

When compiled with -m64, it works correctly.

If I copy the 32bit program (including libgfortran and libgcc_s libraries) to
any other machine (tested on UltraSPARC-II and UltraSPARC-IIi) it works
correctly.

If I compile the program statically on SUNW,UltraAX-e2 machine, and then copy
it to different machine, it doesn't work.

If I compile the program statically on any other machine, and copy it to
SUNW,UltraAX-e2 machine, it works correctly.

$ ldd a.out
libgfortran.so.0 =  /opt/pbl/lib/libgfortran.so.0
libm.so.1 = /usr/lib/libm.so.1
libgcc_s.so.1 = /opt/pbl/lib/libgcc_s.so.1
libc.so.1 = /usr/lib/libc.so.1
libdl.so.1 =/usr/lib/libdl.so.1
/usr/platform/SUNW,UltraAX-e2/lib/libc_psr.so.1

$ ldd /opt/pbl/libexec/gcc/sparc-sun-solaris2.9/4.0.2/f951
libmpfr.so.1 =  /opt/pbl/lib/libmpfr.so.1
libgmp.so.3 =   /opt/pbl/lib/libgmp.so.3
libc.so.1 = /usr/lib/libc.so.1
libgcc_s.so.1 = /opt/pbl/lib/libgcc_s.so.1
libdl.so.1 =/usr/lib/libdl.so.1
/usr/platform/SUNW,UltraAX-e2/lib/libc_psr.so.1

gcc 4.0.2:
../configure --prefix=/opt/pbl --with-local-prefix=/opt/pbl
--with-cpu=ultrasparc --with-tune=ultrasparc
--enable-languages=c,ada,c++,f95,java,objc --disable-nls --with-gmp=/opt/pbl
--with-mpfr=/opt/pbl --with-gnu-ld --with-gnu-as --with-ld=/opt/pbl/bin/ld
--with-as=/opt/pbl/bin/as --enable-java-awt=xlib --with-x

gmp 4.1.4:
../configure --build=sparc-sun-solaris2.9 --enable-cxx --enable-shared
--enable-static --with-readline --with-gnu-ld

mpfr 2.2.0 (with all recommended patches):
../configure --prefix=/opt/pbl --with-gmp=/opt/pbl --enable-static
--enable-shared

binutils 2.16:
../configure --prefix=/opt/pbl --exec-prefix=/opt/pbl --with-mpfr=/opt/pbl
--with-gmp=/opt/pbl --enable-shared --disable-nls --enable-64-bit-bfd

I also did couple of test installations into my home directory
(gcc/gmp/mpfr/binutils) and was able to reproduce the problem every time.

I have only one UltraSPARC-IIe box (500MHz processor), so can't tell if the
problem is repeatable on every one of them.  It is on mine.


-- 
   Summary: executable generated by f951 doesn't work with 32-bit
SUNW,UltraAX-e2 (UltraSPARC-IIe) shared libc_psr.so.1
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: alex at milivojevic dot org
 GCC build triplet: sparc-sun-solaris2.9
  GCC host triplet: sparc-sun-solaris2.9
GCC target triplet: sparc-sun-solaris2.9


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



[Bug testsuite/24962] gcc.target/ia64/20030811-1.c (test for excess errors) fails with -milp32

2006-01-27 Thread sje at cup dot hp dot com


--- Comment #3 from sje at cup dot hp dot com  2006-01-27 17:06 ---
This testsuite failure has been fixed on the main line and in the 4.1 branch by
using long long instead of just long.  The test failure does not occur prior to
4.1 because the test is not run on HP-UX prior to 4.1.


-- 

sje at cup dot hp dot com changed:

   What|Removed |Added

 CC||sje at cup dot hp dot com
 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug target/25998] executable generated by f951 doesn't work with 32-bit SUNW,UltraAX-e2 (UltraSPARC-IIe) shared libc_psr.so.1

2006-01-27 Thread alex at milivojevic dot org


--- Comment #1 from alex at milivojevic dot org  2006-01-27 17:11 ---
Created an attachment (id=10743)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10743action=view)
test program


-- 


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



[Bug fortran/25716] FAIL: gfortran.dg/char_result_11.f90 -O (test for excess errors)

2006-01-27 Thread eedelman at gcc dot gnu dot org


--- Comment #18 from eedelman at gcc dot gnu dot org  2006-01-27 17:19 
---
Subject: Bug 25716

Author: eedelman
Date: Fri Jan 27 17:19:36 2006
New Revision: 110302

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110302
Log:
fortran/
2005-01-27  Erik Edelmann  [EMAIL PROTECTED]

PR fortran/25716
* symbol.c (free_old_symbol): New function.
(gfc_commit_symbols): Use it.
(gfc_commit_symbol): New function.
(gfc_use_derived): Use it.
* gfortran.h: Add prototype for gfc_commit_symbol.
* intrinsic.c (gfc_find_function): Search in 'conversion'
if not found in 'functions'.
(gfc_convert_type_warn): Add a symtree to the new
expression node, and commit the new symtree-n.sym.
* resolve.c (gfc_resolve_index): Make sure typespec is
properly initialized.

testsuite/
2005-01-27  Erik Edelmann  [EMAIL PROTECTED]

PR fortran/25716
* gfortran.dg/char_result_11.f90: Make it sensitive to PR
25716 on 32-bit systems too.


Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/gfortran.h
branches/gcc-4_1-branch/gcc/fortran/intrinsic.c
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/fortran/symbol.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/char_result_11.f90


-- 


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



[Bug target/25998] executable generated by f951 doesn't work with 32-bit SUNW,UltraAX-e2 (UltraSPARC-IIe) shared libc_psr.so.1

2006-01-27 Thread alex at milivojevic dot org


--- Comment #3 from alex at milivojevic dot org  2006-01-27 17:26 ---
I said it might be a bug with gcc.  After all, gcc is the only application that
doesn't work correctly on this box.  I guess maintainers of any other component
mentioned (gmp, mpfr, binutils, Sun) can say the same thing as you did.  Since
gcc is the first (and so far only) application that had problem on this
platform, it was the best place to start (IMO).  As I said, if there are any
tests I could run on this platform to rule out gcc, I'd be more than happy to
run them.

The libc_psr stuff is not really a black magic (and not really brought in by
black magic).  It's just the processor optimized part of libc.  If it was black
magic, than glibc optimized for anything else other than basic processor type
(such as i386 for example) would be black magic too ;-)


-- 


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



[Bug other/25527] [gomp] segfault with locale

2006-01-27 Thread reichelt at gcc dot gnu dot org


--- Comment #7 from reichelt at gcc dot gnu dot org  2006-01-27 17:39 
---
Even more compact (because an ostringstream contains a locale as member):


#includelocale

int main()
{
std::locale L;
return 0;
}


This alredy crashes with -fopeenmp -m32 (i.e. without optimization).

It looks like we are crashing in the constructor of locale (which is
not in the header, but in the library that gets linked).


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[gomp] segfault in  |[gomp] segfault with locale
   |main.omp_fn.0 with -O2  |


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



[Bug target/25998] executable generated by f951 doesn't work with 32-bit SUNW,UltraAX-e2 (UltraSPARC-IIe) shared libc_psr.so.1

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-27 17:15 ---
Why do you think this is a GCC bug?

libc_psr is linked in via black magic and not really referenced in the binaries
see:
http://sourceware.org/ml/binutils/2003-08/msg00343.html


-- 


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



[Bug target/25960] __gcc_add doesn't handle -0.0L properly

2006-01-27 Thread dje at gcc dot gnu dot org


--- Comment #2 from dje at gcc dot gnu dot org  2006-01-27 17:59 ---
The IBM 128-bit extended floating point format is not fully compliant with IEEE
754.  It is functioning as designed.


-- 


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



[Bug target/25960] __gcc_add doesn't handle -0.0L properly

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-27 18:02 ---
So closing as invalid.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID


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



[Bug target/25661] Wrong long double to float conversion

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-01-27 18:03 ---
But this is by design and not a bug in GCC.


-- 

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=25661



[Bug rtl-optimization/25196] [4.0 Regression] i386: wrong arguments passed

2006-01-27 Thread markus at oberhumer dot com


--- Comment #10 from markus at oberhumer dot com  2006-01-27 18:03 ---
What is the status of this bug for gcc 4.0.3 ?

According to the thread at
http://gcc.gnu.org/ml/gcc-patches/2006-01/msg00542.html it seems it has been
approved a while ago.


-- 


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



[Bug c++/25983] [gomp] transient ICE, c++

2006-01-27 Thread tbptbp at gmail dot com


--- Comment #4 from tbptbp at gmail dot com  2006-01-27 18:04 ---
I'm not sure it's a dupe  fixed, because it also triggered with exceptions
disabled.

I don't know if the patch for PR/25873 has been applied to the gomp branch or
not,  if not please ignore the spam, but with a fresh svn checkout (110300) i
get:

/usr/local/gomp-110300/libexec/gcc/x86_64-unknown-linux-gnu/4.2.0-gomp-20050608-branch/cc1plus
\
-fpreprocessed raytrace_packet.ii \
-quiet -dumpbase raytrace_packet.cpp \
-mtune=generic -auxbase-strip bin/gcc/raytrace_packet.o  \
-version -fopenmp \
-o raytrace_packet.s

GNU C++ version 4.2.0-gomp-20050608-branch 20060126 (experimental) (merged
20060126) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.2.0-gomp-20050608-branch 20060126
(experimental) (merged 20060126).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: b7c38ddb04380359d35e2b2068ab186c
src/raytrace_packet_aa.cpp: In member function 'void
rt::raytracer_t::prender_supa() [with unsigned int flags = 2u]':
src/raytrace_packet_aa.cpp:710: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.

(gdb) run
Starting program:
/usr/local/gomp-110300/libexec/gcc/x86_64-unknown-linux-gnu/4.2.0-gomp-20050608-branch/cc1plus
-fpreprocessed raytrace_packet.ii -quiet -dumpbase raytrace_packet.cpp
-mtune=generic -auxbase-strip bin/gcc/raytrace_packet.o -version -fopenmp -o
raytrace_packet.s
GNU C++ version 4.2.0-gomp-20050608-branch 20060126 (experimental) (merged
20060126) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.2.0-gomp-20050608-branch 20060126
(experimental) (merged 20060126).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: b7c38ddb04380359d35e2b2068ab186c

Program received signal SIGSEGV, Segmentation fault.
ggc_set_mark (p=0xafafafafafafafaf) at ../../gcc/ggc-page.c:588
588   while (table-high_bits != high_bits)
(gdb) bt
#0  ggc_set_mark (p=0xafafafafafafafaf) at ../../gcc/ggc-page.c:588
#1  0x006ecec8 in gt_ggc_mx_basic_block_def (x_p=value optimized out)
at gtype-desc.c:462
#2  0x006ed26f in gt_ggc_mx_VEC_basic_block_gc (x_p=value optimized
out) at gtype-desc.c:193
#3  0x006ed2d3 in gt_ggc_mx_control_flow_graph (x_p=value optimized
out) at gtype-desc.c:624
#4  0x006ed38f in gt_ggc_mx_function (x_p=value optimized out) at
gtype-desc.c:639
#5  0x004dc077 in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:320
#6  0x004ef847 in gt_ggc_mx_cp_binding_level (x_p=value optimized
out) at gt-cp-name-lookup.h:65
#7  0x004db90e in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:541
#8  0x004dbc54 in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:285
#9  0x004dbdde in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:344
#10 0x004dc2cb in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:362
#11 0x004dbd6f in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:326
#12 0x004dba35 in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:114
#13 0x004dbd8b in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:328
#14 0x004dba35 in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:114
#15 0x004dbd7d in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:327
#16 0x004dbd53 in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:324
#17 0x004dbb65 in gt_ggc_mx_lang_tree_node (x_p=value optimized out)
at gt-cp-tree.h:204
#18 0x006e6bb7 in gt_ggc_mx_cgraph_varpool_node (x_p=value optimized
out) at gtype-desc.c:115
#19 0x006e3687 in ggc_mark_roots () at ../../gcc/ggc-common.c:118
#20 0x00887a9a in ggc_collect () at ../../gcc/ggc-page.c:1880
#21 0x00889059 in execute_todo (pass=0xc5ada0, flags=2,
use_required=value optimized out) at ../../gcc/passes.c:781
#22 0x008892cf in execute_one_pass (pass=0xc5ada0) at
../../gcc/passes.c:863
#23 0x0088933c in execute_pass_list (pass=0xc5ada0) at
../../gcc/passes.c:885
#24 0x00558e0a in tree_rest_of_compilation (fndecl=0x2c480700) at
../../gcc/tree-optimize.c:412
#25 0x004d0d08 in expand_body (fn=0x2c480700) at
../../gcc/cp/semantics.c:3012
#26 0x008d6a66 in cgraph_expand_function (node=0x2c4def00) at
../../gcc/cgraphunit.c:1098
#27 0x008d8fe8 in cgraph_optimize () at ../../gcc/cgraphunit.c:1164
#28 0x0047e01f in cp_finish_file () at ../../gcc/cp/decl2.c:3115
#29 0x0052ec0a in c_common_parse_file (set_yydebug=value optimized
out) at ../../gcc/c-opts.c:1148
#30 0x0085b428 in toplev_main 

[Bug c++/25983] [gomp] transient ICE, c++

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-01-27 18:06 ---
(In reply to comment #4)
 I'm not sure it's a dupe  fixed, because it also triggered with exceptions
 disabled.
 
 I don't know if the patch for PR/25873 has been applied to the gomp branch or
 not,  if not please ignore the spam, but with a fresh svn checkout (110300) i
 get:

That is a dup of bug 25990, then.


-- 


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



[Bug c++/25983] [gomp] transient ICE, c++

2006-01-27 Thread tbptbp at gmail dot com


--- Comment #6 from tbptbp at gmail dot com  2006-01-27 18:12 ---
Subject: Re:  [gomp] transient ICE, c++

On 27 Jan 2006 18:06:23 -, pinskia at gcc dot gnu dot org
[EMAIL PROTECTED] wrote:
 That is a dup of bug 25990, then.
Technically, it's the other way around ;)

Anyway, it's still a no go. I'll watch 25990 then.


-- 


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



[Bug fortran/25416] Segmentation fault in gfc_conv_function_call

2006-01-27 Thread uweigand at gcc dot gnu dot org


--- Comment #7 from uweigand at gcc dot gnu dot org  2006-01-27 18:43 
---
Thanks for fixing this!
Any chance of getting the fix into 4.1, or this is too risky?


-- 


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



[Bug fortran/20845] Module variablle with defualt component needs SAVE attribute.

2006-01-27 Thread kargl at gcc dot gnu dot org


--- Comment #6 from kargl at gcc dot gnu dot org  2006-01-27 19:11 ---
I working on a patch for this.


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |kargl at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-09-30 17:03:07 |2006-01-27 19:11:13
   date||


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



[Bug target/25998] executable generated by f951 doesn't work with 32-bit SUNW,UltraAX-e2 (UltraSPARC-IIe) shared libc_psr.so.1

2006-01-27 Thread alex at milivojevic dot org


--- Comment #4 from alex at milivojevic dot org  2006-01-27 19:34 ---
Some additional info (there's always something else that pops up).

Seems the problem is present only on machine where both of the following are
true:

 - processor is UltraSPARC-IIe
 - uname -i returns SUNW,UltraAX-e2

One machine where /usr/platform/sun4u/sbin/prtdiag claims the processor is
UltraSPARC-IIe, but uname -i prints out SUNW,UltraAX-i2, and the test program
was running correctly on it.  I've blindly assumed that machine had IIi
processor when I was writing bug report.  Sorry about that.

Interesting thing is that both SUNW,UltraAX-e2 and SUNW,UltraAX-i2 are symbolic
links to generic sun4u directory:

$ ls -l /usr/platform
...
lrwxrwxrwx 1 root root   5 Apr  4  2003 SUNW,UltraAX-e2 - sun4u
lrwxrwxrwx 1 root root   5 Apr  4  2003 SUNW,UltraAX-i2 - sun4u
drwxr-xr-x 6 root sys  512 Mar 12  2003 sun4u
...

The SUNWkvm package on both machines seems to be the same version.  I even
copied over libc_psr.so.1 from one machine to another and run diff, and it
reports the files are identical.

$ pkginfo -l SUNWkvm
   PKGINST:  SUNWkvm
  NAME:  Core Architecture, (Kvm)
  CATEGORY:  system
  ARCH:  sparc.sun4u
   VERSION:  11.9.0,REV=2002.04.06.15.27
   BASEDIR:  /
VENDOR:  Sun Microsystems, Inc.
  DESC:  core software for a specific hardware platform group
PSTAMP:  on81-patch20021015110113
  INSTDATE:  Mar 12 2003 09:15
   HOTLINE:  Please contact your local service provider
STATUS:  completely installed
 FILES:  192 installed pathnames
  43 shared pathnames
  46 directories
  10 executables
   2 setuid/setgid executables
1610 blocks used (approx)


-- 


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



[Bug fortran/25324] Wrong DW_TAG_compile_unit generated when compiling preprocessed fortran code

2006-01-27 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2006-01-27 20:02 ---
Subject: Bug 25324

Author: jakub
Date: Fri Jan 27 20:01:55 2006
New Revision: 110304

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110304
Log:
PR fortran/25324
* Make-lang.in (fortran/scanner.o): Depend on toplev.h.
* lang.opt (fpreprocessed): New option.
* scanner.c: Include toplev.h.
(gfc_src_file, gfc_src_preprocessor_lines): New variables.
(preprocessor_line): Unescape filename if there were any
backslashes.
(load_file): If initial and gfc_src_file is not NULL,
use it rather than opening the file.  If gfc_src_preprocessor_lines
has non-NULL elements, pass it to preprocessor_line.
(unescape_filename, gfc_read_orig_filename): New functions.
* gfortran.h (gfc_option_t): Add flag_preprocessed.
(gfc_read_orig_filename): New prototype.
* options.c (gfc_init_options): Clear flag_preprocessed.
(gfc_post_options): If flag_preprocessed, call
gfc_read_orig_filename.
(gfc_handle_option): Handle OPT_fpreprocessed.
* lang-specs.h: Pass -fpreprocessed to f951 if preprocessing
sources.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/Make-lang.in
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/lang-specs.h
trunk/gcc/fortran/lang.opt
trunk/gcc/fortran/options.c
trunk/gcc/fortran/scanner.c


-- 


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



[Bug fortran/25324] Wrong DW_TAG_compile_unit generated when compiling preprocessed fortran code

2006-01-27 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2006-01-27 20:04 ---
Subject: Bug 25324

Author: jakub
Date: Fri Jan 27 20:03:59 2006
New Revision: 110305

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110305
Log:
PR fortran/25324
* Make-lang.in (fortran/scanner.o): Depend on toplev.h.
* lang.opt (fpreprocessed): New option.
* scanner.c: Include toplev.h.
(gfc_src_file, gfc_src_preprocessor_lines): New variables.
(preprocessor_line): Unescape filename if there were any
backslashes.
(load_file): If initial and gfc_src_file is not NULL,
use it rather than opening the file.  If gfc_src_preprocessor_lines
has non-NULL elements, pass it to preprocessor_line.
(unescape_filename, gfc_read_orig_filename): New functions.
* gfortran.h (gfc_option_t): Add flag_preprocessed.
(gfc_read_orig_filename): New prototype.
* options.c (gfc_init_options): Clear flag_preprocessed.
(gfc_post_options): If flag_preprocessed, call
gfc_read_orig_filename.
(gfc_handle_option): Handle OPT_fpreprocessed.
* lang-specs.h: Pass -fpreprocessed to f951 if preprocessing
sources.

Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/Make-lang.in
branches/gcc-4_1-branch/gcc/fortran/gfortran.h
branches/gcc-4_1-branch/gcc/fortran/lang-specs.h
branches/gcc-4_1-branch/gcc/fortran/lang.opt
branches/gcc-4_1-branch/gcc/fortran/options.c
branches/gcc-4_1-branch/gcc/fortran/scanner.c


-- 


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



[Bug c++/25999] New: compiler loses extern C for function after #pragma weak

2006-01-27 Thread metcalf at lcs dot mit dot edu
The following short program generates the mangled symbol _Z3Foov instead of
the expected Foo when built with -DBUG.  Without -DBUG and the #pragma weak
Random_Symbol line, or if using g++ 3.2.3, the expected thing happens.

extern C {
 void Foo();
}
#ifdef BUG
#pragma weak Random_Symbol
#endif
void Foo() { }


-- 
   Summary: compiler loses extern C for function after #pragma
weak
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: metcalf at lcs dot mit dot edu
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux

2006-01-27 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2006-01-27 19:59 ---
Subject: Bug 25864

Author: jakub
Date: Fri Jan 27 19:59:49 2006
New Revision: 110303

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110303
Log:
2006-01-27  Jakub Jelinek  [EMAIL PROTECTED]

PR target/25864
* libgcc-std.ver: Add GCC_4.1.0 symbol version.
* config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append
-mno-minimal-toc to previous content.
(bispecs): Remove goal.
* config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h.
* config/rs6000/darwin-ldouble.c: Don't provide [EMAIL PROTECTED]
compatibility aliases on powerpc-*-*gnu*.
* config/rs6000/libgcc-ppc-glibc.ver: New file.
* config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append
libgcc-ppc-glibc.ver on powerpc*-*-*gnu*.
(TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs.
(ldblspecs): New goal.
* config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed.
* mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and
_df_to_tf.
* config/fp-bit.h (TMODES): Don't define if none of TFLOAT,
L_sf_to_tf or L_df_to_tf is defined.

2006-01-27  David Edelsohn  [EMAIL PROTECTED]
Alan Modra  [EMAIL PROTECTED]

PR target/25864
* config/rs6000/linux.h (POWERPC_LINUX): Define.
* config/rs6000/linux64.h (POWERPC_LINUX): Define.
* config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC.
* config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero.
* config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero.
* config/rs6000/rs6000.c (rs6000_ieeequad): New variable.
(rs6000_override_options): Initialize rs6000_ieeequad.
Initialize TFmode format to ibm_extended_format if not
TARGET_IEEEQUAD.
(rs6000_handle_option): Accept -mabi= ibmlongdouble and
ieeelongdouble.
(rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts.
(rs6000_return_in_memory): Only return IEEEQUAD in memory.
(function_arg_advance): IBM long double passed in two FPRs, not
split.
(function_arg): IBM long double passed in FPRs.
(rs6000_pass_by_reference): Only IEEEQUAD passed by reference.
(rs6000_gimplify_va_arg): IBM long double passed in two FPRs.
Only multireg GPR aligned.
(rs6000_init_libfuncs): Enable IBM long double functions if not
IEEEQUAD.
(rs6000_generate_compare): Use IBM long double compare if not
TARGET_IEEEQUAD.
* config/rs6000/rs6000.h (rs6000_ieeequad): Declare.
(TARGET_IEEEQUAD): Define.
(CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if
not TARGET_IEEEQUAD.
* config/rs6000/rs6000.md: Enable TFmode patterns if
!TARGET_IEEEQUAD.
* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
* config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
and -mlong-double-128 are incompatible.
* doc/invoke.texi (-mabi): Collect options together.  Add
ibmlongdouble and ieeelongdouble.

Added:
trunk/gcc/config/rs6000/libgcc-ppc-glibc.ver
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/fp-bit.h
trunk/gcc/config/rs6000/aix.h
trunk/gcc/config/rs6000/darwin-ldouble.c
trunk/gcc/config/rs6000/darwin.h
trunk/gcc/config/rs6000/linux.h
trunk/gcc/config/rs6000/linux64.h
trunk/gcc/config/rs6000/ppc64-fp.c
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.h
trunk/gcc/config/rs6000/rs6000.md
trunk/gcc/config/rs6000/sysv4.h
trunk/gcc/config/rs6000/t-linux64
trunk/gcc/config/rs6000/t-ppccomm
trunk/gcc/doc/invoke.texi
trunk/gcc/libgcc-std.ver
trunk/gcc/mklibgcc.in


-- 


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



[Bug c++/25979] [4.0/4.1/4.2 Regression] incorrect codegen for conditional [SVO issue]

2006-01-27 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-01-26 17:43:24 |2006-01-27 20:09:50
   date||


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



[Bug c++/25999] [4.0/4.1/4.2 Regression] compiler loses extern C for function after #pragma weak

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-27 20:13 ---
Confirmed, on the mainline too.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|x86_64-unknown-linux-gnu|
   GCC host triplet|x86_64-unknown-linux-gnu|
 GCC target triplet|x86_64-unknown-linux-gnu|
   Keywords||wrong-code
  Known to fail||4.0.0 4.1.0 4.2.0
  Known to work||3.4.0
   Last reconfirmed|-00-00 00:00:00 |2006-01-27 20:13:40
   date||
Summary|compiler loses extern C   |[4.0/4.1/4.2 Regression]
   |for function after #pragma  |compiler loses extern C
   |weak|for function after #pragma
   ||weak
   Target Milestone|--- |4.0.3


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



[Bug fortran/20833] LEN of a null slice and temporaries don't mix up well

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-27 20:40 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug fortran/23815] Add -byteswapio flag

2006-01-27 Thread tkoenig at gcc dot gnu dot org


--- Comment #29 from tkoenig at gcc dot gnu dot org  2006-01-27 20:40 
---
Updated patch, which also implements a compile-time option.

Hopefully, this will be reviewed some day.


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

URL|http://gcc.gnu.org/ml/fortra|http://gcc.gnu.org/ml/fortra
   |n/2006-01/msg00179.html |n/2006-01/msg00294.html


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



[Bug fortran/24866] internal compiler error

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-27 20:46 ---
I now get:
end module test_module
 1
 Internal Error at (1):
 write_symbol(): bad module symbol 'UCS-2BE//'


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2006-01-03 17:07:10 |2006-01-27 20:46:25
   date||


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



[Bug fortran/18769] ICE in gfc_conv_array_initializer with array initialization with transfer

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-01-27 20:54 ---
transfer could be converted over to use VIEW_CONVERT_EXPR of the constant but
then again this is in non trans part of the fortran front-end.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2005-12-30 18:49:45 |2006-01-27 20:54:07
   date||


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



[Bug fortran/25716] FAIL: gfortran.dg/char_result_11.f90 -O (test for excess errors)

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #19 from pinskia at gcc dot gnu dot org  2006-01-27 20:59 
---
Fixed in 4.1.0.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug libfortran/19303] Unformatted record header is 4-bytes on 32-bit targets

2006-01-27 Thread tkoenig at gcc dot gnu dot org


--- Comment #19 from tkoenig at gcc dot gnu dot org  2006-01-27 21:17 
---
(In reply to comment #18)
 Created an attachment (id=10564)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10564action=view) [edit]
 patch against gcc-4.1-20051223
 
 As requested, I am posting Rob's patch which goes against the Dec 23 snapshot.
 I didn't change reverse_memcpy() which I think I should, but maybe the one who
 added it should be more appropriate person to do it.

Your patch works only on little-endian systems.

I am currently thinking of making this a compile-time option.

Thomas


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tkoenig at gcc dot gnu dot
   ||org


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



[Bug fortran/25964] [4.1/4.2 Regression] NIST regression on fm311.f

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2006-01-27 21:20 ---
Subject: Bug 25964

Author: pault
Date: Fri Jan 27 21:20:12 2006
New Revision: 110307

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110307
Log:
2005-01-27  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Add GFC_ISYM_LOC to the list of
generic_ids exempted from assumed size checking.

2005-01-27  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* gfortran.dg/assumed_size_refs_3.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/assumed_size_refs_3.f90   (with props)
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog

Added: trunk/gcc/testsuite/gfortran.dg/assumed_size_refs_3.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/assumed_size_refs_3.f90?root=gccview=autorev=110307
==
--- trunk/gcc/testsuite/gfortran.dg/assumed_size_refs_3.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/assumed_size_refs_3.f90 Fri Jan 27 21:20:12
2006
@@ -1,0 +1,17 @@
+! { dg-do compile }
+! Tests the fix for PR25951, a regression caused by the assumed
+! size patch.
+! Test case provided by Mark Hesselink  [EMAIL PROTECTED]
+PROGRAM loc_1
+  integer i(10)
+  call f (i)
+CONTAINS
+   SUBROUTINE f (x)
+  INTEGER, DIMENSION(*)   :: x
+  INTEGER :: address
+! The next line would cause:
+! Error: The upper bound in the last dimension must appear in the
+! reference to the assumed size array 'x' at (1)
+  address=LOC(x)
+   END SUBROUTINE f
+END PROGRAM loc_1

Propchange: trunk/gcc/testsuite/gfortran.dg/assumed_size_refs_3.f90
('svn:executable' added)


-- 


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



[Bug fortran/24327] Does not detect duplicate symbol names in contains block

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-01-27 22:01 ---
Fixed in trunk and, in about 15 minutes, on 4.1

Thanks, Steve, for noticing that I had accidentally fixed this.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/25084] Interface for assumed length character function allowed

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 25084

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/20852] *-length character function may not be recursive

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 20852

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/20881] should check interfaces for lgobal procedures

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 20881

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/25964] [4.1/4.2 Regression] NIST regression on fm311.f

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 25964

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/25085] Array valued assumed length character function allowed

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 25085

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/25710] accepts call to function

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #2 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 25710

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug c++/25625] [4.0/4.1/4.2 Regression] Fails to compile C++ code when -frepo is specified.

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #11 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 25625

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/25416] Segmentation fault in gfc_conv_function_call

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #8 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 25416

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/23308] named common block confused as procedure - runtime segfault

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #12 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 23308

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/24276] Components of a derived type array not passed as an array

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 24276

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/25086] Pointer valued assumed length character function allowed

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 25086

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/25538] internal compiler error: in build_function_decl, at fortran/trans-decl.c:1130

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 25538

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/25901] [4.2 Regression] overloaded function is rejected

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-01-27 22:16 ---
Subject: Bug 25901

Author: pault
Date: Fri Jan 27 22:16:04 2006
New Revision: 110310

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
Log:
2005-01-28  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25964
* resolve.c (resolve_function): Exclude statement functions from
global reference checking.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
references through the symtree to the symbol associated with the
function expresion. Give error on reference to an assumed character
length function is defined in an interface or an external function
that is not a dummy argument.
(resolve_symbol): Give error if an assumed character length function
is array-valued, pointer-valued, pure or recursive. Emit warning
that character(*) value functions are obsolescent in F95.

PR fortran/25416
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
prevents any assumed character length function call from getting here
except intrinsics such as SPREAD. In this case, ensure that no
segfault occurs from referencing non-existent charlen-length-
expr_type and provide a backend_decl for the charlen from the charlen
of the first actual argument.

Cure temp name confusion.
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
temporary from parm to ifm to avoid clash with temp coming from
trans-array.c.

PR fortran/25124
PR fortran/25625
* decl.c (get_proc_name): If there is an existing
symbol in the encompassing namespace, call errors
if it is a procedure of the same name or the kind
field is set, indicating a type declaration.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* decl.c (add_global_entry): New function to check
for existing global symbol with this name and to
create new one if none exists.
(gfc_match_entry): Call add_global_entry before
matching argument lists for subroutine and function
entries.
* gfortran.h: Prototype for existing function, global_used.
* resolve.c (resolve_global_procedure): New function
to check global symbols for procedures.
(resolve_call, resolve_function): Calls to this
new function for non-contained and non-module
procedures.
* match.c (match_common): Add check for existing
global symbol, creat one if none exists and emit
error if there is a clash.
* parse.c (global_used): Remove static and use the
gsymbol name rather than the new_block name, so that
the function can be called from resolve.c.
(parse_block_data, parse_module, add_global_procedure):
Improve checks for existing gsymbols.  Emit error if
already defined or if references were to another type.
Set defined flag.

PR fortran/24276
* trans-expr.c (gfc_conv_aliased_arg): New function called by 
gfc_conv_function_call that coverts an expression for an aliased
component reference to a derived type array into a temporary array
of the same type as the component.  The temporary is passed as an
actual argument for the procedure call and is copied back to the
derived type after the call.
(is_aliased_array): New function that detects an array reference
that is followed by a component reference.
(gfc_conv_function_call): Detect an aliased actual argument with
is_aliased_array and convert it to a temporary and back again
using gfc_conv_aliased_arg.

PR fortran/25124
PR fortran/25625
* gfortran.dg/internal_references_1.f90: New test.

PR fortran/25901
* gfortran.dg/internal references_2.f90: New test.

PR fortran/20881
PR fortran/23308
PR fortran/25538
PR fortran/25710
* gfortran.dg/global_references_1.f90: New test.
* gfortran.dg/g77/19990905-1.f: Restore the error that
there is a clash between the common block name and
the name of a subroutine reference.

PR fortran/25964
* gfortran.dg/global_references_2.f90: New test.

PR fortran/24276
* gfortran.dg/aliasing_dummy_1.f90: New test.

PR fortran/25084
PR fortran/20852
PR fortran/25085
PR fortran/25086
* gfortran.dg/assumed_charlen_function_1.f90: New test.
* gfortran.dg/assumed_charlen_function_3.f90: New test.

PR fortran/25416
* gfortran.dg/assumed_charlen_function_2.f90: New test.

PR fortran/25964
* 

[Bug fortran/25084] Interface for assumed length character function allowed

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-01-27 22:21 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/20852] *-length character function may not be recursive

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-01-27 22:22 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/25085] Array valued assumed length character function allowed

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-01-27 22:23 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/25086] Pointer valued assumed length character function allowed

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-01-27 22:23 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/24762] [killloop-branch] code motion of non-invariant expressions with hard registers.

2006-01-27 Thread zadeck at gcc dot gnu dot org


--- Comment #18 from zadeck at gcc dot gnu dot org  2006-01-27 22:23 ---
Subject: Bug 24762

Author: zadeck
Date: Fri Jan 27 22:23:32 2006
New Revision: 110312

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110312
Log:
2006-01-27  Daniel Berlin  [EMAIL PROTECTED]
Kenneth Zadeck [EMAIL PROTECTED]

PR rtl-optimization/24762 
* doc/tm.texi: Added TARGET_EXTRA_LIVE_ON_ENTRY.
* targhooks.c (hook_void_bitmap): New hook prototype.
* targhoohs.h (hook_void_bitmap): Ditto.
* bitmap.h (bitmap_head_def): Moved to coretypes.h.
* coretypes.h (bitmap_head_def): Moved from bitmap.h.
* target.h (live_on_entry): New function pointer.
* df-scan.c (df_all_hard_regs): Removed.
(df_scan_dump, df_hard_reg_init): Removed df_all_hard_regs.
(df_scan_free_internal): Added df-entry_block_defs.
(df_scan_alloc): Ditto.
(df_scan_dump): Ditto.
(df_uses_record): Plumbed flag field properly thru calls.
Record EH_RETURN_DATA_REGNO in eh blocks unconditionally.
This part fixes PR24762.
(df_bb_refs_record): Added code to make the frame and arg
pointers live in EH blocks.
(df_refs_record): Added call to df_record_entry_block_defs.
(df_record_entry_block_defs): New function.
* df-core.c: Added comments to describe new artifical defs.
* df.h (DF_REF_DIES_AFTER_THIS_USE): New flag in enum df_ref_flags.
(entry_block_defs): New field in struct df.
(df_all_hard_regs): Deleted.
* target-def.h: Added TARGET_EXTRA_LIVE_ON_ENTRY.
* df-problems.c (df_ru_bb_local_compute_process_def):
Added code to handle artifical defs in the entry to a function.
(df_ru_bb_local_compute): Ditto.
(df_rd_bb_local_compute_process_def):  Ditto.
(df_rd_bb_local_compute): Ditto.
(df_lr_bb_local_compute): Ditto.
(df_ur_bb_local_compute): Ditto.
(df_urec_bb_local_compute):  Ditto.
(df_chain_create_bb):  Ditto.
(df_ur_local_finalize): Removed entry.
(df_urec_init): Ditto.
(df_urec_local_finalize): Ditto.
(df_ri_bb_compute): Added detection of last use of pseudos.
* Makefile.in (df-scan.o): Updated dependencies.
* config/mips/mips-protos.h (mips_set_live_on_entry): Added.
* config/mips/mips.c (mips_set_live_on_entry): Added.
* config/mips/mips.c (TARGET_EXTRA_LIVE_ON_ENTRY): Added value
for target hook.
* dce.c (marked_insn_p): Added code to handle artifical defs.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/bitmap.h
trunk/gcc/config/mips/mips-protos.h
trunk/gcc/config/mips/mips.c
trunk/gcc/coretypes.h
trunk/gcc/df-core.c
trunk/gcc/df-problems.c
trunk/gcc/df-scan.c
trunk/gcc/df.h
trunk/gcc/doc/tm.texi
trunk/gcc/target-def.h
trunk/gcc/target.h
trunk/gcc/targhooks.c
trunk/gcc/targhooks.h


-- 


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



[Bug fortran/25416] Segmentation fault in gfc_conv_function_call

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #9 from pault at gcc dot gnu dot org  2006-01-27 22:24 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



Re: [Bug c++/25625] [4.0/4.1/4.2 Regression] Fails to compile C++ code when -frepo is specified.

2006-01-27 Thread Gabriel Dos Reis
pault at gcc dot gnu dot org [EMAIL PROTECTED] writes:


[...]

| URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
| Log:
| 2005-01-28  Paul Thomas  [EMAIL PROTECTED]
| 
| PR fortran/25964
| * resolve.c (resolve_function): Exclude statement functions from
| global reference checking.

Can someone explain me why a fortran commit shows up as a C++ releated
commit?

-- Gaby


[Bug c++/25625] [4.0/4.1/4.2 Regression] Fails to compile C++ code when -frepo is specified.

2006-01-27 Thread gdr at cs dot tamu dot edu


--- Comment #12 from gdr at cs dot tamu dot edu  2006-01-27 22:27 ---
Subject: Re:  [4.0/4.1/4.2 Regression] Fails to compile C++ code when -frepo is
specified.

pault at gcc dot gnu dot org [EMAIL PROTECTED] writes:


[...]

| URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110310
| Log:
| 2005-01-28  Paul Thomas  [EMAIL PROTECTED]
| 
| PR fortran/25964
| * resolve.c (resolve_function): Exclude statement functions from
| global reference checking.

Can someone explain me why a fortran commit shows up as a C++ releated
commit?

-- Gaby


-- 


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



[Bug c++/25625] [4.0/4.1/4.2 Regression] Fails to compile C++ code when -frepo is specified.

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #13 from pault at gcc dot gnu dot org  2006-01-27 22:29 ---

 Can someone explain me why a fortran commit shows up as a C++ releated
 commit?
 
 -- Gaby
 
'cos I seem to have goofed on a couple of PR numbers.  Sorry.

Paul T


-- 


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



[Bug fortran/20881] should check interfaces for lgobal procedures

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-01-27 22:29 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/23308] named common block confused as procedure - runtime segfault

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #13 from pault at gcc dot gnu dot org  2006-01-27 22:30 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/25538] internal compiler error: in build_function_decl, at fortran/trans-decl.c:1130

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2006-01-27 22:31 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/25710] accepts call to function

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-01-27 22:33 ---
Fixed on trunk and 4.1

Paul

Andrew, I have not forgotten the type checking - I am working on it for
internal procedures first; gfortran might be OK but the standard is quite
convoluted here and I have not got it completely straight in my head yet.


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug fortran/24276] Components of a derived type array not passed as an array

2006-01-27 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2006-01-27 22:34 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/25324] Wrong DW_TAG_compile_unit generated when compiling preprocessed fortran code

2006-01-27 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-01-27 23:10 ---
Fixed in 4.1.0.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



  1   2   >