[Bug lto/39279] [lto] - Werror in ../lto_trunk/gcc/lto/lto.c

2009-07-17 Thread rob1weld at aol dot com


--- Comment #4 from rob1weld at aol dot com  2009-07-17 06:43 ---
(In reply to comment #2)
 Confirmed.  The proposed fix is not correct, though, as the type of the first
 argument to munmap _is_ void* according to POSIX.

Thanks for applying the patch. I've not looked at 'LTO' source in a few 
months, we could 'cast in the other direction' (fix everything else), 
but I imagine _we_ had a reason not to fix this properly ...

People need to test their code on a few versions of GCC (3.4.x  4.x.x).

Thanks Ben  Rainer,
Rob


-- 


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



[Bug c/40782] New: Code works with optimization disabled.. but not with 02 for when used as cross compiler for ARM 11 MP

2009-07-17 Thread mahendra dot sp at gmail dot com
We are building c code with compiler optimization. We are using GCC 4.1.2 as
cross compiler for ARM 11 MP core. Here is description of the problem as I can
not share the actual code due to licensing issues

function A - function B. Function A calls B with a pointer as an argument.

When a function is called with pointer as an argument, after the return, the
address is getting modified. If I print the pointer in the function B, it is
correct. Note that the address is passed as  a value.

Is there any known issue ? I couldn't find any in the data base.


-- 
   Summary: Code works with optimization disabled.. but not with 02
for when used as cross compiler for ARM 11 MP
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mahendra dot sp at gmail dot com


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



[Bug libmudflap/40778] [4.5 Regression] Mudflap instrumentation missing in cloned function.

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2009-07-17 09:44 ---
*** Bug 40755 has been marked as a duplicate of this bug. ***


-- 


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



[Bug libmudflap/40755] [4.5 Regression] Mudflap instrumentation missing in cloned function.

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-07-17 09:44 ---


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


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug libmudflap/40778] [4.5 Regression] Mudflap instrumentation missing in cloned function.

2009-07-17 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.0


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



[Bug rtl-optimization/40772] generating rendundant moves from second byte of 32b/64b register

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2009-07-17 09:54 ---
The zero extension is done to avoid partial register stalls.


-- 


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



[Bug c++/20423] Warning -Woverloaded-virtual triggers to often

2009-07-17 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Keywords||patch
   Last reconfirmed|2005-11-24 02:23:45 |2009-07-17 10:00:52
   date||


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



[Bug bootstrap/39610] ICE in libstdc++-v3/include in stage 3

2009-07-17 Thread rainer at emrich-ebersheim dot de


--- Comment #6 from rainer at emrich-ebersheim dot de  2009-07-17 10:30 
---
This doesn't show up anymore. Someone with appropriate permissions may close
this PR.

Rainer


-- 


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



[Bug bootstrap/39610] ICE in libstdc++-v3/include in stage 3

2009-07-17 Thread ktietz at gcc dot gnu dot org


--- Comment #7 from ktietz at gcc dot gnu dot org  2009-07-17 10:35 ---
Seems to be fixed by side-effect.

Thanks,
Kai


-- 

ktietz at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c++/40780] [4.4/4.5 Regression] ICE in gimplify_conversion

2009-07-17 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2009-07-17 10:40 ---
Subject: Bug 40780

Author: jakub
Date: Fri Jul 17 10:40:09 2009
New Revision: 149740

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149740
Log:
PR c++/40780
* gimplify.c (gimplify_conversion): Don't change non-conversions into
VIEW_CONVERT_EXPR.

* g++.dg/template/ptrmem19.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/template/ptrmem19.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/40780] [4.4/4.5 Regression] ICE in gimplify_conversion

2009-07-17 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2009-07-17 10:46 ---
Subject: Bug 40780

Author: jakub
Date: Fri Jul 17 10:45:40 2009
New Revision: 149741

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149741
Log:
PR c++/40780
* gimplify.c (gimplify_conversion): Don't change non-conversions into
VIEW_CONVERT_EXPR.

* g++.dg/template/ptrmem19.C: New test.

Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/ptrmem19.C
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/gimplify.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/40780] [4.4/4.5 Regression] ICE in gimplify_conversion

2009-07-17 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2009-07-17 10:57 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug rtl-optimization/40772] generating rendundant moves from second byte of 32b/64b register

2009-07-17 Thread zsojka at seznam dot cz


--- Comment #4 from zsojka at seznam dot cz  2009-07-17 11:03 ---
 The zero extension is done to avoid partial register stalls.

I am sorry, this is explanation to me that the generated code is supposedly
fastest, but only because of some undocumented/unlucky conditions the
benchmark shows different result? (and so this task can be possibly closed
because there is no way to determinically improve generated code)
Or do you say the code responsible for eliminating partial register stalls
does bad job here because when using only 'ah' and 'eax', there is no _false_
register dependency?

I wasn't sure if this has something to do with partial register stall
elimination because the following, very similiar (and functionally identical)
code:

uint8_t data[16];

static __attribute__((noinline)) void bar(unsigned i)
{
unsigned j;
for (j = 0; j  16; j++)
data[j] = (i + j)  8;
}


Is compiled as:

bar:
.LFB12:
.cfi_startproc
movl%edi, %eax
shrl$8, %eax
movb%al, data(%rip)
leal1(%rdi), %eax
shrl$8, %eax
movb%al, data+1(%rip)
leal2(%rdi), %eax
shrl$8, %eax
movb%al, data+2(%rip)
leal3(%rdi), %eax
shrl$8, %eax
movb%al, data+3(%rip)
leal4(%rdi), %eax
...

There is no partial register stall elimination, the only difference is shr
instead of movzx.

