[Bug fortran/30481] New: Accepts namelist-group object with assumed character length

2007-01-16 Thread burnus at gcc dot gnu dot org
Found at
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/75b797b2d4257f74

subroutine foo(c)
  character*(*) c
  namelist /abc/ c
end subroutine

is accepted by gfortran. Other compilers give the correct error:

fortcom: Error: aaa.f, line 3: A namelist-group-object must not be a variable
with assumed character length (R544.1).   [ERRMSG]

Error: bbb.f90, line 4: Namelist-group-object C has assumed character length

Error: Variable 'c' at (1) cannot have a variable length and be in a NAMELIST

ERROR: C has the CHARACTER*(*) attribute, therefore it must not be declared
as a namelist-group-object.


-- 
   Summary: Accepts namelist-group object with assumed character
length
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug libstdc++/30482] New: complex division by 0

2007-01-16 Thread jakub at gcc dot gnu dot org
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=221319
raises a question whether:
std::complexdouble (1.0, 1.0) / 0.0
and
std::complexdouble (1.0, 1.0) / std::complexdouble (0.0, 0.0)
can or can't be NaN.  In C say:
#define I (__extension__ 1.0iF)
_Complex double d = 1.0 + 0.0 * I, e, f, z = 0.0 + 0.0 * I;

int
main (void)
{
  e = d / 0.0;
  f = d / z;
  __builtin_printf (%g %g %g %g\n, __real__ e, __imag__ e, __real__ f,
__imag__ f);
  return 0;
}
in -std=c99 always prints inf (where complex inf is even when just one of the
parts is inf), no matter what optimization options, in C89 the first division
when optimizing is usually optimized into the simpler __real__ d / 0.0,
__imag__ d / 0.0 division and thus gives inf too, but the latter and when not
optimizing
even the first one gives NaN.

What do we want in C++?  C++ doesn't use flag_complex_method = 2, so unless
that changes, only the division by double (rather than std::complex double)
could generally (when not optimizing) return inf - with a help in the
specialization, see the above URL.


-- 
   Summary: complex division by 0
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug c/30477] Integer Overflow detection code optimised away, -fwrapv broken

2007-01-16 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2007-01-16 10:36 ---
If you rely on support and maintainance for gcc releases that have been
discontinued by the FSF you need to get to your system vendor providing the old
gcc or to an external contractor.


-- 


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



[Bug c/30483] New: Internal compiler error with inline volatile assembly on AVR

2007-01-16 Thread richard at vems dot co dot nz
I was reworking an existing AVR application for C89 compatibility, and while
doing so, found an internal compiler error while dealing with inline assembly.
I have taken the offending function and trimmed the code to a minimum for a
test.

Output is as follows:
test.c: In function 'spi_manual_send_ass_GCC_BUGGY':
test.c:22: internal compiler error: in ptrreg_to_str, at config/avr/avr.c:1009
Please submit a full bug report,
with preprocessed source if appropriate.

The preprocessed source of test.i is appended:

# 1 test.c
# 1 built-in
# 1 command line
# 1 test.c
typedef unsigned char uint8_t;

__inline__ uint8_t spi_manual_send_ass_GCC_BUGGY( uint8_t dat )
{
 uint8_t pb;






 __asm__ volatile (
  \n
  nop \n\t
  ori %a1,8 \n\t
  out 0x05,%a1 \n\t
  : =d (dat)
  : d (pb)
 );

 return pb;
}

int main() {
 uint8_t dat = 0;
 uint8_t result = 0;
 result = spi_manual_send_ass_GCC_BUGGY(dat);
 return 0;
}


-- 
   Summary: Internal compiler error with inline volatile assembly on
AVR
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: richard at vems dot co dot nz
 GCC build triplet: i586-suse-linux
  GCC host triplet: i586-suse-linux
GCC target triplet: avr-unknown-unknown


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



[Bug c/30483] Internal compiler error with inline volatile assembly on AVR

2007-01-16 Thread richard at vems dot co dot nz


--- Comment #1 from richard at vems dot co dot nz  2007-01-16 11:19 ---
Created an attachment (id=12910)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12910action=view)
Preprocessed source of test.c (test.i)


-- 


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



[Bug c++/30470] Compiling C++ programs with -mno-80387 and -O3 failes

2007-01-16 Thread bugzilla at bennee dot com


