[Bug regression/26001] LAPACK testsuite failure with optimization

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


--- Comment #2 from jvdelisle at gcc dot gnu dot org  2006-01-28 07:13 
---
I have confirmed this failure is in 4.1 as well.


-- 


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



[Bug regression/26001] LAPACK testsuite failure with optimization

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


--- Comment #1 from jvdelisle at gcc dot gnu dot org  2006-01-28 07:12 
---
Created an attachment (id=10746)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10746&action=view)
Source file that fails.

Attached is the source file.


-- 


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



[Bug regression/26001] New: LAPACK testsuite failure with optimization

2006-01-27 Thread jvdelisle at gcc dot gnu dot org
The LAPACK testsuite fails with the following error message with -O3
-march=pentium4 -funroll-loops:

At line 1162 of file schkee.f
Fortran runtime error: Bad integer for item 1 in list input

This is not a gfortran frontend problem because LAPACK passes fine without
optimization.

Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../main/configure --prefix=/home/jerry/gcc/usr
--enable-languages=c,fortran --disable-libmudflap
Thread model: posix
gcc version 4.2.0 20060126 (experimental)

I have not tried 4.1 yet.  This might be considered critical considering the
widespread use of LAPACK.


-- 
   Summary: LAPACK testsuite failure with optimization
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: regression
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jvdelisle at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu


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



[Bug c/19606] wrong code for arith.expr: (((unsigned int)(signed int) a ) / 2LL) with signed char a=-4

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


--- Comment #11 from kazu at gcc dot gnu dot org  2006-01-28 05:25 ---
Just checked in a patch to mainline.


-- 

kazu at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug c/19606] wrong code for arith.expr: (((unsigned int)(signed int) a ) / 2LL) with signed char a=-4

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


--- Comment #10 from kazu at gcc dot gnu dot org  2006-01-28 05:19 ---
Subject: Bug 19606

Author: kazu
Date: Sat Jan 28 05:19:44 2006
New Revision: 110321

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110321
Log:
gcc/
PR c/19606.
* c-typeck.c (build_binary_op): Perform implicit casts of
operands before shortening them.

gcc/testsuite/
PR c/19606.
* gcc.c-torture/execute/pr19606.c: New.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr19606.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-typeck.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/25957] -fstack-protector code on i386/x86-64 can be improved.

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


--- Comment #10 from pinskia at gcc dot gnu dot org  2006-01-28 04:31 
---
noreturn vs sibcall:
http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00180.html
http://gcc.gnu.org/ml/gcc/2002-09/msg00211.html
PR 10837


-- 


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



[Bug c++/25855] [4.0/4.1/4.2 Regression] template specialisation not always found (partial ordering)

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


--- Comment #14 from mmitchel at gcc dot gnu dot org  2006-01-28 04:13 
---
For the code in Comment #4, there are two questions:

1. Which of the three template functions is called by main?

2. Which of the three template functions is specialized by the explicit
specialization?

The type of the string literals is "const char*".  So, the call matches all
three templates, with { T : char }, { T : const char }, and { T1 : char, T2 :
char}, respectively.  Since the argument types are "const char*" in all cases,
overload resolution selects the most specialized of the three templates.  The
first template is more specialized than the second, since the first template
can be generated from the second with { T : const T}, but the second cannot be
generated from the first.  The first template is also more specialized than the
third, since it can be generated from the first with { T1 : T, T2 : T }.  Thus,
it is the first template that is called.

Because explicit specializations also specialized the most specialized
template, the answer to the second question is the same; it is the first
template which is specialized.

Therefore, the correct value is indeed 4.


-- 


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



[Bug c/25795] Proccessing the attribute externally_visible too early

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-28 04:09 ---
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-28 04:09:43
   date||


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



[Bug target/25765] gfortran.dg/assign_2.f90 -O0 fails

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-28 04:09 ---
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-28 04:09:14
   date||


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



[Bug fortran/23573] [3.4 only] internal compiler error: in gen_subprogram_die

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-28 04:07 ---
No feedback in 3 months (well 5 in this case).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/25553] Missed removal of load

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-28 04:06 ---
We should be able to create a PHI for this case.