So I thought that:
- the version with mask  0xFF00 is decyphered as 'only second byte is masked
out and then shifted right by 8b, so ah can be moved to al (resp. whole
eax)'
- the version without mask is not decyphered as reading only second byte, so
do just shift right of the working register


-- 


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



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

2009-07-17 Thread david dot kirkby at onetel dot net


--- Comment #18 from david dot kirkby at onetel dot net  2009-07-17 11:19 
---
(In reply to comment #17)
 Try:
 typedef __SIZE_TYPE__ size_t;
 extern void *memset (void *, const void *, size_t);
 extern void abort (void);
 volatile size_t i = 0x8000U, j = 0x8000U;
 char buf[16];
 
 int main (void)
 {
   if (sizeof (size_t) != 4)
 return 0;
   buf[0] = 6;
   memset (buf, 0, i + j);
   if (buf[0] != 6)
 abort ();
   return 0;
 }
 In 32-bit code, size_t is 32-bit, memset is called with buf, 0, 0 arguments,
 but the %o2 register passed to it doesn't contain 0, but 0x1.  That is
 fine, this is 32-bit code, so the uppermost bits are always undefined.  But
 when 32-bit memset uses brnz %o2, ... instruction, it needs to first
 zero-extend it to 64-bits, as brnz operates on all 64 bits only.  Or not use
 brnz, but compare and be %icc, ...
 


I've compiled and linked that code. It does not abort. i.e. I do NOT see:
Abort (core dumped).

In 64-bit mode, it issues a warning:

$ gcc -m64  check.c
check.c:2: warning: conflicting types for built-in function 'memset'

but again builds an executable which exits normally. 

If you want the assembler output posted from Tim's preprocessed file, let me
know how to do it and I'll do it, just in case gcc is behaving differently on
this machine to yours.

As I say, if you want an account Jakub, you can have one. Just tell me a user
name. It might be the simplest way for you to look at this. 

Dave 


-- 


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



[Bug tree-optimization/40321] [4.4/4.5 Regression] internal compiler error: in compute_antic, at tree-ssa-pre.c:2501

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #27 from rguenth at gcc dot gnu dot org  2009-07-17 12:44 
---
Subject: Bug 40321

Author: rguenth
Date: Fri Jul 17 12:44:05 2009
New Revision: 149744

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149744
Log:
2009-07-17  Richard Guenther  rguent...@suse.de

PR tree-optimization/40321
* tree-ssa-pre.c (add_to_exp_gen): Also add names defined by
PHI nodes to the maximal set.
(make_values_for_phi): Add PHI arguments to the maximal set.
(execute_pre): Dump PHI_GEN and the maximal set.

* gcc.c-torture/compile/pr40321.c: New testcase.
* g++.dg/torture/pr40321.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/torture/pr40321.C
trunk/gcc/testsuite/gcc.c-torture/compile/pr40321.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c


-- 


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



[Bug tree-optimization/40321] [4.4 Regression] internal compiler error: in compute_antic, at tree-ssa-pre.c:2501

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #28 from rguenth at gcc dot gnu dot org  2009-07-17 12:44 
---
Fixed on the trunk sofar.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||4.4.0
  Known to work||4.5.0
Summary|[4.4/4.5 Regression]|[4.4 Regression] internal
   |internal compiler error: in |compiler error: in
   |compute_antic, at tree-ssa- |compute_antic, at tree-ssa-
   |pre.c:2501  |pre.c:2501


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



[Bug other/40784] New: [4.5 Regression] Revision 149725 caused autoconf warning in libstdc++

2009-07-17 Thread hjl dot tools at gmail dot com
Revision 149725:

http://gcc.gnu.org/ml/gcc-cvs/2009-07/msg00606.html

caused:

[...@gnu-6 libstdc++-v3]$ autoconf-2.59
configure.ac:178: warning: GCC_NO_EXECUTABLES invoked multiple times
/export/redhat/rpms/BUILD/autoconf-2.59/tests/../lib/autoconf/general.m4:2213:
AC_LINK_IFELSE is expanded from...
/export/redhat/rpms/BUILD/autoconf-2.59/tests/../lib/autoconf/general.m4:2271:
AC_RUN_IFELSE is expanded from...
/export/redhat/rpms/BUILD/autoconf-2.59/tests/../lib/autoconf/general.m4:1792:
AC_CACHE_VAL is expanded from...
/export/redhat/rpms/BUILD/autoconf-2.59/tests/../lib/autoconf/general.m4:1805:
AC_CACHE_CHECK is expanded from...
../config/tls.m4:2: GCC_CHECK_TLS is expanded from...
configure.ac:178: the top level
configure.ac:247: warning: GCC_NO_EXECUTABLES invoked multiple times
crossconfig.m4:5: GLIBCXX_CROSSCONFIG is expanded from...
configure.ac:247: the top level
[...@gnu-6 libstdc++-v3]$ 

in libstdc++-v3


-- 
   Summary: [4.5 Regression] Revision 149725 caused autoconf warning
in libstdc++
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
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=40784



[Bug target/39182] ICE in gen_add2_insn, at optabs.c:4884

2009-07-17 Thread joel at gcc dot gnu dot org


--- Comment #7 from joel at gcc dot gnu dot org  2009-07-17 14:32 ---
Patch committed.  Ran coverage to verify that it didn't introduce a new
uncovered range of code.

Sorry to have broken it. Trying to get to 100% test coverage and eliminate dead
code.


-- 

joel at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug target/39182] ICE in gen_add2_insn, at optabs.c:4884

2009-07-17 Thread joel at gcc dot gnu dot org


--- Comment #8 from joel at gcc dot gnu dot org  2009-07-17 14:38 ---
Stupid human error.  Clicked on wrong bug.


