[Bug c/41531] New: -O1 -fschedule-insns swscale error

2009-10-01 Thread t66667 at gmail dot com
x86_64-w64-mingw32-gcc -DHAVE_AV_CONFIG_H -I.. -D_ISOC99_SOURCE
-D_POSIX_C_SOURCE=200112 -O1 -fschedule-insns -MMD -MF swscale.d -MT swscale.o
-save-temps -c -o swscale.o swscale.c

Error on both 4_4-branch and trunk
The error message of 4_4-branch is different:
swscale.c: In function 'sws_scale':
swscale.c:3199: error: unable to find a register to spill in class 'CREG'
swscale.c:3199: error: this is the insn:
(insn 446 466 432 53 swscale.c:3186 (parallel [
(set (reg:SI 39 r10 [254])
(ashiftrt:SI (reg:SI 39 r10 [orig:251 variable.dstH ] [251])
(subreg:QI (reg:SI 43 r14 [orig:255
variable.chrDstVSubSample ] [255]) 0)))
(clobber (reg:CC 17 flags))
]) 523 {*ashrsi3_1} (expr_list:REG_DEAD (reg:SI 43 r14 [orig:255
variable.chrDstVSubSample ] [255])
(expr_list:REG_DEAD (reg:SI 39 r10 [orig:251 variable.dstH ] [251])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_EQUAL (ashiftrt:SI (mem/s/j:SI (plus:DI
(reg/v/f:DI 3 bx [orig:103 c ] [103])
(const_int 24 [0x18])) [0 variable.dstH+0 S4
A64])
(subreg:QI (reg:SI 43 r14 [orig:255
variable.chrDstVSubSample ] [255]) 0))
(nil))
swscale.c:3199: confused by earlier errors, bailing out

trunk:
swscale.s: Assembler messages:
swscale.s:19090: Error: suffix or operands invalid for `cmp'
swscale.s:19151: Error: suffix or operands invalid for `cmp'
swscale.s:19320: Error: suffix or operands invalid for `cmp'
swscale.s:19355: Error: suffix or operands invalid for `cmp'


-- 
   Summary: -O1 -fschedule-insns swscale error
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: t7 at gmail dot com
 GCC build triplet: i486-slackware-linux
  GCC host triplet: x86_64-w64-mingw32
GCC target triplet: x86_64-w64-mingw32


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



[Bug c/41531] -O1 -fschedule-insns swscale error

2009-10-01 Thread t66667 at gmail dot com


--- Comment #1 from t7 at gmail dot com  2009-10-01 06:50 ---
Created an attachment (id=18684)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18684action=view)
Preprocessed test case.

gcc version 4.5.0 20090928 Revision 152257


-- 


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



[Bug rtl-optimization/24319] [4.3/4.4/4.5 regression] amd64 register spill error with -fschedule-insns

2009-10-01 Thread pinskia at gcc dot gnu dot org


--- Comment #24 from pinskia at gcc dot gnu dot org  2009-10-01 06:55 
---
*** Bug 41531 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||t7 at gmail dot com


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



[Bug target/41531] -O1 -fschedule-insns swscale error

2009-10-01 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2009-10-01 06:55 ---
x86_64 and x86 has issues with pre-RA scheduling pass because of register
requirements of the target.

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Component|c   |target
 Resolution||DUPLICATE


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



[Bug c/41458] Inefficient write of 32 bit value to 16 bit volatile on ARM

2009-10-01 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2009-10-01 07:03 ---
confirmed with trunk.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-10-01 07:03:42
   date||


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



[Bug c++/41524] gcc generates invalid instructions when used with -m32 -fprofile-generate

2009-10-01 Thread ubizjak at gmail dot com


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug libfortran/35862] [F2003] Implement new rounding modes for run time

2009-10-01 Thread burnus at gcc dot gnu dot org


