[Bug tree-optimization/46316] [4.6 regression] incorrect loop optimization

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

Eric Botcazou  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #19 from Eric Botcazou  2010-11-09 
07:59:27 UTC ---
> PR tree-optimization/46316?  I will make the change.

Yes, this is the expected format.  Thanks for quickly fixing the bug.


[Bug tree-optimization/46349] [4.6 regression] incorrect scalarization

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

Eric Botcazou  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


[Bug tree-optimization/46377] [4.6 regression] incorrect scalarization (3)

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

Eric Botcazou  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


[Bug tree-optimization/46351] [4.6 regression] incorrect scalarization (2)

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

--- Comment #4 from Eric Botcazou  2010-11-09 
08:23:18 UTC ---
> Scary stuff.  I will look into it nevertheless.

Thanks.  There are a couple of other similar cases in PR tree-opt/46349 and
tree-opt/46377, although the latter is probably a duplicate of this one.


[Bug java/46386] New: negative shift count in build_constants_constructor for 16 bit pointer targets

2010-11-09 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46386

   Summary: negative shift count in build_constants_constructor
for 16 bit pointer targets
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: amyl...@gcc.gnu.org


Currently, we can't compile java/constants.c with -Werror for any target
with 16 bit pointers - such as h8300, m32c, m68hc11, pdp11 or stormy16 -
because of a negative shift in build_constants_constructor.


[Bug target/28627] [cygwin/mingw32] Missing dllimport diagnostic

2010-11-09 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28627

Kai Tietz  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ktietz at gcc dot gnu.org
 Resolution||FIXED

--- Comment #2 from Kai Tietz  2010-11-09 08:49:06 
UTC ---
As we want to keep here errors instead of warnings and the cgraph pass is
modeled that way that the diagnostic of second error isn't possible, I decided
to adjust testcase as fix. I close this bug.


[Bug tree-optimization/45971] [4.6 Regression] ice in vect_update_ivs_after_vectorizer

2010-11-09 Thread irar at il dot ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45971

Ira Rosen  changed:

   What|Removed |Added

 CC||irar at il dot ibm.com

--- Comment #8 from Ira Rosen  2010-11-09 09:12:43 UTC 
---
Looking at this loop:

void
foo (int *x, int *y)
{
  int i;
  for (i = 0; i < 11; i++)
y[i] = (x[i] == 1) ? i + 1 : -(i + 1);
}


I see that first time that we try to analyze phi i_19 = PHI  (to detect induction), scev analysis succeeds:

(analyze_scalar_evolution
  (loop_nb = 1)
  (scalar = i_19)
(get_scalar_evolution
  (scalar = i_19)
  (scalar_evolution = {0, +, 1}_1))
(set_scalar_evolution
  instantiated_below = 2
  (scalar = i_19)
  (scalar_evolution = {0, +, 1}_1))
)

pr45971.c:5: note: Access function of PHI: {0, +, 1}_1
pr45971.c:5: note: step: 1,  init: 0


But when we try to check the same phi later (in transformation), evolution
analysis fails:

pr45971.c:5: note: vect_update_ivs_after_vectorizer: phi: i_19 = PHI

(analyze_scalar_evolution
  (loop_nb = 1)
  (scalar = i_19)
(get_scalar_evolution
  (scalar = i_19)
  (scalar_evolution = ))
(analyze_initial_condition
  (loop_phi_node =
i_19 = PHI 
)
  (init_cond = 0))
(analyze_evolution_in_loop
  (loop_phi_node = i_19 = PHI 
)
  (evolution_function = scev_not_known))
(set_scalar_evolution
  instantiated_below = 8
  (scalar = i_19)
  (scalar_evolution = i_19))
)

pr45971.c:5: note: Access function of PHI: i_19

causing ICE.

Here is the code that if-cvt generates:

  # i_19 = PHI 
  # ivtmp.9_15 = PHI 
  D.2688_4 = (long unsigned int) i_19;
  D.2689_5 = D.2688_4 * 4;
  D.2690_7 = y_6(D) + D.2689_5;
  D.2692_11 = x_10(D) + D.2689_5;
  D.2693_12 = *D.2692_11;
  iftmp.0_13 = i_19 + 1;
  D.2707_22 = D.2693_12 == 1;
  iftmp.0_14 = ~i_19;
  pretmp.7_24 = i_19 + 1;
  D.2708_21 = D.2693_12 != 1;
  iftmp.0_2 = [cond_expr] D.2693_12 == 1 ? iftmp.0_13 : iftmp.0_14;
  prephitmp.8_25 = [cond_expr] D.2693_12 == 1 ? iftmp.0_13 : pretmp.7_24;
  *D.2690_7 = iftmp.0_2;
  ivtmp.9_23 = ivtmp.9_15 - 1;
  if (ivtmp.9_23 != 0)
goto ;
  else
goto ;

prephitmp.8_25 is actually always i_19 + 1, so the second cond_expr is
redundant.


[Bug libstdc++/46385] [4.6 Regression] FAIL: 20_util/weak_ptr/comparison/cmp_neg.cc

2010-11-09 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46385

--- Comment #1 from paolo at gcc dot gnu.org  
2010-11-09 09:49:20 UTC ---
Author: paolo
Date: Tue Nov  9 09:49:14 2010
New Revision: 166477

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166477
Log:
2010-11-09  Paolo Carlini  

PR libstdc++/46385
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line number.


Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc


[Bug libstdc++/46385] [4.6 Regression] FAIL: 20_util/weak_ptr/comparison/cmp_neg.cc

2010-11-09 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46385

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Paolo Carlini  2010-11-09 
09:50:21 UTC ---
Fixed.


[Bug c++/46382] constexpr vs. static_assert in constexpr ctors

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

--- Comment #2 from Jonathan Wakely  2010-11-09 
10:14:02 UTC ---
Thanks very much, Jason.  I'll make use of this in the library today.


[Bug bootstrap/46362] [4.6 regression] lto-plugin.c doesn't compile on IRIX 6.5

2010-11-09 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46362

--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE  2010-11-09 10:13:59 UTC ---
I've just had another report in private mail about Solaris 10 bootstrap
failing because  errors out if not used in a C99 compilation.
It seems this is highly unportable code that doesn't take the vagaries
of stage1 compilers into account, but assumes a strict C99 environment,
which we don't demand.

Given all this trouble, it seems premature to me to always enable
lto-plugin on all ELF platforms.  I rather think it would be better to
only enable if the linker used is either gold or a very recent gld with
pluging support.

Rainer


[Bug target/42240] [4.3/4.4 Regression] wrong epilogue on naked function

2010-11-09 Thread anitha.boyapati at atmel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42240

--- Comment #14 from Anitha Boyapati  
2010-11-09 10:24:11 UTC ---
Created attachment 22339
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22339
Initial patch to fix the bug

BB reordering pass is suppressed for naked functions. Also suppressed when the
end of epilogue is reached.


[Bug target/42240] [4.3/4.4 Regression] wrong epilogue on naked function

2010-11-09 Thread anitha.boyapati at atmel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42240

--- Comment #15 from Anitha Boyapati  
2010-11-09 10:26:04 UTC ---
(In reply to comment #13)
> Implement TARGET_CANNOT_MODIFY_JUMPS_P and respect epilogue_completed and
> cfun->machine->is_naked. This will stop BB reorder and similar post-epilogue
> passes from moving the non-code-producing return-insn up.

Yes, BB reordering pass is shifting jump blocks. Attached patch solves the
issue. The output is: 

.brsh .L11| brlo .L5
  > ldi r24, lo8(0)
  > ldi r25, hi8(0)
  > rjmp .L6
  > L5:
.L11: <
 ldi r24, lo8(0)  <
 ldi r25, hi8(0)  <
 rjmp .L6 <


[Bug fortran/46344] [4.6 Regression] [OOP] ICE with allocatable CLASS components

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

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #15 from janus at gcc dot gnu.org 2010-11-09 10:35:03 UTC ---
I'm not been able to find any more failing test cases along the lines of
comment #11. Closing as fixed.


[Bug middle-end/46221] [4.6 Regression] huge number of c++ testsuite failures, libstdc++.so alias missing

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

Richard Guenther  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #19 from Richard Guenther  2010-11-09 
10:36:57 UTC ---
Fixed.


[Bug middle-end/46221] [4.6 Regression] huge number of c++ testsuite failures, libstdc++.so alias missing

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

--- Comment #18 from Richard Guenther  2010-11-09 
10:36:30 UTC ---
Author: rguenth
Date: Tue Nov  9 10:36:24 2010
New Revision: 166479

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

PR middle-end/46221
* varasm.c (compute_visible_aliases): New function.
(remove_unreachable_alias_pairs): Aliases make a target available
even though we reclaimed the cgraph node.
(finish_aliases_1): Likewise.
* Makefile.in (varasm.o): Add pointer-set.h dependency.

* gcc.target/i386/alias-1.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.target/i386/alias-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/testsuite/ChangeLog
trunk/gcc/varasm.c


[Bug fortran/46313] [OOP] OOP-ABI issue, ALLOCATE issue, CLASS renaming issue

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

--- Comment #5 from janus at gcc dot gnu.org 2010-11-09 10:39:52 UTC ---
Author: janus
Date: Tue Nov  9 10:39:46 2010
New Revision: 166480

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

PR fortran/46313
* gfortran.h (gfc_add_data_component,gfc_add_vptr_component,
gfc_add_hash_component,gfc_add_size_component,
gfc_add_def_init_component): New macros.
* class.c (gfc_add_component_ref): Renamed data component.
(get_unique_type_string): New function.
(gfc_build_class_symbol): Use 'get_unique_type_string' to construct
uniques names for the class containers. Rename components.
(gfc_find_derived_vtab): Use 'get_unique_type_string' to construct
uniques names for the vtab symbols. Rename components.
* decl.c (attr_decl1): Renamed class container components.
* iresolve.c (gfc_resolve_extends_type_of): Ditto.
* match.c (select_type_set_tmp): Renamed temporaries.
* module.c (read_module): Renamed vtab and vtype symbols.
* resolve.c (resolve_structure_cons,resolve_typebound_function,
resolve_typebound_subroutine,resolve_deallocate_expr,
resolve_select_type,resolve_fl_derived): Renamed class container and
vtab components.
* trans-array.c (structure_alloc_comps): Ditto.
* trans-decl.c (gfc_trans_deferred_vars): Ditto.
* trans-expr.c (gfc_conv_derived_to_class,gfc_conv_structure,
gfc_trans_class_init_assign,gfc_trans_class_assign): Ditto.
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof,
gfc_conv_intrinsic_storage_size,gfc_conv_allocated,gfc_conv_associated,
gfc_conv_same_type_as): Ditto.
* trans-stmt.c (gfc_trans_allocate): Ditto.