-- 

joel at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug boehm-gc/40785] New: Powerpc bootstrap is broken due to problems in boehm-gc

2009-07-17 Thread meissner at gcc dot gnu dot org
The test and set locks in boehm-gc/include/private/gc_locks.h have invalid asm
for creating the test and set locks and the current Powerpc GCC compiler
generates errors when enabling java in a bootstrap.

In addition, GCC 4.4 has added the __sync_lock_test_and_set and
__sync_lock_release builtins which abstract these functions, so the asm is not
needed for 4.4 and beyond.


-- 
   Summary: Powerpc bootstrap is broken due to problems in boehm-gc
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: boehm-gc
AssignedTo: meissner at linux dot vnet dot ibm dot com
ReportedBy: meissner at gcc dot gnu dot org
 GCC build triplet: powerpc64-unknown-linux-gnu
  GCC host triplet: powerpc64-unknown-linux-gnu
GCC target triplet: powerpc64-unknown-linux-gnu


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



[Bug lto/40758] [LTO] ICE in partition_view_bitmap, at tree-ssa-live.c:331

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2009-07-17 14:52 ---
I'm reducing the first testcase.


-- 


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



[Bug boehm-gc/40785] Powerpc bootstrap is broken due to problems in boehm-gc

2009-07-17 Thread meissner at gcc dot gnu dot org


--- Comment #1 from meissner at gcc dot gnu dot org  2009-07-17 14:53 
---
Created an attachment (id=18213)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18213action=view)
Patch to use sync builtins if we can, and fix asm constraints if we have an
older compiler


-- 


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



[Bug other/40784] [4.5 Regression] Revision 149725 caused autoconf warning in libstdc++

2009-07-17 Thread jsm28 at gcc dot gnu dot org


--- Comment #1 from jsm28 at gcc dot gnu dot org  2009-07-17 15:08 ---
Subject: Bug 40784

Author: jsm28
Date: Fri Jul 17 15:08:36 2009
New Revision: 149748

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149748
Log:
PR other/40784
config:
* tls.m4 (GCC_CHECK_TLS): Add extra quoting around argument to
AC_LINK_IFELSE.

libjava:
* configure: Regenerate.

libstdc++-v3:
* configure: Regenerate.

Modified:
trunk/config/ChangeLog
trunk/config/tls.m4
trunk/libjava/ChangeLog
trunk/libjava/configure
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/configure


-- 


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



[Bug lto/40758] [LTO] ICE in partition_view_bitmap, at tree-ssa-live.c:331

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2009-07-17 15:12 ---
Reduced testcase:

typedef struct disp_surface { unsigned char *vidptr; } disp_surface_t;
void 
ffb_ctx_scaled_blit(disp_surface_t *src, unsigned char *srcwork, int scopy)
{
  unsigned char *sptr = sptr;
  sptr = src-vidptr;
  __builtin_memcpy(srcwork, sptr, scopy);
}

 ./xgcc -B. -c ice.3.i -flto -O -m32
 ./xgcc -B. -shared ice.3.o -flto -m32
In file included from :2:0:
ice.3.i: In function 'ffb_ctx_scaled_blit':
ice.3.i:3:1: internal compiler error: in partition_view_bitmap, at
tree-ssa-live.c:331
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 


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



[Bug lto/40765] [LTO] ICE verify_ssa failed

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2009-07-17 15:40 ---
confvar.i:

struct variable {
const char *string;
};
struct variable table[] = { };


getconf.i:

struct variable {
const char *string;
};
extern struct variable table[];
int main(int argc, char *argv[]) 
{
struct variable *p;
for(p = table; p-string; p++) 
  ;
}

 ./xgcc -B.  confvar.3.i getconf.3.i -flto -O
In function 'main':
lto1: error: address taken, but ADDRESSABLE bit not set
PHI argument
table[0];
for PHI node
p_1 = PHI table[0](2), p_4(3)
lto1: internal compiler error: verify_ssa failed
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