Hmm, maybe I don't understand load PRE but for some reason I thought it would
be able to do this case:
int *t;
int g(int);
int f(int tt)
{
  int *t1 = t;
  if (*t1)
*t1 = 2;
  return g(*t1);
}


-- 

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-28 04:06:19
   date||


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



[Bug rtl-optimization/323] optimized code gives strange floating point results

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


--- Comment #81 from pinskia at gcc dot gnu dot org  2006-01-28 03:56 
---
*** Bug 26000 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pr2345 at gmail dot com


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



[Bug c++/26000] cast from int to float violates C++ standard in non-optimized mode

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-28 03:56 ---
this is a dup of bug 323.  The issue is more complex than you think, even
though in this case you get the same answer for the optimized case and not for
the unoptimized case.  Using -ffloat-store will get you a zero for the
unoptimized case.

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


-- 

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



[Bug c++/25855] [4.0/4.1/4.2 Regression] template specialisation not always found (partial ordering)

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


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug c++/26000] New: cast from int to float violates C++ standard in non-optimized mode

2006-01-27 Thread pr2345 at gmail dot com
Platform: i686 Linux 2.6.11

gcc version:
> gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,java,f95,ada --enable-java-awt=gtk
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
--host=i386-redhat-linux
Thread model: posix
gcc version 4.0.2 20051125 (Red Hat 4.0.2-8)

Summary:
According to the C++ standard section 5.2.9/2, the result of casting an
expression to float is as if a temporary variable of type float were 
declared and initialized with that expression, and then used in place 
of the expression.

That seems to be violated in the program below when compiled in non debug mode
(gcc test.c)  The program a.out prints 1 instead of 0.
In optimized mode (gcc -O test.c) the program prints 0 correctly.  Same thing
with -O2.

Same result when renaming the file test.cpp and compiling with g++ and also
when using static_cast instead of C-style casts.

In the program below, the functions foo1() and foo2() should always produce the
same result.  But the assembly code for foo2() differs from foo1() by two extra
lines (fstps and flds) when compiled in non-optimized mode.

test.c:

int foo1(int x)
{  
   return (int)(float)x;
}  

int foo2(int x)
{
   float f = x;
   return (int)f;
}  

int main()
{
   int i = 0x101;   /* i == 16777217 */
   int u = foo1(i) - foo2(i);
   printf("u=%d\n", u);
}


-- 
   Summary: cast from int to float violates C++ standard in non-
optimized mode
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pr2345 at gmail dot com
  GCC host triplet: ?


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



[Bug middle-end/22608] LAPACK - BLAS test errors.

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-01-28 00:54 ---
Nobody can reproduce your failure and it has been over 6 months now.  Closing
as worksforme.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WORKSFORME


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



[Bug target/20036] [3.4 only] gcc.dg/compat/vector-[12]_y.c fails to compile

2006-01-27 Thread dtemirbulatov at gmail dot com


--- Comment #5 from dtemirbulatov at gmail dot com  2006-01-28 00:52 ---
Created an attachment (id=10745)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10745&action=view)
fix

this patch allows testcases to get passed


-- 


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



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

2006-01-27 Thread amodra at bigpond dot net dot au


--- Comment #8 from amodra at bigpond dot net dot au  2006-01-28 00:17 
---
There is no reason to say that wrong long double -> float conversion code
emitted by gcc is some fault of the long double design.  It is relatively easy
to convert correctly:

float long_double_to_float (long double a)
{
  union { long double ld; double d[2]; } u;
  double xh, xl, tmp;
  float res;

  u.ld = a;
  xh = u.d[0];
  xl = u.d[1];

  /* Convert high double.  */
  res = (float) xh;
  /* Subtract from long double, and canonicalise result.  */
  xh -= res;
  tmp = xh + xl;
  xl = (xh - tmp) + xl;
  xh = tmp;
  /* Convert remainder.  */
  res += (float) xh;
  return res;
}