2010-11-09  Janus Weil  

PR fortran/46313
* gfortran.dg/class_29.f03: New.

Added:
trunk/gcc/testsuite/gfortran.dg/class_29.f03
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/class.c
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/iresolve.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/module.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-intrinsic.c
trunk/gcc/fortran/trans-stmt.c
trunk/gcc/testsuite/ChangeLog


[Bug tree-optimization/46312] gcc.dg/vec-scal-opt2.c fails for ARM targets.

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

Richard Guenther  changed:

   What|Removed |Added

 CC||danglin at gcc dot gnu.org

--- Comment #5 from Richard Guenther  2010-11-09 
10:41:28 UTC ---
*** Bug 46380 has been marked as a duplicate of this bug. ***


[Bug tree-optimization/46380] vec-scal-opt*.c tests fail on hppa*-*-* (32-bit)

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

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #1 from Richard Guenther  2010-11-09 
10:41:28 UTC ---
.

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


[Bug target/46384] ia64-linux: internal compiler error: in get_attr_first_insn, at config/ia64/itanium2.md:1909

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

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2010.11.09 10:42:38
  Component|c   |target
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2010-11-09 
10:42:38 UTC ---
Please provide preprocessed source.


[Bug debug/46375] [4.6 Regression] -fcompare-debug failure (length) with -O -fgcse -fno-tree-dominator-opts

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

Richard Guenther  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Richard Guenther  2010-11-09 
10:51:42 UTC ---
Mine then.


[Bug middle-end/31490] Compile error section type conflict

2010-11-09 Thread nicolas.veyssiere at thalesgroup dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31490

Nicolas VEYSSIERE  changed:

   What|Removed |Added

 CC||nicolas.veyssiere at
   ||thalesgroup dot com