as table is a global variable this is likely just a verifier issue - the
TREE_ADDRESSABLE state of non-static variables is not relevant (still it
seems it's not properly merged).  With -fwhole-program table should be
promoted to static, thus TREE_ADDRESSABLE should be merged here.

Like the following, which fixes the testcase:

Index: lto-symtab.c
===
--- lto-symtab.c(revision 149739)
+++ lto-symtab.c(working copy)
@@ -572,6 +572,9 @@ lto_symtab_merge_decl (tree new_decl,
   if (!lto_symtab_compatible (old_decl, new_decl))
 return;

+  /* Merge decl state.  */
+  TREE_ADDRESSABLE (old_decl) |= TREE_ADDRESSABLE (new_decl);
+
   old_resolution = lto_symtab_get_resolution (old_decl);
   gcc_assert (resolution != LDPR_UNKNOWN
   resolution != LDPR_UNDEF


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-07-15 15:15:34 |2009-07-17 15:40:25
   date||


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



[Bug c/40401] [4.5 Regression] ICE: verify_gimple failed

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2009-07-17 15:50 ---
Subject: Bug 40401

Author: rguenth
Date: Fri Jul 17 15:49:34 2009
New Revision: 149750

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149750
Log:
2009-07-17  Richard Guenther  rguent...@suse.de

PR c/40401
* tree-pass.h (pass_diagnose_omp_blocks): Declare.
(pass_warn_unused_result): Likewise.
(TODO_set_props): Remove.
* omp-low.c (diagnose_omp_structured_block_errors): Change to
run as a pass.
(pass_diagnose_omp_blocks): Define.
* c-decl.c (pop_file_scope): Do not finalize the CU here.
(c_gimple_diagnostics_recursively): Remove.
(finish_function): Do not call it.
(c_write_global_declarations): Continue after errors.
Finalize the CU here.
* c-gimplify.c (c_genericize): Do not gimplify here.
* c-common.c (c_warn_unused_result): Move ...
* tree-cfg.c (do_warn_unused_result): ... here.
(run_warn_unused_result): New function.
(gate_warn_unused_result): New function.
(pass_warn_unused_result): New pass.
* c-common.h (c_warn_unused_result): Remove.
* flags.h (flag_warn_unused_result): Declare.
* c-opts.c (c_common_init_options): Enable flag_warn_unused_result.
* opts.c (flag_warn_unused_result): Initialize to false.

* toplev.c (compile_file): Add comment.
* omp-low.c (create_omp_child_function): Do not register
the function with the frontend.
(diagnose_omp_structured_block_errors): Prepare to be
called as optimization pass.
(gate_diagnose_omp_blocks): New function.
(pass_diagnose_omp_blocks): New pass.
* cgraph.h (cgraph_optimize): Remove.
(cgraph_analyze_function): Likewise.
* cgraph.c (cgraph_add_new_function): Gimplify C++ thunks.
* cgraphunit.c (cgraph_lower_function): Lower nested functions
before their parents here.
(cgraph_finalize_function): Not here.
(cgraph_analyze_function): Gimplify functions here.
(cgraph_finalize_compilation_unit): Continue after errors.
Optimize the callgraph from here.
(cgraph_optimize): Make static.
* langhooks.c (write_global_declarations): Finalize the CU.
* gimplify.c (gimplify_asm_expr): Do not emit ASMs with errors.
(gimplify_function_tree): Assert we gimplify only once.
Set PROP_gimple_any property.
* tree-nested.c (gimplify_all_functions): New function.
(lower_nested_functions): Gimplify all nested functions.
* gimple.h (diagnose_omp_structured_block_errors): Remove.
* passes.c (init_optimization_passes): Add pass_warn_unused_result
and pass_diagnose_omp_blocks after gimplification.  Do not
set TODO_set_props on all_lowering_passes.
(execute_one_pass): Do not handle TODO_set_props.
* Makefile.in (cgraphunit.o): Add $(TREE_DUMP_H) dependency.
(gimplify.o): Add tree-pass.h dependency.
* tree-inline.c (copy_statement_list): Properly copy STATEMENT_LIST.
(copy_tree_body_r): Properly handle TARGET_EXPR like SAVE_EXPR.
(unsave_r): Likewise.
* c-omp.c (c_finish_omp_atomic): Set DECL_CONTEXT on the
temporary variable.

cp/
* decl.c (finish_function): Do not emit unused result warnings
from here.
* cp-objcp-common.h (LANG_HOOKS_POST_GIMPLIFY_PASS): Use
c_warn_unused_result_pass.
* semantics.c (expand_or_defer_fn): Adjust assertion about IL status.
* optimize.c (clone_body): Clone in GENERIC.
(maybe_clone_body): Do not clear DECL_SAVED_TREE.
* decl2.c (cp_write_global_declarations): Fix body test.
Do not call cgraph_optimize.
* Make-lang.in (optimize.o): Add tree-iterator.h dependency.
* method.c (use_thunk): Register thunk with
cgraph_finalize_function.
* error.c (function_category): Guard access of DECL_LANG_SPECIFIC.

java/
* java-gimplify.c (java_genericize): Do not gimplify here.
But replace all local references.
(java_gimplify_expr): Do not replace local references here.
(java_gimplify_modify_expr): Likewise.
* jcf-parse.c (java_parse_file): Do not finalize the CU or
optimize the cgraph here.
* decl.c (java_replace_reference): Make static.
(java_replace_references): New function.
(end_java_method): Clear base_decl_map.
* java-tree.h (java_replace_references): Declare.
(java_replace_reference): Remove.

ada/
* utils.c (end_subprog_body): Revert to pre-tuples state.  Remove
unused parameter.
(gnat_gimplify_function): Do not gimplify here.
Fold into its only caller and remove.
(gnat_builtin_function): Adjust for end_subprog_body signature change.
(gnat_write_global_declarations): 

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

2009-07-17 Thread marc dot glisse at normalesup dot org


--- Comment #19 from marc dot glisse at normalesup dot org  2009-07-17 
15:51 ---
(In reply to comment #18)
 I've compiled and linked that code. It does not abort.

Bad point for this theory :-(
The result could still depend on the alignment of the pointer, so you could try
replacing buf[0] by buf[4] and calling memset(buf+4,...) (try several small
values instead of 4).


-- 


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



[Bug target/40786] New: Windows %I32 format confusion

2009-07-17 Thread jsm28 at gcc dot gnu dot org
http://msdn.microsoft.com/en-us/library/tcxf1dw6(VS.71).aspx
says that the Windows %I32 printf formats take arguments of type __int32
or unsigned __int32.

config/i386/msformat-c.c defines these using FMT_LEN_l, i.e. type long.
It appears that MinGW uses long for __int32, but MinGW-W64 uses int
(despite long being 32-bit for Win64), and so the compiler should
distinguish between these cases - or, in this special case, allow both
types.  (I don't know what __int32 is with the MS compiler, for either
32-bit or 64-bit.)

The testcase gcc.dg/format/ms-format1.c passes an int value to this format,
and so fails.  sys_format.c passes a long value, and so passes.  Clearly
both should pass the same type.


-- 
   Summary: Windows %I32 format confusion
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsm28 at gcc dot gnu dot org
GCC target triplet: *-*-mingw*


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



[Bug c/40401] [4.5 Regression] ICE: verify_gimple failed

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2009-07-17 16:07 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/40727] ICE gfc_simplify_dcmplx(): Bad type when passing BT_COMPLEX to cmplx

2009-07-17 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2009-07-17 17:39 ---
I'm working on a patch that may fix this issue.
It's bootstrapping at the moment.


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |kargl at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-07-17 17:39:27
   date||


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



[Bug lto/40765] [LTO] ICE verify_ssa failed

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2009-07-17 17:41 ---
Subject: Bug 40765

Author: rguenth
Date: Fri Jul 17 17:41:38 2009
New Revision: 149753

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149753
Log:
2009-07-17  Richard Guenther  rguent...@suse.de

PR lto/40765
* lto-symtab.c (lto_symtab_merge_decl): Merge TREE_ADDRESSABLE
state.

* gcc.dg/lto/20090717_0.c: New testcase.
* gcc.dg/lto/20090717_1.c: Likewise.

Added:
branches/lto/gcc/testsuite/gcc.dg/lto/20090717_0.c
branches/lto/gcc/testsuite/gcc.dg/lto/20090717_1.c
Modified:
branches/lto/gcc/ChangeLog.lto
branches/lto/gcc/lto-symtab.c
branches/lto/gcc/testsuite/ChangeLog.lto


-- 


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



[Bug lto/40765] [LTO] ICE verify_ssa failed

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2009-07-17 17:42 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug debug/40599] [4.5 regression] GCC error in pre_and_rev_post_order_compute, at cfganal.c:1045

2009-07-17 Thread oliver dot kellogg at eads dot com


--- Comment #9 from oliver dot kellogg at eads dot com  2009-07-17 17:49 
---
Triggered by
http://gcc.gnu.org/viewcvs?root=gccview=revrev=146776


-- 


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



[Bug debug/40599] [4.5 regression] GCC error in pre_and_rev_post_order_compute, at cfganal.c:1045

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2009-07-17 18:11 
---
Honza, this is yours.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug c/40787] New: [4.5 Regression] ICE: verify_gimple failed in gcc.dg/pr35899.c

2009-07-17 Thread rguenth at gcc dot gnu dot org
/home/richard/src/trunk/gcc/testsuite/gcc.dg/pr35899.c:13:1: warning:
conflicting types for 'bar'
/home/richard/src/trunk/gcc/testsuite/gcc.dg/pr35899.c:8:11: note: previous
implicit declaration of 'bar' was here
/home/richard/src/trunk/gcc/testsuite/gcc.dg/pr35899.c: In function 'foo':
/home/richard/src/trunk/gcc/testsuite/gcc.dg/pr35899.c:6:1: error: invalid
conversion in gimple call
int

void

a = bar ();

/home/richard/src/trunk/gcc/testsuite/gcc.dg/pr35899.c:6:1: internal compiler
error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


Caused by gimplifying unit-at-a-time.  Should be rejected with an error.

20:55  jsm28 richi: We can reject it (compile-time undefined in C90, 
   diagnostic required in C99).


-- 
   Summary: [4.5 Regression] ICE: verify_gimple failed in
gcc.dg/pr35899.c
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  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=40787



[Bug c/40787] [4.5 Regression] ICE: verify_gimple failed in gcc.dg/pr35899.c

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-07-17 18:58 ---
Mine.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Keywords||ice-on-invalid-code
   Last reconfirmed|-00-00 00:00:00 |2009-07-17 18:58:59
   date||
   Target Milestone|--- |4.5.0


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



[Bug bootstrap/40788] New: [4.5 regression] ICE : tree check: expected class 'expression', have 'declaration' (var_decl) in gimplify_va_arg_expr, at builtins.c:5107

2009-07-17 Thread ro at gcc dot gnu dot org
Between 20090702 and 20090717, compiling genattrtab.c in stage 2 fails on
Solaris 11/SPARC like this:

% /vol/gccsrc/obj/gcc-4.5.0-20090717/11-gcc/./prev-gcc/xgcc
-B/vol/gccsrc/obj/gcc-4.5.0-20090717/11-gcc/./prev-gcc/
-B/vol/gcc/sparc-sun-solaris2.11/bin/ -B/vol/gcc/sparc-sun-solaris2.11/bin/
-B/vol/gcc/sparc-sun-solaris2.11/lib/ -isystem
/vol/gcc/sparc-sun-solaris2.11/include -isystem
/vol/gcc/sparc-sun-solaris2.11/sys-include-c  -g -O2 -DIN_GCC   -W -Wall
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common
 -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I/vol/gcc/src/gcc-dist/gcc
-I/vol/gcc/src/gcc-dist/gcc/build -I/vol/gcc/src/gcc-dist/gcc/../include
-I/vol/gcc/src/gcc-dist/gcc/../libcpp/include -I/vol/gcc/include
-I/vol/gcc/include -I/vol/gcc/src/gcc-dist/gcc/../libdecnumber
-I/vol/gcc/src/gcc-dist/gcc/../libdecnumber/dpd -I../libdecnumber -o
build/genattrtab.o /vol/gcc/src/gcc-dist/gcc/genattrtab.c
/vol/gcc/src/gcc-dist/gcc/genattrtab.c: In function 'attr_rtx_1':
/vol/gcc/src/gcc-dist/gcc/genattrtab.c:479:28: internal compiler error: tree
check: expected class 'expression', have 'declaration' (var_decl) in
gimplify_va_arg_expr, at builtins.c:5107

This can be reproduced even with cc1 -fpreprocessed -quiet genattrtab.i


-- 
   Summary: [4.5 regression] ICE : tree check: expected class
'expression', have 'declaration' (var_decl) in
gimplify_va_arg_expr, at builtins.c:5107
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: sparc-sun-solaris2.11
  GCC host triplet: sparc-sun-solaris2.11
GCC target triplet: sparc-sun-solaris2.11


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



[Bug bootstrap/40788] [4.5 regression] ICE : tree check: expected class 'expression', have 'declaration' (var_decl) in gimplify_va_arg_expr, at builtins.c:5107

2009-07-17 Thread ro at gcc dot gnu dot org


--- Comment #1 from ro at gcc dot gnu dot org  2009-07-17 19:25 ---
Created an attachment (id=18214)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18214action=view)
preprocessed input file


-- 


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



[Bug other/40789] New: fixincludes/fixincl.c: duplicate call to close ?

2009-07-17 Thread dcb314 at hotmail dot com
I just had a look at source code file fixincludes/fixincl.c

I can see that function test_for_changes makes a call
to close near the end of its definition as follows

  close (read_fd);  /* probably redundant, but I'm paranoid */

But around line 1352 of the same file is what
appears to be a redundant call to close.

test_for_changes (read_fd);
close (read_fd);

So there seems to be duplicate calls to close on the same
file descriptor.

Suggest remove the second call to close and re-word
the comment, which appears to be wrong, the close is required.


-- 
   Summary: fixincludes/fixincl.c: duplicate call to close ?
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dcb314 at hotmail dot com
  GCC host triplet: x86_64-suse-linux


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



[Bug lto/40790] New: plugin-api.h unconditionally includes stdint.h

2009-07-17 Thread ro at gcc dot gnu dot org
I tried to build the lto branch as of 20090709 on IRIX 6.5 with GCC 3.4.5 as
bootstrap compiler.  The build fails like this:

% gcc -c  -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute
-Wold-style-definition -fno-common  -DHAVE_CONFIG_H -I. -I.
-I/vol/gcc/src/gcc-lto/gcc -I/vol/gcc/src/gcc-lto/gcc/.
-I/vol/gcc/src/gcc-lto/gcc/../include
-I/vol/gcc/src/gcc-lto/gcc/../libcpp/include -I/vol/gcc/include
-I/vol/gcc/include -I/vol/gcc/src/gcc-lto/gcc/../libdecnumber
-I/vol/gcc/src/gcc-lto/gcc/../libdecnumber/dpd -I../libdecnumber  
-I/vol/gcc/include -I/vol/gcc/include/libelf 
/vol/gcc/src/gcc-lto/gcc/lto-streamer-in.c -o lto-streamer-in.o
In file included from /vol/gcc/src/gcc-lto/gcc/tree-flow.h:29,
 from /vol/gcc/src/gcc-lto/gcc/lto-streamer-in.c:36:
/vol/gcc/src/gcc-lto/gcc/gimple.h: In function `gimple_op':
/vol/gcc/src/gcc-lto/gcc/gimple.h:1578: warning: cast discards qualifiers from
pointer target type
/vol/gcc/src/gcc-lto/gcc/gimple.h: In function `gimple_op_ptr':
/vol/gcc/src/gcc-lto/gcc/gimple.h:1592: warning: cast discards qualifiers from
pointer target type
In file included from /vol/gcc/src/gcc-lto/gcc/../include/plugin-api.h:29,
 from /vol/gcc/src/gcc-lto/gcc/lto-streamer.h:26,
 from /vol/gcc/src/gcc-lto/gcc/lto-streamer-in.c:49:
/usr/include/stdint.h:5:2: #error This header file is to be used only for c99
mode compilations
make: *** [lto-streamer-in.o] Error 1

While the native IRIX 6.5 stdint.h could be used with -std=c99 (or gnu99), this
will fail completely on platforms that lack stdint.h completely.  Using a
sufficiently new gcc as bootstrap compiler that provides stdint.h itself would
be a workaround, but gcc is supposed to be buildable with any C90 compiler.


-- 
   Summary: plugin-api.h unconditionally includes stdint.h
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: mips-sgi-irix6.5
  GCC host triplet: mips-sgi-irix6.5
GCC target triplet: mips-sgi-irix6.5


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



[Bug fortran/40714] [4.4/4.5 Regression] Fortran runtime error: Invalid argument

2009-07-17 Thread jb at gcc dot gnu dot org


--- Comment #9 from jb at gcc dot gnu dot org  2009-07-17 19:40 ---
Subject: Bug 40714

Author: jb
Date: Fri Jul 17 19:40:23 2009
New Revision: 149757

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149757
Log:
When finalizing I/O transfer, set current_record to 0 before returning.

PR libfortran/40714

Modified:
trunk/libgfortran/ChangeLog
trunk/libgfortran/io/transfer.c


-- 


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



[Bug c++/40749] [4.3/4.4/4.5 Regression] g++ doesnt report missing return if return is of type const type

2009-07-17 Thread simartin at gcc dot gnu dot org


--- Comment #2 from simartin at gcc dot gnu dot org  2009-07-17 19:57 
---
It seems to be caused by the fix for PR#18313. I am testing the following:

Index: gcc/cp/decl.c
===
--- gcc/cp/decl.c   (revision 149752)
+++ gcc/cp/decl.c   (working copy)
@@ -8314,12 +8314,14 @@
if (type_quals != TYPE_UNQUALIFIED)
  {
if (SCALAR_TYPE_P (type) || VOID_TYPE_P (type))
- warning (OPT_Wignored_qualifiers,
-  type qualifiers ignored on function return type);
+ {
+   warning (OPT_Wignored_qualifiers,
+type qualifiers ignored on function return
type);
+   set_no_warning = true;
+ }
/* We now know that the TYPE_QUALS don't apply to the
   decl, but to its return type.  */
type_quals = TYPE_UNQUALIFIED;
-   set_no_warning = true;
  }
errmsg = targetm.invalid_return_type (type);
if (errmsg)


-- 

simartin at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||simartin at gcc dot gnu dot
   ||org


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



[Bug middle-end/40791] New: [4.5 Regression] Revision 149750 failed gcc.dg/pr35899.c

2009-07-17 Thread hjl dot tools at gmail dot com
On Linux/ia32, revision 149750:

http://gcc.gnu.org/ml/gcc-cvs/2009-07/msg00631.html

caused:

FAIL: gcc.dg/pr35899.c (internal compiler error)
FAIL: gcc.dg/pr35899.c (test for excess errors)


-- 
   Summary: [4.5 Regression] Revision 149750 failed gcc.dg/pr35899.c
   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=40791



[Bug middle-end/40791] [4.5 Regression] Revision 149750 failed gcc.dg/pr35899.c

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-07-17 20:14 ---


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


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE
Summary|[4.5 Regression] Revision   |[4.5 Regression] Revision
   |149750 failed   |149750 failed
   |gcc.dg/pr35899.c|gcc.dg/pr35899.c


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



[Bug c/40787] [4.5 Regression] ICE: verify_gimple failed in gcc.dg/pr35899.c

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2009-07-17 20:14 ---
*** Bug 40791 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hjl dot tools at gmail dot
   ||com


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



[Bug c/39959] [4.5 Regression] IMA is broken

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2009-07-17 21:08 ---
I have a patch.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-04-30 00:16:29 |2009-07-17 21:08:55
   date||


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



[Bug c/40792] New: internal error in com_mpi.c at -O3 for gcc 4.4.0

2009-07-17 Thread dh458 at oakapple dot net
Use attached preprocessed file com_mpi.c,  which is extracted from SPEC mpi
2007.

Then with gcc 4.4.0:

gcc -c com_mpi.c -O3
com_mpi.c:1215: warning: conflicting types for built-in function âcexpâ
com_mpi.c:1216: warning: conflicting types for built-in function âclogâ
com_mpi.c:1217: warning: conflicting types for built-in function âcsqrtâ
com_mpi.c:4906: internal compiler error: in build_function_type_skip_args, at
tree.c:5954
Please submit a full bug report,
with preprocessed source if appropriate.

-O2 is fine.

gcc 4.1.2 -O3 is fine.

Verbose:

Target: x86_64-unknown-linux-gnu
Configured with:
/net/hs-usca-01.sfbay/export/home1/12/dgh/gnu-linux/gcc-4.4.0/configure
--prefix=/net/hs-usca-01.sfbay/export/home1/12/dgh/gnu-linux/local
--exec-prefix=/net/hs-usca-01.sfbay/export/home1/12/dgh/gnu-linux/local
--enable-languages=c++,fortran
--with-gmp-include=/net/hs-usca-01.sfbay/export/home1/12/dgh/gnu-linux/local/include
--with-mpfr-include=/net/hs-usca-01.sfbay/export/home1/12/dgh/gnu-linux/local/include
--with-gmp-lib=/net/hs-usca-01.sfbay/export/home1/12/dgh/gnu-linux/local/lib64
--with-mpfr-lib=/net/hs-usca-01.sfbay/export/home1/12/dgh/gnu-linux/local/lib64
Thread model: posix
gcc version 4.4.0 (GCC) 
COLLECT_GCC_OPTIONS='-c' '-O3' '-v' '-mtune=generic'

/home/dgh/gnu-linux/local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1
-quiet -v -iprefix
/home/dgh/gnu-linux/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.4.0/
com_mpi.c -quiet -dumpbase com_mpi.c -mtune=generic -auxbase com_mpi -O3
-version -o /tmp/ccYOwHWM.s
ignoring nonexistent directory
/home/dgh/gnu-linux/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.4.0/../../../../x86_64-unknown-linux-gnu/include
ignoring duplicate directory
/home/dgh/gnu-linux/local/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.4.0/include
ignoring duplicate directory
/home/dgh/gnu-linux/local/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.4.0/include-fixed
ignoring nonexistent directory
/home/dgh/gnu-linux/local/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.4.0/../../../../x86_64-unknown-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/home/dgh/gnu-linux/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.4.0/include
/home/dgh/gnu-linux/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.4.0/include-fixed
 /usr/local/include
 /home/dgh/gnu-linux/local/bin/../lib/gcc/../../include
 /usr/include
End of search list.
GNU C (GCC) version 4.4.0 (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.4.0, GMP version 4.3.1, MPFR version 2.4.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 3d0e0887103ac420bddd7fc530a7193e
com_mpi.c:1215: warning: conflicting types for built-in function âcexpâ
com_mpi.c:1216: warning: conflicting types for built-in function âclogâ
com_mpi.c:1217: warning: conflicting types for built-in function âcsqrtâ
com_mpi.c:4906: internal compiler error: in build_function_type_skip_args, at
tree.c:5954
Please submit a full bug report,
with preprocessed source if appropriate.



gcc 4.1.2 --verbose:

Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk
--disable-dssi --enable-plugin
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic
--host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)


-- 
   Summary: internal error in com_mpi.c at -O3 for gcc 4.4.0
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dh458 at oakapple dot net


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



[Bug c/40792] internal error in com_mpi.c at -O3 for gcc 4.4.0

2009-07-17 Thread dh458 at oakapple dot net


--- Comment #1 from dh458 at oakapple dot net  2009-07-17 21:11 ---
Created an attachment (id=18215)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18215action=view)
preprocessed source file com_mpi.c to display bug