--- Comment #10 from burnus at gcc dot gnu dot org  2009-10-01 07:35 ---
(In reply to comment #9)
 Rounding modes are now implemented for formatted WRITE operations.  I do not
 have a clear enough idea of what the rounding modes really mean for READ
 operations.  For example:
 
 Rounding is done for all I/O, including input. For example, if you have:
   read (0.1, *, rounding=up) x
   read (0.1, *, rounding=down) y
 then you will have x == nearest(y, -1.)

For REAL(8) I would expect for 0.1_8 with rounding up and down:
  0.10001
 9.99917E-002
or written as binary:
1110111001100110011001100110011001100110011001100110011010 (= 0.1 rnd up)
1110111001100110011001100110011001100110011001100110011001 (= 0.1 rnd down)

 Is this really what is meant by rounding up or down?
I think so.

 The internal representation of .1 may already be rounded up or down
 from a binary representation that carried more bits in the conversion
 process.  If we do not have access to more bits, how are we to know
 whether it is not already half way in between

Well, the rounding has to be based on the string (= decimal) number; if you
already have a binary number, it is too late.

 Similarly with nearest.

Using nearest with -1. in this example only works if you know that read
automatically rounds up for 0.1.

 * * *

Handling this efficiently and reliably is presumably nontrivial.
See for instance:
  http://netlib.org/fp/ (esp. http://netlib.org/fp/gdtoa.tgz)
  http://dx.doi.org/10.1145/989393.989430
  http://www.informatik.uni-trier.de/Reports/TR-08-2004/rnc6_10_hack.pdf
and references therein.


-- 


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



[Bug target/41514] redundant compare instruction of consecutive conditional branches

2009-10-01 Thread carrot at google dot com


--- Comment #3 from carrot at google dot com  2009-10-01 07:37 ---
(In reply to comment #2)
 Where does it come from? (Remember: option -dAP, then look at .s file)
 

The first several instructions and corresponding rtl patterns are:

cmp r0, #63
beq .L3
cmp r0, #63
bhi .L4

(jump_insn 8 3 35 src/./test5.c:3 (set (pc)
(if_then_else (eq (reg/v:SI 0 r0 [orig:135 ch ] [135])
(const_int 63 [0x3f]))
(label_ref 18)
(pc))) 201 {*cbranchsi4_insn} (expr_list:REG_BR_PROB (const_int
2900 [0xb54])
(nil))
 - 18)

(note 35 8 9 [bb 3] NOTE_INSN_BASIC_BLOCK)

(jump_insn 9 35 36 src/./test5.c:3 (set (pc)
(if_then_else (gtu (reg/v:SI 0 r0 [orig:135 ch ] [135])
(const_int 63 [0x3f]))
(label_ref 14)
(pc))) 201 {*cbranchsi4_insn} (expr_list:REG_BR_PROB (const_int
5000 [0x1388])
(nil))
 - 14)

In thumb's instruction patterns, compare and branch instructions can't be
expressed separately. So we can't easily remove the second compare instruction
in middle end.

I just noticed the second conditional branch (larger than 63) is totally
unnecessary if we compare the equality with 63, 45, 47, 99 one by one. This is
another missed optimization exposed by this test case.


-- 


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



[Bug c++/41533] New: ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM

2009-10-01 Thread kirill at shutemov dot name
This macro chooses the encoding of pointers embedded in the exception handling
sections.

It needed to generate correct .cfi_personality derective. Without it we always
have TEXTREL in C++ shared libraries and PIE, if it compiled with exceptions.


-- 
   Summary: ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented
for ARM
   Product: gcc
   Version: 4.4.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kirill at shutemov dot name
 GCC build triplet: arm-none-linux-gnueabi
  GCC host triplet: arm-none-linux-gnueabi
GCC target triplet: arm-none-linux-gnueabi


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



[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM

2009-10-01 Thread kirill at shutemov dot name


--- Comment #1 from kirill at shutemov dot name  2009-10-01 08:02 ---
Created an attachment (id=18686)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18686action=view)
Implement ASM_PREFERRED_EH_DATA_FORMAT macros for ARM

This macro chooses the encoding of pointers embedded in the exception
handling sections.

It needed to generate correct .cfi_personality derective. Without it we
always have TEXTREL in C++ shared libraries and PIE, if it compiled
with exceptions.

Signed-off-by: Kirill A. Shutemov kir...@shutemov.name


-- 


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



[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM

2009-10-01 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2009-10-01 08:21 ---
Patches should be posted to gcc-patches mailing list.

BTW: Where is the bug in your PR submission?


-- 


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



[Bug target/40757] gcc 4.4.0 miscompiles mpfr-2.4.1

2009-10-01 Thread david dot kirkby at onetel dot net


--- Comment #26 from david dot kirkby at onetel dot net  2009-10-01 08:34 
---
I should have added this some time back, but Sun have confirmed this is a bug.
I should have a IDR from Sun myself in a couple of weeks, and a patch will be
on sunsolve some time after that. It will be fixed in Solaris 10 update 8. 


-- 


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



[Bug other/39888] TLS emutls not linked to automatically on Darwin

2009-10-01 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #55 from developer at sandoe-acoustics dot co dot uk  
2009-10-01 08:36 ---
(In reply to comment #54)
 The new libgcc_s.dylib appears to be only of the native target architecture...

it's best thought of not as new but different - it's the target for the
Makefile libgcc_s$(SHLIB_EXT).

In fact, we used to have intermediate targets (xxx.dylib.tmp) which you will
see are no longer present.

if you check the ***gcc directories, you will see that this intermediate file
is not installed in the staging - nor is it installed by make install.


-- 


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



[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM

2009-10-01 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2009-10-01 08:37 ---
AFAIK arm*-*-linux*eabi uses its own unwinding format, so it shouldn't be using
.cfi_* directives at all.  It should force -fno-dwarf2-cfi-asm...


-- 


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



[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM

2009-10-01 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2009-10-01 09:02 ---
Is it correct to generate .eh_frame for the arm-linux-gnueabi target ?
Shouldn't this rather be the ARM EABI exception handling tables instead ? 

-fno-dwarf2-cfi-asm might be a workaround. I've seen a couple of bug reports
where this was the problem.

cheers
Ramana


-- 


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



[Bug c++/41503] function_parameter_expanded_from_pack_p segfaults when passed a PARM_DECL created by IPA-SRA

2009-10-01 Thread jamborm at gcc dot gnu dot org


--- Comment #5 from jamborm at gcc dot gnu dot org  2009-10-01 09:31 ---
Subject: Bug 41503

Author: jamborm
Date: Thu Oct  1 09:31:08 2009
New Revision: 152365

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152365
Log:
2009-10-01  Martin Jambor  mjam...@suse.cz

PR c++/41503
* cp/pt.c (function_parameter_expanded_from_pack_p): Return false if
DECL_ARTIFICIAL (param_decl) is true.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/pt.c


-- 


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



[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM

2009-10-01 Thread kirill at shutemov dot name


--- Comment #5 from kirill at shutemov dot name  2009-10-01 10:07 ---
Ok. If .eh_frame should not be generated on ARM, we should to modify
dwarf2out_do_cfi_asm() to always return false on ARM. Right?


-- 


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



[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM

2009-10-01 Thread ramana at gcc dot gnu dot org


--- Comment #6 from ramana at gcc dot gnu dot org  2009-10-01 10:54 ---
(In reply to comment #5)
 Ok. If .eh_frame should not be generated on ARM, we should to modify
 dwarf2out_do_cfi_asm() to always return false on ARM. Right?
 

Look at this patch submitted here. Can you try this to see if it works for you
? http://gcc.gnu.org/ml/gcc-patches/2009-10/msg00022.html


-- 


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



[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM

2009-10-01 Thread kirill at shutemov dot name


--- Comment #7 from kirill at shutemov dot name  2009-10-01 11:08 ---
Looks ok for me.

I'll test it, but it takes some time. I'll report results tomorrow.

This patch also fixes #40521, I guess.


-- 


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



[Bug bootstrap/41395] [4.5 regression] Revision 151800 failed bootstrap

2009-10-01 Thread jamborm at gcc dot gnu dot org


--- Comment #44 from jamborm at gcc dot gnu dot org  2009-10-01 11:30 
---
Subject: Bug 41395

Author: jamborm
Date: Thu Oct  1 11:30:12 2009
New Revision: 152366

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152366
Log:
2009-10-01  Martin Jambor  mjam...@suse.cz

PR bootstrap/41395
* tree-sra.c (is_va_list_type): New function.
(find_var_candidates): Call is_va_list_type.
(find_param_candidates): Check that the type or the type pointed
to are not va_list types.



Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-sra.c


-- 


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



[Bug c++/41534] New: C++ FE gives names to anonymous things

2009-10-01 Thread rguenth at gcc dot gnu dot org
The C++ FE insists on giving TYPE_NAMEs to things like anonymous unions.  This
confuses type compatibility checks in LTO which now needs to workaround this
duplicating the ANON_AGGRNAME_FORMAT logic from cp/cp-tree.h

Maybe the C++ FE should free those names in the free_lang_data langhook.

What does it need the names for?  Mangling?


-- 
   Summary: C++ FE gives names to anonymous things
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


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



[Bug middle-end/12392] very long optimized compile

2009-10-01 Thread jamborm at gcc dot gnu dot org


--- Comment #29 from jamborm at gcc dot gnu dot org  2009-10-01 11:48 
---
Subject: Bug 12392

Author: jamborm
Date: Thu Oct  1 11:48:24 2009
New Revision: 152368

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152368
Log:
2009-10-01  Martin Jambor  mjam...@suse.cz

PR middle-end/12392
* tree-sra.c (convert_callers): Do not call
compute_inline_parameters on one caller more than once.



Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-sra.c


-- 


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



[Bug target/41531] -O1 -fschedule-insns swscale error

2009-10-01 Thread lucier at math dot purdue dot edu


--- Comment #3 from lucier at math dot purdue dot edu  2009-10-01 13:19 
---
This is not the same problem as 24319.  Vlad thinks he fixed 24319, and indeed
the problem in this bug report from 4.4 is gone.  The reported problem in 4.5
is different.

Don't turn 234319 into a grab bag of any problem that arises when using
-fschedule-insns.

And, again, I can't reopen this bug.

Brad


-- 


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



[Bug other/39888] TLS emutls not linked to automatically on Darwin

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #56 from howarth at nitro dot med dot uc dot edu  2009-10-01 
13:59 ---
Okay. So no problem. What do you think is the best way to default on
libgcc-ext? Just using...

Index: gcc/config/darwin.h
===
--- gcc/config/darwin.h (revision 152370)
+++ gcc/config/darwin.h (working copy)
@@ -388,14 +388,14 @@
If it is linked against, it has to be before -lgcc, because it may
need symbols from -lgcc.  */
 #undef REAL_LIBGCC_SPEC
-#define REAL_LIBGCC_SPEC  \
-   %{static-libgcc|static: -lgcc_eh -lgcc;   \
-  shared-libgcc|fexceptions|fgnu-runtime: \
-   %:version-compare(! 10.5 mmacosx-version-min= -lgcc_s.10.4)   \
-   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5)   \
-   -lgcc; \
-  :%:version-compare( 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
-   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5)   \
+#define REAL_LIBGCC_SPEC  
  \
+   %{static-libgcc|static: -lgcc_eh -lgcc;   
  \
+  shared-libgcc|fexceptions|fgnu-runtime: 
  \
+   %:version-compare(! 10.5 mmacosx-version-min= -lgcc_s.10.4
-lgcc_ext.10.4)\
+   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5
-lgcc_ext.10.5)\
+   -lgcc; 
  \
+  :%:version-compare( 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4
-lgcc_ext.10.4) \
+   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5
-lgcc_ext.10.5)\
-lgcc}

 /* We specify crt0.o as -lcrt0.o so that ld will search the library path.

...perhaps?


-- 


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



[Bug bootstrap/41395] [4.5 regression] Revision 151800 failed bootstrap

2009-10-01 Thread jamborm at gcc dot gnu dot org


--- Comment #45 from jamborm at gcc dot gnu dot org  2009-10-01 14:47 
---
Right, so I belieive all problems that were reported here (and were
indeed relevant to IPA-SRA) are now dealt with.  x86_64 and i386
bootstraps and checks nicely with both yes and release checking,
alpha bootstraps too and I also tested IA64.  As far as I can tell,
bootstrapped gcc has debug info in order.  Thus I will ask Richi when
to enable IPA-SRA by default at -O2.

Thanks everyone for your cooperation and patience.


-- 

jamborm at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn|41089, 41463|


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #16 from howarth at nitro dot med dot uc dot edu  2009-10-01 
15:41 ---
   It looks like this problem isn't strictly target specific (although we are
the only target currently impacted). If TARGET_ASM_EMIT_UNWIND_LABEL as defined
needs to support passing SECOND, both the default_emit_unwind_label() and
darwin_emit_unwind_label() prototypes would have to be revised to support this
additional variable as well as any place they are called from to properly
support hot/cold partitioning.


-- 


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



[Bug debug/40521] [4.4/4.5 Regression] -g causes GCC to generate .eh_frame

2009-10-01 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2009-10-01 15:44 ---
http://sources.redhat.com/ml/binutils/2009-10/msg00028.html


-- 


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #17 from howarth at nitro dot med dot uc dot edu  2009-10-01 
15:55 ---
(In reply to comment #15)
 Yeah, the patch in #11 is about the right for half the problem (darwin10), if
 it weren't for ld's warning message.  I don't know quite why it is doing that,
 so guess we'll just have to nix that idea.  So, the next best thing would be 
 to
 just turn off hot/cold partitioning for darwin.  In override_option in
 darwin.c, just do hot_cold = 0.
 

Won't disabling hot/cold partitioning for darwin potentially degrade the code
generation at -O3 or is this issue limited to -freorder-blocks-and-partition
only?


-- 


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



[Bug middle-end/41535] New: Broken var location info after scheduling

2009-10-01 Thread krebbel at gcc dot gnu dot org
On s390x I see broken debug info generated for the attached C++
testcase (compile with -O2 -g -fPIC).

The debug info contains a symbol reference with a @GOTENT modifier
what should not happen (and is not accepted by gas):

.LLST3:
.8byte  .LVL3-.Ltext0
.8byte  .LVL4-.Ltext0
.2byte  0xa
.byte   0x9e
.uleb128 0x8
.8byte  _ztist12future_er...@gotent
.8byte  0x0
.8byte  0x0

The problem is that the sched2 pass breaks the variable location
information by moving an insn setting r1 over a var_location debug
insn describing a variable location as being r1.

in 202.split4:

29: var_location r10
33: var_location r13 + 8
34: var_location r10
30: r1 = (A got entry)
31: r1 = [r1]
83: [r13] = r2
32: r1 = [r1]
35: var_location A = r1  -- problematic location information 
36: [r13 + 8] = r10
37: [r13 + 16] = r1
79: r1 = (B got entry)
41: r3 = [r1]

in 203.sched2:

...
32: r1 = [r1]
37: [r13 + 16] = r1
79: r1 = (B got entry)  -- insn moved over 35
83: [r13] = r2
29: var_location r10
33: var_location r13 + 8
34: var_location r10
35: var_location r1  !!! the variable location gets corrupted
 since insn 79 has been moved over it
36: [r13 + 8] = r10
41: r3 = [r1]

The variable locations are intended to stay right after the insn which
does the relevant assignment by generating an ANTI dep between them
but we also create deps between unrelated insns:

sched-deps.c:2790
if (prev  NONDEBUG_INSN_P (prev))
  add_dependence (insn, prev, REG_DEP_ANTI);

This code creates a dependency between 83 and 29 (although the
assignment is unrelated). This together with the fact that all debug
insns are always been kept from being moved over each other makes all
the debug insns to get stuck after insn 83. Although in order to keep
the information correct insn 35 has to stay after 32.


-- 
   Summary: Broken var location info after scheduling
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: krebbel at gcc dot gnu dot org
 GCC build triplet: s390x-ibm-linux
  GCC host triplet: s390x-ibm-linux
GCC target triplet: s390x-ibm-linux


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



[Bug middle-end/41535] Broken var location info after scheduling

2009-10-01 Thread krebbel at gcc dot gnu dot org


--- Comment #1 from krebbel at gcc dot gnu dot org  2009-10-01 15:58 ---
Created an attachment (id=18687)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18687action=view)
Testcase

Compile with -O2 -fPIC -g


-- 


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



[Bug fortran/41515] [4.3/4.4/4.5 Regression] PARAMETER statement in module subroutines

2009-10-01 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2009-10-01 16:06 ---
Subject: Bug 41515

Author: burnus
Date: Thu Oct  1 16:05:48 2009
New Revision: 152377

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152377
Log:
2009-10-01  Tobias Burnus  bur...@net-b.de

PR fortran/41515
* decl.c (do_parm): Call add_init_expr_to_sym.

2009-10-01  Tobias Burnus  bur...@net-b.de

PR fortran/41515
* gfortran.dg/parameter_array_init_5.f90: New test.


Added:
trunk/gcc/testsuite/gfortran.dg/parameter_array_init_5.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/41515] [4.3/4.4/4.5 Regression] PARAMETER statement in module subroutines

2009-10-01 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2009-10-01 16:09 ---
Subject: Bug 41515

Author: burnus
Date: Thu Oct  1 16:09:13 2009
New Revision: 152378

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152378
Log:
2009-10-01  Tobias Burnus  bur...@net-b.de

PR fortran/41515
* decl.c (do_parm): Call add_init_expr_to_sym.

2009-10-01  Tobias Burnus  bur...@net-b.de

PR fortran/41515
* gfortran.dg/parameter_array_init_5.f90: New test.


Added:
   
branches/gcc-4_4-branch/gcc/testsuite/gfortran.dg/parameter_array_init_5.f90
Modified:
branches/gcc-4_4-branch/gcc/fortran/ChangeLog
branches/gcc-4_4-branch/gcc/fortran/decl.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/41515] [4.3/4.4/4.5 Regression] PARAMETER statement in module subroutines

2009-10-01 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2009-10-01 16:11 ---
Subject: Bug 41515

Author: burnus
Date: Thu Oct  1 16:10:49 2009
New Revision: 152379

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152379
Log:
2009-10-01  Tobias Burnus  bur...@net-b.de

PR fortran/41515
* decl.c (do_parm): Call add_init_expr_to_sym.

2009-10-01  Tobias Burnus  bur...@net-b.de

PR fortran/41515
* gfortran.dg/parameter_array_init_5.f90: New test.


Added:
   
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/parameter_array_init_5.f90
Modified:
branches/gcc-4_3-branch/gcc/fortran/ChangeLog
branches/gcc-4_3-branch/gcc/fortran/decl.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/41515] [4.3/4.4/4.5 Regression] PARAMETER statement in module subroutines

2009-10-01 Thread burnus at gcc dot gnu dot org


--- Comment #7 from burnus at gcc dot gnu dot org  2009-10-01 16:12 ---
FIXED for GCC 4.5 (trunk), 4.4 and 4.3.

Thanks for the bugreport!


-- 

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



[Bug c++/41536] New: always_inline does not work always with constructors

2009-10-01 Thread pinskia at gcc dot gnu dot org
The following testcase fails:
// { dg-do compile }
struct f
{
  inline f(void);
  inline void f1(void);
  int a;
};

inline __attribute__((always_inline))  f::f(void)
{
  a++;
}

inline __attribute__((always_inline)) void  f::f1(void)
{
  a++;
}

void g(void)
{
  f a, b, c, d;
  a.f1();
}

// f::f() should be inlined even at -O0
// { dg-final { scan-assembly-not _ZN1fC1Ev } }
// Likewise for f::f1()
// { dg-final { scan-assembly-not _ZN1f2f1Ev } }

--- CUT ---
_ZN1fC1Ev is being defined in the source still and not being inlined.


-- 
   Summary: always_inline does not work always with constructors
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org


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



[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc

2009-10-01 Thread armin76 at gentoo dot org


--- Comment #5 from armin76 at gentoo dot org  2009-10-01 16:22 ---
(In reply to comment #4)
 ATM i'm trying this:
 -build gcc-4.4 using STAGE1_CFLAGS=-O2 with gcc-4.3, then build gcc-4.4 with
 newly-built gcc-4.4 with STAGE1_CFLAGS=-O
 
 Will let you know, i'll attach the full build log meanwhile
 

Same result, will attach the build log now


-- 


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



[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc

2009-10-01 Thread armin76 at gentoo dot org


--- Comment #6 from armin76 at gentoo dot org  2009-10-01 16:26 ---
Created an attachment (id=18688)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18688action=view)
config.log

config.log from build/armv5tel-unknown-linux-gnueabi/libgcc


-- 


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



[Bug target/41531] -O1 -fschedule-insns swscale error

2009-10-01 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2009-10-01 16:28 ---
(In reply to comment #3)
 This is not the same problem as 24319.  Vlad thinks he fixed 24319, and indeed
 the problem in this bug report from 4.4 is gone.  The reported problem in 4.5
 is different.
 
 Don't turn 234319 into a grab bag of any problem that arises when using
 -fschedule-insns.
 
 And, again, I can't reopen this bug.

OK, ok, lets' reopen this PR and leave to Vlad to decide.

BTW: The test doesn't fail for x86_64-linux with or without -m32. Annoying.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|DUPLICATE   |


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



[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc

2009-10-01 Thread armin76 at gentoo dot org


--- Comment #7 from armin76 at gentoo dot org  2009-10-01 16:28 ---
Created an attachment (id=18689)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18689action=view)
config.log from buildir


-- 


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



[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc

2009-10-01 Thread armin76 at gentoo dot org


--- Comment #8 from armin76 at gentoo dot org  2009-10-01 16:33 ---
Created an attachment (id=18690)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18690action=view)
build.log

And the build log.

So, i ran this:
../gcc-4.4.1/configure --enable-languages=c,c++,fortran --with-float=soft
make LDFLAGS=-Wl,-O1 STAGE1_CFLAGS=-O
LIBPATH=/usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/4.4.1 'BOOT_CFLAGS=
-march=armv5te -pipe -O2' bootstrap-lean

Next: Try with debian


-- 


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



[Bug target/41176] ICE in reload_cse_simplify_operands at postreload.c:396

2009-10-01 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2009-10-01 16:39 ---
Can you check if this problem is a regression from 4.2+? Although ICEs are not
welcomed, regression status would put more weight on the PR.


-- 


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



[Bug fortran/41494] [4.5 Regression] temp and memcpy used when zeroing array

2009-10-01 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2009-10-01 16:43 ---
 I wonder why it uses the extra temporary - that shouldn't be necessary.

The big question is only: Are there cases where one needs to call
gfc_evaluate_now?

 * * *

For completeness, that part was added by the commits:

http://gcc.gnu.org/viewcvs?view=revisionrevision=150817
2009-08-17  Richard Guenther  rguent...@suse.de

* trans-expr.c (gfc_trans_scalar_assign): Replace hack with
more proper hack.

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=151576
2009-09-09  Richard Guenther  rguent...@suse.de

PR fortran/41297
* trans-expr.c (gfc_trans_scalar_assign): Correct typo that
left 'tmp' unused in derived type assignment.


-- 


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



[Bug target/41531] -O1 -fschedule-insns swscale error

2009-10-01 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2009-10-01 16:59 ---
(In reply to comment #3)
 This is not the same problem as 24319.  Vlad thinks he fixed 24319, and indeed
 the problem in this bug report from 4.4 is gone.  The reported problem in 4.5
 is different.

Oh, I have noticed that 4.5 has different problem, involving assembler errors.
From attached assembler:

/APP
 # 912 swscale_template.c 1
lea 11*8+4*4*256(%rdi), %rdx  
stuff deleted ...
 cmp %r15d, %rax  
more stuff deleted ...
jb  1b 

 # 0  2
/NO_APP

This simply means invalid asm constraints or operand prefixes in asm.

Thus, WONTFIX for 4.4 and INVALID for 4.5.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c++/41536] always_inline does not work always with constructors

2009-10-01 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2009-10-01 17:04 ---
Here is the fix I am working for:
Index: optimize.c
===
--- optimize.c  (revision 152380)
+++ optimize.c  (working copy)
@@ -199,6 +199,7 @@ maybe_clone_body (tree fn)
   DECL_VISIBILITY (clone) = DECL_VISIBILITY (fn);
   DECL_VISIBILITY_SPECIFIED (clone) = DECL_VISIBILITY_SPECIFIED (fn);
   DECL_DLLIMPORT_P (clone) = DECL_DLLIMPORT_P (fn);
+  DECL_ATTRIBUTES (clone) = DECL_ATTRIBUTES (fn);

   /* Adjust the parameter names and locations.  */
   parm = DECL_ARGUMENTS (fn);


-- 

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 |2009-10-01 17:04:40
   date||


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



[Bug other/39888] TLS emutls not linked to automatically on Darwin

2009-10-01 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #57 from developer at sandoe-acoustics dot co dot uk  
2009-10-01 17:22 ---
(In reply to comment #56)
 Okay. So no problem. What do you think is the best way to default on
 libgcc-ext? Just using...

I'm reg-testing on powerpc-apple-d8, i686-apple-d9 and x86_64-apple-d10
with this:

Index: gcc/config/darwin.h
===
--- gcc/config/darwin.h (revision 152363)
+++ gcc/config/darwin.h (working copy)
@@ -391,12 +391,16 @@
 #define REAL_LIBGCC_SPEC  \
%{static-libgcc|static: -lgcc_eh -lgcc;   \
   shared-libgcc|fexceptions|fgnu-runtime: \
-   %:version-compare(! 10.5 mmacosx-version-min= -lgcc_s.10.4)   \
-   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5)   \
+   %:version-compare(! 10.5 mmacosx-version-min= -lgcc_s.10.4 )  \
+   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5 )  \
+   %:version-compare(! 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
+   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
-lgcc; \
-  :%:version-compare( 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
-   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5)   \
-   -lgcc}
+  :%:version-compare( 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4 )  \
+   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5 )  \
+   %:version-compare(! 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
+   %:version-compare(= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
+  -lgcc } 

 /* We specify crt0.o as -lcrt0.o so that ld will search the library path.



-- 


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



[Bug target/41482] ICE in libgfortran arm thumb multilib compile

2009-10-01 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2009-10-01 17:28 ---
This looks like a middle-end or target specific problem.
Changed component from libfortran to target.


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|libfortran  |target


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



[Bug fortran/41408] Segmentation fault calling DGETRF from gfortran

2009-10-01 Thread kargl at gcc dot gnu dot org


--- Comment #4 from kargl at gcc dot gnu dot org  2009-10-01 17:30 ---
(In reply to comment #2)
 Subject: Re:  Segmentation fault calling DGETRF from
  gfortran
 
 Well, that's an embarrassing mistake. My apologies. For some reason the 
 example
 code does run correctly for G95.
 
 In my (much larger) program I do call DGETRF correctly, and get a segmentation
 fault when using gfortran but not G95. I will continue to look at it. 
 Obviously
 I have not isolated the problem.
 
 Sorry for the trouble.
 

Have you made any progress on this issue?  Trying compiling everything
with -Wall and -fbounds-check


-- 


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



[Bug fortran/41459] Error not printed with -Werror and -fmax-errors=1

2009-10-01 Thread kargl at gcc dot gnu dot org


--- Comment #5 from kargl at gcc dot gnu dot org  2009-10-01 17:25 ---
A backport to 4.4 revealed a problem within the dejagnu test
framework.  gfortran.dg/empty_label.f would fail for no 
apparent/reported reason.  So, no backport from me.


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/41536] always_inline does not work always with constructors

2009-10-01 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2009-10-01 17:46 ---
DECL_DISREGARD_INLINE_LIMITS (clone) = DECL_DISREGARD_INLINE_LIMITS (fn);
needs to be done too.


-- 


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



[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc

2009-10-01 Thread armin76 at gentoo dot org


--- Comment #9 from armin76 at gentoo dot org  2009-10-01 18:01 ---
(In reply to comment #8)
 Next: Try with debian
 
Ok, installed a squeeze chroot, installed gcc-4.4 with apt-get install gcc-4.4,
built gcc-4.4.1 with the same configure line and stuff, and it also fails.

Tell me if you need more info, i'll try to debug it.


-- 


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread mrs at apple dot com


--- Comment #18 from mrs at apple dot com  2009-10-01 19:14 ---
Yes.  If someone wants to propose a better solution, they will...


-- 


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



[Bug other/39888] TLS emutls not linked to automatically on Darwin

2009-10-01 Thread mrs at apple dot com


--- Comment #58 from mrs at apple dot com  2009-10-01 19:18 ---
Seems reasonable.


-- 


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



[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc

2009-10-01 Thread laurent at guerby dot net


--- Comment #10 from laurent at guerby dot net  2009-10-01 19:37 ---
Starting with

$ /tmp/gcc-4.4.1-install/bin/gcc -v
Using built-in specs.
Target: armv5tel-unknown-linux-gnueabi
Configured with: /home/mikpe/gcc-4.4.1/configure
--prefix=/tmp/gcc-4.4.1-install --with-arch=armv5te --with-tune=xscale
--disable-nls --disable-shared --disable-libmudflap --enable-threads=posix
--enable-checking=release --enable-languages=c,ada
Thread model: posix
gcc version 4.4.1 (GCC) 

I successfully bootstraped gcc-4.4.1:

../gcc-4.4.1/configure --prefix=/n/55/guerby/install-4.4.1 --enable-languages=c
-enable-__cxa_atexit --disable-nls --enable-threads=posix
--with-mpfr=/opt/cfarm/mpfr-2.4.1/ --disable-multilib --disable-libmudflap 
nohup make

And with this new 4.4.1 installed in PATH, a new compilation of 4.4.1:

../gcc-4.4.1/configure --prefix=/n/55/guerby/install-4.4.1-bis
--enable-languages=c -enable-__cxa_atexit --disable-nls --enable-threads=posix
--with-mpfr=/opt/cfarm/mpfr-2.4.1/ --disable-multilib --disable-libmudflap 
nohup make  b.log 

is in stage3 so likely to succeed.

I use binutils GNU ld (GNU Binutils) 2.19.51.20090423 (from CVS at the time,
just after relax patches went in).


-- 


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



[Bug target/41176] ICE in reload_cse_simplify_operands at postreload.c:396

2009-10-01 Thread lucier at math dot purdue dot edu


--- Comment #5 from lucier at math dot purdue dot edu  2009-10-01 19:43 
---
No ICE with 4.3.3, either, but there is an ICE with

Target: ppc64-redhat-linux
gcc version 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC) 


-- 


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



[Bug target/41176] [4.4/4.5 Regression] ICE in reload_cse_simplify_operands at postreload.c:396

2009-10-01 Thread ubizjak at gmail dot com


--- Comment #6 from ubizjak at gmail dot com  2009-10-01 19:57 ---
Confirmed, regression.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-10-01 19:57:34
   date||
Summary|ICE in  |[4.4/4.5 Regression] ICE in
   |reload_cse_simplify_operands|reload_cse_simplify_operands
   |at postreload.c:396 |at postreload.c:396
   Target Milestone|--- |4.4.2


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



[Bug c/41537] A syntax error for function defination

2009-10-01 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2009-10-01 20:04 ---
This is a valid variable array definition in GNU C90.
It creates an array that is zero sized called funcA.


-- 

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



[Bug libfortran/35862] [F2003] Implement new rounding modes for run time

2009-10-01 Thread dominiq at lps dot ens dot fr


--- Comment #11 from dominiq at lps dot ens dot fr  2009-10-01 20:18 ---
There is probably a bug with round to nearest for values below 1:

print '(RN, 4F10.3)', 0.0625, 0.1875
print '(RN, 4F10.2)', 0.125, 0.375, 1.125, 1.375
print '(RN, 4F10.1)', 0.25, 0.75, 1.25, 1.75
print '(RN, 4F10.0)', 0.5, 1.5, 2.5, 3.5
end

gives

 0.063 0.188
  0.13  0.38  1.12  1.38
   0.3   0.8   1.2   1.8
1.2.2.4.

ifort gives (what I was expecting):

 0.062 0.188
  0.12  0.38  1.12  1.38
   0.2   0.8   1.2   1.8
0.2.2.4.


-- 


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



[Bug rtl-optimization/9085] Unable to find register to spill when optimizing

2009-10-01 Thread ubizjak at gmail dot com


--- Comment #11 from ubizjak at gmail dot com  2009-10-01 20:51 ---
None of the testcases fail anymore with GCC: (GNU) 4.5.0 20091001
(experimental) [trunk revision 152374].

The testcase from #7 produces:

foo:
pushl   %ebp
movl%esp, %ebp
pushl   %ebx
movl%eax, %ecx
movl8(%ebp), %eax
movl$3, %edx
movl%edx, %ebx
cltd
idivl   %ebx
movl%edx, (%ecx)
popl%ebx
leave
ret


-- 


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



[Bug inline-asm/41538] New: Mixing ARM/NEON intrinsic variables and inline assembly

2009-10-01 Thread gmcgrath at yahoo dot com
Trying to peg C intrinsic variables (for ARM/NEON) to a specific 128-bit
register (e.g. q0-q15) does not work at all.  For example,

   register int16x8_t v0 asm (q0);  // q0=d0-d1
   register int16x8_t v1 asm (q1);  // q1=d2-d3

is totally ignored yet compiles without warning.  If I try the front door,

   int16x8x2_t v8;

   asm volatile (
  vmulq.s16 q2, %1, %2\n\t
  vshrn.i16 %0, q2, #13\n\t
  : =r (v0) 
  : r (v8.val[0]), r (v8.val[1])
  : d4, d5, q2
  );

it tries to use r registers.  See the error:

/tmp/ccmAG4Ya.s:321: Error: Neon double or quad precision register
expected -
`vmulq.s16 q2,r2,r8'
/tmp/ccmAG4Ya.s:322: Error: bad instruction
`vshln.i16 r2,q2,#1'

This makes mixing C and inline assembly nearly impossible for NEON code.


-- 
   Summary: Mixing ARM/NEON intrinsic variables and inline assembly
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gmcgrath at yahoo dot com


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



[Bug fortran/41478] Corrupted memory using PACK for derived-types with allocated components

2009-10-01 Thread burnus at gcc dot gnu dot org


--- Comment #8 from burnus at gcc dot gnu dot org  2009-10-01 21:21 ---
Minimal test case:

program main
type :: container_t
  integer, allocatable :: entry
end type container_t
type(container_t), dimension(1) :: a1, a2
allocate (a1(1)%entry, a2(1)%entry)
a2(1)%entry = 1
a1(1:1) = pack (a2(1:1), mask = [.true.])
end program main

I think what happens is the following: In pack one copies (memcpy) the bytes
from A2 to A1 - that whay A1 is a one-to-one copy of A2. At the end automatic
deallocation happens. First one frees (and nullifies) A1. Then one moves on to
A2, which is an exact copy of A1; thus A2%entry points to the same memory as
A1%entry - but the memory was already freed.

Thus we are obviously mishandling derived types with allocatable (or pointer)
components. Adding print *, loc() before and after pack illustrates this:
  6307888 ! loc(a2(1)%entry - before pack
  6307856 ! loc(a1(1)%entry - before pack
  6307888 ! loc(a2(1)%entry - after pack
  6307888 ! loc(a1(1)%entry - after pack

Actually, ifort shows the same result:
   7020672
   7020640
   7020672
   7020672
(and openf95 and pathf95 crash in pack).

While both NAG 95, sunf95 and g95 seem to handle it correctly:
 6722520
 6722456
 6722520
 6722456

That those handle it correctly, can also be seen if one adds:
  a1(1)%entry = 2
  print *, a2(1)%entry, a1(1)%entry
It should print 1 2 (as with NAG f95, g95 and sunf95) but gfortran and ifort
print 2 2.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|function pack causes  |Corrupted memory using PACK
   |double free violation   |for derived-types with
   ||allocated components


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



[Bug fortran/41539] New: Calling function which takes CLASS: Rank comparison does not work

2009-10-01 Thread burnus at gcc dot gnu dot org
The following program compiles with ifort and with NAG f95 but fails with
gfortran with:

  call qsort(A,tmp)
 1
Error: Rank mismatch in argument 'a' at (1) (0 and 1)


( The program was motivated by
http://groups.google.com/group/comp.lang.fortran/msg/cde7f6104f6c29c7 )


module m_qsort
  implicit none
  type, abstract :: sort_t
  contains
procedure(lt_cmp), deferred :: lt_cmp
  end type sort_t
  interface
logical function lt_cmp(a,b)
  import
  class(sort_t), intent(in) :: a, b
end function lt_cmp
  end interface
contains
  subroutine qsort(a,tmp)
class(sort_t), intent(inout) :: a(:),tmp
! Fixme: Replace tmp by a local var and allocate(tmp, source=a)
  end subroutine qsort
end module m_qsort

module test
  use m_qsort
  implicit none
  type, extends(sort_t) :: sort_int_t
integer :: i
  contains
procedure :: lt_cmp = lt_cmp_int
  end type
contains
  logical function lt_cmp_int(a,b) result(cmp)
class(sort_int_t), intent(in) :: a
class(sort_t), intent(in) :: b
select type(b)
  type is(sort_int_t)
if (a%i  b%i) then
  cmp = .true.
else
  cmp = .false.
end if
  class default
stop 'Something went wrong'
end select
  end function lt_cmp_int
end module test

program main
  use test
  type(sort_int_t) :: A(5), tmp
  A(:)%i = [1 , 4, 5, 2, 3]
  print *, A
  call qsort(A,tmp)
  print *, A
end program main


-- 
   Summary: Calling function which takes CLASS: Rank comparison does
not work
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  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=41539



[Bug preprocessor/41540] New: -dM -E doesn't #define __FILE__

2009-10-01 Thread msebor at gmail dot com
The documentation for the -dM -E option states that

  Instead of the normal output, generate a list of `#define' directives for
  all the macros defined during the execution of the preprocessor, including
  predefined macros. This gives you a way of finding out what is predefined
  in your version of the preprocessor.

but the predefined standard macro __FILE__ does not appear in the output
(and neither does __LINE__):

$ echo t.c  gcc -dM -E t.c | grep __FILE__ || echo __FILE__ not #defined
__FILE__ not #defined
$ 

I believe __FILE__ should always appear in the output.

Since __LINE__ changes its value from line to line it should either be
documented as not being output at all or, perhaps preferably, it should
be output with the value of 0.


-- 
   Summary: -dM -E doesn't #define __FILE__
   Product: gcc
   Version: 4.4.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: msebor at gmail dot com


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



[Bug middle-end/41535] [4.5 Regression] Broken var location info after scheduling

2009-10-01 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|Broken var location info|[4.5 Regression] Broken var
   |after scheduling|location info after
   ||scheduling
   Target Milestone|--- |4.5.0


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



[Bug inline-asm/41538] Mixing ARM/NEON intrinsic variables and inline assembly

2009-10-01 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-10-01 22:21 ---
r is a constraint for a general register, you need to use a proper constraint
here.  Refer to the architecture specific constraint documentaiton.


-- 


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



[Bug libstdc++/41530] [c++0x] Cannot move-construct std::tuple from a different type of std::tuple

2009-10-01 Thread cfairles at gcc dot gnu dot org


--- Comment #2 from cfairles at gcc dot gnu dot org  2009-10-01 22:52 
---
(In reply to comment #1)
 Thanks for the PR and the patch, which indeed makes sense to me (also regtests
 fine). Before committing the change, let's wait a bit in case Chris F has some
 comments...
 

Looks good to me.


-- 


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #19 from howarth at nitro dot med dot uc dot edu  2009-10-01 
23:54 ---
I'm not sure that hot_cold=0 would work as a grep of gcc trunk doesn't show any
thing matching hot_cold. I did find the original commit of the problematic
code...

http://gcc.gnu.org/ml/gcc/2004-02/msg00825.html


-- 


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



[Bug middle-end/41440] SEG FAULT in CSE.C caused by bad RTL expansion

2009-10-01 Thread hutchinsonandy at gcc dot gnu dot org


--- Comment #9 from hutchinsonandy at gcc dot gnu dot org  2009-10-02 00:30 
---
Checked earlier version. They all insert on edge before RTL is expanded.
Making this 4.5 regression.


-- 

hutchinsonandy at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |middle-end
  Known to fail||4.5.0
  Known to work||4.4.2 4.3.2


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



[Bug c++/41541] New: Conditional operator takes address of constant operands

2009-10-01 Thread paul dot mcgougan at braintree dot com dot au
When using the conditional operator (?:), it takes the address of its operands
when they are constant values.

Compilation Output:
-- Start --
[r...@casper ~]# g++ -v -save-temps bug.cpp
Using built-in specs.
Target: i586-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk
--disable-dssi --enable-plugin
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib
--with-ppl --with-cloog --with-tune=generic --with-arch=i586
--build=i586-redhat-linux
Thread model: posix
gcc version 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared-libgcc' '-mtune=generic'
'-march=i586'
 /usr/libexec/gcc/i586-redhat-linux/4.4.1/cc1plus -E -quiet -v -D_GNU_SOURCE
bug.cpp -mtune=generic -march=i586 -fpch-preprocess -o bug.ii
ignoring nonexistent directory
/usr/lib/gcc/i586-redhat-linux/4.4.1/include-fixed
ignoring nonexistent directory
/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../i586-redhat-linux/include
#include ... search starts here:
#include ... search starts here:
 /usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1

/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1/i586-redhat-linux
 /usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1/backward
 /usr/local/include
 /usr/lib/gcc/i586-redhat-linux/4.4.1/include
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared-libgcc' '-mtune=generic'
'-march=i586'
 /usr/libexec/gcc/i586-redhat-linux/4.4.1/cc1plus -fpreprocessed bug.ii -quiet
-dumpbase bug.cpp -mtune=generic -march=i586 -auxbase bug -version -o bug.s
GNU C++ (GCC) version 4.4.1 20090725 (Red Hat 4.4.1-2) (i586-redhat-linux)
compiled by GNU C version 4.4.1 20090725 (Red Hat 4.4.1-2), GMP version
4.2.4, MPFR version 2.4.1.
GGC heuristics: --param ggc-min-expand=61 --param ggc-min-heapsize=59733
Compiler executable checksum: e983968af33489f00d517096be08dea1
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared-libgcc' '-mtune=generic'
'-march=i586'
 as -V -Qy -o bug.o bug.s
GNU assembler version 2.19.51.0.14 (i586-redhat-linux) using BFD version
version 2.19.51.0.14-1.fc11 20090722
COMPILER_PATH=/usr/libexec/gcc/i586-redhat-linux/4.4.1/:/usr/libexec/gcc/i586-redhat-linux/4.4.1/:/usr/libexec/gcc/i586-redhat-linux/:/usr/lib/gcc/i586-redhat-linux/4.4.1/:/usr/lib/gcc/i586-redhat-linux/:/usr/libexec/gcc/i586-redhat-linux/4.4.1/:/usr/libexec/gcc/i586-redhat-linux/:/usr/lib/gcc/i586-redhat-linux/4.4.1/:/usr/lib/gcc/i586-redhat-linux/
LIBRARY_PATH=/usr/lib/gcc/i586-redhat-linux/4.4.1/:/usr/lib/gcc/i586-redhat-linux/4.4.1/:/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared-libgcc' '-mtune=generic'
'-march=i586'
 /usr/libexec/gcc/i586-redhat-linux/4.4.1/collect2 --eh-frame-hdr --build-id -m
elf_i386 --hash-style=gnu -dynamic-linker /lib/ld-linux.so.2
/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../crt1.o
/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../crti.o
/usr/lib/gcc/i586-redhat-linux/4.4.1/crtbegin.o
-L/usr/lib/gcc/i586-redhat-linux/4.4.1 -L/usr/lib/gcc/i586-redhat-linux/4.4.1
-L/usr/lib/gcc/i586-redhat-linux/4.4.1/../../.. bug.o -lstdc++ -lm -lgcc_s
-lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/i586-redhat-linux/4.4.1/crtend.o
/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../crtn.o
bug.o: In function `Test::Func(bool)':
bug.cpp:(.text+0x13): undefined reference to `Test::A'
bug.cpp:(.text+0x1a): undefined reference to `Test::B'
collect2: ld returned 1 exit status
-- End --

Contents of bug.ii:
-- Start --
[r...@casper ~]# cat bug.ii
# 1 bug.cpp
# 1 built-in
# 1 command-line
# 1 bug.cpp
class Test {
public:
 static const unsigned A = 0;
 static const unsigned B = 1;

 unsigned Func(bool arg);
};

unsigned Test::Func(bool arg)
{
  return arg ? Test::A : Test::B;
}

int main(int argc, char **argv)
{
 return 0;
}
-- End --

Disassembly of bug.o shows:
[crop]
 _ZN4Test4FuncEb:
   0:   55  push   %ebp
   1:   89 e5   mov%esp,%ebp
   3:   83 ec 04sub$0x4,%esp
   6:   8b 45 0cmov0xc(%ebp),%eax
   9:   88 45 fcmov%al,-0x4(%ebp)
   c:   80 7d fc 00 cmpb   $0x0,-0x4(%ebp)
  10:   74 07   je 19 _ZN4Test4FuncEb+0x19
  12:   a1 00 00 00 00  mov0x0,%eax
  17:   eb 05   jmp1e _ZN4Test4FuncEb+0x1e
  19:   a1 00 00 00 00  mov0x0,%eax
  1e:   c9  leave
  1f:   c3  ret
[crop]

So at address 12 and 19 you can see 

[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread mrs at apple dot com


--- Comment #20 from mrs at apple dot com  2009-10-02 02:03 ---
flag_reorder_blocks_and_partition was the complete name of the variable last I
looked.  If flag_unwind_tables is true and this variable is true, that's the
bug.


-- 


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



[Bug libfortran/35862] [F2003] Implement new rounding modes for run time

2009-10-01 Thread jvdelisle at gcc dot gnu dot org


--- Comment #12 from jvdelisle at gcc dot gnu dot org  2009-10-02 02:32 
---
Reply to comment #10: Thanks for the input and references.  The perspective of
rounding before conversion to binary representation is interesting.  I will
think on that a bit.

Reply to comment #11:  Thanks for test case.  I will try to fix this.


-- 


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #21 from howarth at nitro dot med dot uc dot edu  2009-10-02 
02:36 ---
We seemed to have changed the original code from gcc 4.2.1...

  /* If user requested unwind info, then turn off the partitioning
 optimization.  */

  if (flag_unwind_tables  ! targetm.unwind_tables_default
   flag_reorder_blocks_and_partition)
{
  inform (-freorder-blocks-and-partition does not support unwind info);
  flag_reorder_blocks_and_partition = 0;
  flag_reorder_blocks = 1;
}


in gcc/opts.c to...

  /* If the target requested unwind info, then turn off the partitioning
 optimization with a different message.  Likewise, if the target does not
 support named sections.  */

  if (flag_reorder_blocks_and_partition
   (!targetm.have_named_sections
  || (flag_unwind_tables  targetm.unwind_tables_default
   (USING_SJLJ_EXCEPTIONS
#ifdef TARGET_UNWIND_INFO
  || 1
#endif
 
{
  inform (input_location,
  -freorder-blocks-and-partition does not work on this
architecture);
  flag_reorder_blocks_and_partition = 0;
  flag_reorder_blocks = 1;
}


-- 


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #22 from howarth at nitro dot med dot uc dot edu  2009-10-02 
02:44 ---
This change came from...

Author: jakub
Date: Fri Aug  7 06:23:42 2009
New Revision: 150553

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=150553
Log:
* dwarf2out.c (output_fde): When doing hot/cold partitioning, use
fde-dw_fde_begin as begin label instead of hot/cold label.
Use LLSDAC label instead of LLSDA for second section lsda.
(dwarf2out_do_cfi_startproc): Add SECOND argument.  Use LLSDAC
label instead of LLSDA if it is true.
(dwarf2out_begin_prologue, dwarf2out_switch_text_section): Adjust
callers.
* except.c (add_call_site, dw2_size_of_call_site_table): Add
SECTION argument.  Use it as index into crtl-eh.call_site_record
array.
(dw2_output_call_site_table): Likewise.  Add CS_FORMAT argument,
use it to determine how to print table entries instead of using
#ifdef HAVE_AS_LEB128.  For SECTION  0 use hot resp. cold
label instead of normal begin label as base.
(sjlj_assign_call_site_values): Adjust add_call_site caller.
(convert_to_eh_region_ranges): When doing hot/cold partitioning,
ensure no EH range spans between sections and that landing pads
are always in the corresponding section.
(sjlj_size_of_call_site_table, sjlj_output_call_site_table): Adjust
for crtl-eh.call_site_record being an array rather than scalar.
(output_one_function_exception_table): New function, copied
from output_function_exception_table.  Adjust
dw2_size_of_call_site_table, dw2_output_call_site_table
callers.  For SECOND section use *C suffixed labels.
(output_function_exception_table): Call
output_one_function_exception_table and, when doing hot/cold
partitioning, also another time for the second section.
* opts.c: Include except.h.
(decode_options): Allow -freorder-blocks-and-partition with
exceptions, unless SJLJ or TARGET_UNWIND_INFO.
* Makefile.in (opts.o): Depend on $(EXCEPT_H).
* function.h (struct rtl_eh): Change call_site_record from
scalar into array of 2 elements.

* g++.dg/tree-prof/partition1.C: New test.


-- 


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



[Bug c++/41541] Conditional operator takes address of constant operands

2009-10-01 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2009-10-02 02:46 ---
DR 696 is talking about a different case.
The issue here is that you use Test::A / Test::B and define them.  You use them
in a non constant expression location so the compiler does not have to
subsitute them at all.


-- 

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



[Bug middle-end/41542] New: gcc.dg/tree-ssa/ipa-cp-1.c failed

2009-10-01 Thread hjl dot tools at gmail dot com
On Linux/ia32, I got

FAIL: gcc.dg/tree-ssa/ipa-cp-1.c (test for excess errors)
FAIL: gcc.dg/tree-ssa/ipa-cp-1.c scan-tree-dump-times optimized
very_long_function.clone.0 \(\) 3: dump file does not exist
FAIL: gcc.dg/tree-ssa/ipa-cp-1.c scan-tree-dump-times optimized
very_long_function.clone.0 \(\) 3: dump file does not exist
FAIL: gcc.dg/tree-ssa/ipa-cp-1.c scan-tree-dump-times optimized
very_long_function.clone.0 \(\) 3: dump file does not exist


-- 
   Summary: gcc.dg/tree-ssa/ipa-cp-1.c failed
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug fortran/33197] Fortran 2008: math functions

2009-10-01 Thread ghazi at gcc dot gnu dot org


--- Comment #32 from ghazi at gcc dot gnu dot org  2009-10-02 03:52 ---
Subject: Bug 33197

Author: ghazi
Date: Fri Oct  2 03:52:05 2009
New Revision: 152394

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152394
Log:
PR fortran/33197
* gfortran.h (HAVE_mpc_arc): Define.
* simplify.c (gfc_simplify_acos): Handle complex acos.
(gfc_simplify_acosh): Likewise for acosh.
(gfc_simplify_asin): Likewise for asin.
(gfc_simplify_asinh): Likewise for asinh.
(gfc_simplify_atan): Likewise for atan.
(gfc_simplify_atanh): Likewise for atanh.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/simplify.c


-- 


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #23 from howarth at nitro dot med dot uc dot edu  2009-10-02 
05:00 ---
Oddly...

Index: config/darwin.c
===
--- config/darwin.c (revision 152389)
+++ config/darwin.c (working copy)
@@ -1697,6 +1697,9 @@
   if (dwarf_strict  0) 
 dwarf_strict = 1;

+  if (flag_unwind_tables)
+flag_reorder_blocks_and_partition = 0;
+
   if (flag_mkernel || flag_apple_kext)
 {
   /* -mkernel implies -fapple-kext for C++ */

doesn't solve the problem. However if I manually revert...

--- /Users/howarth/gcc/gcc/opts.c   2009-09-28 19:33:18.0 -0400
+++ opts.c  2009-10-02 00:51:55.0 -0400
@@ -1054,12 +1054,7 @@
  optimization.  */

   if (flag_unwind_tables  ! targetm.unwind_tables_default
-   flag_reorder_blocks_and_partition
-   (USING_SJLJ_EXCEPTIONS
-#ifdef TARGET_UNWIND_INFO
- || 1
-#endif
-))
+   flag_reorder_blocks_and_partition)
 {
   inform (input_location,
  -freorder-blocks-and-partition does not support unwind info on
this architecture);

The failures are reduced down to just...

FAIL: g++.dg/tree-prof/partition1.C compilation,  -fprofile-use

with the same error as before...

/var/tmp//ccMjlW9T.s:620:FATAL:Symbol __Z3bari.eh already defined.compiler
exited with status 1output is:/var/tmp//ccMjlW9T.s:620:FATAL:Symbol __Z3bari.eh
already defined.

Perhaps there is another instance of flag_reorder_blocks_and_partition being
reset to 1 in the -fprofile-use case?


-- 


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #24 from howarth at nitro dot med dot uc dot edu  2009-10-02 
05:11 ---
Oh, I didn't regress out all of the changes from...

http://gcc.gnu.org/viewcvs/trunk/gcc/opts.c?r1=150553r2=150552view=patchpathrev=150553

when I do that, the tree-prof tests pass fine...

Native configuration is x86_64-apple-darwin10.0.0

=== g++ tests ===


Running target unix/-m32

=== g++ Summary for unix/-m32 ===

# of expected passes12
# of unsupported tests  1

Running target unix/-m64

=== g++ Summary for unix/-m64 ===

# of expected passes12
# of unsupported tests  1

=== g++ Summary ===

# of expected passes24
# of unsupported tests  2
/sw/src/fink.build/gcc45-4.4.999-20090930/darwin_objdir/gcc/testsuite/g++/../../g++
 version 4.5.0 20090930 (experimental) (GCC) 


Compiler version: 4.5.0 20090930 (experimental) (GCC) g++ 
Platform: x86_64-apple-darwin10.0.0
configure flags: --prefix=/sw --prefix=/sw/lib/gcc4.5 --mandir=/sw/share/man
--infodir=/sw/share/info --enable-languages=c,c++,fortran,objc,java
--with-gmp=/sw --with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw
--with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
--disable-libjava-multilib


-- 


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #25 from howarth at nitro dot med dot uc dot edu  2009-10-02 
05:34 ---
The following change achieves the same test results as in Comment 24...

--- /Users/howarth/gcc/gcc/opts.c   2009-09-28 19:33:18.0 -0400
+++ opts.c  2009-10-02 01:30:48.0 -0400
@@ -1038,11 +1038,14 @@
  turn off the partitioning optimization.  */

   if (flag_exceptions  flag_reorder_blocks_and_partition
+#if !defined(__MACH__)
(USING_SJLJ_EXCEPTIONS
-#ifdef TARGET_UNWIND_INFO
+#if defined(TARGET_UNWIND_INFO)
  || 1
 #endif
-))
+)
+#endif
+)
 {
   inform (input_location, 
  -freorder-blocks-and-partition does not work with exceptions on
this architecture);
@@ -1055,11 +1058,14 @@

   if (flag_unwind_tables  ! targetm.unwind_tables_default
flag_reorder_blocks_and_partition
+#if !defined(__MACH__)
(USING_SJLJ_EXCEPTIONS
-#ifdef TARGET_UNWIND_INFO
+#if defined(TARGET_UNWIND_INFO)
  || 1
 #endif
-))
+)
+#endif
+ )
 {
   inform (input_location,
  -freorder-blocks-and-partition does not support unwind info on
this architecture);
@@ -1074,11 +1080,14 @@
   if (flag_reorder_blocks_and_partition
(!targetm.have_named_sections
  || (flag_unwind_tables  targetm.unwind_tables_default
+#if !defined(__MACH__)
   (USING_SJLJ_EXCEPTIONS
-#ifdef TARGET_UNWIND_INFO
+#if defined(TARGET_UNWIND_INFO)
  || 1
 #endif
-
+   )
+#endif
+ ))) 
 {
   inform (input_location,
  -freorder-blocks-and-partition does not work on this
architecture);


-- 


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #26 from howarth at nitro dot med dot uc dot edu  2009-10-02 
05:40 ---
I should note that if I don't wrapper the line ...

   (USING_SJLJ_EXCEPTIONS

with the #if !defined(__MACH__), I get the following results...

=== g++ tests ===

Schedule of variations:
unix/-m32
unix/-m64

Running target unix/-m32
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using
/sw/src/fink.build/gcc45-4.4.999-20090930/gcc-4.5-20090930/gcc/testsuite/config/default.exp
as tool-and-target-specific interface file.
Running
/sw/src/fink.build/gcc45-4.4.999-20090930/gcc-4.5-20090930/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
...
FAIL: g++.dg/tree-prof/partition1.C compilation,  -fprofile-use

=== g++ Summary for unix/-m32 ===

# of expected passes14
# of unexpected failures1
# of unresolved testcases   1
Running target unix/-m64
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using
/sw/src/fink.build/gcc45-4.4.999-20090930/gcc-4.5-20090930/gcc/testsuite/config/default.exp
as tool-and-target-specific interface file.
Running
/sw/src/fink.build/gcc45-4.4.999-20090930/gcc-4.5-20090930/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
...
FAIL: g++.dg/tree-prof/partition1.C compilation,  -fprofile-use

=== g++ Summary for unix/-m64 ===

# of expected passes14
# of unexpected failures1
# of unresolved testcases   1

=== g++ Summary ===

# of expected passes28
# of unexpected failures2
# of unresolved testcases   2
/sw/src/fink.build/gcc45-4.4.999-20090930/darwin_objdir/prev-gcc/testsuite/g++/../../g++
 version 4.5.0 20090930 (experimental) (GCC) 

so the entirety of the additional conditional added in r150553 needs to be
wrappered on darwin.


-- 


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



[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*

2009-10-01 Thread howarth at nitro dot med dot uc dot edu


--- Comment #27 from howarth at nitro dot med dot uc dot edu  2009-10-02 
05:44 ---
I should note that with the proposed change in Comment 25, the 2 unsupported
tests properly show up in g++.log as...

cc1plus: note: -freorder-blocks-and-partition does not work with exceptions on
this architecture
output is:
cc1plus: note: -freorder-blocks-and-partition does not work with exceptions on
this architecture

UNSUPPORTED:
/sw/src/fink.build/gcc45-4.4.999-20090930/gcc-4.5-20090930/gcc/testsuite/g++.dg/tree-prof/partition1.C


-- 


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