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

2007-08-26 Thread dorit at gcc dot gnu dot org


--- Comment #10 from dorit at gcc dot gnu dot org  2007-08-26 07:49 ---
(In reply to comment #9)
 I've confirmed that the problem is caused by '-ftree-vectorize' passed to
 compile gcc. More precisely, a 'movdqa' instruction in constraint_operands()
 accessed an unaligned memory.

since this is reported to work on 4.2 and 4.3, I wonder if it's related to the
fix for PR25413 (which was committed to 4.2 and 4.3).


-- 


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



[Bug target/28069] __m128 local variables don't get properly aligned.

2007-08-26 Thread zuxy dot meng at gmail dot com


--- Comment #5 from zuxy dot meng at gmail dot com  2007-08-26 07:58 ---


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


-- 

zuxy dot meng at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug target/27537] XMM alignment fault when compiling for i386 with -Os

2007-08-26 Thread zuxy dot meng at gmail dot com


--- Comment #17 from zuxy dot meng at gmail dot com  2007-08-26 07:58 
---
*** Bug 28069 has been marked as a duplicate of this bug. ***


-- 

zuxy dot meng at gmail dot com changed:

   What|Removed |Added

 CC||zuxy dot meng at gmail dot
   ||com


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



[Bug c++/32305] ICE in initialize_flags_in_bb with -O -fipa-pta

2007-08-26 Thread tbm at cyrius dot com


--- Comment #3 from tbm at cyrius dot com  2007-08-26 08:30 ---
I get Richi's error with the alternative testcase below:

(sid)26000:[EMAIL PROTECTED]: ~/delta/bin] /usr/lib/gcc-snapshot/bin/gcc -O -c
-fipa-pta mini.c
mini.c: In function 'TestMD2':
mini.c:7: error: stmt (0x2b31b665e0c0) marked modified after optimization pass:
return;
mini.c:7: internal compiler error: verify_ssa failed
Please submit a full bug report,



/* Testcase by Martin Michlmayr [EMAIL PROTECTED] */

static const char *strings[] = {
};
TestMD2 (void)
{
}


-- 


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



[Bug c++/33194] New: [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...)

2007-08-26 Thread tbm at cyrius dot com
[ Forwarded from http://bugs.debian.org/437939 ]

Eugeniy Meshcheryakov reports the following ICE:

(sid)26008:[EMAIL PROTECTED]: ~/src] /usr/lib/gcc-snapshot/bin/g++ -c 2.ii
2.ii: In member function 'void dwflpp::translate_location()':
2.ii:18: internal compiler error: canonical types differ for identical types
void ()(const char*, ...) and void ()(const char*, ...)
Please submit a full bug report,
with preprocessed source if appropriate.


His testcase:

void c_translate_location (
   void (*fail) (
   const char *fmt, ...)
   __attribute__ ((noreturn,
 format (printf, 1, 2)))
   );


struct dwflpp
{
  static void loc2c_error (const char *fmt, ...)
  {
  }

  void
  translate_location()
  {
return c_translate_location (loc2c_error);
  }
};


-- 
   Summary: [4.3 Regression] ICE: canonical types differ for
identical types void ()(const char*, ...) and void
()(const char*, ...)
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com


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



Re: [Bug c/33192] New: __imag operator drops side effects in subexpr

2007-08-26 Thread Andrew Pinski
On 26 Aug 2007 05:21:22 -, sabre at nondot dot org
[EMAIL PROTECTED] wrote:
 to not call bar.

The problem is in c-typeck.c (build_unary_op) (around line 2986).
the code looks like:
  if (TREE_CODE (arg) == COMPLEX_CST)
return TREE_IMAGPART (arg);
  else if (TREE_CODE (TREE_TYPE (arg)) == COMPLEX_TYPE)
return fold_build1 (IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (arg)), arg);
  else
return convert (TREE_TYPE (arg), integer_zero_node);


So there is no check for TREE_SIDE_EFFECTS.  Maybe it should use
omit_one_operand or build a COMPOUND_EXPR.  Either one will fix the
bug.

-- Pinski


[Bug c/33192] __imag operator drops side effects in subexpr

2007-08-26 Thread pinskia at gmail dot com


--- Comment #1 from pinskia at gmail dot com  2007-08-26 09:00 ---
Subject: Re:  New: __imag operator drops side effects in subexpr

On 26 Aug 2007 05:21:22 -, sabre at nondot dot org
[EMAIL PROTECTED] wrote:
 to not call bar.

The problem is in c-typeck.c (build_unary_op) (around line 2986).
the code looks like:
  if (TREE_CODE (arg) == COMPLEX_CST)
return TREE_IMAGPART (arg);
  else if (TREE_CODE (TREE_TYPE (arg)) == COMPLEX_TYPE)
return fold_build1 (IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (arg)), arg);
  else
return convert (TREE_TYPE (arg), integer_zero_node);


So there is no check for TREE_SIDE_EFFECTS.  Maybe it should use
omit_one_operand or build a COMPOUND_EXPR.  Either one will fix the
bug.

-- Pinski


-- 


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



[Bug fortran/33180] Cannot IMPORT symbols later defined in the module

2007-08-26 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2007-08-26 09:31 ---
INVALID. I missed the prior in:

The IMPORT statement specifies that the named entities from the host scoping
unit are accessible in the interface body by host association. An entity that
is imported in this manner and is defined in the host scoping unit shall be
explicitly declared prior to the interface body.

See also:
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/92f205ca6ba650f1/#


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2007-08-26 10:56 ---
C testcase:

--cut here--
extern void abort (void);