-- 


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



[Bug tree-optimization/40792] [4.4 Regression] internal error in com_mpi.c at -O3 for gcc 4.4.0

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2009-07-17 21:37 ---
Reducing.  The trunk seems to work, -O2 -fipa-cp-clone is enough to trigger it
(thus, -fno-ipa-cp-clone or -fno-ipa-cp is a workaround).


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mjambor at suse dot cz
  Component|c   |tree-optimization
   Keywords||ice-on-valid-code
  Known to fail||4.4.1
  Known to work||4.3.3 4.5.0
Summary|internal error in com_mpi.c |[4.4 Regression] internal
   |at -O3 for gcc 4.4.0|error in com_mpi.c at -O3
   ||for gcc 4.4.0
   Target Milestone|--- |4.4.1


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



[Bug tree-optimization/40792] [4.4 Regression] internal error in com_mpi.c at -O3 for gcc 4.4.0

2009-07-17 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2009-07-17 21:41 ---
Reduced testcase:

typedef struct ompi_communicator_t *MPI_Comm;
void err_func(MPI_Comm *comm, int *stat, ...)
{
  int len;
  char err_string[256];
  MPI_Error_string(*stat, err_string, len);
}
static MPI_Comm comm;
static int flag;
void fixup_ranks(int n)
{
  err_func(comm, flag);
}