--- Comment #8 from bugzilla at bennee dot com  2007-01-16 11:28 ---
(In reply to comment #7)
 However if the -mno-80387 option is meant to disable x87 instructions then it
  should be possible to build something without causing and x87 instructions 
  to
  be emitted shouldn't it?
 
 Yes and that means you can not use (or reference, even via a prototype) any
 function that would cause x87 which is all functions which return a
 float/double.

I can see why it breaks now. The headers instantiate something passed long
double hence the code generation. Looking at my SuSE and Redhat box headers
the headers are different. This could be an Ubuntu-ism - it's glibc seems to be
older than that of RHAT4.

It should be perfectly possible to use the -mno-80387 build flag as long as the
program your compiling doesn't use the long double data type or call anything
that returns it.

According to the X86_64 ABI (3.2.3 Parameter Passing):


6. If the class is X87, the value is returned on the X87 stack in %st0 as
80-bit
   x87 number.
7. If the class is X87UP, the value is returned together with the previous X87
   value in %st0.
8. If the class is COMPLEX_X87, the real part of the value is returned in
   %st0 and the imaginary part in %st1.


Where the X87 classes are:


The 64-bit mantissa of arguments of type long double belongs to class
X87, the 16-bit exponent plus 6 bytes of padding belongs to class X87UP.


and 


A variable of type complex long double is classi#64257;ed as type COM-
PLEX_X87.



-- 

bugzilla at bennee dot com changed:

   What|Removed |Added

  Component|target  |c++


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



[Bug fortran/30476] [Regression 4.2, 4.3] Via other module imported generic interface rejected

2007-01-16 Thread patchapp at dberlin dot org


--- Comment #1 from patchapp at dberlin dot org  2007-01-16 14:51 ---
Subject: Bug number PR30476

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01324.html


-- 


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



[Bug target/30484] New: Miscompilation of remainder expressions on CPUs of the i386 family

2007-01-16 Thread bagnara at cs dot unipr dot it
The program below shows (at all the optimization levels) a miscompilation of
the remainder expression that causes INT_MIN % -1 to cause a SIGFPE on CPUs of
the i386 family.

#include limits.h
#include stdio.h

int minus_one(int n) {
  return (n+1)*(n-1)-n*n;
}

void p(int x, int y) {
  int z = x % y;
  printf(%d %% %d - %d\n, x, y, z);
}

int main(int argc, char** argv) {
  p(INT_MIN, minus_one(argc));
}

For simpler programs, the behavior depends on the ability of the optimizer to
realize that the divisor is -1, in which case the compiler evaluates the
remainder expression (to 0, at compile-time) and no signal is raised.

Since the remainder is always defined, this violates the C standard.

By the way, the Ariane 5 Flight 501 crash was caused by an unexpected exception
(http://en.wikipedia.org/wiki/Ariane_5_Flight_501).


-- 
   Summary: Miscompilation of remainder expressions on CPUs of the
i386 family
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bagnara at cs dot unipr dot it


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



[Bug target/30483] Internal compiler error with inline volatile assembly on AVR

2007-01-16 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|major   |normal
  Component|c   |target


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



[Bug c/30477] Integer Overflow detection code optimised away, -fwrapv broken

2007-01-16 Thread tg at mirbsd dot org


--- Comment #9 from tg at mirbsd dot org  2007-01-16 16:56 ---
Subject: Re:  Integer Overflow detection code optimised away,
 -fwrapv broken

rguenth at gcc dot gnu dot org dixit:

If you rely on support and maintainance for gcc releases that have been
discontinued by the FSF you need to get to your system vendor providing the old
gcc or to an external contractor.

Look, I'm the founder and head developer of a free BSD operating sy-
stem with a mere two active developers, _and_ a core developer of an
embedded GNU/Linux operating system with much less than a dozen devs
so I cannot either do it myself or gather funds to do this.

Neither can we switch to gcc4 simply because it breaks too much exi-
sting codebase. Furthermore, in FreeWRT, the Linux 2.4 kernel, which
MUST be used for certain targets (also Linux 2.6 is said to be bloa-
ted and thusly unusable due to its sheer size, which I can only cite
because I don't do Linux myself), also cannot be compiled with gcc4.
True, that's the fault of the Linux developers, but GCC is core tech
in widespread use, and as such, you should weigh better between cost
and result of your actions.

bye,
//mirabile


-- 


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



[Bug c/30477] Integer Overflow detection code optimised away, -fwrapv broken

2007-01-16 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2007-01-16 17:18 
---
We do weight between cost and result which is a reason we keep branches in
active maintainance for a long time.  But we need to focus on where the
majority of our users are, which is gcc 4.1 nowadays.  We don't have ressources
to maintain older releases for an infinite time.


-- 


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



[Bug c/30477] Integer Overflow detection code optimised away, -fwrapv broken

2007-01-16 Thread tg at mirbsd dot org


--- Comment #11 from tg at mirbsd dot org  2007-01-16 17:34 ---
Subject: Re:  Integer Overflow detection code optimised away,
 -fwrapv broken

rguenth at gcc dot gnu dot org dixit:

But we need to focus on where the majority of our users are, which is
gcc 4.1 nowadays.

I highly doubt that, unless your users is only applying
to users of the GNU OS (i.e. GNU/HURD) ;-)

Even then, you _might_ _want_ to fix a critical security
problem in an older version _even_ if it's discontinued.
Or at least supply a patch to interested parties.

bye,
//mirabile


-- 


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



[Bug c/30477] Integer Overflow detection code optimised away, -fwrapv broken

2007-01-16 Thread tg at mirbsd dot org


--- Comment #12 from tg at mirbsd dot org  2007-01-16 17:49 ---
Reopening this bug because http://gcc.gnu.org/ml/gcc/2006-12/msg00749.html
states that:
For example, GCC itself assumes wrapv semantics internally,

This implies that gcc2 and gcc3 cannot compile gcc correctly,
unless using -O0. Adding -fwrapv to autoconf's defaults won't
help gcc2 and gcc3 users either, without a fix for this PR.


-- 

tg at mirbsd dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |


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



[Bug c/30477] Integer Overflow detection code optimised away, -fwrapv broken

2007-01-16 Thread pinskia at gcc dot gnu dot org


--- Comment #13 from pinskia at gcc dot gnu dot org  2007-01-16 18:00 
---
(In reply to comment #12)
 Reopening this bug because http://gcc.gnu.org/ml/gcc/2006-12/msg00749.html
 states that:
 For example, GCC itself assumes wrapv semantics internally,

And those places are getting fixed.  Again this specific bug was fixed in
4.0.0.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c/30477] Integer Overflow detection code optimised away, -fwrapv broken

2007-01-16 Thread gdr at cs dot tamu dot edu


--- Comment #14 from gdr at cs dot tamu dot edu  2007-01-16 18:01 ---
Subject: Re:  Integer Overflow detection code optimised away, -fwrapv broken

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

| We do weight between cost and result which is a reason we keep branches in
| active maintainance for a long time.  But we need to focus on where the
| majority of our users are, which is gcc 4.1 nowadays.

Fully agreed.

We must however do something about the integer overflow thingy,
because we stillface the needs of our user base. 

-- Gaby


-- 


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



[Bug fortran/30404] Wrong FORALL result

2007-01-16 Thread sayle at gcc dot gnu dot org


--- Comment #5 from sayle at gcc dot gnu dot org  2007-01-16 18:15 ---
Subject: Bug 30404

Author: sayle
Date: Tue Jan 16 18:15:19 2007
New Revision: 120829

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=120829
Log:
2007-01-16  Roger Sayle  [EMAIL PROTECTED]

PR fortran/30404
* trans-stmt.c (forall_info): Remove pmask field.
(gfc_trans_forall_loop): Remove NVAR argument, instead assume that
NVAR covers all the interation variables in the current forall_info.
Add an extra OUTER parameter, which specified the loop header in
which to place mask index initializations.
(gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
Change the semantics of MASK_FLAG to only control the mask in the
innermost loop.
(compute_overall_iter_number): Optimize the trivial case of a
top-level loop having a constant number of iterations.  Update
call to gfc_trans_nested_forall_loop.  Calculate the number of
times the inner loop will be executed, not to size of the 
iteration space.
(allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
sizeof(type) == 1.  Tidy up.
(gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
to gfc_trans_nested_forall_loop.
(gfc_trans_pointer_assign_need_temp): Likewise.
(gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
LENVAR local variables.  Split mask allocation into a separate
hunk/pass from mask population.  Use allocate_temp_for_forall_nest
to allocate the FORALL mask with the correct size.  Update calls
to gfc_trans_nested_forall_loop.
(gfc_evaluate_where_mask): Update call to
gfc_trans_nested_forall_loop.
(gfc_trans_where_2): Likewise.

* gfortran.dg/forall_6.f90: New test case.
* gfortran.dg/dependency_8.f90: Update test to find temp array.
* gfortran.dg/dependency_13.f90: Likewise.


Added:
trunk/gcc/testsuite/gfortran.dg/forall_6.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-stmt.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/dependency_13.f90
trunk/gcc/testsuite/gfortran.dg/dependency_8.f90


-- 


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



[Bug middle-end/18071] [4.0/4.1/4.2/4.3 Regression] -Winline does not respect -fno-default-inline

2007-01-16 Thread patchapp at dberlin dot org


--- Comment #27 from patchapp at dberlin dot org  2007-01-16 19:45 ---
Subject: Bug number PR middle-end/18071

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01366.html


-- 


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



[Bug target/30485] New: ICE in rs6000_emit_vector_compare when building with -fno-trapping-math

2007-01-16 Thread jconner at apple dot com
The tests pr23816-1.c and vect-111.c (from gcc.dg/vect) generate an ICE when
compiled with -fno-trapping-math for rs6000:

$ gcc pr23816-1.c -fno-trapping-math -ftree-vectorize -maltivec -O2
pr23816-1.c: In function 'foo':
pr23816-1.c:9: internal compiler error: in rs6000_emit_vector_compare, at
config/rs6000/rs6000.c:11962
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
$ gcc vect-111.c -fno-trapping-math -ftree-vectorize -maltivec -O2
vect-111.c: In function 'main1':
vect-111.c:19: internal compiler error: in rs6000_emit_vector_compare, at
config/rs6000/rs6000.c:11962
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
$

I have a patch for this that I'll submit...


-- 
   Summary: ICE in rs6000_emit_vector_compare when building with -
fno-trapping-math
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jconner at apple dot com
  GCC host triplet: powerpc-apple-darwin8
GCC target triplet: powerpc-apple-darwin8


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



[Bug c/30486] New: ICE in aggregate_value_p

2007-01-16 Thread aldot at gcc dot gnu dot org
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2-final/./gcc/cc1
-E -lang-fortran -traditional-cpp -D_LANGUAGE_FORTRAN -quiet -v -I.
-I/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/libgfortran -I.
-I/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/libgfortran/../gcc
-I/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/libgfortran/../gcc/config
-I../.././gcc -I . -iprefix
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2-final/gcc/../lib/gcc/arm-linux-uclibcgnueabi/4.2.0/
-isystem
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2-final/./gcc/include
-DHAVE_CONFIG_H -D_GNU_SOURCE -DPIC -isystem
/scratch/obj.x86_64/buildroot.arm/build_arm/staging_dir/arm-linux-uclibcgnueabi/include
-isystem
/scratch/obj.x86_64/buildroot.arm/build_arm/staging_dir/arm-linux-uclibcgnueabi/sys-include
-iquote/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/libgfortran/io
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/libgfortran/generated/_mod_i8.F90
-Wall -fno-repack-arrays -fno-underscoring -fPIC -fworking-directory -O2 -o
ice_on_armeabi.f95

$ egrep -v ^(#|$|!) ice_on_armeabi.f95 
elemental function specific__mod_i8 (p1, p2)
   integer (kind=8), intent (in) :: p1, p2
   integer (kind=8) :: specific__mod_i8
   specific__mod_i8 = mod (p1, p2)
end function

(gdb) run
Starting program:
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2-final/gcc/f951
ice_on_armeabi.f95 -ffree-form -quiet -dumpbase _mod_i8.F90 -auxbase-strip
.libs/_mod_i8.o -g -O2 -Wall -version -fno-repack-arrays -fno-underscoring
-fPIC -I.
-I/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/libgfortran -I.
-I/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/libgfortran/../gcc
-I/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/libgfortran/../gcc/config
-I../.././gcc -I . -fpreprocessed -I finclude -o /dev/null 
GNU F95 version 4.2.0 20070115 (prerelease) (arm-linux-uclibcgnueabi)
compiled by GNU C version 4.0.3 (Ubuntu 4.0.3-1ubuntu5).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072

Program received signal SIGSEGV, Segmentation fault.
aggregate_value_p (exp=0x0, fntype=0x0)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/function.c:1756
1756  tree type = (TYPE_P (exp)) ? exp : TREE_TYPE (exp);
(gdb) bt  
#0  aggregate_value_p (exp=0x0, fntype=0x0)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/function.c:1756
#1  0x004dbdc5 in emit_library_call_value_1 (retval=1, 
orgfun=0x2b15ea40, value=0x0, fn_type=LCT_CONST, outmode=TImode, 
nargs=value optimized out, p=0x7fa29800)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/calls.c:3312
#2  0x004dc435 in emit_library_call_value (orgfun=0x0, value=0x0, 
fn_type=LCT_THROW, outmode=TImode, nargs=2)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/calls.c:3967
#3  0x005d9b7a in expand_twoval_binop_libfunc (
binoptab=value optimized out, op0=0x2b1989e0, op1=0x2b1989c0, 
targ0=dwarf2_read_address: Corrupted DWARF expression.
)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/optabs.c:2283
#4  0x0052b6e9 in expand_divmod (rem_flag=1, code=TRUNC_MOD_EXPR, 
mode=DImode, op0=0x2b1989e0, op1=0x2b1989c0, 
target=0x2b198980, unsignedp=0)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/expmed.c:4914
#5  0x00534bcd in expand_expr_real_1 (exp=value optimized out, 
target=0x2b198980, tmode=value optimized out, 
modifier=value optimized out, alt_rtl=0x0)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/expr.c:8189
#6  0x005382cb in expand_expr_real (exp=0x2b0ec370, 
target=0x2b198980, tmode=DImode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/expr.c:6706
#7  0x00631324 in expand_return (retval=0x2b0ec5a0) at expr.h:493
#8  0x00534995 in expand_expr_real_1 (exp=value optimized out, 
target=0x2b0eb400, tmode=value optimized out, 
modifier=value optimized out, alt_rtl=0x0)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/expr.c:8613
#9  0x005382cb in expand_expr_real (exp=0x2b197100, 
target=0x2b0eb400, tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/expr.c:6706
#10 0x00630fd9 in expand_expr_stmt (exp=0x0) at expr.h:493
#11 0x0065ac16 in expand_gimple_basic_block (bb=0x2b19a100)
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/cfgexpand.c:1383
#12 0x0065bd0b in tree_expand_cfg ()
at
/scratch/obj.x86_64/buildroot.arm/toolchain_build_arm/gcc-4.2/gcc/cfgexpand.c:1649
#13 0x006591c8 

[Bug fortran/30487] New: Math implicit function in forall statement causes compiler error

2007-01-16 Thread icksa1 at gmail dot com
Hi:
I noticed that whenever I use a math function (such as sqrt, cos, log) in a
forall all statement that further uses of that function caused gfortran to say
that the function has no implicit type. I've shown an example program below:

program test

  implicit none

  integer :: i
  real :: a, c(5) = (/1.0,2.0,3.0,4.0,5.0/), d(5)

  a = sqrt(2.0)

  d(:) = 0.0

  forall (i = 1:5, sqrt(c(i))  2.0)
 d(i) = i
  end forall

end program test


If I try to compile the above program I get the following error:

 In file test.f90:8

  a = sqrt(2.0)
 1
Error: Symbol 'sqrt' at (1) has no IMPLICIT type

If I comment out the line a = sqrt(2.0), everything works fine. Also, if I
don't use the sqrt test in the forall statement, everything works fine. If you
substitute other mathematical functions for sqrt (such as log or cos) it fails
to compile in a similar way.

I tried this in the latest experimental build (downloaded from the gfortran
wiki) and had similar problems.

Thank You


-- 
   Summary: Math implicit function in forall statement causes
compiler error
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: icksa1 at gmail dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c/8268] no compile time array index checking