enum Status
{
  P_ON_LOWER = -4,
  P_ON_UPPER = -2,
  P_FREE = -1
};

void
foo (enum Status *stat, double newUpper, double lower, double max)
{
  if (newUpper = max)
*stat = (lower = -max) ? P_FREE : P_ON_LOWER;
  else if (newUpper == lower)
*stat = P_ON_LOWER;
}

int
main ()
{
  enum Status stat = P_ON_UPPER;

  foo (stat, 5.0, -10.0, 10.0);

  if (stat != P_ON_UPPER)
abort ();
  return 0;
}
--cut here--

For some reason, ifcvt converts 

(note 32 28 33 7 [bb 7] NOTE_INSN_BASIC_BLOCK)

(insn 33 32 34 7 pr33181.c:15 (set (reg:CCFP 17 flags)
(compare:CCFP (reg/v:DF 60 [ newUpper ])
(reg/v:DF 61 [ lower ]))) 35 {*cmpfp_i_sse} (expr_list:REG_DEAD
(reg
/v:DF 61 [ lower ])
(expr_list:REG_DEAD (reg/v:DF 60 [ newUpper ])
(nil

(jump_insn 34 33 54 7 pr33181.c:15 (set (pc)
(if_then_else (uneq (reg:CCFP 17 flags)
(const_int 0 [0x0]))
(label_ref:DI 54)
(pc))) 563 {*jcc_1} (expr_list:REG_DEAD (reg:CCFP 17 flags)
(expr_list:REG_BR_PROB (const_int 5400 [0x1518])
(nil
;; End of basic block 7 - ( 8 9)

;; Start of basic block ( 7) - 8

(code_label 54 34 38 8 10  [1 uses])

(insn 39 38 45 8 pr33181.c:16 (set (mem:SI (reg/v/f:DI 59 [ stat ]) [2 S4 A32])
(const_int -4 [0xfffc])) 47 {*movsi_1} (expr_list:REG_DEAD
(
reg/v/f:DI 59 [ stat ])
(nil)))

;; End of basic block 8 - ( 9)

 into 

(insn 33 32 62 7 pr33181.c:15 (set (reg:CCFP 17 flags)
(compare:CCFP (reg/v:DF 60 [ newUpper ])
(reg/v:DF 61 [ lower ]))) 35 {*cmpfp_i_sse} (expr_list:REG_DEAD
(reg
/v:DF 61 [ lower ])
(expr_list:REG_DEAD (reg/v:DF 60 [ newUpper ])
(nil

(insn 62 33 61 7 pr33181.c:16 (set (reg:SI 66)
(const_int -4 [0xfffc])) 47 {*movsi_1} (nil))

(insn 61 62 63 7 pr33181.c:16 (set (reg:CCFP 17 flags)
(compare:CCFP (reg/v:DF 60 [ newUpper ])
(reg/v:DF 61 [ lower ]))) 35 {*cmpfp_i_sse} (nil))

(insn 63 61 64 7 pr33181.c:16 (set (reg:SI 65)
(if_then_else:SI (ltgt (reg:CCFP 17 flags)
(const_int 0 [0x0]))
(reg:SI 58 [ iftmp.0 ])
(reg:SI 66))) 798 {*movsicc_noc} (nil))

(insn 64 63 45 7 pr33181.c:16 (set (mem:SI (reg/v/f:DI 59 [ stat ]) [2 S4 A32])
(reg:SI 65)) 47 {*movsi_1} (nil))

 this conversionis wrong, beacuse iftmp.0 is uninitialized in this BB. To
compensate this, df initializes iftmp.0 to zero, resulting in:

.L11:
movl$-4, %eax   #, tmp66
movl$0, %edx#, iftmp.0
comisd  %xmm1, %xmm0# lower, newUpper
cmovne  %edx, %eax  # iftmp.0,, tmp66
movl%eax, (%rdi)# tmp66,* stat
ret

instead of:

.L2:
comisd  %xmm1, %xmm0# lower, newUpper
jne .L12#,
movl$-4, (%rdi) #,* stat
.L12:
rep ; ret


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-08-26 10:56:01
   date||


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



[Bug fortran/31711] was rhs array is changed while assiging to same lhs array

2007-08-26 Thread tkoenig at gcc dot gnu dot org


--- Comment #17 from tkoenig at gcc dot gnu dot org  2007-08-26 11:24 
---
Changing severity to enhancement.


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement


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



[Bug fortran/33188] Fortran 2003: Type declarations without componends

2007-08-26 Thread patchapp at dberlin dot org


--- Comment #1 from patchapp at dberlin dot org  2007-08-26 11:25 ---
Subject: Bug number PR33188

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-08/msg01735.html


-- 


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



[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2007-08-26 12:55 ---
The problem is in the way ifcvt handles IFs without ELSE blocks. Compiling c
testcase with -O2 -ffast-math (on x86_64 target), we hit check for else_bb in
noce_process_if_block(). We continue into line 2196 of ifcvt.c, where we try to
find a store before condition using:

  prev_insn = prev_nonnote_insn (if_info-cond_earliest);

The problem is, that in gcc-4.3, we have:

;; Pred edge  5 [100.0%]  (fallthru)
;; Pred edge  4 [100.0%]  (fallthru)
(code_label 26 25 27 6 5  [0 uses])

(note 27 26 28 6 [bb 6] NOTE_INSN_BASIC_BLOCK)

(insn 28 27 32 6 pr33181.c:14 (set (mem:SI (reg/v/f:DI 59 [ stat ]) [2 S4 A32])
(reg:SI 58 [ iftmp.0 ])) 47 {*movsi_1} (expr_list:REG_DEAD (reg/v/f:DI
59 [ stat ])
(expr_list:REG_DEAD (reg:SI 58 [ iftmp.0 ])
(nil
;; End of basic block 6 - ( 9)
;; lr  out   6 [bp] 7 [sp] 16 [argp] 20 [frame]
;; live  out 6 [bp] 7 [sp] 16 [argp] 20 [frame]


;; Succ edge  9 [100.0%]  (fallthru)

;; Start of basic block ( 2) - 7
;; bb 7 artificial_defs: { }
;; bb 7 artificial_uses: { u35(6){ }u36(7){ }u37(16){ }u38(20){ }}
;; lr  in6 [bp] 7 [sp] 16 [argp] 20 [frame] 59 60 61
;; lr  use   6 [bp] 7 [sp] 16 [argp] 20 [frame] 60 61
;; lr  def   17 [flags]
;; live  in  6 [bp] 7 [sp] 16 [argp] 20 [frame] 59 60 61
;; live  gen 17 [flags]
;; live  kill

;; Pred edge  2 [50.0%]  (fallthru)
(note 32 28 33 7 [bb 7] NOTE_INSN_BASIC_BLOCK)

(insn 33 32 34 7 pr33181.c:15 (set (reg:CCFP 17 flags)
(compare:CCFP (reg/v:DF 60 [ newUpper ])
(reg/v:DF 61 [ lower ]))) 35 {*cmpfp_i_sse} (expr_list:REG_DEAD
(reg/v:DF 61 [ lower ])
(expr_list:REG_DEAD (reg/v:DF 60 [ newUpper ])
(nil

So, previous non-note insn from (insn 33) is (insn 28)(!!) in a totally
unrelated BB, leading to all sort of strange things.

For comparison, in gcc-4.1 we have a lot cleaner sequence:

--cut here--
;; Start of basic block 5, registers live: (nil)
(code_label 43 42 44 5 2  [1 uses])

(note 44 43 46 5 [bb 5] NOTE_INSN_BASIC_BLOCK)

(insn 46 44 47 5 (set (reg:CCFP 17 flags)
(compare:CCFP (reg/v:DF 60 [ newUpper ])
(reg/v:DF 61 [ lower ]))) 28 {*cmpfp_i_sse} (nil)
(nil))

(jump_insn 47 46 52 5 (set (pc)
(if_then_else (ltgt (reg:CCFP 17 flags)
(const_int 0 [0x0]))
(label_ref:DI 62)
(pc))) 531 {*jcc_1} (nil)
(expr_list:REG_BR_PROB (const_int 3300 [0xce4])
(nil)))
;; End of basic block 5, registers live:
 (nil)

;; Start of basic block 6, registers live: (nil)
(note 52 47 54 6 [bb 6] NOTE_INSN_BASIC_BLOCK)

(insn 54 52 57 6 (set (mem:SI (reg/v/f:DI 59 [ stat ]) [2 S4 A32])
(const_int -4 [0xfffc])) 40 {*movsi_1} (nil)
(nil))
;; End of basic block 6, registers live:
 (nil)

(note 57 54 62 NOTE_INSN_FUNCTION_END)

;; Start of basic block 7, registers live: (nil)
(code_label 62 57 71 7 12  [2 uses])

(note 71 62 0 7 [bb 7] NOTE_INSN_BASIC_BLOCK)
;; End of basic block 7, registers live:
 (nil)
--cut here--

And previous non-note insn of the condition is (code label 43) that correctly
blocks cmove conversion.

Perhaps Jan has an advice on prev_nonnote_insn() usage in
noce_process_if_block().


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org


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



[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread hjl at lucon dot org


--- Comment #6 from hjl at lucon dot org  2007-08-26 14:42 ---
This patch

2007-08-26  H.J. Lu  [EMAIL PROTECTED]

PR middle-end/33181
* ifcvt.c (noce_process_if_block): Don't move insn across
basic block.

--- gcc/ifcvt.c.cmov2007-08-24 06:02:57.0 -0700
+++ gcc/ifcvt.c 2007-08-26 07:35:50.0 -0700
@@ -2198,6 +2198,7 @@ noce_process_if_block (struct noce_if_in
 COND_EARLIEST to JUMP.  Make sure the relevant data is still
 intact.  */
   if (! insn_b
+ || BLOCK_NUM (insn_b) != BLOCK_NUM (if_info-cond_earliest)
  || !NONJUMP_INSN_P (insn_b)
  || (set_b = single_set (insn_b)) == NULL_RTX
  || ! rtx_equal_p (x, SET_DEST (set_b))

works for me. Does it make senses?


-- 


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



[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread rguenther at suse dot de


--- Comment #7 from rguenther at suse dot de  2007-08-26 14:43 ---
Subject: Re:  [4.3 Regression]  Revision 127766 generates
 bad cmov

On Sun, 26 Aug 2007, ubizjak at gmail dot com wrote:

 So, previous non-note insn from (insn 33) is (insn 28)(!!) in a totally
 unrelated BB, leading to all sort of strange things.

Since ifcvt is now working in cfg-layout mode basically all uses
of prev_nonnote_insn are busted.  I guess you could check if the
result is in the right BB, but ...


-- 


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



[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread rguenther at suse dot de


--- Comment #8 from rguenther at suse dot de  2007-08-26 14:46 ---
Subject: Re:  [4.3 Regression]  Revision 127766 generates
 bad cmov

On Sun, 26 Aug 2007, hjl at lucon dot org wrote:

 This patch
 
 2007-08-26  H.J. Lu  [EMAIL PROTECTED]
 
 PR middle-end/33181
 * ifcvt.c (noce_process_if_block): Don't move insn across
 basic block.
 
 --- gcc/ifcvt.c.cmov2007-08-24 06:02:57.0 -0700
 +++ gcc/ifcvt.c 2007-08-26 07:35:50.0 -0700
 @@ -2198,6 +2198,7 @@ noce_process_if_block (struct noce_if_in
  COND_EARLIEST to JUMP.  Make sure the relevant data is still
  intact.  */
if (! insn_b
 + || BLOCK_NUM (insn_b) != BLOCK_NUM (if_info-cond_earliest)
   || !NONJUMP_INSN_P (insn_b)
   || (set_b = single_set (insn_b)) == NULL_RTX
   || ! rtx_equal_p (x, SET_DEST (set_b))
 
 works for me. Does it make senses?

Yes.  Or if we have domiantors available check if BB(insn_b) dominates
BB(if_info-cond_earliest).

Richard.


-- 


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



[Bug c/33192] __imag operator drops side effects in subexpr

2007-08-26 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-08-26 14:56 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2007-08-26 14:56:26
   date||


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



[Bug c/33193] slopiness in __real/__imag

2007-08-26 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-08-26 14:57 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jsm28 at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||accepts-invalid
   Last reconfirmed|-00-00 00:00:00 |2007-08-26 14:57:20
   date||


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



[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread hjl at lucon dot org


--- Comment #9 from hjl at lucon dot org  2007-08-26 15:01 ---
(In reply to comment #8)

  2007-08-26  H.J. Lu  [EMAIL PROTECTED]
  
  PR middle-end/33181
  * ifcvt.c (noce_process_if_block): Don't move insn across
  basic block.
  
...
 
 Yes.  Or if we have domiantors available check if BB(insn_b) dominates
 BB(if_info-cond_earliest).
 
 Richard.
 

A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01737.html


-- 

hjl at lucon dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2007-
   ||08/msg01737.html


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



[Bug c++/33195] New: ICE: calc_dfs_tree, at dominance.c:374

2007-08-26 Thread mi at aldan dot algebra dot com
Trying to compile the attached file with 4.2.1 20070712 fails with -O2:


-O works.

vital_timing.cc: In function 'array_typelong long int
L4ieee_Q12vital_timing_Y22vitalextendtofilldelay_i259(const array_typelong
long int)':
vital_timing.cc:1055: internal compiler error: in calc_dfs_tree, at
dominance.c:374

Or, when using the properly pre-processed file:

vital_timing.i: In function 'array_typelong long int
L4ieee_Q12vital_timing_Y22vitalextendtofilldelay_i259(const array_typelong
long int)':
vital_timing.i:21623: internal compiler error: in calc_dfs_tree, at
dominance.c:374


-- 
   Summary: ICE: calc_dfs_tree, at dominance.c:374
   Product: gcc
   Version: 4.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mi at aldan dot algebra dot com
 GCC build triplet: x86_64-portbld-freebsd6.2
  GCC host triplet: x86_64-portbld-freebsd6.2
GCC target triplet: x86_64-portbld-freebsd6.2


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



[Bug c++/33195] ICE: calc_dfs_tree, at dominance.c:374

2007-08-26 Thread mi at aldan dot algebra dot com


--- Comment #1 from mi at aldan dot algebra dot com  2007-08-26 15:45 
---
Created an attachment (id=14118)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14118action=view)
The pre-processed vital_timing.cc -- the test case


-- 


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



[Bug target/33151] Invalid insn with pre_inc

2007-08-26 Thread dje at gcc dot gnu dot org


--- Comment #8 from dje at gcc dot gnu dot org  2007-08-26 16:32 ---
Subject: Bug 33151

Author: dje
Date: Sun Aug 26 16:32:40 2007
New Revision: 127807

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127807
Log:
PR target/33151
* config/rs6000/predicates.md (offsettable_mem_operand): Memory
operand without auto-inc-dec.
* config/rs6000/rs6000.md (floatsidf2_internal): Use
offsettable_mem_operand.
(floatunssidf2_internal): Same.
(fix_truncdfsi2_internal): Same.
(floatsidf_ppc64): Same.
(floatunssidf_ppc64): Same.
(fix_trunctfsi2_internal): Same.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/predicates.md
trunk/gcc/config/rs6000/rs6000.md


-- 


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



[Bug fortran/33188] Fortran 2003: Type declarations without componends

2007-08-26 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2007-08-26 17:59 ---
Subject: Bug 33188

Author: burnus
Date: Sun Aug 26 17:59:34 2007
New Revision: 127808

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127808
Log:
2007-08-26  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/33188
* parse.c (parse_derived): Support empty derived type
definitions for Fortran 2003.

2007-08-26  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/33188
* gfortran.dg/used_types_18.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/used_types_18.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/parse.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/33188] Fortran 2003: Type declarations without componends

2007-08-26 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2007-08-26 18:00 ---
FIXED in 4.3.x/trunk.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug fortran/33196] New: Generic name to non-standard procedure: Not diagnosed with -std=f95

2007-08-26 Thread burnus at gcc dot gnu dot org
gfortran.dg/gamma_2.f90 (of PR 32980) contains:

+! { dg-options -std=f2003 -Wall }
+rsp = gamma(rsp)  ! FIXME:  is not included in the selected standard
+rdp = gamma(rdp)  ! FIXME:  is not included in the selected standard
+rqp = gamma(rqp)  ! FIXME:  is not included in the selected standard
+rdp = dgamma(rdp) ! { dg-error is not included in the selected standard }

As one can see only for the specific name (dgamma) there is an error with
-std=f2003 but not for the generic name.

The definition contains the proper STD_GNU:

add_sym_1 (gamma, [...] GFC_STD_GNU [...]
add_sym_1 (dgamma, [...] GFC_STD_GNU [...]
make_generic (gamma, GFC_ISYM_GAMMA, GFC_STD_GNU);


-- 
   Summary: Generic name to non-standard procedure: Not diagnosed
with -std=f95
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: diagnostic
  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=33196



[Bug fortran/32980] Vendor extension: Intrinsic functions (D)GAMMA, LGAMMA (ALGAMA/DLGAMA)

2007-08-26 Thread burnus at gcc dot gnu dot org


--- Comment #9 from burnus at gcc dot gnu dot org  2007-08-26 18:11 ---
Subject: Bug 32980

Author: burnus
Date: Sun Aug 26 18:11:42 2007
New Revision: 127809

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127809
Log:
2007-08-26  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/32980
* intrinsic.h (gfc_simplify_gamma,gfc_simplify_lgamma,
gfc_resolve_gamma,gfc_resolve_lgamma): New function declations.
* mathbuiltins.def: Define GAMMA and LGAMMA.
* intrinsic.c (add_functions): Add GAMMA, DGAMMA, LGAMMA, ALGAMA
and DLGAMA.
* simplify.c (gfc_simplify_gamma,gfc_simplify_lgamma): New functions.
* iresolve.c (gfc_resolve_gamma,gfc_resolve_lgamma): New functions.
* intrinsic.texi: Add documentation for GAMMA and LGAMMA.

2007-08-26  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/32980
* gfortran.dg/gamma_1.f90: New.
* gfortran.dg/gamma_2.f90: New.
* gfortran.dg/gamma_3.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/gamma_1.f90
trunk/gcc/testsuite/gfortran.dg/gamma_2.f90
trunk/gcc/testsuite/gfortran.dg/gamma_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/intrinsic.c
trunk/gcc/fortran/intrinsic.h
trunk/gcc/fortran/intrinsic.texi
trunk/gcc/fortran/iresolve.c
trunk/gcc/fortran/mathbuiltins.def
trunk/gcc/fortran/simplify.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread hjl at gcc dot gnu dot org


--- Comment #10 from hjl at gcc dot gnu dot org  2007-08-26 18:24 ---
Subject: Bug 33181

Author: hjl
Date: Sun Aug 26 18:24:19 2007
New Revision: 127810

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127810
Log:
gcc/

2007-08-26  H.J. Lu  [EMAIL PROTECTED]

PR middle-end/33181
* ifcvt.c (noce_get_alt_condition): Make sure that the previous
non NOTE insn doesn't cross basic block.
(noce_try_abs): Likewise.
(noce_process_if_block): Likewise.

gcc/testsuite/

2007-08-26  H.J. Lu  [EMAIL PROTECTED]

PR middle-end/33181
* gcc.dg/ifelse-2.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/ifelse-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ifcvt.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/33197] New: Fortran 2008: gamma() and other small changes

2007-08-26 Thread burnus at gcc dot gnu dot org
Split of from PR32980 (collected by FX and me)

Fortran 2008 status: http://www.nag.co.uk/sc22wg5/ ; time table:
   First working draft available 2007-12
   WG5 review of working draft   2008-02
   WG5 approval of draft CD  2008-04
   First CD submitted for registration and approval  2008-05
   First CD ballot initiated 2008-05
   First CD ballot comments available2008-10
   WG5 ballot resolution meeting 2008-11
   WG5 review meeting2009-05
   Final CD submitted for approval   2009-07
(The question is when we should start supporting Fortran 2008 (-std=f2008) /
Fortran 2008 features (as -std=gnu).)

Currently proposed additional intrinsic procedures:

- ACOSH, ASINH, ATANH, ERF, ERF_C, GAMMA: Exist in gfortran (STD_GNU)
- BESSEL_J0, _J1, _JN, _Y0, _Y1, _YN: Exist as BESJ0 etc.
- log_gamma: Exists as lgamma
- Not in gfortran: ERFC_SCALED (Exponentially scaled ERFC), HYPOT (=
sqrt(x**2+y**2)), NORM2  (L_2 norm).

(For erfc_scaled: Needs a library function; see e.g.
http://www.netlib.org/specfun/erf)

- The intrinsic function ATAN is extended so that ATAN (Y, X) is ATAN2 (Y,X).
- -stf=f2008 needs to be supported
- File extensions .f08
- Fortran 2008 allows CONTAINS with no procedures following in PROGRAM and
MODULE. (Change STD_GNU to STD_F2008.)


-- 
   Summary: Fortran 2008: gamma() and other small changes
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: enhancement
  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=33197



[Bug fortran/32980] Vendor extension: Intrinsic functions (D)GAMMA, LGAMMA (ALGAMA/DLGAMA)

2007-08-26 Thread burnus at gcc dot gnu dot org


--- Comment #10 from burnus at gcc dot gnu dot org  2007-08-26 18:25 ---
FIXED for the trunk/GCC 4.3.0.

The Fortran 2008 bits are tracked in PR 33197.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/32985] COMMON checking: TYPE with(out) SEQUENCE/bind(C), ALLOCATABLE

2007-08-26 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2007-08-26 18:29 ---
Subject: Bug 32985

Author: burnus
Date: Sun Aug 26 18:29:45 2007
New Revision: 127811

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127811
Log:
2007-08-26  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/32985
* match.c (gfc_match_common): Remove SEQUENCE diagnostics.
* resolve.c (resolve_common_blocks): Add SEQUENCE diagnostics;
fix walking through the tree.

2007-08-26  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/32985
* gfortran.dg/namelist_14.f90: Make test case valid.
* gfortran.dg/common_10.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/common_10.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/match.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/namelist_14.f90


-- 


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



[Bug fortran/33198] New: Derived type in common: Default initializer not rejected

2007-08-26 Thread burnus at gcc dot gnu dot org
Split off from PR 32985.

gfortran does not reject derived types with default initializers in common.

C589 (R558) If a common-block-object is of a derived type, it shall be a
sequence type (4.5.1) or a type with the BIND attribute and it shall have no
default initialization.

The check should be added to resolve.c's resolve_common_blocks.

Example:

  type a
sequence
integer :: i = 1
  end type a
  type(a) :: t
  common /c/ t
  end


-- 
   Summary: Derived type in common: Default initializer not rejected
   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=33198



[Bug fortran/32985] COMMON checking: TYPE with(out) SEQUENCE/bind(C), ALLOCATABLE

2007-08-26 Thread burnus at gcc dot gnu dot org


--- Comment #7 from burnus at gcc dot gnu dot org  2007-08-26 18:34 ---
Partially fixed. The remaining bits (default initializer) are tracked in
PR33198.


-- 


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



[Bug fortran/31298] F2003: use mod, operator(+) = operator(.userOp.) not supported

2007-08-26 Thread burnus at gcc dot gnu dot org


--- Comment #12 from burnus at gcc dot gnu dot org  2007-08-26 18:37 ---
Subject: Bug 31298

Author: burnus
Date: Sun Aug 26 18:37:23 2007
New Revision: 127812

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127812
Log:
2007-08-26  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/31298
* module.c (mio_symbol_ref,mio_interface_rest):  Return pointer_info.
(load_operator_interfaces): Support multible loading of an operator.

2007-08-26  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/31298
* gfortran.dg/use_10.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/use_10.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/module.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/32985] COMMON checking: TYPE with(out) SEQUENCE/bind(C), ALLOCATABLE

2007-08-26 Thread burnus at gcc dot gnu dot org


--- Comment #8 from burnus at gcc dot gnu dot org  2007-08-26 18:39 ---
Mark as fixed.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/31298] F2003: use mod, operator(+) = operator(.userOp.) not supported

2007-08-26 Thread burnus at gcc dot gnu dot org


--- Comment #13 from burnus at gcc dot gnu dot org  2007-08-26 18:43 ---
REMAINING:  operator(generic opterator) = operator(user operator)
e.g.  operator(+) = operator(.myplus.)
For obvious reasons the reversed is not allowed (MRC claims that also the
former is invalid, but I think they err.)

Starting point could be the attachment #13369 and something enhancement of the
previous patch.


-- 


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



[Bug target/32991] config/alpha/constraints.md is marked as mime-type

2007-08-26 Thread hjl at gcc dot gnu dot org


--- Comment #1 from hjl at gcc dot gnu dot org  2007-08-26 19:05 ---
Subject: Bug 32991

Author: hjl
Date: Sun Aug 26 19:04:09 2007
New Revision: 127815

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127815
Log:
2007-08-26  H.J. Lu  [EMAIL PROTECTED]

PR target/32991
* config/alpha/constraints.md: Delete svn:mime-type property
with svn propdel svn:mime-type.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/alpha/constraints.md   (props changed)

Propchange: trunk/gcc/config/alpha/constraints.md
('svn:mime-type' removed)


-- 


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



[Bug target/32991] config/alpha/constraints.md is marked as mime-type

2007-08-26 Thread hjl at lucon dot org


--- Comment #2 from hjl at lucon dot org  2007-08-26 19:31 ---
Fixed.


-- 

hjl at lucon dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov

2007-08-26 Thread hjl at lucon dot org


--- Comment #11 from hjl at lucon dot org  2007-08-26 19:31 ---
Fixed.


-- 

hjl at lucon dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/32758] [4.3 Regression] ecj1 hangs

2007-08-26 Thread andreast at gcc dot gnu dot org


--- Comment #11 from andreast at gcc dot gnu dot org  2007-08-26 21:28 
---
compiling only java_raw_api.c with -O0 succeeds as well. So let us concentrate
on this one. Speaking for darwin-ppc.
Will retry tomorrow on ppc-linux.


-- 

andreast at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||andreast at gcc dot gnu dot
   ||org
 GCC target triplet|powerpc-darwin  |powerpc-*
   Last reconfirmed|2007-08-06 20:34:34 |2007-08-26 21:28:27
   date||


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



[Bug middle-end/33199] New: [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-26 Thread hjl at lucon dot org
Revision 127763:

http://gcc.gnu.org/ml/gcc-cvs/2007-08/msg00657.html

caused

FAIL: tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc execution test

on Linux/i686.


-- 
   Summary: [4.3 Regression]
tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org
GCC target triplet: i686-pc-linux-gnu


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



[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-26 Thread hjl at lucon dot org


--- Comment #1 from hjl at lucon dot org  2007-08-26 21:59 ---
The patch is at

http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01374.html


-- 


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



[Bug libfortran/33055] Runtime error in INQUIRE unit existance with -fdefault-integer-8

2007-08-26 Thread jvdelisle at gcc dot gnu dot org


--- Comment #4 from jvdelisle at gcc dot gnu dot org  2007-08-26 22:05 
---
Subject: Bug 33055

Author: jvdelisle
Date: Sun Aug 26 22:04:48 2007
New Revision: 127817

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127817
Log:
2007-08-26  Jerry DeLisle  [EMAIL PROTECTED]

PR fortran/33055
* trans-io.c (create_dummy_iostat): New function to create a unique
dummy variable expression to use with IOSTAT.
(gfc_trans_inquire): Use the new function to pass unit number error
info
to run-time library if a regular IOSTAT variable was not given.

PR libfortran/33055
* io/inquire.c (inquire_via_unit):  If inquiring by unit, check for 
an error condition from the IOSTAT variable and set EXIST to false if
there was a bad unit number.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-io.c
trunk/libgfortran/ChangeLog
trunk/libgfortran/io/inquire.c


-- 


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



[Bug target/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-26 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-08-26 22:12 ---
I don't see the failure on i386-apple-darwin8.10 (with revision 127806) so this
must be some target issue.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|middle-end  |target
   Target Milestone|--- |4.3.0


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



[Bug libfortran/33055] Runtime error in INQUIRE unit existance with -fdefault-integer-8

2007-08-26 Thread jvdelisle at gcc dot gnu dot org


--- Comment #5 from jvdelisle at gcc dot gnu dot org  2007-08-26 22:19 
---
Subject: Bug 33055

Author: jvdelisle
Date: Sun Aug 26 22:19:18 2007
New Revision: 127819

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127819
Log:
2007-08-26  Jerry DeLisle  [EMAIL PROTECTED]

PR fortran/33055
* gfortran.dg/negative_unit.f: Add new check
* gfortran.dg/negative_unit_int8.f: New. Same as above except use
-fdefault-integer-8.

Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug libfortran/33055] Runtime error in INQUIRE unit existance with -fdefault-integer-8

2007-08-26 Thread jvdelisle at gcc dot gnu dot org


--- Comment #6 from jvdelisle at gcc dot gnu dot org  2007-08-26 22:24 
---
Fixed on trunk.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug testsuite/33153] FAIL: gcc.dg/pr32912-[12].c (test for excess errors)

2007-08-26 Thread danglin at gcc dot gnu dot org


--- Comment #4 from danglin at gcc dot gnu dot org  2007-08-26 23:20 ---
The patch proposed here fixes the failures on hppa2.0w-hp-hpux11.11.
However, I'm still left with the failure of pr32912-2.c on hppa64-hp-hpux*.

The function foo is miscompiled:

.align 8
L$C:
.dword  0x
.text
.align 8
.globl  foo
.type   foo, @function
foo:
.PROC
.CALLINFO FRAME=0,NO_CALLS
.ENTRY
addil LT'L$C,%r27
ldd RT'L$C(%r1),%r31
ldd 0(%r31),%r28
bve (%r2)
copy %r28,%r29
.EXIT
.PROCEND

This is foo after final_cleanup:

;; Function foo (foo)

foo ()
{
bb 2:
  return { 286331153, 572662306, 1145324612 };

}

This is the RTL generated by expand:

;;
;; Full RTL generated for this function:
;;
(note 1 0 4 NOTE_INSN_DELETED)

;; Start of basic block ( 0) - 2
;; Pred edge  ENTRY [100.0%]  (fallthru)
(note 4 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)

(insn 2 4 3 2 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set
(reg/f:
DI 68)
(reg/f:DI 61 virtual-incoming-args)) -1 (nil))

(note 3 2 5 2 NOTE_INSN_FUNCTION_BEG)
;; End of basic block 2 - ( 3)

;; Succ edge  3 [100.0%]  (fallthru)

;; Start of basic block ( 2) - 3
;; Pred edge  2 [100.0%]  (fallthru)
(note 5 3 6 3 [bb 3] NOTE_INSN_BASIC_BLOCK)

(insn 6 5 7 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set
(reg:DI
 71)
(plus:DI (reg:DI 27 %r27)
(high:DI (symbol_ref/u:DI (*L$C) [flags 0x2] -1 (nil))

(insn 7 6 8 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set
(reg/f:
DI 70)
(mem/u/c:DI (lo_sum:DI (reg:DI 71)
(unspec:DI [
(symbol_ref/u:DI (*L$C) [flags 0x2])
] 2)) [0 S8 A64])) -1 (expr_list:REG_EQUAL (symbol_ref/u:DI
(*L$C) [flags 0x2])
(nil)))

(insn 8 7 9 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set
(reg:DI
 66 [ result ])
(mem/u/c/i:DI (reg/f:DI 70) [2 S8 A64])) -1 (expr_list:REG_EQUAL
(const_
double 4919131751843889152 [0x] 1229782938533634594
[0x2
222] 0 [0x0] 0 [0x0])
(nil)))

(insn 9 8 10 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set
(reg:D
I 73)
(plus:DI (reg:DI 27 %r27)
(high:DI (symbol_ref/u:DI (*L$C) [flags 0x2] -1 (nil))

(insn 10 9 11 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set
(reg/
f:DI 72)
(mem/u/c:DI (lo_sum:DI (reg:DI 73)
(unspec:DI [
(symbol_ref/u:DI (*L$C) [flags 0x2])
] 2)) [0 S8 A64])) -1 (expr_list:REG_EQUAL (symbol_ref/u:DI
(*L$C) [flags 0x2])
(nil)))

(insn 11 10 12 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set
(reg
/f:DI 67 [ result+8 ])
(mem/u/c/i:DI (reg/f:DI 72) [2 S8 A64])) -1 (expr_list:REG_EQUAL
(const_
double 4919131751843889152 [0x] 1229782938533634594
[0x2
222] 0 [0x0] 0 [0x0])
(nil)))

(jump_insn 12 11 13 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10
(set
 (pc)
(label_ref 14)) -1 (nil))
;; End of basic block 3 - ( 5)

;; Succ edge  5 [100.0%]

(barrier 13 12 24)

;; Start of basic block () - 4
(note 24 13 17 4 [bb 4] NOTE_INSN_BASIC_BLOCK)

(insn 17 24 18 4 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (clobber
(reg:DI 28 %r28)) -1 (nil))

(insn 18 17 19 4 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (clobber
(reg/f:DI 29 %r29)) -1 (nil))

(jump_insn 19 18 20 4 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13
(set
 (pc)
(label_ref 21)) -1 (nil))
;; End of basic block 4 - ( 6)

;; Succ edge  6 [100.0%]

(barrier 20 19 14)

;; Start of basic block ( 3) - 5
;; Pred edge  3 [100.0%]
(code_label 14 20 25 5 1  [1 uses])

(note 25 14 15 5 [bb 5] NOTE_INSN_BASIC_BLOCK)

(insn 15 25 16 5 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (set
(reg
:DI 28 %r28)
(reg:DI 66 [ result ])) -1 (nil))

(insn 16 15 21 5 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (set
(reg
/f:DI 29 %r29)
(reg/f:DI 67 [ result+8 ])) -1 (nil))
;; End of basic block 5 - ( 6)

;; Succ edge  6 [100.0%]  (fallthru)

;; Start of basic block ( 4 5) - 6
;; Pred edge  4 [100.0%]
;; Pred edge  5 [100.0%]  (fallthru)
(code_label 21 16 26 6 2  [1 uses])

(note 26 21 22 6 [bb 6] NOTE_INSN_BASIC_BLOCK)

(insn 22 26 23 6 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (use
(reg
:DI 28 %r28)) -1 (nil))

(insn 23 22 0 6 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (use
(reg/
f:DI 29 %r29)) -1 (nil))
;; End of basic block 6 - ( 1)

;; Succ edge  EXIT [100.0%]  (fallthru)

There isn't any increment in the memory addressing for the two halves of
the vector.  I'm also concerned about using .dword for a 128 bit value.


-- 


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



[Bug target/33184] [4.3 Regression] m32c: ostream.tcc:92: error: unable to find a register to spill in class 'A_REGS'

2007-08-26 Thread patchapp at dberlin dot org


--- Comment #1 from patchapp at dberlin dot org  2007-08-27 00:15 ---
Subject: Bug number PR target/33184

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-08/msg01760.html


-- 


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



[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-26 Thread hjl at lucon dot org


--- Comment #3 from hjl at lucon dot org  2007-08-27 01:27 ---
Revision 127763 removed varargs_function_p call for C++. I tried this patch:

Index: tree-inline.c
===
--- tree-inline.c   (revision 127763)
+++ tree-inline.c   (working copy)
@@ -1843,6 +1843,18 @@ egress:
   return ret;
 }

+/* Does FUNCTION use a variable-length argument list?  */
+
+static int
+varargs_function_p (tree function)
+{
+  tree parm = TYPE_ARG_TYPES (TREE_TYPE (function));
+  for (; parm; parm = TREE_CHAIN (parm))
+if (TREE_VALUE (parm) == void_type_node)
+  return 0;
+  return 1;
+}
+
 /* Returns nonzero if FN is a function that does not have any
fundamental inline blocking properties.  */

@@ -1881,6 +1893,9 @@ inlinable_function_p (tree fn)
DECL_REPLACEABLE_P (fn))
 inlinable = false;

+  else if (varargs_function_p (fn))
+inlinable = false;
+
   else if (!function_attribute_inlinable_p (fn))
 {
   if (do_warning)

and it fixes the regression.


-- 

hjl at lucon dot org changed:

   What|Removed |Added

  Component|target  |middle-end


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



[Bug other/33200] New: install fails when trying to install fix-header since fix-header wasn't built

2007-08-26 Thread kc8apf at kc8apf dot net
fix-header doesn't appear to be built during a canadian cross, but the install
phase tries to install it anyway.

Build log excerpt:
if [ xstmp-install-fixproto != x ] ; then \
  /usr/bin/install -c /bin/sh /tmp/avr-gcc/src/gcc-4.1.2/gcc/../mkinstalldirs \
   
/tmp/avr-gcc/tmp/ppc/usr/local/avr/libexec/gcc/avr/4.1.2/install-tools/mkinstalldirs
; \
  /usr/bin/install -c /tmp/avr-gcc/src/gcc-4.1.2/gcc/fixproto
/tmp/avr-gcc/tmp/ppc/usr/local/avr/libexec/gcc/avr/4.1.2/install-tools/fixproto
; \
  /usr/bin/install -c build/fix-header \
   
/tmp/avr-gcc/tmp/ppc/usr/local/avr/libexec/gcc/avr/4.1.2/install-tools/fix-header
; \
else :; fi
usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
   [-o owner] file1 file2
   install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
   [-o owner] file1 ... fileN directory
   install -d [-v] [-g group] [-m mode] [-o owner] directory ...
install: build/fix-header: No such file or directory
make[3]: *** [install-mkheaders] Error 71
make[2]: *** [install-gcc] Error 2
make[1]: *** [install] Error 2
make: *** [install] Error 2


-- 
   Summary: install fails when trying to install fix-header since
fix-header wasn't built
   Product: gcc
   Version: 4.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kc8apf at kc8apf dot net
 GCC build triplet: i686-apple-darwin8
  GCC host triplet: powerpc-apple-darwin8
GCC target triplet: avr-unknown-none


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



[Bug other/33200] install fails when trying to install fix-header since fix-header wasn't built

2007-08-26 Thread kc8apf at kc8apf dot net


--- Comment #1 from kc8apf at kc8apf dot net  2007-08-27 02:40 ---
Created an attachment (id=14119)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14119action=view)
Full build log

Attaching full build log.


-- 


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