-- 

rguenth 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-07-17 21:41:15
   date||


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



[Bug c++/40749] [4.3/4.4/4.5 Regression] g++ doesnt report missing return if return is of type const type

2009-07-17 Thread simartin at gcc dot gnu dot org


--- Comment #3 from simartin at gcc dot gnu dot org  2009-07-17 22:03 
---
Updated patch submitted here:
  http://gcc.gnu.org/ml/gcc-patches/2009-07/msg01043.html


-- 

simartin at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |simartin at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-07-15 09:37:13 |2009-07-17 22:03:33
   date||


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



[Bug c++/40793] New: Error: no matching function for call to XYZ doesn't display function-template-arguments

2009-07-17 Thread jonathan dot sd24 at yahoo dot de
When a function-templates gets wrong arguments there's an error no matching
function for call to result fun(args). But the template-arguments aren't
displayed. So it takes hours to search the reason for this error in some cases.
The output should look like:
no matching function for call to result funtemplatearg1, templatearg2(args)
[with templatearg1 = x, templatearg2 = y]

It's not version-specific (tested with 4.3 and 4.5)


-- 
   Summary: Error: no matching function for call to XYZ doesn't
display function-template-arguments
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jonathan dot sd24 at yahoo dot de


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



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

2009-07-17 Thread david dot kirkby at onetel dot net