2007-01-16 Thread dcb314 at hotmail dot com


--- Comment #41 from dcb314 at hotmail dot com  2007-01-16 21:18 ---
(In reply to comment #40)
 I've a patch, which is currently blocked by -fivopts bug

Still blocked ?


-- 


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



[Bug fortran/30487] Math implicit function in forall statement causes compiler error

2007-01-16 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2007-01-16 21:30 ---
Confirmed with gfortran 4.3.0 20070116.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|i686-pc-linux-gnu   |
   GCC host triplet|i686-pc-linux-gnu   |
 GCC target triplet|i686-pc-linux-gnu   |
   Keywords||rejects-valid
   Last reconfirmed|-00-00 00:00:00 |2007-01-16 21:30:26
   date||


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



[Bug c/30456] tgmath.h not found

2007-01-16 Thread schnetter at aei dot mpg dot de


--- Comment #2 from schnetter at aei dot mpg dot de  2007-01-16 21:45 
---
This is what Apple thinks about tgmath.h.  See
http://developer.apple.com/releasenotes/DeveloperTools/RN-GCC4/index.html:

Major bugs fixed in this release of GCC 4.0:
radar 2872232: Compiler should provide a tgmath.h

This means that Apple thinks that tgmath.h should ship with the compiler, and
the Apple-modified versions of gcc will contain it.  The operating system
won't.  Hence vanilla versions of gcc won't find tgmath.h on Apple machines.

I have opened a bug report with Apple, Bug ID# 4927542.


-- 


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



[Bug fortran/30481] Accepts namelist-group object with assumed character length

2007-01-16 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2007-01-16 21:50 ---
Fortran 95:
Constraint:
A namelist-group-object shall not be an array dummy argument with a nonconstant
bound, a variable with nonconstant character length, an automatic object, a
pointer, a variable of a type that has an ultimate component that is a pointer,
or an allocatable array.

Actually, I have problems to find this constrain explicitly in Fortran 2003.
I believe it must be buried in the last paragraph.

5.4 NAMELIST statement
C574 (R553) A namelist-group-object shall not be an assumed-size array.
A namelist group object shall either be accessed by use or host association or
shall have its type, type parameters, and shape specified by previous
specification statements or the procedure heading in the same scoping unit or
by the implicit typing rules in effect for the scoping unit. If a namelist
group object is typed by the implicit typing rules, its appearance in any
subsequent type declaration statement shall confirm the implied type and type
parameters.


-- 


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



[Bug c/16202] The -Wsequence-point warning misses many important instances

2007-01-16 Thread manu at gcc dot gnu dot org


--- Comment #7 from manu at gcc dot gnu dot org  2007-01-16 22:02 ---
(In reply to comment #5)
 Created an attachment (id=7299)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7299action=view) [edit]
 proposed patch
 
 I've attached a more official-looking patch, with a testsuite change to
 gcc.dg/sequence-pt-1.c and a new sequence-pt-2.c
 

Could you send your patch to [EMAIL PROTECTED], please ? Thanks.

You can find more info on contributing to GCC development at:
http://gcc.gnu.org/contribute.html


-- 


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



[Bug target/30484] Miscompilation of remainder expressions on CPUs of the i386 family

2007-01-16 Thread vincent at vinc17 dot org


--- Comment #1 from vincent at vinc17 dot org  2007-01-16 22:03 ---
Is this specific to x86? On PowerPC (gcc 4.0.1 from Mac OS X), I get:

-2147483648 % -1 - -2147483648

Ditto with:

#include limits.h
#include stdio.h

int main (void)
{
  volatile int i = INT_MIN, j = -1;
  printf (%d\n, i % j);
  return 0;
}


-- 

vincent at vinc17 dot org changed:

   What|Removed |Added

 CC||vincent at vinc17 dot org


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



[Bug target/30484] Miscompilation of remainder expressions on CPUs of the i386 family

2007-01-16 Thread vincent at vinc17 dot org


--- Comment #2 from vincent at vinc17 dot org  2007-01-16 22:10 ---
-2147483648, this was on a G5, with gcc 4.0.1 under Mac OS X. On a G4 under
Linux, with gcc 4.1.2 prerelease (Debian), I get 2147483647.


-- 


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



[Bug target/30484] Miscompilation of remainder expressions on CPUs of the i386 family

2007-01-16 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-01-16 22:11 ---
(In reply to comment #1)
 Is this specific to x86? On PowerPC (gcc 4.0.1 from Mac OS X), I get:

This is because the PPC ISA says for divide:
If an attempt is made to perform either of the divisions -- 0x8000_ / -1 or
anything / 0, then the contents of rD are undefined, as are the contents of
the LT, GT, and EQ bits of the CR0 field (if Rc = 1).  In this case, if OE = 1
then OV is set.

The 32-bit signed remainder of diving the contents of rA by the contents of rB
can be computed as follows, exept in the case that hthe constnat of ra = - 2^31
and the constants of rB = -1.
divw rD, rA, rB
mullw rD, rD, rB
subf rD, rD, rA

--
So the ISA in fact even mentions this case :).


-- 


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



[Bug target/30484] Miscompilation of remainder expressions on CPUs of the i386 family

2007-01-16 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-01-16 22:15 ---
(In reply to comment #3)
 So the ISA in fact even mentions this case :).
But the PPC compiler writers guide does not talk about that case, hmmm.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|major   |normal


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



[Bug c/16202] The -Wsequence-point warning misses many important instances

2007-01-16 Thread manu at gcc dot gnu dot org


--- Comment #8 from manu at gcc dot gnu dot org  2007-01-16 22:35 ---
(In reply to comment #5)
 Created an attachment (id=7299)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7299action=view) [edit]
 proposed patch
 
 I've attached a more official-looking patch, with a testsuite change to
 gcc.dg/sequence-pt-1.c and a new sequence-pt-2.c

This patch does not even compile on current mainline, since lvalue_p was moved
out of c-common.c to c-typeck.c and to cp/tree.c :( 


-- 


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



[Bug libgcj/30454] [4.3 Regression] classpath/gnu/javax/crypto/jce/GnuCrypto.java:431: error: cannot find file for class gnu.javax.crypto.jce.mac.HMacSHA512Spi

2007-01-16 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #4 from dave at hiauly1 dot hia dot nrc dot ca  2007-01-16 
23:04 ---
Subject: Re:  [4.3 Regression]
classpath/gnu/javax/crypto/jce/GnuCrypto.java:431: error: cannot find file for
class gnuRO

 make -j 2 bootstrap 

Error also occurs with make bootstrap.

Dave


-- 


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



[Bug c++/11856] unsigned warning in template

2007-01-16 Thread manu at gcc dot gnu dot org


--- Comment #13 from manu at gcc dot gnu dot org  2007-01-17 00:47 ---
#include cassert
template typename Int, Int D
void f(Int x) {
  assert(0 = x and x = D);
}
int main() {
  funsigned char, 2(5);
  fsigned char, 2(5);
}


We don't emit a warning when instantiated as a signed char, so everything boils
down to having an option to disable the warning, doesn't it?

There is a patch pending review for that:
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01120.html


-- 


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



[Bug c++/11856] unsigned warning in template

2007-01-16 Thread gdr at cs dot tamu dot edu


--- Comment #14 from gdr at cs dot tamu dot edu  2007-01-17 00:59 ---
Subject: Re:  unsigned warning in template

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

| #include cassert
| template typename Int, Int D
| void f(Int x) {
|   assert(0 = x and x = D);
| }
| int main() {
|   funsigned char, 2(5);
|   fsigned char, 2(5);
| }
| 
| 
| We don't emit a warning when instantiated as a signed char, so everything
boils
| down to having an option to disable the warning, doesn't it?

the logical inference escapes me.

-- Gaby


-- 


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



[Bug c++/11856] unsigned warning in template

2007-01-16 Thread manu at gcc dot gnu dot org


--- Comment #15 from manu at gcc dot gnu dot org  2007-01-17 01:11 ---
(In reply to comment #14)
 | We don't emit a warning when instantiated as a signed char, so everything
 boils
 | down to having an option to disable the warning, doesn't it?
 
 the logical inference escapes me.
 

Is having an option to disable the warning the right fix for this PR or is it
not?

If it is, there is a patch pending review.
If it is not, could you explain what would be the correct behaviour?

Thanks.


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|manu at gcc dot gnu dot org |unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW


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



[Bug c++/11856] unsigned warning in template

2007-01-16 Thread gdr at cs dot tamu dot edu


--- Comment #16 from gdr at cs dot tamu dot edu  2007-01-17 01:30 ---
Subject: Re:  unsigned warning in template

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

| (In reply to comment #14)
|  | We don't emit a warning when instantiated as a signed char, so everything
|  boils
|  | down to having an option to disable the warning, doesn't it?
|  
|  the logical inference escapes me.
|  
| 
| Is having an option to disable the warning the right fix for this PR or is it
| not?

You made an inference in an earlier message, and I would like to
understand it.  Because, I do not believe a nobe in form
of hey, you can silence it with with sledge-hammer is the solution to this
particular type of constructs -- note that constants are involved.

Care to explain further your earlier message?

-- Gaby


-- 


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



[Bug c++/11856] unsigned warning in template

2007-01-16 Thread tromey at gcc dot gnu dot org


--- Comment #17 from tromey at gcc dot gnu dot org  2007-01-17 01:32 ---
A flag to control the warning does not provide
fine enough granularity of control.  That is, sometimes
the warning is appropriate, and disabling the warning
would let through code that you would prefer not to let through.

One idea would be to disable the warning if the expression involves
types which came from a template instantiation (sorry, I don't know
the C++ terminology for this).

This at least would suitably solve the case I ran into while
writing gcjx.


-- 


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



[Bug fortran/30487] Math implicit function in forall statement causes compiler error

2007-01-16 Thread kargl at gcc dot gnu dot org


--- Comment #2 from kargl at gcc dot gnu dot org  2007-01-17 01:37 ---
A workaround for this problem is place parentheses around the
mask in the forall.  The parentheses force evaluation of the
expression whereas gfortran is apparently taking a different
path through the compiler without.

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


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/30400] ANY not accepted as mask in FORALL

2007-01-16 Thread kargl at gcc dot gnu dot org


--- Comment #2 from kargl at gcc dot gnu dot org  2007-01-17 01:37 ---
*** Bug 30487 has been marked as a duplicate of this bug. ***


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||icksa1 at gmail dot com


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



[Bug c++/11856] unsigned warning in template

2007-01-16 Thread gdr at cs dot tamu dot edu


--- Comment #18 from gdr at cs dot tamu dot edu  2007-01-17 01:46 ---
Subject: Re:  unsigned warning in template

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

| A flag to control the warning does not provide
| fine enough granularity of control.

Indeed.

|  That is, sometimes
| the warning is appropriate, and disabling the warning
| would let through code that you would prefer not to let through.

Indeed.

The particularity of this PR is that it involves only constants.
It that case, the compiler should just elide the warning.  That would
be a first order approximation of a solution to this issue.

| One idea would be to disable the warning if the expression involves
| types which came from a template instantiation (sorry, I don't know
| the C++ terminology for this).

Please, don't sorry about the terminology.  The particularity of such
expressions is that they are constants.  And I would like we solve
this not just for template arguments, but of such comparaison
involving constants.  

Tom, what do you think?

-- Gaby


-- 


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



[Bug c++/11856] unsigned warning in template

2007-01-16 Thread manu at gcc dot gnu dot org


--- Comment #19 from manu at gcc dot gnu dot org  2007-01-17 03:49 ---

(In reply to comment #16)
 Subject: Re:  unsigned warning in template
 
 manu at gcc dot gnu dot org [EMAIL PROTECTED] writes:
 
 | (In reply to comment #14)
 |  | We don't emit a warning when instantiated as a signed char, so 
 everything
 |  boils
 |  | down to having an option to disable the warning, doesn't it?
 |  
 |  the logical inference escapes me.
 |  
 | 
 | Is having an option to disable the warning the right fix for this PR or is 
 it
 | not?
 
 You made an inference in an earlier message, and I would like to
 understand it.  Because, I do not believe a nobe in form
 of hey, you can silence it with with sledge-hammer is the solution to this
 particular type of constructs -- note that constants are involved.
 
 Care to explain further your earlier message?
 

Of course. I was reflecting on the fact that we don't warn when the template is
instantiated as signed int. Also, we don't warn for template parameters:

template typename Int, Int D
void g(void) {
  assert(0 = D);
}
int gg(void) {
  gunsigned char, 2();
}


However, those are different from the template testcase discussed here. Yet,
since the comparison in the template testcase seems to me as constant as in
this case:

#include cassert 
void f(unsigned char c) { 
  assert(0 = c and c = 2); 
} 
int main() { 
  f(5); 
} 

and as far as I know front-ends cannot do dataflow solving, I wrongly concluded
that there was nothing else we could do. If you have a solution in mind, that
is great! I hope you manage to find time to implement it. Being able to know
the value of c would be very useful for many other warnings, -Wconversion in
particular, so I will learn a lot from your patch.

Nonetheless, having an individual option -Wcomparison-fixed to enabled/disable
this unnamed warning seems worthwhile by itself and it is also useful as a
temporary work-around while you are working in your patch.

Also, the same patch will close PR 23587 and PR 12963 and come closer to fix PR
7651. 

We can keep this PR open until your patch is committed.


-- 


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



[Bug libstdc++/30463] [regression] -Wconversion triggers warnings for vector::push_back()

2007-01-16 Thread pcarlini at suse dot de


--- Comment #1 from pcarlini at suse dot de  2007-01-17 04:20 ---
I'm marking this one as duplicate of the other: by now we know well it's really
the same issue and in any case an audit is necessary (assuming the warning
stays, of course)

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


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug libstdc++/30464] [regression] -Wconversion triggers warnings for deque::push_back()

2007-01-16 Thread pcarlini at suse dot de


--- Comment #8 from pcarlini at suse dot de  2007-01-17 04:20 ---
*** Bug 30463 has been marked as a duplicate of this bug. ***


-- 


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



[Bug libstdc++/30464] [regression] -Wconversion triggers warnings for deque::push_back()

2007-01-16 Thread pcarlini at suse dot de


--- Comment #9 from pcarlini at suse dot de  2007-01-17 04:22 ---
Gaby, any news about the signed - unsigned warning itself? Are we going to
keep it or are we coming to the conclusion it's too noisy?


-- 


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



[Bug libstdc++/30482] complex division by 0

2007-01-16 Thread pcarlini at suse dot de


--- Comment #1 from pcarlini at suse dot de  2007-01-17 04:48 ---
Jakub, a few observations: the first one, we have got other PRs about complex
math (e.g., 24581, 28408), I don't know if you are aware of that, it would be
great if you could have a unified look. Also, I don't think we want to change
the library here (like in you link), I think we discussed this kind of solution
for such troubles other times and we came to the conclusion that really these
are compiler issues, because we are relying in a very straightforward way on
the complex extension (maybe Gaby has something to add). Also, as you may also
find in some of the existing audit trails and past discussions on gcc@, people
is particularly troubled by the large differences in behavior when optimizing
and not, I think we should tackle that issue.

Ah, maybe the most important point for this specific PR: I think we *do* want a
behavior of the complex division in C++ consistent with C99 (and LIA-2, which,
AFAIK, is consistent with C99), for many different reasons, among other things,
the new standard will be based on C99, not C89, probably Gaby has something
to add. Unfortunately, I'm afraid the way we are implementing C99 vs complex in
the middle-end is buggy, see 24581, Joseph' comments in particular, but
consistency between the C99 and the C++ math seems to me an improvement anyway.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 CC||gdr at integrable-solutions
   ||dot net


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



[Bug testsuite/30489] New: treelang.log ends up in main testsuite dir, not treelang subdir.

2007-01-16 Thread brooks at gcc dot gnu dot org
After make check-treelang, I have a treelang subdirectory within
build/gcc/testsuite, but no files end up in it, and treelang.log ends up in the
build/gcc/testsuite directory.


-- 
   Summary: treelang.log ends up in main testsuite dir, not treelang
subdir.
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: brooks at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c++/30470] Compiling C++ programs with -mno-80387 and -O3 failes

2007-01-16 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2007-01-17 06:58 ---
(In reply to comment #4)
 Testcase compiles OK with gcc version 4.3.0 20070115 (experimental).

Uh, I was compiling in 32bit mode. For x86_64 compilation fails as documented
in comment #3.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

  Known to work|4.3.0   |


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



[Bug target/30484] Miscompilation of remainder expressions on CPUs of the i386 family

2007-01-16 Thread jv244 at cam dot ac dot uk


--- Comment #5 from jv244 at cam dot ac dot uk  2007-01-17 07:14 ---
(In reply to comment #0)
 The program below shows (at all the optimization levels) a miscompilation of
 the remainder expression that causes INT_MIN % -1 to cause a SIGFPE on CPUs of
 the i386 family.

notice that this is language dependent. I.e. in Fortran the equivalent of the
above 'INT_MIN % -1' is undefined. So, whatever the fix for C and friends, it
should not slow down Fortran programs using MOD.


-- 


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



[Bug middle-end/30473] [4.0/4.1/4.2/4.3 Regression] Internal Compiler Error with a sprintf with few arguments for format %s

2007-01-16 Thread avg07 at tid dot es


--- Comment #2 from avg07 at tid dot es  2007-01-17 07:23 ---
Created an attachment (id=12912)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12912action=view)
patch to rev 120440: make additional check on arglist


-- 


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