--- Comment #18 from Nicolas VEYSSIERE  2010-11-09 10:58:14 UTC ---
Hello, I have the same question as #17, I am using GCC on ia64 too, and this
problem is still in the last version of GCC (4.4.5), and if I apply the patch
of Dinar Temirbulatov (#9) it seems to works, (maybe I have to use the patch
proposed by Segher Boessenkool, #10, i don't know).


[Bug rtl-optimization/46387] New: [4.6 Regression] ICE in add_stores, at var-tracking.c:5415

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

   Summary: [4.6 Regression] ICE in add_stores, at
var-tracking.c:5415
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org
Target: ia64-linux


Created attachment 22340
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22340
preprocessed source

gnokii fails to build on ia64 with

xgnokii_logos.c: In function 'DrawingAreaMotionNotifyEvent':
xgnokii_logos.c:902:1: internal compiler error: in add_stores, at
var-tracking.c:5415
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
gmake[2]: *** [xgnokii-xgnokii_logos.o] Error 1

> /usr/lib/gcc/ia64-suse-linux/4.6/cc1 -fpreprocessed xgnokii_logos.i -quiet 
> -dumpbase xgnokii_logos.c -auxbase-strip xgnokii-xgnokii_logos.o -g -O2 
> -fstack-protector -fvisibility=hidden  -o xgnokii_logos.s
xgnokii_logos.c: In function 'DrawingAreaMotionNotifyEvent':
xgnokii_logos.c:902:1: internal compiler error: in add_stores, at
var-tracking.c:5415
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.


[Bug rtl-optimization/46387] [4.6 Regression] ICE in add_stores, at var-tracking.c:5415

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

--- Comment #1 from Richard Guenther  2010-11-09 
11:01:31 UTC ---
Created attachment 22341
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22341
required stack-protector support patch

Required patch.

Reducing.


[Bug c++/46394] New: [C++0X] no matching function with default template argument

2010-11-09 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46394

   Summary: [C++0X] no matching function with default template
argument
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: marc.gli...@normalesup.org


This code recently stopped compiling. (I have a remove_cv on top of the
remove_reference in the original code but it didn't look necessary to reproduce
the problem)

#include 
#include 
#include 
struct A {
template::type...>,
std::tuple
>::value
>::type
>
A(U&&...u) ;
};
int main(){
A a(1,2,3);
}


bug.cc: In function ‘int main()’:
bug.cc:16:11: error: no matching function for call to ‘A::A(int, int, int)’
bug.cc:13:13: note: candidates are: template A::A(U&& ...)
bug.cc:4:8: note: constexpr A::A(const A&)
bug.cc:4:8: note: constexpr A::A(A&&)


[Bug driver/46396] New: gcc not detect caches for VIA CPUs

2010-11-09 Thread mahatma at eu dot by
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46396

   Summary: gcc not detect caches for VIA CPUs
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: driver
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: maha...@eu.by


Created attachment 22346
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22346
via_caches.patch

gcc not detect caches for VIA CPUs. But this task is too simple: according to
Linux kernel code, "detect_caches_amd" function code is not so vendor-specific,
and used in kernel also for any x86_64, VIA/Centaur, Transmeta and Cyrix
family-5/model-5. By some reasons (actual & tech) I suggest only code for
VIA/Centaur CPUs (works fine for C7). This patch sure applicable to 4.5 & trunk
branches and must for any.


[Bug c++/45894] [4.5 Regression] [C++0x] ICE: segmentation fault with -Wall

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45894

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |


[Bug middle-end/46389] New: [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

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

   Summary: [4.6 Regression] ICE in add_var_loc_to_decl, at
dwarf2out.c:8221
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: build, ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org
Target: s390-linux


Bootstrap currently fails on s390-linux during Ada RTS build:

/usr/src/packages/BUILD/gcc-4.6.0-20101105/obj-s390-suse-linux/./gcc/xgcc
-B/usr/src/packages/BUILD/gcc-4.6.0-20101105/obj-s390-suse-linux/./gcc/
-B/usr/s390-suse-linux/bin/ -B/usr/s390-suse-linux/lib/ -isystem
/usr/s390-suse-linux/include -isystem /usr/s390-suse-linux/sys-include-c -g
-O2  -fPIC  -W -Wall -gnatpg   a-strsup.adb -o a-strsup.o
+===GNAT BUG DETECTED==+
| 4.6.0 20101105 [trunk revision 166358] (s390-ibm-linux-gnu) GCC error:   |
| in add_var_loc_to_decl, at dwarf2out.c:8221  |
| Error detected around a-strsup.adb:1091:8|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

system.ads
a-strsup.adb
a-strsup.ads
a-string.ads
ada.ads
a-strmap.ads
a-charac.ads
a-chlat1.ads
a-strsea.ads
s-exctab.ads
s-stalib.ads
a-unccon.ads
s-unstyp.ads
a-except.ads
s-parame.ads
s-traent.ads
s-secsta.ads
s-stoele.ads
s-stoele.adb
s-carun8.ads


raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:423
make[7]: *** [a-strsup.o] Error 1


[Bug middle-end/46388] [4.6 Regression] ICE in int_mode_for_mode, at stor-layout.c:493

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

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0

--- Comment #1 from Richard Guenther  2010-11-09 
11:47:52 UTC ---
Reduced testcase:

typedef struct opal_object_t opal_object_t;
typedef struct opal_class_t opal_class_t;
struct opal_object_t {
opal_class_t *obj_class;
};
typedef struct ompi_pointer_array_t ompi_pointer_array_t;
extern opal_class_t ompi_pointer_array_t_class;
extern ompi_pointer_array_t ompi_file_f_to_c_table;
void
ompi_file_init(void)
{
  ((opal_object_t *) ((&ompi_file_f_to_c_table)))->obj_class
  = ((&(ompi_pointer_array_t_class)));
}


#2  0x006aaeb3 in store_bit_field_1 (str_rtx=0x77fb8ca8, 
bitsize=64, bitnum=0, fieldmode=DImode, value=0x77fbb840, 
fallback_p=1 '\001') at /space/rguenther/src/svn/trunk/gcc/expmed.c:480
480 enum machine_mode imode = int_mode_for_mode (GET_MODE (op0));
(gdb) p op0
$1 = (rtx) 0x77fb8ca8
(gdb) call debug_rtx (op0)
(mem/s/f/j/c (reg/f:DI 340) [0 MEM[(struct opal_object_t
*)&ompi_file_f_to_c_table].obj_class+0 S8 A8])


we have a VOIDmode MEM.


[Bug c/46390] cpuid assembly instruction is optimized away in loop over threads.

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46390

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution||INVALID

--- Comment #1 from Jakub Jelinek  2010-11-09 
11:58:51 UTC ---
That's correct, if you don't want it to be moved (or removed in case the result
is unused), use asm volatile.


[Bug middle-end/46389] [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

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

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


[Bug middle-end/46360] [4.6 Regression] ICE in release_defs, at tree-ssanames.c:313

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46360

--- Comment #4 from Jakub Jelinek  2010-11-09 
11:54:39 UTC ---
Author: jakub
Date: Tue Nov  9 11:54:32 2010
New Revision: 166482

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166482
Log:
PR middle-end/46360
* tree-ssa-propagate.c (update_call_from_tree): Fix for use
not in SSA mode.

* gcc.c-torture/compile/pr46360.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr46360.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-propagate.c


[Bug rtl-optimization/46387] [4.6 Regression] ICE in add_stores, at var-tracking.c:5415

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

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0

--- Comment #2 from Richard Guenther  2010-11-09 
11:35:35 UTC ---
Reduced testcase, no longer requires stack-protector:

typedef signed short gint16;
typedef int gint;
typedef double gdouble;
typedef struct _GdkDrawable GdkPixmap;
typedef struct _GdkDrawable GdkWindow;
typedef enum { GDK_BUTTON1_MASK = 1 << 8 } GdkModifierType;
typedef struct _GdkEventMotion GdkEventMotion;
struct _GdkEventMotion {
GdkWindow *window;
gdouble x;
gdouble y;
gint16 is_hint;
};
typedef struct _GtkWidget GtkWidget;
typedef struct {
unsigned char width;
} gn_bmp;
GdkPixmap *drawingPixmap = ((void *)0);
int mouseButtonPushed = 0;
gn_bmp bitmap, oldBitmap;
int activeTool = 0;
gint
DrawingAreaMotionNotifyEvent(GtkWidget * widget, GdkEventMotion * event)
{
  int x, y;
  GdkModifierType state;
  if (!mouseButtonPushed && activeTool != 0)
return (!(0));
  if (event->is_hint)
gdk_window_get_pointer(&x, &y, &state);
  else
{
  x = event->x;
  y = event->y;
}
  x = x / (5 + 1);
  y = y / (5 + 1);
  if (x < 0)
x = 0;
  if (x > bitmap.width - 1)
x = bitmap.width - 1;
  switch (activeTool)
{
case 0:
  ToolBrush(widget, x, y, 1);
}
  return (!(0));
}

./cc1 -quiet xgnokii_logos.3.i -O2 -g 
xgnokii_logos.3.i: In function 'DrawingAreaMotionNotifyEvent':
xgnokii_logos.3.i:48:1: internal compiler error: in add_stores, at
var-tracking.c:5415
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

reproducible with a cross to ia64-linux.


[Bug c++/46394] [C++0X] [4.6 Regression] no matching function with default template parameter

2010-11-09 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46394

Paolo Carlini  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


[Bug c/46390] cpuid assembly instruction is optimized away in loop over threads.

2010-11-09 Thread edwin at svi dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46390

--- Comment #2 from edwin at svi dot nl 2010-11-09 12:11:56 UTC ---
(In reply to comment #1)
> That's correct, if you don't want it to be moved (or removed in case the 
> result
> is unused), use asm volatile.

Thanks! I wasn't aware of the asm volatile keyword...


[Bug c++/45894] [4.5 Regression] [C++0x] ICE: segmentation fault with -Wall

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45894

Jakub Jelinek  changed:

   What|Removed |Added

  Known to work||4.6.0
Summary|[4.5/4.6 Regression]|[4.5 Regression] [C++0x]
   |[C++0x] ICE: segmentation   |ICE: segmentation fault
   |fault with -Wall|with -Wall
  Known to fail|4.6.0   |

--- Comment #8 from Jakub Jelinek  2010-11-09 
11:56:21 UTC ---
Fixed on the trunk so far.


[Bug middle-end/46368] [4.6 Regression] ICE in make_decl_rtl, at varasm.c:1033

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46368

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.11.09 11:46:48
 Ever Confirmed|0   |1

--- Comment #3 from Jakub Jelinek  2010-11-09 
11:46:48 UTC ---
Reduced testcase, ICEs with -std=c++0x:

class A;

class B
{
  A foo ();
  A bar ();
};

class C
{
};

struct D
{
  D (C);
};

struct A : D
{
  A (const C & n) : D (n) {}
};

A baz (const char *, A = C ());

A
B::foo ()
{
  try
{
  baz ("foo");
}
  catch (...)
{
}
}

A
B::bar ()
{
  baz ("bar");
}


[Bug fortran/46313] [OOP] class container naming collisions

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

janus at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[OOP] OOP-ABI issue,|[OOP] class container
   |ALLOCATE issue, CLASS   |naming collisions
   |renaming issue  |

--- Comment #7 from janus at gcc dot gnu.org 2010-11-09 12:52:12 UTC ---
(In reply to comment #6)
> As Tobias pointed out at
> 
> http://gcc.gnu.org/ml/fortran/2010-11/msg00120.html
> 
> there may be additional problems when defining derived types in
> procedures/submodules.


Here is an example code which still fails (analogous to comment #0):


module m
  type t
real :: a(10) = 2
  end type
end module


program p

  implicit none

  call m

contains

  subroutine m
use m, t1 => t

type t
  real :: b(10) = 8
end type

class(t1), allocatable :: x
class(t), allocatable :: y

allocate (t1 :: x)
allocate (t :: y)

print *, x%a
print *, y%b
  end subroutine

end


[Bug c++/46368] [4.6 Regression] ICE in make_decl_rtl, at varasm.c:1033

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

H.J. Lu  changed:

   What|Removed |Added

 CC||jason at redhat dot com
  Component|middle-end  |c++

--- Comment #4 from H.J. Lu  2010-11-09 13:30:25 
UTC ---
It is caused by revision 166167:

http://gcc.gnu.org/ml/gcc-cvs/2010-11/msg00053.html


[Bug debug/46150] [4.6 Regression] -fcompare-debug failure (length) with -fPIC -O2

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46150

--- Comment #3 from Jakub Jelinek  2010-11-09 
12:59:19 UTC ---
Created attachment 22344
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22344
pr46150.ii

Partially reduced testcase, gave up after several days of running delta on it.


[Bug middle-end/46360] [4.6 Regression] ICE in release_defs, at tree-ssanames.c:313

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46360

Jakub Jelinek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #5 from Jakub Jelinek  2010-11-09 
11:59:42 UTC ---
Fixed.


[Bug fortran/46313] [OOP] OOP-ABI issue, ALLOCATE issue, CLASS renaming issue

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

--- Comment #6 from janus at gcc dot gnu.org 2010-11-09 11:54:18 UTC ---
r166480 fixes the original test case.

As Tobias pointed out at

http://gcc.gnu.org/ml/fortran/2010-11/msg00120.html

there may be additional problems when defining derived types in
procedures/submodules.


[Bug middle-end/46388] New: [4.6 Regression] ICE in int_mode_for_mode, at stor-layout.c:493

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

   Summary: [4.6 Regression] ICE in int_mode_for_mode, at
stor-layout.c:493
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org
Target: ia64-linux


Created attachment 22342
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22342
preprocessed source

openmpi fails to build on ia64-linux.

./cc1 -fpreprocessed file.i -quiet -dumpbase file.c -auxbase-strip
file/.libs/file.o -O -version -fmessage-length=0 -o file.s
In file included from ../opal/class/opal_list.h:67:0,
 from ../ompi/file/file.h:23,
 from file/file.c:21:
../opal/class/opal_object.h: In function 'ompi_file_init':
../opal/class/opal_object.h:456:33: internal compiler error: in
int_mode_for_mode, at stor-layout.c:493
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.


[Bug rtl-optimization/46391] false dependencies are computed after vectorization (#2)

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

--- Comment #1 from Richard Guenther  2010-11-09 
13:18:47 UTC ---
On x86_64 restrict information is there (-fdump-tree-optimized-alias):

:
  # PT = nonlocal { PARM_RESTRICT.0 } (restr)
  vect_p.27_71 = c_8(D) + prolog_loop_niters.16_27;
  # PT = nonlocal { PARM_RESTRICT.1 } (restr)
  vect_p.32_75 = d_5(D) + prolog_loop_niters.16_27;

:
  # ivtmp.52_46 = PHI 
  # ivtmp.55_47 = PHI 
  vect_var_.28_74 = MEM[base: vect_p.27_71, index: ivtmp.55_47, offset: 0B];
  MEM[base: vect_p.32_75, index: ivtmp.55_47, offset: 0B] = vect_var_.28_74;
  ivtmp.52_31 = ivtmp.52_46 + 1;
  ivtmp.55_33 = ivtmp.55_47 + 16;
  if (ivtmp.52_31 < bnd.20_49)
goto ;
  else
goto ;


[Bug rtl-optimization/46391] false dependencies are computed after vectorization (#2)

2010-11-09 Thread roy.1rosen at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46391

--- Comment #2 from Roy Rosen  2010-11-09 13:48:15 
UTC ---
Seems to me that also on ia64 it is there but the dependecies are still wrong:

;; Function nor (nor)

nor (char * restrict c, char * restrict d)
{
  long unsigned int D.2085;
  long unsigned int D.2086;
  vector(8) char * restrict D.2087;
  void * D.2084;
  long unsigned int ivtmp?52;
  void * D.2071;
  void * D.2070;
  long unsigned int ivtmp?41;
  long unsigned int ivtmp?38;
  vector(8) char vect_var_?25;
  long int andmask?20;
  long int orptrs1?19;
  long int addr2int1?18;
  long int addr2int0?14;
  int i;
  char D.2021;

:
  addr2int0?14_22 = (long int) c_8(D);
  addr2int1?18_24 = (long int) d_5(D);
  orptrs1?19_25 = addr2int1?18_24 | addr2int0?14_22;
  andmask?20_26 = orptrs1?19_25 & 7;
  if (andmask?20_26 == 0)
goto ;
  else
goto ;

:
  ivtmp?52_37 = (long unsigned int) c_8(D);
  D.2085_32 = (long unsigned int) d_5(D);
  D.2086_48 = D.2085_32 + 256;
  D.2087_49 = (vector(8) char * restrict) D.2086_48;

:
  # PT = nonlocal { PARM_RESTRICT?1 } (restr)
  # ALIGN = 8, MISALIGN = 0
  # d_43 = PHI 
  # ivtmp?52_31 = PHI 
  # PT = nonlocal { PARM_RESTRICT?0 } (restr)
  # ALIGN = 8, MISALIGN = 0
  D.2084_33 = (void *) ivtmp?52_31;
  vect_var_?25_41 = MEM[(char *)D.2084_33];
  ivtmp?52_30 = ivtmp?52_31 + 8;
  MEM[(char *)d_43] = vect_var_?25_41;
  # PT = nonlocal { PARM_RESTRICT?1 } (restr)
  d_44 = d_43 + 8;
  if (d_44 != D.2087_49)
goto ;
  else
goto ;

:
  ivtmp?38_4 = (long unsigned int) c_8(D);
  ivtmp?41_10 = (long unsigned int) d_5(D);

:
  # i_28 = PHI <0(5), i_36(6)>
  # ivtmp?38_19 = PHI 
  # ivtmp?41_6 = PHI 
  # PT = nonlocal { PARM_RESTRICT?0 } (restr)
  D.2070_11 = (void *) ivtmp?38_19;
  D.2021_34 = MEM[(char *)D.2070_11];
  ivtmp?38_17 = ivtmp?38_19 + 1;
  # PT = nonlocal { PARM_RESTRICT?1 } (restr)
  D.2071_13 = (void *) ivtmp?41_6;
  MEM[(char *)D.2071_13] = D.2021_34;
  ivtmp?41_9 = ivtmp?41_6 + 1;
  i_36 = i_28 + 1;
  if (i_36 != 256)
goto ;
  else
goto ;

:
  return 0;

}


[Bug bootstrap/46397] lto-plugin.c does not build on Solaris 10/SPARC

2010-11-09 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46397

Rainer Orth  changed:

   What|Removed |Added

 CC||ro at gcc dot gnu.org
   Target Milestone|--- |4.6.0

--- Comment #1 from Rainer Orth  2010-11-09 15:14:33 UTC 
---
See PR bootstrap/46362 for suggestions how to avoid this.


[Bug target/43808] [4.6 Regression] -fipa-reference -fschedule-insns -fstrict-aliasing causes two gfortran check failures

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43808

--- Comment #12 from Jakub Jelinek  2010-11-09 
12:47:56 UTC ---
The first patch bootstrapped/regtested fine on both x86_64-linux and
i686-linux, the second one caused a couple of regressions on x86_64-linux (and
worked fine on i686-linux):
FAIL: gcc.target/x86_64/abi/test_3_element_struct_and_unions.c compilation, 
-O0  (internal compiler error)
UNRESOLVED: gcc.target/x86_64/abi/test_3_element_struct_and_unions.c execution,
 -O0 
FAIL: gcc.target/x86_64/abi/test_basic_array_size_and_align.c compilation,  -O0
 (internal compiler error)
UNRESOLVED: gcc.target/x86_64/abi/test_basic_array_size_and_align.c execution, 
-O0 
FAIL: gnat.dg/gen_disp.adb (test for excess errors)
FAIL: gnat.dg/specs/private_with.ads (test for excess errors)

All of these are ICEs in update_alias_info_with_stack_vars, short testcase on
x86_64-linux is:
int
main (void)
{
  {
struct S1 { long double t1; long double t2; float t3; } s1;
  }
  {
struct S2 { long double t1; long double t2; double t3; } s2;
  }
}

The ICE is in:
  /* We should never end up partitioning SSA names (though they
 may end up on the stack).  Neither should we allocate stack
 space to something that is unused and thus unreferenced.  */
  gcc_assert (DECL_P (decl)
  && referenced_var_lookup (DECL_UID (decl)));
decl is s1 (VAR_DECL), but referenced_var_lookup returns NULL on it.
Wonder if we just shouldn't add && optimize into the assert, or whether it is
really a problem if a non-referenced var makes it in.


[Bug c++/45894] [4.5/4.6 Regression] [C++0x] ICE: segmentation fault with -Wall

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45894

--- Comment #7 from Jakub Jelinek  2010-11-09 
11:53:05 UTC ---
Author: jakub
Date: Tue Nov  9 11:52:59 2010
New Revision: 166481

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166481
Log:
PR c++/45894
* tree.c (lvalue_kind): Don't crash if ref has NULL type.

* g++.dg/warn/Wsequence-point-2.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/warn/Wsequence-point-2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/tree.c
trunk/gcc/testsuite/ChangeLog


[Bug c/46390] New: cpuid assembly instruction is optimized away in loop over threads.

2010-11-09 Thread edwin at svi dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46390

   Summary: cpuid assembly instruction is optimized away in loop
over threads.
   Product: gcc
   Version: 4.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ed...@svi.nl


GCC seems to optimize the cpuid assembly instruction (used to retrieve the
current APIC ID) away, because the input for the instruction seems to be
independent from the loop:

for (i = 0; i < CPU_SETSIZE; i++) {
/* Add cpu i to the cpu set 'set'. */
CPU_ZERO(&set);
CPU_SET(i, &set);

/* Try to switch the affinity and collect the APIC ID of
   thread i. Sleep gives the OS a chance to switch to the
   desired thread. */
err = sched_setaffinity(pid, sizeof(cpu_set_t), &set);
sleep(0);
if (err >= 0) {
asm("cpuid"
: "=b" (additional)
: "a" (1)
: "%ecx", "%edx");
id = (additional & APIC_ID_MASK) >> 24;
list[(*cnt)++] = id;
}
}


It can be 'fixed' by using the loop variable i as a 'dummy input' for the
assembly instruction:

asm("cpuid"
: "=b" (additional)
: "a" (1), "b" (i)
: "%ecx", "%edx");


This method to retrieve APIC ID's is common practice:
http://software.intel.com/en-us/articles/optimal-performance-on-multithreaded-software-with-intel-tools/


[Bug rtl-optimization/46391] New: false dependencies are computed after vectorization (#2)

2010-11-09 Thread roy.1rosen at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46391

   Summary: false dependencies are computed after vectorization
(#2)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: roy.1ro...@gmail.com


Created attachment 22343
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22343
preprocessed file

When compiling function with ia64:
int nor(char* __restrict__ c, char* __restrict__ d)
{
int i, sum = 0;
for (i = 0; i < 256; i++)
d[i] = c[i];
return sum;
}

before sched1 we have:

(insn 91 329 330 4 (set (mem:V8QI (reg/v/f:DI 435 [ d ]) [0 MEM[(char *)d_43]+0
S8 A64])
(reg:V8QI 430 [ vect_var_?25 ])) a.c:5 384 {*movv8qi_internal}
 (expr_list:REG_DEAD (reg:V8QI 430 [ vect_var_?25 ])
(nil)))

(insn 330 91 253 4 (set (reg/f:DI 450)
(plus:DI (reg/v/f:DI 435 [ d ])
(const_int 8 [0x8]))) a.c:5 205 {adddi3}
 (nil))

(insn 253 330 254 4 (set (reg:V8QI 455 [ vect_var_?25 ])
(mem:V8QI (reg:DI 449) [0 MEM[(char *)D.2084_33]+0 S8 A64])) a.c:5 384
{*movv8qi_internal}
 (nil))

insn 91 is a store and 253 is a load from a different location (two different
restrict pointers). These insns should not have a dependency between them but
we can see in sched1 that they do have:

;;   ==
;;   -- basic block 4 from 89 to 340 -- before reload
;;   ==

;;   --- forward dependences:  

;;   --- Region Dependences --- b 4 bb 0 
;;  insn  codebb   dep  prio  cost   reservation
;;    --   ---       ---
;;   89   384 4 0 1 1   2_M_only_um01: 340 321 320 310
299 288 277 266 255 91 
;;  329   205 4 0 3 1   2_A: 340 320 254 253 
;;   91   384 4 1 0 1   2_M_only_um23: 340 322 321 319
310 308 299 297 288 286 277 275 266 264 255 253 
;;  330   205 4 0 2 1   2_A: 340 322 256 255 
;;  253   384 4 2 1 1   2_M_only_um01: 340 321 310 299
288 277 266 255 
;;  254   205 4 1 2 1   2_A: 340 264 
;;  255   384 4 4 0 1   2_M_only_um23: 340 321 319 310
308 299 297 288 286 277 275 266 264  

A similar bug was fixed a few months ago
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44479). Might be connected.

Using built-in specs.
COLLECT_GCC=./xgcc
Target: ia64-linux-elf
Configured with:
Thread model: single
gcc version 4.6.0 20101106 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O3' '-funroll-loops' '-fdump-rtl-all'
'-fsched-verbose=8'
 cc1 -E -quiet -v -iprefix
/home/swproj/sw/users/eyalhar/ia64-new/gcc/../lib/gcc/ia64-linux-elf/4.6.0/ a.c
-funroll-loops -fdump-rtl-all -fsched-verbose=8 -O3 -fpch-preprocess -o a.i
ignoring nonexistent directory
"/home/swproj/sw/users/eyalhar/ia64-new/gcc/../lib/gcc/ia64-linux-elf/4.6.0/include"
ignoring nonexistent directory
"/home/swproj/sw/users/eyalhar/ia64-new/gcc/../lib/gcc/ia64-linux-elf/4.6.0/include-fixed"
ignoring nonexistent directory
"/home/swproj/sw/users/eyalhar/ia64-new/gcc/../lib/gcc/ia64-linux-elf/4.6.0/../../../../ia64-linux-elf/sys-include"
ignoring nonexistent directory
"/home/swproj/sw/users/eyalhar/ia64-new/gcc/../lib/gcc/ia64-linux-elf/4.6.0/../../../../ia64-linux-elf/include"
ignoring nonexistent directory
"/home/swproj/sw/users/eyalhar/ia64-new/gcc/../lib/gcc/../../lib/gcc/ia64-linux-elf/4.6.0/include"
ignoring nonexistent directory
"/home/swproj/sw/users/eyalhar/ia64-new/gcc/../lib/gcc/../../lib/gcc/ia64-linux-elf/4.6.0/include-fixed"
ignoring nonexistent directory
"/home/swproj/sw/users/eyalhar/ia64-new/gcc/../lib/gcc/../../lib/gcc/ia64-linux-elf/4.6.0/../../../../ia64-linux-elf/sys-include"
ignoring nonexistent directory
"/home/swproj/sw/users/eyalhar/ia64-new/gcc/../lib/gcc/../../lib/gcc/ia64-linux-elf/4.6.0/../../../../ia64-linux-elf/include"
#include "..." search starts here:
#include <...> search starts here:
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O3' '-funroll-loops' '-fdump-rtl-all'
'-fsched-verbose=8'
 cc1 -fpreprocessed a.i -quiet -dumpbase a.c -auxbase a -O3 -version
-funroll-loops -fdump-rtl-all -fsched-verbose=8 -o a.s
GNU C (GCC) version 4.6.0 20101106 (experimental) (ia64-linux-elf)
compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-44), GMP
version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C (GCC) version 4.6.0 20101106 (experimental) (ia64-linux-elf)
compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-44), GMP
version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler 

[Bug tree-optimization/46312] gcc.dg/vec-scal-opt2.c fails for ARM targets.

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

--- Comment #6 from Richard Guenther  2010-11-09 
13:45:54 UTC ---
Author: rguenth
Date: Tue Nov  9 13:45:45 2010
New Revision: 166489

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

PR testsuite/46312
* gcc.dg/vec-scal-opt.c: Move ...
* gcc.dg/vect/vect-scal-opt.c: ... here.
* gcc.dg/vec-scal-opt1.c: Move ...
* gcc.dg/vect/vect-scal-opt1.c: ... here.
* gcc.dg/vec-scal-opt2.c: Move ...
* gcc.dg/vect/vect-scal-opt2.c: ... here.

Added:
trunk/gcc/testsuite/gcc.dg/vect/vect-scal-opt.c
  - copied, changed from r166486, trunk/gcc/testsuite/gcc.dg/vec-scal-opt.c
trunk/gcc/testsuite/gcc.dg/vect/vect-scal-opt1.c
  - copied, changed from r166486,
trunk/gcc/testsuite/gcc.dg/vec-scal-opt1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-scal-opt2.c
  - copied, changed from r166486,
trunk/gcc/testsuite/gcc.dg/vec-scal-opt2.c
Removed:
trunk/gcc/testsuite/gcc.dg/vec-scal-opt.c
trunk/gcc/testsuite/gcc.dg/vec-scal-opt1.c
trunk/gcc/testsuite/gcc.dg/vec-scal-opt2.c
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug bootstrap/46392] [4.6 Regression] Revision 166473 failed to bootstrap

2010-11-09 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46392

--- Comment #2 from hjl at gcc dot gnu.org  2010-11-09 
13:14:55 UTC ---
Author: hjl
Date: Tue Nov  9 13:14:48 2010
New Revision: 166486

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166486
Log:
Call get_input_file_name to get file name.

2010-11-09  H.J. Lu  

PR bootstrap/46392
* gengtype-parse.c (type): Call get_input_file_name to get
file name.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/gengtype-parse.c


[Bug bootstrap/46392] [4.6 Regression] Revision 166473 failed to bootstrap

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

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.11.09 13:10:34
   Target Milestone|--- |4.6.0
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2010-11-09 
13:10:34 UTC ---
Confirmed.


[Bug bootstrap/46392] New: [4.6 Regression] Revision 166473 failed to bootstrap

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

   Summary: [4.6 Regression] Revision 166473 failed to bootstrap
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: bas...@starynkevitch.net


Revision 166473:

http://gcc.gnu.org/ml/gcc-cvs/2010-11/msg00360.html

gave:

../../src-trunk/gcc/gengtype-parse.c: In function 'type':
../../src-trunk/gcc/gengtype-parse.c:754:4: error: format '%s' expects type
'char *', but argument 2 has type 'const struct input_file *' [-Werror=format]
../../src-trunk/gcc/gengtype-parse.c:791:2: error: format '%s' expects type
'char *', but argument 2 has type 'const struct input_file *' [-Werror=format]
cc1: all warnings being treated as errors

make[6]: *** [build/gengtype-parse.o] Error 1
make[6]: *** Waiting for unfinished jobs


[Bug c++/46382] constexpr vs. static_assert in constexpr ctors

2010-11-09 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46382

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #3 from Jason Merrill  2010-11-09 
13:46:09 UTC ---
Done.


[Bug libfortran/46373] fflush called when reading from a string

2010-11-09 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46373

Jerry DeLisle  changed:

   What|Removed |Added

 Status|WAITING |ASSIGNED
 AssignedTo|unassigned at gcc dot   |jvdelisle at gcc dot
   |gnu.org |gnu.org

--- Comment #5 from Jerry DeLisle  2010-11-09 
13:22:15 UTC ---
In Fortran, by definition, "internal unit" is a character string. Libgfortran
defines a common I/O interface.  During initialization of an I/O call, the
appropriate functions are mapped via function pointers so that when the
read/write statements are executed, either the external unit (file) routines or
internal unit (string) routines are invoked.

Regardless, I misunderstood your original post.  I will commit the following
obvious patch after regression testing. At least the code lived up to its
comment.  ;)

Index: libgfortran/io/transfer.c
===
--- libgfortran/io/transfer.c(revision 166469)
+++ libgfortran/io/transfer.c(working copy)
@@ -2646,7 +2646,8 @@
 }

   /* Bugware for badly written mixed C-Fortran I/O.  */
-  flush_if_preconnected(dtp->u.p.current_unit->s);
+  if (!is_internal_unit (dtp))
+flush_if_preconnected(dtp->u.p.current_unit->s);

   dtp->u.p.current_unit->mode = dtp->u.p.mode;


[Bug bootstrap/46397] lto-plugin.c does not build on Solaris 10/SPARC

2010-11-09 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46397

Rainer Orth  changed:

   What|Removed |Added

 CC||davek at gcc dot gnu.org,
   ||iant at google dot com

--- Comment #2 from Rainer Orth  2010-11-09 15:16:28 UTC 
---
It really seems the wholesale enabling of lto-plugin for ELF targets was ill-
advised in its current form.


[Bug rtl-optimization/46387] [4.6 Regression] ICE in add_stores, at var-tracking.c:5415

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46387

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  2010-11-09 
13:19:45 UTC ---
Reduced testcase:

struct S { double x; double y; short z; };
int a = 0, b = 0, c;
void bar (int, int, int);
void baz (int *, int *, int *);

void
foo (struct S *v)
{
  int x, y, z;
  if (!a && b != 0)
return;
  if (v->z)
baz (&x, &y, &z);
  else
{
  x = v->x;
  y = v->y;
}
  x = x / (5 + 1);
  y = y / (5 + 1);
  if (x < 0)
x = 0;
  if (x > c - 1)
x = c - 1;
  if (b == 0)
bar (x, y, 1);
  return;
}

Looking into it.


[Bug fortran/46313] [OOP] class container naming collisions

2010-11-09 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46313

--- Comment #8 from Tobias Burnus  2010-11-09 
13:51:39 UTC ---
For completeness: The issues reported in comment 0 were all [(a), (b), and (c)]
due to same problem: The internal class symbols only encoded the derived-type
name.

This has been fixed by the commit in comment 5 by including the module name or
the procedure name in the vtable. As comment 6 and 7 show, one can carefully
craft a test case which will break.

To fix: modify get_unique_type_string for those cases - possibly without
breaking the ABI for derived-types declared in the declaration part of a module
(= common case).


[Bug libfortran/46373] fflush called when reading from a string

2010-11-09 Thread e01reynier at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46373

--- Comment #6 from e01reynier at gmail dot com 2010-11-09 13:39:33 UTC ---
It should solve my problem.
Thanks a lot !


[Bug target/46393] New: m68k code size regression

2010-11-09 Thread Anders.Montonen at iki dot fi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46393

   Summary: m68k code size regression
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: anders.monto...@iki.fi


The following code snippet compiles to 112 bytes using GCC 4.4.0 and 154 bytes
using GCC 4.5.1.

Host is OS X 10.6, target is m68k-elf bare-metal toolchain using newlib.
The code was compiled with -m68000 -Os -c.

unpack.c:
#include 

uint8_t ChannelMap[32];

typedef struct
{
uint8_t note;
uint8_t instrument;
uint8_t volume;
uint8_t command;
uint8_t info;
} Channeldata_t;

Channeldata_t RowBuffer[16];

uint8_t UnpackRow(const uint8_t *pRowData)
{
uint8_t count = 0, byte, channel, mappedchannel;
Channeldata_t *pChannelData;

while ((byte = *pRowData++) != 0)
{
++count;
channel = byte & 0x1f;
mappedchannel = ChannelMap[channel];
pChannelData = &RowBuffer[mappedchannel];

if (byte & 0x20)
{
pChannelData->note = *pRowData++;
pChannelData->instrument = *pRowData++;
++count;
}
if (byte & 0x40)
{
pChannelData->volume = *pRowData++;
++count;
}
if (byte & 0x80)
{
pChannelData->command = *pRowData++;
pChannelData->info = *pRowData++;
count += 2;
}
}

return count;
}

GCC 4.4.0-produced code:

 :
   0:4e56   linkw %fp,#0
   4:48e7 3820  moveml %d2-%d4/%a2,%...@-
   8:206e 0008  moveal %fp@(8),%a0
   c:4200   clrb %d0
   e:45f9   lea 0 ,%a2
  14:604e   bras 64 
  16:5288   addql #1,%a0
  18:5200   addqb #1,%d0
  1a:7400   moveq #0,%d2
  1c:1401   moveb %d1,%d2
  1e:761f   moveq #31,%d3
  20:c682   andl %d2,%d3
  22:1632 3800  moveb %a2@(,%d3:l),%d3
  26:0283  00ff andil #255,%d3
  2c:2803   movel %d3,%d4
  2e:d883   addl %d3,%d4
  30:d884   addl %d4,%d4
  32:2244   moveal %d4,%a1
  34:d3c3   addal %d3,%a1
  36:d3fc   addal #0,%a1
  3c:0802 0005  btst #5,%d2
  40:6708   beqs 4a 
  42:1298   moveb %...@+,%a1@
  44:1358 0001  moveb %...@+,%a1@(1)
  48:5200   addqb #1,%d0
  4a:0802 0006  btst #6,%d2
  4e:6706   beqs 56 
  50:1358 0002  moveb %...@+,%a1@(2)
  54:5200   addqb #1,%d0
  56:4a01   tstb %d1
  58:6c0a   bges 64 
  5a:1358 0003  moveb %...@+,%a1@(3)
  5e:1358 0004  moveb %...@+,%a1@(4)
  62:5400   addqb #2,%d0
  64:1210   moveb %a0@,%d1
  66:66ae   bnes 16 
  68:4cdf 041c  moveml %...@+,%d2-%d4/%a2
  6c:4e5e   unlk %fp
  6e:4e75   rts

GCC 4.5.1-produced code:

 :
   0:4e56   linkw %fp,#0
   4:48e7 383c  moveml %d2-%d4/%a2-%a5,%...@-
   8:206e 0008  moveal %fp@(8),%a0
   c:4200   clrb %d0
   e:49f9   lea 0 ,%a4
  14:47f9   lea 0 ,%a3
  1a:45f9   lea 0 ,%a2
  20:606c   bras 8e 
  22:5288   addql #1,%a0
  24:5200   addqb #1,%d0
  26:721f   moveq #31,%d1
  28:c282   andl %d2,%d1
  2a:1234 1800  moveb %a4@(,%d1:l),%d1
  2e:0281  00ff andil #255,%d1
  34:7600   moveq #0,%d3
  36:1602   moveb %d2,%d3
  38:0803 0005  btst #5,%d3
  3c:6714   beqs 52 
  3e:2801   movel %d1,%d4
  40:d881   addl %d1,%d4
  42:d884   addl %d4,%d4
  44:2244   moveal %d4,%a1
  46:d3c1   addal %d1,%a1
  48:1398 b800  moveb %...@+,%a1@(,%a3:l)
  4c:1398 a800  moveb %...@+,%a1@(,%a2:l)
  50:5200   addqb #1,%d0
  52:0803 0006  btst #6,%d3
  56:6714   beqs 6c 
  58:2601   movel %d1,%d3
  5a:d681   addl %d1,%d3
  5c:d683   addl %d3,%d3
  5e:2243   moveal %d3,%a1
  60:d3c1   addal %d1,%a1
  62:d3fc   addal #0,%a1
  68:1298   moveb %...@+,%a1@
  6a:5200   addqb #1,%d0
  6c:4a02   tstb %d2
  6e:6c1e   bges 8e 
  70:2401   movel %d1,%d2
  72:d481

[Bug tree-optimization/46349] [4.6 regression] incorrect scalarization

2010-11-09 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46349

Martin Jambor  changed:

   What|Removed |Added

 CC||jamborm at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |jamborm at gcc dot gnu.org
   |gnu.org |

--- Comment #3 from Martin Jambor  2010-11-09 
14:33:25 UTC ---
Mine.


[Bug rtl-optimization/46387] [4.6 Regression] ICE in add_stores, at var-tracking.c:5415

2010-11-09 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46387

--- Comment #4 from Jakub Jelinek  2010-11-09 
15:20:47 UTC ---
The interesting insns here are:

(insn:TI 70 272 60 5 (set (reg:BI 262 p6 [394])
(ge:BI (reg:SI 16 r16 [orig:347 prephitmp.13 ] [347])
(const_int 0 [0]))) pr46387.c:21 318 {*cmpsi_adjusted}
 (nil))

(insn 60 70 271 5 (set (mem/c/i:SI (reg/f:DI 32 r33 [409]) [2 x+0 S4 A64])
(reg:SI 16 r16 [380])) pr46387.c:19 4 {movsi_internal}
 (nil))
...
(insn:TI 75 270 251 5 (cond_exec (eq (reg:BI 262 p6 [394])
(const_int 0 [0]))
(set (mem/c/i:SI (reg/f:DI 32 r33 [409]) [2 x+0 S4 A64])
(const_int 0 [0]))) pr46387.c:22 813 {*p movsi_internal}
 (nil))
...
(insn 57 65 253 5 (set (reg:SI 14 r14 [orig:347 prephitmp.13 ] [347])
(reg:SI 16 r16 [380])) pr46387.c:19 4 {movsi_internal}
 (expr_list:REG_DEAD (reg:SI 16 r16 [380])
(nil)))
...
(insn 4 140 254 5 (cond_exec (eq (reg:BI 262 p6 [394])
(const_int 0 [0]))
(set (reg:SI 14 r14 [orig:347 prephitmp.13 ] [347])
(const_int 0 [0]))) pr46387.c:22 813 {*p movsi_internal}
 (nil))

We use the same VALUE for r14 in insn 4 as for (if_then_else (eq (p6) (0)) (0)
(r14)).


[Bug rtl-optimization/46395] New: [4.6 regression] FAIL: 22_locale/numpunct/members/pod/2.cc execution test

2010-11-09 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46395

   Summary: [4.6 regression] FAIL:
22_locale/numpunct/members/pod/2.cc execution test
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: sch...@linux-m68k.org
CC: r...@gcc.gnu.org
Target: m68k-*-*


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

The patch for rtl-opt/33721 causes wrong code to be generated during postreload
for 22_locale/numpunct/members/pod/2.cc.  The relevant difference is this:

@@ -4010,15 +4015,14 @@ _Z6test01v:
 jsr _ZNSt6locale7classicEv
 .LEHE49:
 move.l %a0,-(%sp)
-move.l %fp,%d4
-subq.l #6,%d4
-move.l %d4,-(%sp)
+moveq #-46,%d4
+pea (%fp,%d4.l)
 .cfi_escape 0x2e,0x8
 jsr _ZNSt6localeC1ERKS_
-addq.l #4,%sp
-move.l %d4,(%sp)
+addq.l #8,%sp
+pea (%fp,%d4.l)
 pea 44(%a2)
-lea (-10,%fp),%a5
+lea (-42,%fp),%a5
 move.l %a5,%a1
 lea
_ZNSt9basic_iosIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_EE5imbueERKSt6locale,%a4
 lea _ZNSt6localeD1Ev,%a3

This changes the value of %d4, but there are other uses of %d4 that still
assume that it is the address of the variable loc.

lea _ZNSt6localeD1Ev,%a3
...
.L628:
move.l %d4,-(%sp)
.cfi_escape 0x2e,0x4
jsr (%a3)
addq.l #4,%sp
...
.LEHB55:
.cfi_escape 0x2e,0x4
jsr _Znwj
clr.l 4(%a0)
move.l
#_ZTVSt7num_putIN9__gnu_cxx9characterItj11__mbstate_tEESt19ostreambuf_iteratorIS3_St11char_traitsIS3_EEE+8,(%a0)
move.l %a0,(%sp)
move.l %d4,-(%sp)
moveq #-38,%d6
add.l %fp,%d6
move.l %d6,-(%sp)
.cfi_escape 0x2e,0xc
jsr
_ZNSt6localeC1ISt7num_putIN9__gnu_cxx9characterItj11__mbstate_tEESt19ostreambuf_iteratorIS5_St11char_traitsIS5_ERKS_PT_


[Bug rtl-optimization/46395] [4.6 regression] FAIL: 22_locale/numpunct/members/pod/2.cc execution test

2010-11-09 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46395

Andreas Schwab  changed:

   What|Removed |Added

Version|unknown |4.6.0
   Target Milestone|--- |4.6.0


[Bug bootstrap/46397] lto-plugin.c does not build on Solaris 10/SPARC

2010-11-09 Thread gseanmcg at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46397

Sean McGovern  changed:

   What|Removed |Added

   See Also||http://gcc.gnu.org/bugzilla
   ||/show_bug.cgi?id=46362

--- Comment #3 from Sean McGovern  2010-11-09 
15:24:30 UTC ---
PR bootstrap/46362 is a similar issue.


[Bug c++/46394] [C++0X] [4.6 Regression] no matching function with default template parameter

2010-11-09 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46394

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.11.09 14:58:23
 CC||jason at gcc dot gnu.org
Summary|[C++0X] no matching |[C++0X] [4.6 Regression] no
   |function with default   |matching function with
   |template parameter  |default template parameter
 Ever Confirmed|0   |1

--- Comment #1 from Paolo Carlini  2010-11-09 
14:58:23 UTC ---
Let's add Jason. I'm pretty sure this isn't a library issue because the same
happens with just:

template
  struct tuple;

and outside std::tuple the rest is pretty trivial as far as the library is
concerned.


[Bug bootstrap/46392] [4.6 Regression] Revision 166473 failed to bootstrap

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

H.J. Lu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #3 from H.J. Lu  2010-11-09 15:32:09 
UTC ---
Fixed.


[Bug tree-optimization/46377] [4.6 regression] incorrect scalarization (3)

2010-11-09 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46377

Martin Jambor  changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot   |jamborm at gcc dot gnu.org
   |gnu.org |

--- Comment #3 from Martin Jambor  2010-11-09 
14:33:16 UTC ---
Also mine.


[Bug bootstrap/46397] New: lto-plugin.c does not build on Solaris 10/SPARC

2010-11-09 Thread gseanmcg at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46397

   Summary: lto-plugin.c does not build on Solaris 10/SPARC
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: gsean...@gmail.com


lto-plugin.c does not build after 166233:

make[3]: Entering directory `/var/opt/BUILD/gcc-trunk.2010-11-08/lto-plugin'
/usr/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
-I/var/opt/SOURCES/gcc-trunk/lto-plugin
 -I/var/opt/SOURCES/gcc-trunk/lto-plugin/../include -DHAVE_CONFIG_H  -Wall
-Werror -g -fkeep-inline-functions -c -o lto-plugin.lo
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I.
-I/var/opt/SOURCES/gcc-trunk/lto-plugin
-I/var/opt/SOURCES/gcc-trunk/lto-plugin/../include -DHAVE_CONFIG_H -Wall
-Werror -g -fkeep-inline-functions -c
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c  -fPIC -DPIC -o
.libs/lto-plugin.o
In file included from /var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:48:
/usr/include/stdbool.h:42:2: #error "Use of  is valid only in a
c99 compilation environment."
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:141: error: syntax error
before "debug"
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:141: warning: type
defaults to `int' in declaration of `debug'
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:141: warning: data
definition has no type or storage class
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:142: error: syntax error
before "nop"
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:142: warning: type
defaults to `int' in declaration of `nop'
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:142: warning: data
definition has no type or storage class
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:151: error: syntax error
before "gate"
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c: In function `check':
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:153: error: `gate'
undeclared (first use in this function)
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:153: error: (Each
undeclared identifier is reported only once
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:153: error: for each
function it appears in.)
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:157: error: `level'
undeclared (first use in this function)
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:157: error: `text'
undeclared (first use in this function)
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c: In function
`parse_table_entry':
/var/opt/SOURCES/gcc-trunk/lto-plugin/lto-plugin.c:208: error: `false'
undeclared (first use in this function)
make[3]: *** [lto-plugin.lo] Error 1
make[3]: Leaving directory `/var/opt/BUILD/gcc-trunk.2010-11-08/lto-plugin'
make[2]: *** [all-stage1-lto-plugin] Error 2
make[2]: Leaving directory `/var/opt/BUILD/gcc-trunk.2010-11-08'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/var/opt/BUILD/gcc-trunk.2010-11-08'
make: *** [bootstrap] Error 2

It appears to require a C99 compiler which /usr/sfw/bin/gcc (3.4.3) bundled
with Solaris 10 does not do by default.


[Bug driver/46396] gcc not detect caches for VIA CPUs

2010-11-09 Thread mahatma at eu dot by
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46396

--- Comment #1 from Dzianis Kahanovich  2010-11-09 
15:18:04 UTC ---
PS If you think it possible, you may use more complex (+1 hunk) VIA detection
patch, attached to Bug #45359.


[Bug c++/46335] [C++0X] [4.6 Regression] ICE: in gimple_add_tmp_var, at gimplify.c:701

2010-11-09 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46335

Jason Merrill  changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #5 from Jason Merrill  2010-11-09 
14:40:27 UTC ---
*** Bug 46368 has been marked as a duplicate of this bug. ***


[Bug java/46386] negative shift count in build_constants_constructor for 16 bit pointer targets

2010-11-09 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46386

Jorn Wolfgang Rennecke  changed:

   What|Removed |Added

   Keywords||patch
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2010-11/msg00872.htm
   ||l
 CC||aph at redhat dot com

--- Comment #1 from Jorn Wolfgang Rennecke  
2010-11-09 14:34:12 UTC ---
The amended patch bootstrapped & regtested successfully
(including check-target-libjava) on i686-pc-linux-gnu.


[Bug libfortran/46373] fflush called when reading from a string

2010-11-09 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46373

--- Comment #7 from Jerry DeLisle  2010-11-09 
13:52:03 UTC ---
Author: jvdelisle
Date: Tue Nov  9 13:51:57 2010
New Revision: 166490

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166490
Log:
2010-11-09  Jerry DeLisle  

PR libgfortran/46373
* io/transfer.c (data_transfer_init): Do not call flush_if_preconnected
if this is an internal unit.

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


[Bug tree-optimization/46177] [4.5/4.6 Regression] ICE: in prop_phis, at tree-loop-distribution.c:327 with -fno-tree-copy-prop -ftree-loop-distribution

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

--- Comment #8 from Richard Guenther  2010-11-09 
15:01:51 UTC ---
Author: rguenth
Date: Tue Nov  9 15:01:41 2010
New Revision: 166492

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

PR tree-optimization/46177
* tree-loop-distribution.c (prop_phis): Remove.
(generate_builtin): Re-use the old loop exit edge to avoid
needing to update PHI nodes.

* gcc.dg/pr46177-2.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/pr46177-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-loop-distribution.c


[Bug tree-optimization/46312] gcc.dg/vec-scal-opt2.c fails for ARM targets.

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

Richard Guenther  changed:

   What|Removed |Added

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

--- Comment #7 from Richard Guenther  2010-11-09 
13:46:40 UTC ---
Fixed.


[Bug tree-optimization/46177] [4.5 Regression] ICE: in prop_phis, at tree-loop-distribution.c:327 with -fno-tree-copy-prop -ftree-loop-distribution

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

Richard Guenther  changed:

   What|Removed |Added

  Known to work||4.6.0
Summary|[4.5/4.6 Regression] ICE:   |[4.5 Regression] ICE: in
   |in prop_phis, at|prop_phis, at
   |tree-loop-distribution.c:32 |tree-loop-distribution.c:32
   |7 with -fno-tree-copy-prop  |7 with -fno-tree-copy-prop
   |-ftree-loop-distribution|-ftree-loop-distribution
  Known to fail|4.6.0   |

--- Comment #9 from Richard Guenther  2010-11-09 
15:02:31 UTC ---
Fixed on trunk again.


[Bug c++/46335] [C++0X] [4.6 Regression] ICE: in gimple_add_tmp_var, at gimplify.c:701

2010-11-09 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46335

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #4 from Jason Merrill  2010-11-09 
13:47:12 UTC ---
Fixed.


[Bug c++/46368] [4.6 Regression] ICE in make_decl_rtl, at varasm.c:1033

2010-11-09 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46368

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||DUPLICATE

--- Comment #5 from Jason Merrill  2010-11-09 
14:40:26 UTC ---
Fixed already, looks like a dup.

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


[Bug c++/46382] constexpr vs. static_assert in constexpr ctors

2010-11-09 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46382

--- Comment #4 from Benjamin Kosnik  2010-11-09 
15:47:23 UTC ---

Nice! Thanks.


[Bug c/36489] [4.3 Regression] Warning "initialized field overwritten" wrongly triggers with multidimensional arrays

2010-11-09 Thread ian at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36489

Jan Kunigk  changed:

   What|Removed |Added

 CC||ian at linux dot
   ||vnet.ibm.com

--- Comment #7 from Jan Kunigk  2010-11-09 
15:51:44 UTC ---
Stumbled into this again w 4.3.4

echo "int t[10][10] = { [1][2] = 1, [1][3] = 2 };" > bla.c

powerpc64-unknown-linux-gnu-gcc -Wextra -c bla.c   
bla.c:1: warning: initialized field overwritten
bla.c:1: warning: (near initialization for 't[1]')

powerpc64-unknown-linux-gnu-gcc --version
powerpc64-unknown-linux-gnu-gcc (Gentoo 4.3.4 p1.1, pie-10.1.5) 4.3.4
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Cheers


[Bug rtl-optimization/46237] SPECint2006 403.gcc fails with -mzarch -m31

2010-11-09 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46237

--- Comment #1 from Andreas Krebbel  2010-11-09 
15:52:30 UTC ---
Author: krebbel
Date: Tue Nov  9 15:52:24 2010
New Revision: 166495

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166495
Log:
2010-11-09  Andreas Krebbel  

PR rtl-optimization/46237
* ira-conflicts.c (ira_build_conflicts): Record conflicts for call
saved hard regs if they might get partially clobbered.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-conflicts.c


[Bug rtl-optimization/46237] SPECint2006 403.gcc fails with -mzarch -m31

2010-11-09 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46237

--- Comment #2 from Andreas Krebbel  2010-11-09 
15:53:22 UTC ---
Author: krebbel
Date: Tue Nov  9 15:53:18 2010
New Revision: 166496

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166496
Log:
2010-11-09  Andreas Krebbel  

PR rtl-optimization/46237
* ira-conflicts.c (ira_build_conflicts): Record conflicts for call
saved hard regs if they might get partially clobbered.


Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/ira-conflicts.c


[Bug target/46384] ia64-linux: internal compiler error: in get_attr_first_insn, at config/ia64/itanium2.md:1909

2010-11-09 Thread dannf at dannf dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46384

--- Comment #2 from dann frazier  2010-11-09 15:55:09 
UTC ---
Created attachment 22347
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22347
preprocessed source


[Bug rtl-optimization/46237] SPECint2006 403.gcc fails with -mzarch -m31

2010-11-09 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46237

Andreas Krebbel  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #3 from Andreas Krebbel  2010-11-09 
15:56:48 UTC ---
Patches committed to mainline and 4.5.


[Bug target/46384] ia64-linux: internal compiler error: in get_attr_first_insn, at config/ia64/itanium2.md:1909

2010-11-09 Thread dannf at dannf dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46384

--- Comment #3 from dann frazier  2010-11-09 15:57:27 
UTC ---
Created attachment 22348
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22348
intermediate


[Bug rtl-optimization/46237] SPECint2006 403.gcc fails with -mzarch -m31

2010-11-09 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46237

Andreas Krebbel  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #4 from Andreas Krebbel  2010-11-09 
15:57:34 UTC ---
Closing bug.


[Bug libgomp/43706] scheduling two threads on one core leads to starvation

2010-11-09 Thread solar-gcc at openwall dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43706

--- Comment #23 from Alexander Peslyak  
2010-11-09 16:32:53 UTC ---
(In reply to comment #20)
> Maybe we could agree on a compromise for a start.  Alexander, what are the
> corresponding results for GOMP_SPINCOUNT=10?

I reproduced slowdown of 5% to 35% (on different pieces of code) on an
otherwise-idle dual-E5520 system (16 logical CPUs) when going from gcc 4.5.0's
defaults to GOMP_SPINCOUNT=1.  On all but one test, the original full speed
is restored with GOMP_SPINCOUNT=10.  On the remaining test, the threshold
appears to be between 10 (still 35% slower than full speed) and 20
(original full speed).  So if we're not going to have a code fix soon enough
maybe the new default should be slightly higher than 20.  It won't help as
much as 1 would for cases where this is needed, but it would be of some
help.


[Bug fortran/46313] [OOP] class container naming collisions

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

--- Comment #9 from janus at gcc dot gnu.org 2010-11-09 16:32:16 UTC ---
(In reply to comment #7)
> Here is an example code which still fails (analogous to comment #0):

One way to fix this is to use the top-level namespace (i.e. program or module)
for the naming of the internal symbols, instead of the direct parent namespace
of the derived type (patch below).



Index: gcc/fortran/class.c
===
--- gcc/fortran/class.c (revision 166480)
+++ gcc/fortran/class.c (working copy)
@@ -117,7 +117,14 @@ get_unique_type_string (char *string, gfc_symbol *
   if (derived->module)
 sprintf (string, "%s_%s", derived->module, derived->name);
   else
-sprintf (string, "%s_%s", derived->ns->proc_name->name, derived->name);
+{
+  gfc_namespace *ns;
+  /* Find the top-level namespace (MODULE or PROGRAM).  */
+  for (ns = derived->ns; ns; ns = ns->parent)
+   if (!ns->parent)
+ break;
+  sprintf (string, "%s_%s", ns->proc_name->name, derived->name);
+}
 }


[Bug tree-optimization/46398] early FRE miscompiles simple testcase

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

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2010.11.09 16:35:03
 Ever Confirmed|0   |1

--- Comment #1 from H.J. Lu  2010-11-09 16:35:03 
UTC ---
What GCC options? On which platform?


[Bug tree-optimization/46398] New: early FRE miscompiles simple testcase

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

   Summary: early FRE miscompiles simple testcase
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


Inserting an early FRE pass after pass_sra_early causes us to miscompile the
following testcase (reduced from cp/parser.c).

int __attribute__((noinline))
test (int token)
{
  int done = 0;
  int virtual_p = 0;
  while (!done)
{
  if (token == 42)
virtual_p = 1;
  else
done = 1;
}
  return virtual_p;
}
extern void abort (void);
int
main()
{
  if (test (0) != 0)
abort ();
  return 0;
}


[Bug tree-optimization/46398] early FRE miscompiles simple testcase

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

Richard Guenther  changed:

   What|Removed |Added

 Status|WAITING |ASSIGNED
   Last reconfirmed|2010-11-09 16:35:03 |
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Richard Guenther  2010-11-09 
16:48:46 UTC ---
I have a patch.


[Bug tree-optimization/46398] early FRE miscompiles simple testcase

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

--- Comment #3 from Richard Guenther  2010-11-09 
16:49:48 UTC ---
-O1 on any platform with the following patch applied (or not-yet-found
carefully
crafted disabling of passes before the existing FRE pass):

Index: gcc/passes.c
===
--- gcc/passes.c(revision 166472)
+++ gcc/passes.c(working copy)
@@ -776,6 +776,7 @@ init_optimization_passes (void)
 locals into SSA form if possible.  */
  NEXT_PASS (pass_build_ealias);
  NEXT_PASS (pass_sra_early);
+  NEXT_PASS (pass_fre);
  NEXT_PASS (pass_copy_prop);
  NEXT_PASS (pass_merge_phi);
  NEXT_PASS (pass_cd_dce);


[Bug tree-optimization/46355] [4.5/4.6 Regression] ICE: SIGSEGV in create_preheader (cfgloopmanip.c:1336) with -O -fstrict-overflow -ftree-loop-distribution

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

--- Comment #3 from Richard Guenther  2010-11-09 
16:54:11 UTC ---
Author: rguenth
Date: Tue Nov  9 16:54:05 2010
New Revision: 166498

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

PR tree-optimization/46355
* tree-loop-distribution.c (tree_loop_distribution): Do not
distribute loops without a single exit.

* gcc.dg/pr46355.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/pr46355.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-loop-distribution.c


[Bug tree-optimization/46355] [4.5 Regression] ICE: SIGSEGV in create_preheader (cfgloopmanip.c:1336) with -O -fstrict-overflow -ftree-loop-distribution

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

Richard Guenther  changed:

   What|Removed |Added

  Known to work||4.6.0
Summary|[4.5/4.6 Regression] ICE:   |[4.5 Regression] ICE:
   |SIGSEGV in create_preheader |SIGSEGV in create_preheader
   |(cfgloopmanip.c:1336) with  |(cfgloopmanip.c:1336) with
   |-O -fstrict-overflow|-O -fstrict-overflow
   |-ftree-loop-distribution|-ftree-loop-distribution
  Known to fail|4.6.0   |

--- Comment #4 from Richard Guenther  2010-11-09 
16:54:52 UTC ---
Fixed on the trunk sofar.


[Bug other/46332] __cxa_demangle yields excess parentheses for function types

2010-11-09 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46332

--- Comment #2 from Paolo Carlini  2010-11-09 
17:02:21 UTC ---
Actually, if this happens also in error messages cannot be a demangler issue
only. I'm pretty sure to have seen this behavior mentioned already... Ian, any
hint?


[Bug fortran/46313] [OOP] class container naming collisions

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

--- Comment #10 from janus at gcc dot gnu.org 2010-11-09 17:07:24 UTC ---
(In reply to comment #9)
> One way to fix this is to use the top-level namespace (i.e. program or module)
> for the naming of the internal symbols, instead of the direct parent namespace
> of the derived type (patch below).

Problem: This scheme produces wrong results for the following test case (which
is similar to comment #0, case c), since the vtabs for both types coincide:


implicit none

call test1()
call test2()

contains

  subroutine test1()
type :: mytype
  integer :: a = 2
end type mytype
class(mytype), allocatable :: a1, a2
print *,"test1"
allocate (a1, source=mytype())
allocate ( a2, source=a1)
print *, a2%a
deallocate  (a2)
allocate ( a2, mold=a1)
print *, a2%a
  end subroutine test1

  subroutine test2()
type :: mytype
  integer :: b = 8
end type mytype
class(mytype), allocatable :: b1, b2
print *,"test2"
allocate (b1, source=mytype())
allocate ( b2, source=b1)
print *, b2%b
deallocate  (b2)
allocate ( b2, mold=b1)
print *, b2%b
  end subroutine test2

end


[Bug middle-end/46399] New: Missing type promotion for library call argument

2010-11-09 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46399

   Summary: Missing type promotion for library call argument
   Product: gcc
   Version: 4.4.3
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: kreb...@gcc.gnu.org


The following testcase produces an unexpected result when compiled with:
gcc -O3 t.c -ot

int
main ()
{
  volatile _Decimal32 b, c;
  volatile unsigned int ui;
  volatile long long sll;

  ui = 1;
  sll = 1LL;
  b = sll;
  c = ui;

  printf("b: %x\n", *(int*)&b);
  printf("c: %x\n", *(int*)&c);
}

./t:
b: 2251
c: 3a95e225

The problem appears to be a missing type promotion when doing the conversion
from unsigned int to _Decimal32 in c = ui:

stmg%r14,%r15,112(%r15)
aghi%r15,-184
lhi %r1,1
st  %r1,180(%r15)
lghi%r1,1
stg %r1,160(%r15)
lg  %r2,160(%r15)   <-- load a 64bit value into r2
brasl   %r14,__dpd_floatdisd
ste %f0,172(%r15)
l   %r2,180(%r15)   <-- load a 32bit value into r2
brasl   %r14,__dpd_floatunssisd without zero extending to 64bit


When I manually kill the upper 32 bits of r2 before doing the second lib call
it works fine:

stmg%r14,%r15,112(%r15)
aghi%r15,-184
.cfi_offset 15, -40
.cfi_offset 14, -48
.cfi_def_cfa_offset 344
lhi %r1,1
st  %r1,180(%r15)
lghi%r1,1
stg %r1,160(%r15)
lg  %r2,160(%r15)
brasl   %r14,__dpd_floatdisd
ste %f0,172(%r15)
lghi%r2,0<-- load a 64bit 0 into r2
l   %r2,180(%r15)
brasl   %r14,__dpd_floatunssisd
...

The result then is:
b: 2251
c: 2251


The testcase above is extracted from gcc.dg/dfp/pr41049.c which currently seems
to fail due to that problem on s390*.


[Bug middle-end/46399] Missing type promotion for library call argument

2010-11-09 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46399

Andreas Krebbel  changed:

   What|Removed |Added

   Keywords||wrong-code
   Priority|P3  |P2
  Known to fail||4.4.3, 4.5.2, 4.6.0


[Bug target/46384] ia64-linux: internal compiler error: in get_attr_first_insn, at config/ia64/itanium2.md:1909

2010-11-09 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46384

Andrew Pinski  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||DUPLICATE

--- Comment #4 from Andrew Pinski  2010-11-09 
17:11:00 UTC ---
Exact Dup of bug 43603.

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


  1   2   >