--- Comment #20 from david dot kirkby at onetel dot net  2009-07-18 01:14 
---
(In reply to comment #19)
 (In reply to comment #18)
  I've compiled and linked that code. It does not abort.
 
 Bad point for this theory :-(
 The result could still depend on the alignment of the pointer, so you could 
 try
 replacing buf[0] by buf[4] and calling memset(buf+4,...) (try several small
 values instead of 4).
 

I tried this in a loop. It still works, with no abort. 


typedef __SIZE_TYPE__ size_t;
extern void *memset (void *, const void *, size_t);
extern void abort (void);
volatile size_t i = 0x8000U, j = 0x8000U;
char buf[16];

int main (void)
{
  int n;

  for (n=0 ; n =64;++n) {
if (sizeof (size_t) != 4)
  return 0;
buf[n] = 6;
memset (buf+n, 0, i + j);
if (buf[0] != 6)
  abort ();
  }
  return 0;
}

I extended 'n' to larger values and find it does abort when it is 5592, but not
exactly the 'small' value you were looking for. 


-- 


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



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

2009-07-17 Thread david dot kirkby at onetel dot net


--- Comment #21 from david dot kirkby at onetel dot net  2009-07-18 01:18 
---
(In reply to comment #20)
 (In reply to comment #19)
  (In reply to comment #18)
   I've compiled and linked that code. It does not abort.
  
  Bad point for this theory :-(
  The result could still depend on the alignment of the pointer, so you could 
  try
  replacing buf[0] by buf[4] and calling memset(buf+4,...) (try several small
  values instead of 4).
  
 
 I tried this in a loop. It still works, with no abort. 
 
 
 typedef __SIZE_TYPE__ size_t;
 extern void *memset (void *, const void *, size_t);
 extern void abort (void);
 volatile size_t i = 0x8000U, j = 0x8000U;
 char buf[16];
 
 int main (void)
 {
   int n;
 
   for (n=0 ; n =64;++n) {
 if (sizeof (size_t) != 4)
   return 0;
 buf[n] = 6;
 memset (buf+n, 0, i + j);
 if (buf[0] != 6)
   abort ();
   }
   return 0;
 }
 
 I extended 'n' to larger values and find it does abort when it is 5592, but 
 not
 exactly the 'small' value you were looking for. 
 

Looking closely, you only declared allocated 16 bytes for the buffer, so it was
hardly surprising it aborted at large n. When I increased the buffer size, so
it worked as expected, even for n as large as 1

dave


-- 


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



[Bug c++/40794] New: LIBRARY_PATH not processed

2009-07-17 Thread philippe at fornux dot com
Greetings,

I am trying linking a shared library from my $HOME/lib path.  If I compile
using -L $HOME/lib it works properly.  If I set 'export LIBRARY_PATH=$HOME/lib'
before compiling it complains it can't find the library:
/usr/bin/ld: cannot find -lmylib


Thanks.


-- 
   Summary: LIBRARY_PATH not processed
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: philippe at fornux dot com


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



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

2009-07-17 Thread marc dot glisse at normalesup dot org


--- Comment #22 from marc dot glisse at normalesup dot org  2009-07-18 
04:50 ---
(In reply to comment #20)
 buf[n] = 6;
 memset (buf+n, 0, i + j);
 if (buf[0] != 6)

It looks like you forgot to replace the second buf[0] by buf[n].


-- 


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