There are some obvious simplifications to be made to the above function.  I
left the dead code there to show a technique that is useful in many long double
algorithms, ie. operate on high double, subtract result and canonicalise,
operate on low double (which has moved to xh by virtue of canonicalisation).


-- 


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



[Bug middle-end/22275] [3.4/4.0/4.1/4.2 Regression] bitfield layout change (regression?)

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


--- Comment #43 from rguenth at gcc dot gnu dot org  2006-01-27 23:25 
---
Can we have an update on this or post the patch to get review please?


-- 


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



[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



[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/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/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/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/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 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 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=gcc&view=rev&rev=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



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=gcc&view=rev&rev=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 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



[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=gcc&view=rev&rev=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/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 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/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/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/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=gcc&view=rev&rev=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
* gfortr

[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=gcc&view=rev&rev=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
* gfortr

[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=gcc&view=rev&rev=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
* gfortr

[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=gcc&view=rev&rev=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
* gfort

[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=gcc&view=rev&rev=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
* gfortr

[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=gcc&view=rev&rev=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
* gfortr

[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=gcc&view=rev&rev=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
* gfort

[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=gcc&view=rev&rev=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
* gfortr

[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=gcc&view=rev&rev=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
* gfortr

[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=gcc&view=rev&rev=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
* gfortr

[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=gcc&view=rev&rev=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
* gfortr

[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=gcc&view=rev&rev=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
* gfortr

[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=gcc&view=rev&rev=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
* gfortr

[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/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=gcc&view=rev&rev=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=gcc&view=auto&rev=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 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=10564&action=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/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 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/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/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/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 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 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 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=gcc&view=rev&rev=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++/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 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=gcc&view=rev&rev=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 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=gcc&view=rev&rev=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 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/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 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 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 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 #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 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=)
at gtype-desc.c:462
#2  0x006ed26f in gt_ggc_mx_VEC_basic_block_gc (x_p=) at gtype-desc.c:193
#3  0x006ed2d3 in gt_ggc_mx_control_flow_graph (x_p=) at gtype-desc.c:624
#4  0x006ed38f in gt_ggc_mx_function (x_p=) at
gtype-desc.c:639
#5  0x004dc077 in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:320
#6  0x004ef847 in gt_ggc_mx_cp_binding_level (x_p=) at gt-cp-name-lookup.h:65
#7  0x004db90e in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:541
#8  0x004dbc54 in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:285
#9  0x004dbdde in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:344
#10 0x004dc2cb in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:362
#11 0x004dbd6f in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:326
#12 0x004dba35 in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:114
#13 0x004dbd8b in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:328
#14 0x004dba35 in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:114
#15 0x004dbd7d in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:327
#16 0x004dbd53 in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:324
#17 0x004dbb65 in gt_ggc_mx_lang_tree_node (x_p=)
at gt-cp-tree.h:204
#18 0x006e6bb7 in gt_ggc_mx_cgraph_varpool_node (x_p=) 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=) 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=) at ../../gcc/c-opts.c:1148
#30 0x0085b428 in toplev_main (argc=, argv=0x0) at
../../gcc/toplev.c:990
#31 0x2abdf4ca in __libc_start_main () from /lib/libc.so.6
#32 0x0040271a in _start () at ../sysdeps/x86_64/elf/start.S:113
(gdb)


-- 


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



[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 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 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/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/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 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):


#include

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 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 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=gcc&view=rev&rev=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 #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=10743&action=view)
test program


-- 


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] 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 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 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:

=
#include

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


-- 


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



[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 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 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] 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  class Array;

}

template 
void xxx(const SArray::Array & arr)
{
SArray::Array arr_contiguous = arr;
arr_contiguous.force_ordering();
}


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::Array&)â:
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 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:

===
#include
#include

int main()
{
  std::complex 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 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 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 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; i<1; ++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 ''
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++/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++/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 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++/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; i<1; ++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 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 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; i<1; i++ ) ;
  for ( i=0; i<1; i++ ) ;
  for ( i=0; i<1; i++ ) ;
  for ( i=0; i<1; i++ ) ;
  for ( i=0; i<1; 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++/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 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 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 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 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 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



  1   2   >