[Bug tree-optimization/45950] [4.6 Regression] ICE segmentation fault compiling __udivdi3

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45950

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.10.09 10:39:25
   Target Milestone|--- |4.6.0
 Ever Confirmed|0   |1


[Bug libobjc/45953] New: Registering untyped selector mutates existing selector

2010-10-09 Thread nicola at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45953

   Summary: Registering untyped selector mutates existing selector
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: libobjc
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: nic...@gcc.gnu.org


Created attachment 22005
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22005
Patch to improve the efficiency of registering selectors with the same name

This bug originates from GNUstep,

https://savannah.gnu.org/bugs/?25869

It is a small inefficiency in the runtime.  Here is the original report from
Truls Becken.  I also attach his patch.

-

A test case is shown below, where four -test messages all use the same typed
selector. An interleaved -valueForKey: message registers an untyped selector
with the same name. At that moment, the typed selector is modified to use the
same string pointer as the new untyped selector.

One would think that this should be the other way around. The newer selector
should use the same string as the existing one, not modify one that is already
registered.

This is using libobjc from the GNUstep Subversion repository at r28049. GNUstep
Base is from the same svn revision.

$ cat GNUmakefile
include $(GNUSTEP_MAKEFILES)/common.make

TOOL_NAME = test

${TOOL_NAME}_OBJC_FILES = main.m

include $(GNUSTEP_MAKEFILES)/tool.make

$ cat main.m
#import 

@interface Foo : NSObject {}
- (void) test;
@end

@implementation Foo
- (void) test
{
NSLog(@"%d %d %s %s", _cmd, sel_get_name(_cmd),
sel_get_name(_cmd), sel_get_type(_cmd));
}
@end

int main (int argc, const char **argv)
{
[NSAutoreleasePool new];

id foo = [Foo new];

[foo test];
[foo test];
[foo valueForKey: @"test"];
[foo test];
[foo test];

return 0;
}

$ make
This is gnustep-make 2.0.8. Type 'make print-gnustep-make-help' for help.
Making all for tool test...
Compiling file main.m ...
Linking tool test ...

$ obj/test
2009-03-14 22:22:10.401 test[23586] 134520200 134519897 test v...@0:4
2009-03-14 22:22:10.406 test[23586] 134520200 134519897 test v...@0:4
2009-03-14 22:22:10.410 test[23586] 144773752 145449736 test (null)
2009-03-14 22:22:10.413 test[23586] 134520200 145449736 test v...@0:4
2009-03-14 22:22:10.416 test[23586] 134520200 145449736 test v...@0:4


[Bug bootstrap/45951] [4.6 regression] Revision 165133 breaks bootstrap on Linux/ia32

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45951

Richard Guenther  changed:

   What|Removed |Added

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

--- Comment #2 from Richard Guenther  2010-10-09 
10:41:29 UTC ---
Fixed.


[Bug bootstrap/45954] New: --with-build-config=bootstrap-lto doesn't work

2010-10-09 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45954

   Summary: --with-build-config=bootstrap-lto doesn't work
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com


--with-build-config=bootstrap-lto doesn't work. The problem is

cd bld; \
RUNTESTFLAGS="--target_board 'unix{-m32,}'" ../src-trunk/configure \
--enable-clocale=gnu --with-system-zlib --enable-shared
--with-demangler-in-ld --with-build-config=bootstrap-lto
-with-plugin-ld=ld.gold --enable-gold --with-fpmath=sse


It doesn't enable LTO for stage1 gcc and it goes downhill after
stage 1 since LTO isn't available at all:

configure:3000:  /export/gnu/import/svn/gcc-test/bld/./prev-gcc/xgcc
-B/export/gnu/import/svn/gcc-test/bld/./prev-gcc/
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x86_64-unknown-linux-gnu/sys-include-g -O2
-fwhopr=jobserver -fuse-linker-plugin -frandom-seed=1conftest.c
>&5
cc1: error: LTO support has not been enabled in this configuration


[Bug tree-optimization/45950] [4.6 Regression] ICE segmentation fault compiling __udivdi3

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45950

Richard Guenther  changed:

   What|Removed |Added

 CC||hjl.tools at gmail dot com

--- Comment #4 from Richard Guenther  2010-10-09 
10:42:28 UTC ---
*** Bug 45952 has been marked as a duplicate of this bug. ***


[Bug bootstrap/45952] [4.6 regression] Revision 165178 breaks bootstrap on Linux/ia32

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45952

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #1 from Richard Guenther  2010-10-09 
10:42:28 UTC ---
dup

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


[Bug tree-optimization/45945] ICE: verify_ssa failed: error: SSA_NAME_DEF_STMT is wrong when using inline ASM with -flto/-fwhopr

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45945

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2010.10.09 11:22:52
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2010-10-09 
11:22:52 UTC ---
The bug is in the inliner which generates a SSA name definition that is
wrapped inside a VIEW_CONVERT_EXPR.

  __asm__("" : "=d" VIEW_CONVERT_EXPR(i_3));

that is not valid.

I have a patch.


[Bug lto/45947] ICE: tree code 'template_decl' is not supported in gimple streams with -flto/-fwhopr

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45947

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2010.10.09 11:29:04
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2010-10-09 
11:29:04 UTC ---
Mine.


[Bug tree-optimization/45950] [4.6 Regression] ICE segmentation fault compiling __udivdi3

2010-10-09 Thread froydnj at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45950

--- Comment #5 from Nathan Froyd  2010-10-09 
11:44:05 UTC ---
Author: froydnj
Date: Sat Oct  9 11:44:00 2010
New Revision: 165220

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165220
Log:
PR tree-optimization/45950
* tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
before initializing vno->op.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-sccvn.c


[Bug tree-optimization/45612] [4.6 regression] Reference to undefined label building libada on Solaris 2/SPARC

2010-10-09 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45612

--- Comment #23 from Eric Botcazou  2010-10-09 
12:15:38 UTC ---
Author: ebotcazou
Date: Sat Oct  9 12:15:31 2010
New Revision: 165221

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165221
Log:
PR tree-optimization/45612
* ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
Test LABEL_DECLs as well.  Fix formatting issues.
(verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
whose label is present in NON_SSA_VARS.
(mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.  Handle LABEL_DECLs
as well.  Fix formatting issues.
(visit_bb): Fix typos and formatting issue.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-split.c


[Bug tree-optimization/45612] [4.6 regression] Reference to undefined label building libada on Solaris 2/SPARC

2010-10-09 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45612

Eric Botcazou  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #24 from Eric Botcazou  2010-10-09 
12:20:19 UTC ---
At last.


[Bug lto/45949] ICE: SIGSEGV in gimple_default_def (tree-dfa.c:538) with -flto/-fwhopr on invalid code

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45949

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.10.09 12:24:32
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2010-10-09 
12:24:32 UTC ---
The problem is we're issueing an error from decl_assembler_name called
via free_lang_data which is an IPA pass, so the guard

1768  if (!seen_error ())
1769ipa_passes ();

in cgraph_optimize () doesn't work reliably.

Now, without LTO we're assigning the assembler name and erroring during
expansion.


[Bug tree-optimization/45945] ICE: verify_ssa failed: error: SSA_NAME_DEF_STMT is wrong when using inline ASM with -flto/-fwhopr

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45945

--- Comment #2 from Richard Guenther  2010-10-09 
12:45:14 UTC ---
Author: rguenth
Date: Sat Oct  9 12:45:09 2010
New Revision: 165222

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165222
Log:
2010-10-09  Richard Guenther  

PR tree-optimization/45945
* tree-ssa.c (execute_update_addresses_taken): Fixup LHS
scanning.

* gcc.dg/lto/20101009-1_0.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/lto/20101009-1_0.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa.c


[Bug tree-optimization/45945] ICE: verify_ssa failed: error: SSA_NAME_DEF_STMT is wrong when using inline ASM with -flto/-fwhopr

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45945

Richard Guenther  changed:

   What|Removed |Added

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

--- Comment #3 from Richard Guenther  2010-10-09 
12:46:35 UTC ---
Fixed.


[Bug c++/45942] class will not get friends with another class

2010-10-09 Thread MichieldeB at aim dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45942

--- Comment #12 from Michiel  2010-10-09 13:02:51 
UTC ---
> You seem to misunderstand what this bugzilla is for. 

No, that is not true, although the effect has been equally terrible. Indeed,
you only need to say that my bug is invalid.

However, it is common in many forms of written communication that one assures
him/herself that the other has read and understood everything. Maybe I should
have assumed that this was the case, but reacting on one out of three issues in
my bug report was not very convincing in this matter.


[Bug debug/45865] [4.6 regression] Failed to build 403.gcc in SPEC CPU 2006

2010-10-09 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45865

--- Comment #5 from H.J. Lu  2010-10-09 13:06:13 
UTC ---
Created attachment 22006
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22006
A testcase for -fcompare-debug failure

[...@gnu-6 gcc]$ ./xgcc -B./ -O2 -g -fcompare-debug foo.i -S -m32
xgcc: error: foo.i: -fcompare-debug failure (length)
[...@gnu-6 gcc]$


[Bug c++/45942] class will not get friends with another class

2010-10-09 Thread MichieldeB at aim dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45942

--- Comment #13 from Michiel  2010-10-09 13:38:05 
UTC ---
The reason that I did not succeed in making ClassB a friend of ClassA is that
C++ is not very logical. See below.


template  class classB;
template  class classC;

template  class classA
{

  // classA does NOT become friends with classA
  friend class classB;

  // with an extra template argument, this is only possible via 
  // specialization, which is not allowed
  template <> friend class classB;
  template  friend class classC;

  // because with your solution, classA (classB)
  // DOES become friends with classA (classB)
  template  friend class classB;
  template  friend class classC;

};

template class classA;


[Bug fortran/45748] [4.5/4.6 Regression] -fimplicit-none failures when using intrinsic MAX

2010-10-09 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45748

--- Comment #7 from janus at gcc dot gnu.org 2010-10-09 13:41:16 UTC ---
Author: janus
Date: Sat Oct  9 13:41:12 2010
New Revision: 165223

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165223
Log:
2010-10-09  Janus Weil  

PR fortran/45748
* resolve.c (resolve_formal_arglist): Avoid setting default type for
formal arguments of intrinsic procedures.


2010-10-09  Janus Weil  

PR fortran/45748
* gfortran.dg/intrinsic_6.f90: New.

Added:
branches/gcc-4_5-branch/gcc/testsuite/gfortran.dg/intrinsic_6.f90
Modified:
branches/gcc-4_5-branch/gcc/fortran/ChangeLog
branches/gcc-4_5-branch/gcc/fortran/resolve.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


[Bug fortran/45748] [4.5/4.6 Regression] -fimplicit-none failures when using intrinsic MAX

2010-10-09 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45748

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #8 from janus at gcc dot gnu.org 2010-10-09 13:51:11 UTC ---
Fixed on trunk and 4.5. Closing.


[Bug target/45820] FAIL: gcc.c-torture/compile/pr45728.c at -O1 and above

2010-10-09 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45820

--- Comment #5 from John David Anglin  2010-10-09 
14:26:11 UTC ---
Author: danglin
Date: Sat Oct  9 14:26:07 2010
New Revision: 165231

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165231
Log:
PR target/45820
* config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
earlier.


Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/config/pa/pa.c


[Bug target/45820] FAIL: gcc.c-torture/compile/pr45728.c at -O1 and above

2010-10-09 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45820

John David Anglin  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #6 from John David Anglin  2010-10-09 
14:30:13 UTC ---
Fixed.


[Bug tree-optimization/45950] [4.6 Regression] ICE segmentation fault compiling __udivdi3

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45950

Richard Guenther  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #6 from Richard Guenther  2010-10-09 
15:53:21 UTC ---
Fixed.


[Bug lto/45947] ICE: tree code 'template_decl' is not supported in gimple streams with -flto/-fwhopr

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45947

--- Comment #2 from Richard Guenther  2010-10-09 
15:59:54 UTC ---
Author: rguenth
Date: Sat Oct  9 15:59:50 2010
New Revision: 165234

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165234
Log:
2010-10-09  Richard Guenther  

PR lto/45947
* tree.c (free_lang_data_in_cgraph): Properly walk the varpool.

* g++.dg/lto/20101009-1_0.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/lto/20101009-1_0.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree.c


[Bug lto/45947] ICE: tree code 'template_decl' is not supported in gimple streams with -flto/-fwhopr

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45947

Richard Guenther  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Richard Guenther  2010-10-09 
16:00:19 UTC ---
Fixed.


[Bug middle-end/45955] New: FAIL: gcc.dg/initpri1.c (test for excess errors)

2010-10-09 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45955

   Summary: FAIL: gcc.dg/initpri1.c (test for excess errors)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa2.0w-hp-hpux11.11
Target: hppa2.0w-hp-hpux11.11
 Build: hppa2.0w-hp-hpux11.11


Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/te
st/gnu/gcc/gcc/gcc/testsuite/gcc.dg/initpri1.c-ansi -pedantic-errors  -lm   
-o ./initpri1.exe(timeout = 300)
WARNING: program timed out.
compiler exited with status 1
FAIL: gcc.dg/initpri1.c (test for excess errors)

Running under gdb, I see:

Program received signal SIGINT, Interrupt.
0x01478e68 in build_cdtor (ctor_p=1 '\001', cdtors=0x400c9108)
at ../../gcc/gcc/ipa.c:1490
1490  while (i < len);
(gdb) bt
#0  0x01478e68 in build_cdtor (ctor_p=1 '\001', cdtors=0x400c9108)
at ../../gcc/gcc/ipa.c:1490
#1  0x01479384 in build_cdtor_fns () at ../../gcc/gcc/ipa.c:1565
#2  0x0147962c in ipa_cdtor_merge () at ../../gcc/gcc/ipa.c:1594
#3  0x00ca6da0 in execute_one_pass (pass=0x4001ca4c)
at ../../gcc/gcc/passes.c:1562
#4  0x00ca8058 in execute_ipa_pass_list (pass=0x4001ca4c)
at ../../gcc/gcc/passes.c:1929
#5  0x013ee044 in ipa_passes () at ../../gcc/gcc/cgraphunit.c:1734
#6  0x013ee1a8 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1769
#7  0x013eb62c in cgraph_finalize_compilation_unit ()
at ../../gcc/gcc/cgraphunit.c:1020
#8  0x000c262c in c_write_global_declarations ()
at ../../gcc/gcc/c-decl.c:9821
#9  0x00e2c434 in compile_file () at ../../gcc/gcc/toplev.c:946
#10 0x00e30508 in do_compile () at ../../gcc/gcc/toplev.c:2374
#11 0x00e30694 in toplev_main (argc=19, argv=0x7eff05e4)
at ../../gcc/gcc/toplev.c:2415
#12 0x00373f34 in main (argc=19, argv=0x7eff05e4) at ../../gcc/gcc/main.c:36

There's a thinko in this code:

  /* Find the next batch of constructors/destructors with the same
 initialization priority.  */
  for (;i < j; i++)
{
  tree call;
  fn = VEC_index (tree, cdtors, i);
  call = build_call_expr (fn, 0);
  if (ctor_p)
DECL_STATIC_CONSTRUCTOR (fn) = 0;
  else
DECL_STATIC_DESTRUCTOR (fn) = 0;
  /* We do not want to optimize away pure/const calls here.
 When optimizing, these should be already removed, when not
 optimizing, we want user to be able to breakpoint in them.  */
  TREE_SIDE_EFFECTS (call) = 1;
  append_to_statement_list (call, &body);
}
  while (i < len);


[Bug middle-end/45955] FAIL: gcc.dg/initpri1.c (test for excess errors)

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45955

Richard Guenther  changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #1 from Richard Guenther  2010-10-09 
16:21:39 UTC ---
(In reply to comment #0)
> Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
> /te
> st/gnu/gcc/gcc/gcc/testsuite/gcc.dg/initpri1.c-ansi -pedantic-errors  -lm 
>   
> -o ./initpri1.exe(timeout = 300)
> WARNING: program timed out.
> compiler exited with status 1
> FAIL: gcc.dg/initpri1.c (test for excess errors)
> 
> Running under gdb, I see:
> 
> Program received signal SIGINT, Interrupt.
> 0x01478e68 in build_cdtor (ctor_p=1 '\001', cdtors=0x400c9108)
> at ../../gcc/gcc/ipa.c:1490
> 1490  while (i < len);
> (gdb) bt
> #0  0x01478e68 in build_cdtor (ctor_p=1 '\001', cdtors=0x400c9108)
> at ../../gcc/gcc/ipa.c:1490
> #1  0x01479384 in build_cdtor_fns () at ../../gcc/gcc/ipa.c:1565
> #2  0x0147962c in ipa_cdtor_merge () at ../../gcc/gcc/ipa.c:1594
> #3  0x00ca6da0 in execute_one_pass (pass=0x4001ca4c)
> at ../../gcc/gcc/passes.c:1562
> #4  0x00ca8058 in execute_ipa_pass_list (pass=0x4001ca4c)
> at ../../gcc/gcc/passes.c:1929
> #5  0x013ee044 in ipa_passes () at ../../gcc/gcc/cgraphunit.c:1734
> #6  0x013ee1a8 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1769
> #7  0x013eb62c in cgraph_finalize_compilation_unit ()
> at ../../gcc/gcc/cgraphunit.c:1020
> #8  0x000c262c in c_write_global_declarations ()
> at ../../gcc/gcc/c-decl.c:9821
> #9  0x00e2c434 in compile_file () at ../../gcc/gcc/toplev.c:946
> #10 0x00e30508 in do_compile () at ../../gcc/gcc/toplev.c:2374
> #11 0x00e30694 in toplev_main (argc=19, argv=0x7eff05e4)
> at ../../gcc/gcc/toplev.c:2415
> #12 0x00373f34 in main (argc=19, argv=0x7eff05e4) at ../../gcc/gcc/main.c:36
> 
> There's a thinko in this code:
> 
>   /* Find the next batch of constructors/destructors with the same
>  initialization priority.  */
>   for (;i < j; i++)
> {
>   tree call;
>   fn = VEC_index (tree, cdtors, i);
>   call = build_call_expr (fn, 0);
>   if (ctor_p)
> DECL_STATIC_CONSTRUCTOR (fn) = 0;
>   else
> DECL_STATIC_DESTRUCTOR (fn) = 0;
>   /* We do not want to optimize away pure/const calls here.
>  When optimizing, these should be already removed, when not
>  optimizing, we want user to be able to breakpoint in them.  */
>   TREE_SIDE_EFFECTS (call) = 1;
>   append_to_statement_list (call, &body);
> }
>   while (i < len);

Looks like a funny cut&pasto.  Just remove the last while (i < len) line
which actually is an endless loop.


[Bug lto/45956] New: [4.6 Regression] Promoted statics conflict

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45956

   Summary: [4.6 Regression] Promoted statics conflict
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


t1.c

int foo (void)
{
  static int i;
  return ++i;
}

t2.c

int bar (void)
{
  static int i;
  return ++i;
}

will have same (local) mangling for i (i.1214).  With -fwopr we bring
both units into one with the new partitioning where they now conflict.

Likely caused by my DECL_CONTEXT change which makes

2370  /* Register symbols with file or global scope to mark what input
2371 file has their definition.  */
2372  if (decl_function_context (decl) == NULL_TREE)
2373{

not the correct test in lto_register_var_decl_in_symtab.


[Bug lto/45956] [4.6 Regression] Promoted statics conflict

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45956

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2010.10.09 16:56:31
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.6.0
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2010-10-09 
16:56:31 UTC ---
I have a patch.


[Bug c++/45942] class will not get friends with another class

2010-10-09 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45942

--- Comment #14 from Jonathan Wakely  2010-10-09 
18:07:42 UTC ---
(In reply to comment #13)
> The reason that I did not succeed in making ClassB a friend of ClassA is that
> C++ is not very logical.

Maybe so, but that's not a bug in GCC.

The next version of C++ is more lenient in what is allowed in a friend
declaration and I think it is possible to declare a typedef as a friend so you
could create a class template with a nested member and declare that member as a
friend.  That template could be specialized to make certain specializations of
classB a friend:

template
struct Befriender {
  typedef int type;
};

template
struct Befriender> {
  typedef B&> type;
};

template
class A {
  friend typename Befriender::type;
};

I *think* this would work, when Befriender::type results in "friend int" it is
ignored, without error.


[Bug c++/45942] class will not get friends with another class

2010-10-09 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45942

--- Comment #15 from Jonathan Wakely  2010-10-09 
18:18:56 UTC ---
you don't even need the partial specialization of Befriender:

template class A;
template&> class A;

template
struct Befriender {
  typedef B&> type;
};

template class A
{
  friend typename Befriender::type;
};

(I can't test this now, so it might be wrong, and it definitely isn't allowed
in C++03)


[Bug lto/45956] [4.6 Regression] Promoted statics conflict

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45956

--- Comment #2 from Richard Guenther  2010-10-09 
18:28:20 UTC ---
Author: rguenth
Date: Sat Oct  9 18:28:16 2010
New Revision: 165235

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165235
Log:
2010-10-09  Richard Guenther  

PR lto/45956
* lto-streamer-in.c (lto_register_var_decl_in_symtab):
Properly check if a decl is an automatic var.

* gcc.dg/lto/20101009-2_0.c: New testcase.
* gcc.dg/lto/20101009-2_1.c: Likewise.
* gcc.dg/lto/20101009-2_2.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/lto/20101009-2_0.c
trunk/gcc/testsuite/gcc.dg/lto/20101009-2_1.c
trunk/gcc/testsuite/gcc.dg/lto/20101009-2_2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-streamer-in.c
trunk/gcc/testsuite/ChangeLog


[Bug lto/45956] [4.6 Regression] Promoted statics conflict

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45956

Richard Guenther  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Richard Guenther  2010-10-09 
18:28:37 UTC ---
Fixed.


[Bug middle-end/45722] [4.6 Regression] FAIL: gcc.c-torture/execute/20040709-2.c execution at -O1 and -Os

2010-10-09 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45722

--- Comment #8 from dave at hiauly1 dot hia.nrc.ca 2010-10-09 20:46:54 UTC ---
Created attachment 22007
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22007
pr45722-2.c

--- Comment #9 from dave at hiauly1 dot hia.nrc.ca 2010-10-09 20:46:54 UTC ---
Created attachment 22008
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22008
pr45722-2.s

--- Comment #10 from dave at hiauly1 dot hia.nrc.ca 2010-10-09 20:46:54 UTC ---
Created attachment 22009
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22009
pr45722-2.c.145r.expand


[Bug middle-end/45722] [4.6 Regression] FAIL: gcc.c-torture/execute/20040709-2.c execution at -O1 and -Os

2010-10-09 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45722

--- Comment #7 from dave at hiauly1 dot hia.nrc.ca 2010-10-09 20:46:50 UTC ---
Took another at this bug.  At least at -O1 with r165177, the nature
of the FAIL seems to have changed.  The testcase now fails in testB
with a segmentation fault caused by a misaligned load.

Program received signal SIGBUS, Bus error.
0x2d90 in testB () at pr45722.c:48
48  x = sB;
(gdb) disass 0x2d80,0x2da0
Dump of assembler code from 0x2d80 to 0x2da0:
   0x2d80 :ldb,ma 1(r31),r21
   0x2d84 :stb,ma r20,1(r22)
   0x2d88 :addib,>= -2,r19,0x2d7c 
   0x2d8c :stb,ma r21,1(r22)
=> 0x2d90 :ldw 2(r4),r4
   0x2d94 :b,l 0x2c80 ,rp
   0x2d98 :copy r5,r26
   0x2d9c :ldb 50(r3),r20
(gdb) p &sB
$1 = (struct B *) 0x40001a50
(gdb) p/x $r4
$2 = 0x40001a50

It appears the load for sB.l is not expanded correctly given that the
struct is packed:

;; x$l_3 = MEM[(struct B *)&sB + 2B];

(insn 106 105 107 (set (reg/f:SI 205)
(high:SI (symbol_ref:SI ("sB") [flags 0x200]  )))
pr45722.c:48 -1
 (nil))

(insn 107 106 108 (set (reg/f:SI 204)
(lo_sum:SI (reg/f:SI 205)
(symbol_ref:SI ("sB") [flags 0x200]  )))
pr45722.c:48 -1
 (expr_list:REG_EQUAL (symbol_ref:SI ("sB") [flags 0x200]  )
(nil)))

(insn 108 107 109 (set (reg/f:SI 206)
(plus:SI (reg/f:SI 204)
(const_int 0 [0]))) pr45722.c:48 -1
(nil))

(insn 109 108 0 (set (reg:SI 142 [ x$l ])
(mem/c:SI (plus:SI (reg/f:SI 206)
(const_int 2 [0x2])) [0 MEM[(struct B *)&sB + 2B]+0 S4 A8]))
pr5722.c:48 -1
(nil))

;; r_16 = fn3B (a_13);
--
J. David Anglin  dave.ang...@nrc-cnrc.gc.ca
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


[Bug middle-end/45722] [4.6 Regression] FAIL: gcc.c-torture/execute/20040709-2.c execution at -O1 and -Os

2010-10-09 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45722

John David Anglin  changed:

   What|Removed |Added

   Priority|P1  |P3

--- Comment #11 from John David Anglin  2010-10-09 
21:05:38 UTC ---
Breakpoint 1, emit_move_sequence (operands=0x7eff152c, mode=SImode, 
scratch_reg=0x0) at ../../gcc/gcc/config/pa/pa.c:1501
1501  register rtx operand0 = operands[0];
(gdb) p debug_rtx (operands[0])
(reg:SI 142 [ x$l ])
$1 = void
(gdb) p debug_rtx (operands[1])
(mem/c:SI (plus:SI (reg/f:SI 206)
(const_int 2 [0x2])) [0 MEM[(struct B *)&sB + 2B]+0 S4 A8])
$2 = void
(gdb) bt
#0  emit_move_sequence (operands=0x7eff152c, mode=SImode, scratch_reg=0x0)
at ../../gcc/gcc/config/pa/pa.c:1501
#1  0x015587d0 in gen_movsi (operand0=0x7afe92e0, operand1=0x7afef050)
at ../../gcc/gcc/config/pa/pa.md:2048
#2  0x007b7628 in emit_move_insn_1 (x=0x7afe92e0, y=0x7afef050)
at ../../gcc/gcc/expr.c:3336
#3  0x007b7bb8 in emit_move_insn (x=0x7afe92e0, y=0x7afef050)
at ../../gcc/gcc/expr.c:3426
#4  0x007be488 in store_expr (exp=0x7afb9d80, target=0x7afe92e0, 
call_param_p=0, nontemporal=0 '\000') at ../../gcc/gcc/expr.c:4888
#5  0x007bb7d4 in expand_assignment (to=0x7afd2ed0, from=0x7afb9d80, 
nontemporal=0 '\000') at ../../gcc/gcc/expr.c:4473
#6  0x01722c4c in expand_gimple_stmt_1 (stmt=0x7afd9390)
at ../../gcc/gcc/cfgexpand.c:1892
#7  0x01723188 in expand_gimple_stmt (stmt=0x7afd9390)
at ../../gcc/gcc/cfgexpand.c:2001
#8  0x0172a16c in expand_gimple_basic_block (bb=0x7afd1510)
at ../../gcc/gcc/cfgexpand.c:3453
#9  0x0172c63c in gimple_expand_cfg () at ../../gcc/gcc/cfgexpand.c:3913
#10 0x00ca6da0 in execute_one_pass (pass=0x40021640)
at ../../gcc/gcc/passes.c:1562
#11 0x00ca7098 in execute_pass_list (pass=0x40021640)
at ../../gcc/gcc/passes.c:1617
---Type  to continue, or q  to quit---
#12 0x02548734 in tree_rest_of_compilation (fndecl=0x7afa6980)
at ../../gcc/gcc/tree-optimize.c:419
#13 0x013ed6b0 in cgraph_expand_function (node=0x7afb5270)
at ../../gcc/gcc/cgraphunit.c:1498
#14 0x013ed944 in cgraph_expand_all_functions ()
at ../../gcc/gcc/cgraphunit.c:1557
#15 0x013ee374 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1813
#16 0x013eb62c in cgraph_finalize_compilation_unit ()
at ../../gcc/gcc/cgraphunit.c:1020
#17 0x000c262c in c_write_global_declarations ()
at ../../gcc/gcc/c-decl.c:9821
#18 0x00e2c434 in compile_file () at ../../gcc/gcc/toplev.c:946
#19 0x00e30508 in do_compile () at ../../gcc/gcc/toplev.c:2374
#20 0x00e30694 in toplev_main (argc=18, argv=0x7eff05b4)
at ../../gcc/gcc/toplev.c:2415
#21 0x00373f34 in main (argc=18, argv=0x7eff05b4) at ../../gcc/gcc/main.c:36


[Bug middle-end/45722] [4.6 Regression] FAIL: gcc.c-torture/execute/20040709-2.c execution at -O1 and -Os

2010-10-09 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45722

--- Comment #12 from John David Anglin  2010-10-09 
21:27:45 UTC ---
Hmmm, seems that we have somehow lost the fact that this load
should be a BLKmode load.

(gdb) frame 4
#4  0x007be488 in store_expr (exp=0x7afb9d80, target=0x7afe92e0, 
call_param_p=0, nontemporal=0 '\000') at ../../gcc/gcc/expr.c:4888
4888emit_move_insn (target, temp);
(gdb) p debug_tree (exp)
 
unit size 
align 32 symtab 0 alias set -1 canonical type 7af37300 precision 32 min
 max 
pointer_to_this >

arg 0 
unsigned SI size  unit size 
align 32 symtab 0 alias set -1 canonical type 7afb73c0>
constant
arg 0 
addressable used public static common BLK file pr45722.c line 18
col 10
size 
unit size 
align 8 context 
(mem/s/c:BLK (symbol_ref:SI ("sB") [flags 0x200] ) [0 sB+0 S6 A8]) chain >>
arg 1  constant 2>
pr45722.c:48:5>


[Bug tree-optimization/45957] New: [4.6 Regression] g++.dg/ext/fnname3.C FAILs with -flto/-fwhopr

2010-10-09 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45957

   Summary: [4.6 Regression] g++.dg/ext/fnname3.C FAILs with
-flto/-fwhopr
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zso...@seznam.cz


Created attachment 22010
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22010
reduced testcase

Output:
$ g++ pr45957.C
$ ./a.out && echo OK
OK
$ g++ pr45957.C -flto
$ ./a.out && echo OK

Tested revisions:
r165220 - fail
r165152 - OK

It seems __func__ evaluates to empty string in both cases (constructor and
destructor).


[Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable

2010-10-09 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721

--- Comment #7 from Richard Henderson  2010-10-09 
22:05:55 UTC ---
Author: rth
Date: Sat Oct  9 22:05:51 2010
New Revision: 165240

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165240
Log:
PR rtl-opt/33721
* explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN.  Honor
required_align, tidy the code a bit.  Emit split_stack code in the
right place.  Mark the return value with the alignment properly.
* expr.h (allocate_dynamic_stack_space): Update decl.
* builtins.c (expand_builtin_apply): Update call to
allocate_dynamic_stack_space.
(expand_builtin_alloca): Likewise.  Remove TARGET parameter.
* calls.c (initialize_argument_information): Update call to
allocate_dynamic_stack_space.
(expand_call): Likewise.

* cfgexpand.c (get_decl_align_unit): Don't limit alignment.
Don't update_stack_alignment here.
(alloc_stack_frame_space): Make ALIGN unsigned.
(stack_var_cmp): Sort by alignment too.
(partition_stack_vars): Don't merge large and small alignment vars.
(expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
Take care when BASE is not virtual_stack_vars_rtx.
(expand_stack_vars): Allocate dynamic stack space for large
alignment variables.
(expand_one_stack_var): Update all to expand_one_stack_var_at.
(defer_stack_allocation): True for large alignment vars.
(update_stack_alignment): Merge into ...
(expand_one_var): ... here.
(gimple_expand_cfg): Place code from expand_stack_vars.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/calls.c
trunk/gcc/cfgexpand.c
trunk/gcc/explow.c
trunk/gcc/expr.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/lib/target-supports.exp


[Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable

2010-10-09 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721

Richard Henderson  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #8 from Richard Henderson  2010-10-09 
22:11:22 UTC ---
Stack variables can now be aligned for any target.


[Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable

2010-10-09 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721

Richard Henderson  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


[Bug tree-optimization/45957] [4.6 Regression] g++.dg/ext/fnname3.C FAILs with -flto/-fwhopr

2010-10-09 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45957

--- Comment #1 from Zdenek Sojka  2010-10-09 22:17:15 
UTC ---
The same happens for g++.dg/template/pretty1.C and
g++.old-deja/g++.ext/pretty2.C - both fail with -flto/-fwhopr in r165220, but
not in r165152. It seems __FUNCTION__ and __PRETTY_FUNCTION__ is broken too in
constructors and destructors.

g++.old-deja/g++.ext/pretty2.C actually gives nice output:

$ g++ g++.old-deja/g++.ext/pretty2.C && ./a.out
ctor
__FUNCTION__ X
__PRETTY_FUNCTION__ X::X()
member fn
__FUNCTION__ fn
__PRETTY_FUNCTION__ void X::fn()
conversion
__FUNCTION__ operator int
__PRETTY_FUNCTION__ X::operator int()
dtor
__FUNCTION__ ~X
__PRETTY_FUNCTION__ X::~X()

$ g++ g++.old-deja/g++.ext/pretty2.C -flto && ./a.out
ctor
__FUNCTION__ 
__PRETTY_FUNCTION__ 
member fn
__FUNCTION__ fn
__PRETTY_FUNCTION__ void X::fn()
conversion
__FUNCTION__ operator int
__PRETTY_FUNCTION__ X::operator int()
dtor
__FUNCTION__ 
__PRETTY_FUNCTION__


[Bug debug/45865] [4.6 regression] Failed to build 403.gcc in SPEC CPU 2006

2010-10-09 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45865

--- Comment #6 from H.J. Lu  2010-10-09 22:45:44 
UTC ---
A small testcase

--
[...@gnu-6 gcc]$ cat /export/gnu/import/delta/foo.c
typedef union tree_node *tree;
enum ix86_builtin_type {
  IX86_BT_LAST_VECT,
  IX86_BT_LAST_PTR
};
extern const enum ix86_builtin_type ix86_builtin_type_ptr_base[];
extern tree build_qualified_type (tree, int);
extern tree build_pointer_type (tree);
tree
ix86_get_builtin_type (enum ix86_builtin_type tcode, unsigned int index)
{
  tree type, itype;
  int quals;
  if (tcode <= IX86_BT_LAST_PTR)
quals = 0x0;
  else
quals = 0x1;
  itype = ix86_get_builtin_type (ix86_builtin_type_ptr_base[index],
 index);
  if (quals != 0x0)
itype = build_qualified_type (itype, quals);
  type = build_pointer_type (itype);
  return type;
}
[...@gnu-6 gcc]$ ./xgcc -B./ -O2 -g -fcompare-debug  -S -m32
/export/gnu/import/delta/foo.c -Wall
xgcc: error: /export/gnu/import/delta/foo.c: -fcompare-debug failure (length)
[...@gnu-6 gcc]$ 



[Bug tree-optimization/45957] [4.6 Regression] g++.dg/ext/fnname3.C FAILs with -flto/-fwhopr

2010-10-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45957

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


[Bug debug/45865] [4.6 regression] Failed to build 403.gcc in SPEC CPU 2006

2010-10-09 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45865

--- Comment #7 from H.J. Lu  2010-10-10 00:48:54 
UTC ---
(note 139 66 113 NOTE_INSN_EPILOGUE_BEG)

(insn 113 139 114 (set (reg:SI 3 bx)
(mem/c:SI (plus:SI (reg/f:SI 7 sp)
(const_int 4 [0x4])) [6 S4 A8])) y.i:54 63 {*movsi_internal}
 (nil))

dwarf2out_cfi_begin_epilogue failed to handle:

(code_label 130 27 128 13 "" [1 uses])

(note 128 130 115 [bb 6] NOTE_INSN_BASIC_BLOCK)

(insn/f:TI 115 128 67 (parallel [
(set (reg/f:SI 7 sp)
(plus:SI (reg/f:SI 7 sp)
(const_int 12 [0xc])))
(clobber (reg:CC 17 flags))
(clobber (mem:BLK (scratch) [0 A8]))
]) y.i:54 868 {pro_epilogue_adjust_stack_si_add}
 (expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_CFA_ADJUST_CFA (set (reg/f:SI 7 sp)
(plus:SI (reg/f:SI 7 sp)
(const_int 12 [0xc])))
(expr_list:REG_CFA_RESTORE (reg:SI 4 si)
(expr_list:REG_CFA_RESTORE (reg:SI 3 bx)
(nil))

(call_insn/j:TI 67 115 68 (set (reg:SI 0 ax)
(call (mem:QI (symbol_ref:SI ("reverse_condition") [flags 0x41] 
) [0 S1 A8])
(const_int 4 [0x4]))) y.i:52 881 {*call_value_0}
 (nil)
(nil))

(barrier 68 67 39)
...
(insn:TI 114 113 142 (set (reg:SI 4 si)
(mem/c:SI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [6 S4 A8])) y.i:54 63 {*movsi_internal}
 (nil))

(jump_insn 142 114 143 (set (pc)
(label_ref 130)) 605 {jump}
 (nil)
 -> 130)

(barrier 143 142 70)

(code_label 70 143 71 7 "" [3 uses])

(note 71 70 133 [bb 13] NOTE_INSN_BASIC_BLOCK)

(insn:TI 133 71 140 (parallel [
(set (reg/i:SI 0 ax)
(const_int 0 [0]))
(clobber (reg:CC 17 flags))
]) y.i:54 54 {*movsi_xor}
 (expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)))

(note 140 133 107 NOTE_INSN_EPILOGUE_BEG)


[Bug debug/45865] [4.6 regression] Failed to build 403.gcc in SPEC CPU 2006

2010-10-09 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45865

--- Comment #8 from H.J. Lu  2010-10-10 01:12:37 
UTC ---
Does this patch

---
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index af5f809..14d4f9b 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -2872,7 +2872,7 @@ dwarf2out_cfi_begin_epilogue (rtx insn)
 continue;

   /* Look for both regular and sibcalls to end the block.  */
-  if (returnjump_p (i))
+  if (returnjump_p (i) || any_uncondjump_p (i))
 break;
   if (CALL_P (i) && SIBLING_CALL_P (i))
 break;
---

make any senses?