[Bug testsuite/44797] INQUIRE EXIST variable must be default LOGICAL

2010-07-04 Thread kargl at gcc dot gnu dot org


--- Comment #2 from kargl at gcc dot gnu dot org  2010-07-04 06:07 ---
A patch has been posted here

http://gcc.gnu.org/ml/gcc-patches/2010-07/msg00291.html

laptop:kargl[208] gfc4x -o z -std=f2003 inquire_5.f90
inquire_5.f90:22.59:

  inquire (file = 'inquire_5.txt', number = unit8, exist = exist8)
   1
Error: default LOGICAL required in EXIST tag at (1)
inquire_5.f90:26.59:

  inquire (file = 'inquire_5.txt', number = unit2, exist = exist2)
   1
Error: default LOGICAL required in EXIST tag at (1)
inquire_5.f90:28.59:

  inquire (file = 'inquire_5.txt', number = unit1, exist = exist1)
   1
Error: default LOGICAL required in EXIST tag at (1)


-- 


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



[Bug testsuite/44797] INQUIRE EXIST variable must be default LOGICAL

2010-07-04 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2010-07-04 07:25 ---
(In reply to comment #0)
 INQUIRE_5.f90 lines 22, 26, and 28 use an EXIST variable which is not default
 LOGICAL. I believe this is not standard.

For completeness: Since F2008 it is allowed:

F95:   R924 inquire-spec ... or EXIST = scalar-default-logical-variable
F2003: R930 inquire-spec ... or EXIST = scalar-default-logical-variable
F2008: R931 inquire-spec ... or EXIST = scalar-logical-variable


-- 


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



[Bug c/44774] -Werror=edantic

2010-07-04 Thread manu at gcc dot gnu dot org


--- Comment #12 from manu at gcc dot gnu dot org  2010-07-04 08:27 ---
(In reply to comment #11)
 
 I do not object to -Wpedantic.  

Ah, ok! Then, I will start with this and worry about the other warnings when
their time comes. Thanks!


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2010-07-01 21:42:35 |2010-07-04 08:27:00
   date||


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



[Bug c++/44800] DECL_SAVED_TREE is always null on the first FUNCTION_DECL and is not null on the others

2010-07-04 Thread lopezibanez at gmail dot com


--- Comment #9 from lopezibanez at gmail dot com  2010-07-04 08:33 ---
Subject: Re:  DECL_SAVED_TREE is always null on the first 
FUNCTION_DECL and is not null on the others

On 4 July 2010 02:39, asmprog32 at hotmail dot com
gcc-bugzi...@gcc.gnu.org wrote:
 A file has 3 functions (with body), the AST generated report a body
 (DECL_SAVED_TREE != null ) on function 1, 2 not on function 3 (last one)

 If i add another function , the AST generated report a body on function 1 2 3
 not on function 4

 . and so on

 What i expect is that all functions must have the body (DECL_SAVED_TREE !=
 null). The code attached are examples to reproduce what i have explained.

I see. Reading the documentation on DECL_SAVED_TREE, that seems a fair
expectation. I don't know what is going on here. Perhaps your plugin
hooks too early or there is more going on that the docs explain.
Please, when you get the answer, post it here (or better, send a patch
updating the documentation!).


-- 


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



[Bug c++/44800] DECL_SAVED_TREE is always null on the first FUNCTION_DECL and is not null on the others

2010-07-04 Thread manu at gcc dot gnu dot org


--- Comment #10 from manu at gcc dot gnu dot org  2010-07-04 08:34 ---
(In reply to comment #8)
 
 After the bug has been closed. i has posted the question to gcc-help, thanks
 
 
 ( i has reported as bug because , i has thinked it was a bug )

I personally think that if this is not clear (but it is the correct behaviour)
it is a documentation bug. Whatever you find, please post it here.


-- 


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



[Bug c/44801] Finding max element in an unsigned int array fails with -O3

2010-07-04 Thread paavo at osa dot pri dot ee


--- Comment #3 from paavo at osa dot pri dot ee  2010-07-04 08:59 ---
Thanks, that's what I suspected, but somehow was not able to find it in the bug
database search.


-- 


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



[Bug fortran/44693] Missed error for invalid SUM

2010-07-04 Thread tkoenig at gcc dot gnu dot org


--- Comment #2 from tkoenig at gcc dot gnu dot org  2010-07-04 09:00 ---
Created an attachment (id=21080)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21080action=view)
proposed patch (causes unrelated breakage)

This patch causes a segfault in dynamic_dispatch_6.f03, although
the code path is never taken.

This looks a lot like a compiler error exposed by this patch.


-- 


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



[Bug fortran/44693] Missed error for invalid SUM

2010-07-04 Thread tkoenig at gcc dot gnu dot org


--- Comment #3 from tkoenig at gcc dot gnu dot org  2010-07-04 09:20 ---
It seems the dynamic_dispatch_6.f03 is independent of this patch.

I'll submit this patch anyway.


-- 


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



[Bug c++/44800] DECL_SAVED_TREE is always null on the first FUNCTION_DECL and is not null on the others

2010-07-04 Thread asmprog32 at hotmail dot com


--- Comment #11 from asmprog32 at hotmail dot com  2010-07-04 09:39 ---
The problem is that i followed also external documentation, where
PLUGIN_OVERRIDE_GATE is used to analyse AST. GCC documentation say to use
PLUGIN_PRE_GENERICIZE and infact it work, so it is a my wrong.


-- 


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



[Bug middle-end/44785] [4.6 Regression] Invalid memory access in gfortran.dg/extends_3.f03

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-07-04 10:14 ---
Subtle.  pointer_map_insert invalidates slot pointers.  I have a patch.


-- 


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



[Bug fortran/44773] [4.6 Regression] Unnecessary temporaries increase the runtime for channel.f90 by ~70%

2010-07-04 Thread dominiq at lps dot ens dot fr


--- Comment #8 from dominiq at lps dot ens dot fr  2010-07-04 10:48 ---
 Note: The function ddx is not declared as PURE -
 and also cannot simply marked as pure as it host-associates the variables I
 and J - thus a simple check for no host association would not work.

There is no temporaries if ddx and ddy are declared pure (after adding
intent(in) for array, and replacing I and J by say nI and nJ). So at least this
works, require to change the code.


-- 


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



[Bug tree-optimization/44656] VN should value-replace operands during alias-oracle walk

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-07-04 10:53 ---
Fixed for 4.6.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug tree-optimization/44656] VN should value-replace operands during alias-oracle walk

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-07-04 10:53 ---
Subject: Bug 44656

Author: rguenth
Date: Sun Jul  4 10:52:43 2010
New Revision: 161798

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161798
Log:
2010-07-04  Richard Guenther  rguent...@suse.de

PR tree-optimization/44656
* tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
again after value-replacing in the defintions lhs.

* gcc.dg/tree-ssa/loadpre6.c: Remove XFAIL.

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


-- 


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



[Bug fortran/44709] BLOCK and GOTO/EXIT/CYCLE

2010-07-04 Thread domob at gcc dot gnu dot org


--- Comment #2 from domob at gcc dot gnu dot org  2010-07-04 11:48 ---
Mine.


-- 

domob at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |domob at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-04 11:48:21
   date||


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



[Bug middle-end/44785] [4.6 Regression] Invalid memory access in gfortran.dg/extends_3.f03

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2010-07-04 12:20 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/44785] [4.6 Regression] Invalid memory access in gfortran.dg/extends_3.f03

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2010-07-04 12:20 ---
Subject: Bug 44785

Author: rguenth
Date: Sun Jul  4 12:20:14 2010
New Revision: 161800

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161800
Log:
2010-07-04  Richard Guenther  rguent...@suse.de

PR middle-end/44785
* tree-inline.c (initialize_inlined_parameters): Do not
re-use pointer-map slot over remap_type call.

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


-- 


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



[Bug c++/44808] New: ICE: tree check: expected var_decl, have result_decl in gimplify_modify_expr

2010-07-04 Thread marc dot glisse at normalesup dot org
The following code produces the error:

$ c++-c triangles_test.cpp  -O9
triangles_test.cpp: In member function ‘virtual Halfedge_handle
Ovl_visitor::insert_at_vertices()’:
triangles_test.cpp:12:24: internal compiler error: tree check: expected
var_decl, have result_decl in gimplify_modify_expr, at gimplify.c:4571
Please submit a full bug report,

I checked with a snapshot from the 3rd of July, so this shouldn't be the same
as bug 44706 (the closest thing I could find in bugzilla).

struct Halfedge_handle
{
void *a,*b;
int c;
};

struct Ovl_visitor
{
virtual Halfedge_handle insert_at_vertices ()
{
Halfedge_handle res;
Halfedge_handle he = res;
return res;
}
};

Ovl_visitor   visitor ;


-- 
   Summary: ICE: tree check: expected var_decl, have result_decl in
gimplify_modify_expr
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: marc dot glisse at normalesup dot org
  GCC host triplet: x86_64-unknown-linux-gnu


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



[Bug middle-end/44809] New: Mozilla build fails in gimplification.

2010-07-04 Thread hubicka at gcc dot gnu dot org
/abuild/jh/trunk-install/bin/g++ -O2 qq.ii
In file included from ../../../netwerk/cache/nsDiskCacheMap.cpp:44:0:
../../../netwerk/cache/nsDiskCacheMap.h: In member function ‘void
nsDiskCacheHeader::Swap()’:
../../../netwerk/cache/nsDiskCacheMap.h:362:28: internal compiler error: in
gimplify_expr, at gimplify.c:7463


-- 
   Summary: Mozilla build fails in gimplification.
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hubicka at gcc dot gnu dot org
  GCC host triplet: x86_64-linux


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



[Bug middle-end/44809] Mozilla build fails in gimplification.

2010-07-04 Thread hubicka at gcc dot gnu dot org


--- Comment #1 from hubicka at gcc dot gnu dot org  2010-07-04 13:21 ---
Created an attachment (id=21081)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21081action=view)
testcase


-- 


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



[Bug rtl-optimization/44479] false dependencies are computed after vectorization

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-07-04 13:27 ---
I can see on current trunk when dumping rtl-expand-alias that some of the
pointers
created by the vectorizer miss alias information, namely those in the
loop pre-header:

bb 7:
  base_off.26_73 = prolog_loop_niters.16_27 * 2;
  vect_p.27_74 = b_9(D) + base_off.26_73;
  vect_p.24_75 = vect_p.27_74;
  base_off.31_79 = prolog_loop_niters.16_27 * 2;
  vect_p.32_80 = a_5(D) + base_off.31_79;
  vect_p.29_81 = vect_p.32_80;

that, together with IVOPTs loosing points-to information for PHI node
replacements may the the issue here.


-- 


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



[Bug c++/44703] [C++0x] List initialization fail if parameter is typedef name for the std::initializer_list

2010-07-04 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-04 13:28:23
   date||


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



[Bug inline-asm/44810] New: [4.6 Regression] FAIL: g++.dg/torture/pr36745.C

2010-07-04 Thread danglin at gcc dot gnu dot org
Executing on host: /test/gnu/gcc/objdir/gcc/testsuite/g++/../../g++
-B/test/gnu/
gcc/objdir/gcc/testsuite/g++/../../
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/tortu
re/pr36745.C  -nostdinc++
-I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v
3/include/hppa64-hp-hpux11.11
-I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc
++-v3/include -I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++
-I/test/gnu/gcc/gcc/lib
stdc++-v3/include/backward -I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util
-fmes
sage-length=0  -O0  -O2 -fPIC  -S  -o pr36745.s(timeout = 300)
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/torture/pr36745.C: In member function
'vo
id QRegExpEngine::addCatTransitions()':
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/torture/pr36745.C:20:35: error: output
nu
mber 0 not directly addressable
compiler exited with status 1
output is:
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/torture/pr36745.C: In member function
'vo
id QRegExpEngine::addCatTransitions()':
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/torture/pr36745.C:20:35: error: output
nu
mber 0 not directly addressable

FAIL: g++.dg/torture/pr36745.C  -O0  (test for excess errors)
Excess errors:
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/torture/pr36745.C:20:35: error: output
nu
mber 0 not directly addressable


-- 
   Summary: [4.6 Regression] FAIL: g++.dg/torture/pr36745.C
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa64-hp-hpux11.11
  GCC host triplet: hppa64-hp-hpux11.11
GCC target triplet: hppa64-hp-hpux11.11


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



[Bug middle-end/44738] c-c++-common/uninit-17.c failed

2010-07-04 Thread danglin at gcc dot gnu dot org


--- Comment #2 from danglin at gcc dot gnu dot org  2010-07-04 14:34 ---
Also seen on hppa64-hp-hpux11.11.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||danglin at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-04 14:34:30
   date||


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



[Bug c++/44808] [4.6 Regression] ICE: tree check: expected var_decl, have result_decl in gimplify_modify_expr

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-07-04 14:38 ---
Confirmed.

The value-expr is odd:

;; Function virtual Halfedge_handle Ovl_visitor::insert_at_vertices() (null)
;; enabled by -tree-original


{
  struct Halfedge_handle res [value-expr: retval];
  struct Halfedge_handle he;

  (void) 0;
struct Halfedge_handle he;
  cleanup_point  Unknown tree: expr_stmt
  (void) (he = TARGET_EXPR D.1722, retval) 
;
  cleanup_point return retval;
}

so are assignments from retval anyway.  Because retval has DECL_IGNORED_P
set we try to

  /* Try to alleviate the effects of the gimplification creating artificial
 temporaries (see for example is_gimple_reg_rhs) on the debug info.  */
  if (!gimplify_ctxp-into_ssa
   DECL_P (*from_p)
   DECL_IGNORED_P (*from_p)
   DECL_P (*to_p)
   !DECL_IGNORED_P (*to_p))
{
  if (!DECL_NAME (*from_p)  DECL_NAME (*to_p))
DECL_NAME (*from_p)
  = create_tmp_var_name (IDENTIFIER_POINTER (DECL_NAME (*to_p)));
  DECL_DEBUG_EXPR_IS_FROM (*from_p) = 1;
  SET_DECL_DEBUG_EXPR (*from_p, *to_p);

which requires a VAR_DECL as *from_p.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-04 14:38:16
   date||
Summary|ICE: tree check: expected   |[4.6 Regression] ICE: tree
   |var_decl, have result_decl  |check: expected var_decl,
   |in gimplify_modify_expr |have result_decl in
   ||gimplify_modify_expr
   Target Milestone|--- |4.6.0


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



[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types

2010-07-04 Thread pault at gcc dot gnu dot org


--- Comment #11 from pault at gcc dot gnu dot org  2010-07-04 14:40 ---
Subject: Bug 44596

Author: pault
Date: Sun Jul  4 14:40:34 2010
New Revision: 161801

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161801
Log:
2010-07-04  Paul Thomas  pa...@gcc.gnu.org

PR fortran/44596
PR fortran/44745
* trans-types.c (gfc_get_derived_type): Derived type fields
with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-types.c


-- 


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



[Bug middle-end/44745] [4.6 regression] FAIL: gfortran.dg/dynamic_dispatch_6.f03

2010-07-04 Thread pault at gcc dot gnu dot org


--- Comment #2 from pault at gcc dot gnu dot org  2010-07-04 14:40 ---
Subject: Bug 44745

Author: pault
Date: Sun Jul  4 14:40:34 2010
New Revision: 161801

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161801
Log:
2010-07-04  Paul Thomas  pa...@gcc.gnu.org

PR fortran/44596
PR fortran/44745
* trans-types.c (gfc_get_derived_type): Derived type fields
with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-types.c


-- 


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



[Bug middle-end/44809] Mozilla build fails in gimplification.

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-07-04 14:42 ---
Mine (mem-ref related).  Reducing.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-04 14:42:41
   date||


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



[Bug c++/44811] New: non controlable bogus warning: right/left shift count is negative

2010-07-04 Thread gpiez at web dot de
templateint N
uint64_t shift(uint64_t b) {
if (N  0)
return b  N;
else
return b  -N;
}

int main() {
int a = shift-5(0x100);
int b = shift5(0x100);
return a+b;
}

---
I am using this function template in a header, and other warnings and even
errors tend to get cluttered by the output of bogus shift count is negative
warnings. I understand that dead code elimination happens only in the optimizer
and probably to late to see that the negative shift count branch is never
executed, and I could live with that if the warning was controlable with some
-W option. Alas, it seems, it is not.
The only way to supress this warning is using -w, which also inhibits other,
potential useful warnings, so using -w everywhere is not really an option.


-- 
   Summary: non controlable bogus warning: right/left shift count is
negative
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gpiez at web dot de


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



[Bug c++/44810] [4.6 Regression] FAIL: g++.dg/torture/pr36745.C

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-07-04 15:00 ---
I have analyzed this already.  The problem is that

struct QMapData
{
  QBasicAtomicInt ref;
  static QMapData shared_null;
};

the static QMapData shared_null has DECL_ALIGN of 8 bits.  So we end up passing
an unaligned shared_null.ref._q_value as operand to

  __asm__ (: =m (_q_value): :);

which doesn't work.

This is exposed by the mem-ref2 merge as previously we did not see the
shared_null decl (and thus its bogus alignment) here but instead referenced
via a pointer which got proper natural alignment from its type.

Thus, this is a C++ frontend bug.

CCing Jason.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jason at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
  Component|inline-asm  |c++
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-04 15:00:43
   date||
   Target Milestone|--- |4.6.0


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



[Bug c++/44811] non controlable bogus warning: right/left shift count is negative

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-07-04 15:02 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2010-07-04 15:02:52
   date||


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



[Bug middle-end/44809] Mozilla build fails in gimplification.

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-07-04 15:14 ---
Reduced testcase:

unsigned int mEvictionRank[(1  5)];
void Unswap(int i)
{ 
  mEvictionRank[i] = ({ unsigned int __v = i; __v; });
}


-- 


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



[Bug lto/44812] New: m32 lto produces non-relocatable subtraction expression errors

2010-07-04 Thread howarth at nitro dot med dot uc dot edu
On x86_64-apple-darwin* and i*86-apple-darwin*, a number of lto failures remain
at -m32 which are of the form...

/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/xgcc
-B/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/ c_lto_2008_0.o
c_lto_2008_1.o -O0 -fwhopr -m32 -o gcc-dg-lto-2008-01
/var/folders/1C/1CdoNxmNFHyOIjNBLNuJhTM/-Tmp-//ccogqVKS.s:15:non-relocatable
subtraction expression, _mumble minus L001$pb
/var/folders/1C/1CdoNxmNFHyOIjNBLNuJhTM/-Tmp-//ccogqVKS.s:15:symbol:
_mumble can't be undefined in a subtraction expression
/var/folders/1C/1CdoNxmNFHyOIjNBLNuJhTM/-Tmp-//ccogqVKS.s:13:non-relocatable
subtraction expression, _mumble minus L001$pb
/var/folders/1C/1CdoNxmNFHyOIjNBLNuJhTM/-Tmp-//ccogqVKS.s:13:symbol:
_mumble can't be undefined in a subtraction expression
/var/folders/1C/1CdoNxmNFHyOIjNBLNuJhTM/-Tmp-//ccogqVKS.s:10:non-relocatable
subtraction expression, _mumble minus L001$pb
/var/folders/1C/1CdoNxmNFHyOIjNBLNuJhTM/-Tmp-//ccogqVKS.s:10:symbol:
_mumble can't be undefined in a subtraction expression
lto-wrapper: /sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/xgcc
returned 1 exit status


-- 
   Summary: m32 lto produces non-relocatable subtraction expression
errors
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: howarth at nitro dot med dot uc dot edu
 GCC build triplet: *86*-apple-darwin10
  GCC host triplet: *86*-apple-darwin10
GCC target triplet: *86*-apple-darwin10


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



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-07-04 Thread howarth at nitro dot med dot uc dot edu


--- Comment #1 from howarth at nitro dot med dot uc dot edu  2010-07-04 
15:23 ---
Created an attachment (id=21082)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21082action=view)
assembly file 2008_0.s

/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/xgcc
-B/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/ -O0 -fwhopr
--save-temps -c -m32 -o c_lto_2008_0.o
/sw/src/fink.build/gcc46-4.6.0-1000/gcc-4.6-20100703/gcc/testsuite/gcc.dg/lto/2008_0.c


-- 


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



[Bug middle-end/44809] Mozilla build fails in gimplification.

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-07-04 15:24 ---
Created an attachment (id=21083)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21083action=view)
patch

Patch I'm testing.


-- 


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



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-07-04 Thread howarth at nitro dot med dot uc dot edu


--- Comment #2 from howarth at nitro dot med dot uc dot edu  2010-07-04 
15:24 ---
Created an attachment (id=21084)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21084action=view)
assembly file 2008_1.s

/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/xgcc
-B/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/ -O0 -fwhopr -c -m32
--save-temps -o c_lto_2008_1.o
/sw/src/fink.build/gcc46-4.6.0-1000/gcc-4.6-20100703/gcc/testsuite/gcc.dg/lto/2008_1.c


-- 


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



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-07-04 Thread howarth at nitro dot med dot uc dot edu


--- Comment #3 from howarth at nitro dot med dot uc dot edu  2010-07-04 
15:25 ---
Created an attachment (id=21085)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21085action=view)
assembly file gcc-dg-lto-2008-01.ltrans0.s

/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/xgcc
-B/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/ c_lto_2008_0.o
c_lto_2008_1.o -O0 -fwhopr --save-temps -m32 -o gcc-dg-lto-2008-01


-- 


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



[Bug rtl-optimization/44479] false dependencies are computed after vectorization

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-07-04 16:08 ---
Subject: Bug 44479

Author: rguenth
Date: Sun Jul  4 16:08:21 2010
New Revision: 161802

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161802
Log:
2010-07-04  Richard Guenther  rguent...@suse.de

PR tree-optimization/44479
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid
extra SSA name copy statements which preserves points-to
information.
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
Copy points-to information for all pointers.  Properly handle
MEM_REFs.
(vect_create_data_ref_ptr): Likewise.  Avoid extra SSA name
copy statements.
* Makefile.in (tree-ssa-loop-ivopts.o): Add tree-ssa-propagate.h
dependency.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/tree-ssa-loop-ivopts.c
trunk/gcc/tree-vect-data-refs.c


-- 


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



[Bug rtl-optimization/44479] false dependencies are computed after vectorization

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2010-07-04 16:09 ---
Can you re-check now?  I'm not good at reading scheduler dumps but at expansion
time it looks good to me even with IVOPTs turned on now.


-- 


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



[Bug rtl-optimization/44479] false dependencies are computed after vectorization

2010-07-04 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING


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



[Bug middle-end/44809] Mozilla build fails in gimplification.

2010-07-04 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2010-07-04 16:55 ---
Subject: Bug 44809

Author: rguenth
Date: Sun Jul  4 16:55:40 2010
New Revision: 161803

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161803
Log:
2010-07-04  Richard Guenther  rguent...@suse.de

PR middle-end/44809
* gimplify.c (gimplify_expr): Properly build a MEM_REF instead
of an INDIRECT_REF.

* g++.dg/torture/pr44809.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/torture/pr44809.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/44813] New: ipa-split causes ice in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:173

2010-07-04 Thread hubicka at gcc dot gnu dot org
cc1plus -fpreprocessed nsTextFrameThebes.ii -dumpbase nsTextFrameThebes.cpp
-mtune=generic -march=x86-64 -auxbase-strip nsTextFrameThebes.o -O2 -Os -Wall
-Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy
-Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros
-Werror=return-type -pedantic -Wno-long-long -version -fPIC -fno-rtti
-fno-exceptions -fpermissive -fuse-linker-plugin -fno-strict-aliasing
-fshort-wchar -freorder-blocks -fomit-frame-pointer -o nsTextFrameThebes.s


-- 
   Summary: ipa-split causes ice in ptr_deref_may_alias_decl_p, at
tree-ssa-alias.c:173
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hubicka at gcc dot gnu dot org


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



[Bug middle-end/44813] ipa-split causes ice in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:173

2010-07-04 Thread hubicka at gcc dot gnu dot org


--- Comment #1 from hubicka at gcc dot gnu dot org  2010-07-04 17:49 ---
Created an attachment (id=21086)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21086action=view)
testcase


-- 


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



[Bug c++/16630] missing type name in __PRETTY_FUNCTION__

2010-07-04 Thread manu at gcc dot gnu dot org


--- Comment #11 from manu at gcc dot gnu dot org  2010-07-04 18:17 ---
Subject: Bug 16630

Author: manu
Date: Sun Jul  4 18:16:59 2010
New Revision: 161805

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161805
Log:
2010-07-04  Manuel López-Ibáñez  m...@gcc.gnu.org

PR c++/16630
* g++.dg/ext/pretty3.C: New.

Added:
trunk/gcc/testsuite/g++.dg/ext/pretty3.C
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/16630] missing type name in __PRETTY_FUNCTION__

2010-07-04 Thread manu at gcc dot gnu dot org


--- Comment #12 from manu at gcc dot gnu dot org  2010-07-04 18:19 ---
Testcase added. Closing as FIXED.


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/44814] New: ISO_C_BINDING types inherited from a USEd module are corrupted

2010-07-04 Thread jkrahn at nc dot rr dot com
$ cat ptr_bug.f90
module mod1
  use iso_c_binding, only: C_ptr
end module mod1
module mod2
  use mod1
  use iso_c_binding, only: C_NULL_ptr
contains
  subroutine bug
type(C_ptr) :: ptr
ptr=C_NULL_ptr
  end subroutine bug
end module mod2

$ /usr/local/gfortran/bin/gfortran -c ptr_bug.f90
ptr_bug.f90:10.8:

ptr=C_NULL_ptr
1
Error: Can't convert TYPE(_gfortran_iso_c_binding_c_ptr) to TYPE(c_ptr) at (1)


The inherited name gets an internal _gfortran_iso_c_binding_ prefix, but the
locally inherited name does not. This is mentioned in bug37829, where it was
suggested to be low priority or even just an enhancement. IMHO, anything that
prevents perfectly valid code form compiling should be at least normal status.


-- 
   Summary: ISO_C_BINDING types inherited from a USEd module are
corrupted
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jkrahn at nc dot rr dot com


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



[Bug fortran/44814] ISO_C_BINDING types inherited from a USEd module are corrupted

2010-07-04 Thread jkrahn at nc dot rr dot com


--- Comment #1 from jkrahn at nc dot rr dot com  2010-07-04 19:09 ---
I updated my code to use ISO_C_BINDING directly, but still get this bug. In
order to avoid corruption by the USEd module, the ISO_C_BINDING imports must
all be done on the first USE statement.

This code still fails:
module mod1
  use iso_c_binding, only: C_ptr
end module mod1
module mod2
  use iso_c_binding, only: C_NULL_ptr
  use iso_c_binding, only: C_ptr
  use mod1
contains
  subroutine bug
type(C_ptr) :: ptr
ptr=C_NULL_ptr
  end subroutine bug
end module mod2


This code works, with the latter two use iso_c_binding statements merged:
module mod1
  use iso_c_binding, only: C_ptr
end module mod1
module mod2
  use iso_c_binding, only: C_ptr, C_NULL_ptr
  use mod1
contains
  subroutine bug
type(C_ptr) :: ptr
ptr=C_NULL_ptr
  end subroutine bug
end module mod2


The merged statement still fails if mod1 is used first:
module mod1
  use iso_c_binding, only: C_ptr
end module mod1
module mod2
  use mod1
  use iso_c_binding, only: C_ptr, C_NULL_ptr
contains
  subroutine bug
type(C_ptr) :: ptr
ptr=C_NULL_ptr
  end subroutine bug
end module mod2

This should also be tested against procedure interface IMPORT and USE
statements.


-- 

jkrahn at nc dot rr dot com changed:

   What|Removed |Added

Summary|ISO_C_BINDING types |ISO_C_BINDING types
   |inherited from a USEd module|inherited from a USEd module
   |are corrupted   |are corrupted


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



[Bug c++/44590] [4.6 Regression] Revision 159362 caused multiple failures on the libstdc++-v3 tests

2010-07-04 Thread danglin at gcc dot gnu dot org


--- Comment #3 from danglin at gcc dot gnu dot org  2010-07-04 19:12 ---
I see the following similar fails on hppa64-hp-hpux11.11:

FAIL: 27_io/basic_stringbuf/sputbackc/char/1.cc (test for excess errors)
FAIL: 27_io/basic_stringbuf/sputbackc/wchar_t/1.cc (test for excess errors)
FAIL: 27_io/basic_stringbuf/sungetc/char/1.cc (test for excess errors)
FAIL: 27_io/basic_stringbuf/sungetc/wchar_t/1.cc (test for excess errors)

/test/gnu/gcc/gcc/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.
cc:111:1: error: caller edge frequency 0 does not match BB freqency 1000
std::basic_stringbuf_CharT, _Traits, _Alloc::int_type
std::basic_stringbuf_Ch
arT, _Traits, _Alloc::underflow() [with _CharT = char, _Traits =
std::char_trai
tschar, _Alloc = std::allocatorchar, std::basic_stringbuf_CharT, _Traits,
_
Alloc::int_type = int]/722(-1) @83fffde41ac0 (asm:
_ZNSt15basic_stringbufIc
St11char_traitsIcESaIcEE9underflowEv) availability:not_available
  called by: std::basic_streambuf_CharT, _Traits::int_type
std::basic_streambu
f_CharT, _Traits::sgetc() [with _CharT = char, _Traits =
std::char_traitschar
, std::basic_streambuf_CharT, _Traits::int_type = int]/78 (can throw external
) 
  calls: 
  References: 
  Refering this function: 
/test/gnu/gcc/gcc/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.
cc:111:1: internal compiler error: verify_cgraph_node failed


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||danglin at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-04 19:12:55
   date||


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



[Bug rtl-optimization/44479] false dependencies are computed after vectorization

2010-07-04 Thread roy dot 1rosen at gmail dot com


--- Comment #6 from roy dot 1rosen at gmail dot com  2010-07-04 19:32 
---
Subject: Re:  false dependencies are computed 
after vectorization

Unfortunatelly I am OOO until the end of next week.
I would check it as soon as I get back.

Thanks, Roy.

2010/7/4, rguenth at gcc dot gnu dot org gcc-bugzi...@gcc.gnu.org:


 --- Comment #5 from rguenth at gcc dot gnu dot org  2010-07-04 16:09 
 ---
 Can you re-check now?  I'm not good at reading scheduler dumps but at 
 expansion
 time it looks good to me even with IVOPTs turned on now.


 --


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

 --- You are receiving this mail because: ---
 You are on the CC list for the bug, or are watching someone who is.
 You reported the bug, or are watching the reporter.



-- 


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



[Bug fortran/44814] ISO_C_BINDING types inherited from a USEd module are corrupted

2010-07-04 Thread burnus at gcc dot gnu dot org


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||37829
OtherBugsDependingO||32630
  nThis||
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-04 19:44:59
   date||


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



[Bug target/44626] [4.4 regression] ICE in output_operand: invalid expression as operand

2010-07-04 Thread mikpe at it dot uu dot se


--- Comment #6 from mikpe at it dot uu dot se  2010-07-04 19:54 ---
Patch posted after successful (re)testing:
http://gcc.gnu.org/ml/gcc-patches/2010-07/msg00331.html


-- 


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



[Bug middle-end/44738] c-c++-common/uninit-17.c failed

2010-07-04 Thread mikpe at it dot uu dot se


--- Comment #3 from mikpe at it dot uu dot se  2010-07-04 20:10 ---
Also seen on {powerpc64,sparc64}-linux.


-- 


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



[Bug c++/44815] New: Compiz Core miscompiles with GCC 4.5

2010-07-04 Thread ubizjak at gmail dot com
Found at [1].

quote
Compiling Compiz Core with GCC 4.5 will cause a strange bug where static
members of template classes will have their constructors called on dlopen (),
causing key members such as plugin class reference counts to reset. This in
turn will causes crashes in the near future as key names which are in use are
deallocated.
/quote

[1] http://bugs.opencompositing.org/show_bug.cgi?id=1308


-- 
   Summary: Compiz Core miscompiles with GCC 4.5
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ubizjak at gmail dot com


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



[Bug c++/44815] Compiz Core miscompiles with GCC 4.5

2010-07-04 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2010-07-04 21:52 ---
Created an attachment (id=21087)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21087action=view)
testcase

This is a simple testcase for this bug. With G++ 4.5 you will get auch output:

TestIndex constructor at 0xB76EA018
P1 0
TestIndex constructor at 0xB76EA018
P2 0
P1 0
TestIndex destructor at 0xB76EA018
TestIndex destructor at 0xB76EA018

A constructor should never be called twice on the same memory address. With G++
4.4 you will get two different addresses like this:

TestIndex constructor at 0xB76EA018
P1 0
TestIndex constructor at 0xB76E6018
P2 0
P1 0
TestIndex destructor at 0xB76E6018
TestIndex destructor at 0xB76EA018


-- 


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



[Bug c++/44815] Compiz Core miscompiles with GCC 4.5

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-07-04 21:55 ---
  dlHnd1 = dlopen(./libp1.so, RTLD_LAZY);

I think this is invalid as each get a private copy of the template class.


-- 


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



[Bug c++/44815] Compiz Core miscompiles with GCC 4.5

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2010-07-04 21:56 ---
Really I think this is a violation of the One definition rule.


-- 


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



[Bug c/44816] New: ice in subst_reloads, at reload.c:6328

2010-07-04 Thread regehr at cs dot utah dot edu
[reg...@gamow tmp418]$ current-gcc -v   
Using built-in specs.
COLLECT_GCC=current-gcc
COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r161681-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --with-libelf=/usr/local --enable-lto
--prefix=/home/regehr/z/compiler-install/gcc-r161681-install
--program-prefix=r161681- --enable-languages=c,c++
Thread model: posix
gcc version 4.6.0 20100701 (experimental) (GCC) 

[reg...@gamow tmp418]$ current-gcc -Os small.c -c -w

small.c: In function 'int329':
small.c:34:1: internal compiler error: in subst_reloads, at reload.c:6328
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

[reg...@gamow tmp418]$ cat small.c

static int
foo (int si1, int si2)
{
  return si1 ^ si2  si1 ^ si1 ^ si2  ~1 - si2 ^ si2 ? : si1 - si2;
}

static unsigned
bar (unsigned ui1, unsigned ui2)
{
  return ui1 + ui2;
}

int g_29;
int g_75;
int g_83;
int func_53 (unsigned char p_54, long p_55, unsigned char p_56);

int safe (int);

void int325 (long p_6, int p_7)
{
  int *l_28 = g_29;
  *l_28 |= safe (0) = foo;
}

void int329 (unsigned long p_50)
{
  int *l_74 = g_75;
  int *l_82 = g_83;
  *l_74 ^= foo (func_53 (6L, 1L, 1), 0);
  *l_82 |=
func_53 (0L, 0, 0) = bar (func_53 (0, 1, 0),
  p_50);
}

int
func_53 (unsigned char p_54, long p_55, unsigned char p_56)
{
  return g_29;
}


-- 
   Summary: ice in subst_reloads, at reload.c:6328
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: regehr at cs dot utah dot edu
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug target/44531] [4.5/4.6 Regression] [SH] Multilib configuration does not work as expected on darwin

2010-07-04 Thread kkojima at gcc dot gnu dot org


--- Comment #6 from kkojima at gcc dot gnu dot org  2010-07-04 22:07 ---
Subject: Bug 44531

Author: kkojima
Date: Sun Jul  4 22:07:29 2010
New Revision: 161807

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161807
Log:
PR target/44531
* config.gcc (sh*-*-*): Use regular expressions instead of
the 'i' modifier for sed substitutions.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config.gcc


-- 


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



[Bug rtl-optimization/44695] [4.6 Regression] ice in simplify_subreg, at simplify-rtx.c:5117

2010-07-04 Thread hjl at gcc dot gnu dot org


--- Comment #10 from hjl at gcc dot gnu dot org  2010-07-04 23:18 ---
Subject: Bug 44695

Author: hjl
Date: Sun Jul  4 23:18:06 2010
New Revision: 161813

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161813
Log:
Change 8bit divmod to HImode.

gcc/

2010-07-04  H.J. Lu  hongjiu...@intel.com

PR rtl-optimization/44695
* config/i386/i386.md (extract_code): Removed.
(udivmodqi4): Likewise.
(divmodqi4): New.
(udivmodqi4): Likewise.
(divmodhiqi3): Change div/mod to HImode and extend operand 2 to
HImode.
(udivmodhiqi3): Likewise.

gcc/testsuite/

2010-07-04  H.J. Lu  hongjiu...@intel.com

PR rtl-optimization/44695
* gcc.dg/torture/pr44695.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr44695.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.md
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/44817] New: Stage2/stage3 genautomata has invalid memory access

2010-07-04 Thread hjl dot tools at gmail dot com
On Linux/x86-64, revision 161806 gave:

# /usr/bin/valgrind --tool=memcheck build/genautomata
/export/gnu/import/svn/gcc-test/src-trunk/gcc/config/i386/i386.md
insn-conditions.md  /dev/null
==5903== Memcheck, a memory error detector
==5903== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==5903== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==5903== Command: build/genautomata
/export/gnu/import/svn/gcc-test/src-trunk/gcc/config/i386/i386.md
insn-conditions.md
==5903== 
==5903== Invalid read of size 8
==5903==at 0x401BE7: check_absence_pattern_sets (genautomata.c:4353)
==5903==by 0x40D85F: create_automata (genautomata.c:3503)
==5903==by 0x4101D5: expand_automata (genautomata.c:9093)
==5903==by 0x4115B8: main (genautomata.c:9543)
==5903==  Address 0x1c is not stack'd, malloc'd or (recently) free'd
==5903== 
==5903== 
==5903== Process terminating with default action of signal 11 (SIGSEGV)
==5903==  Access not within mapped region at address 0x1C
==5903==at 0x401BE7: check_absence_pattern_sets (genautomata.c:4353)
==5903==by 0x40D85F: create_automata (genautomata.c:3503)
==5903==by 0x4101D5: expand_automata (genautomata.c:9093)
==5903==by 0x4115B8: main (genautomata.c:9543)
==5903==  If you believe this happened as a result of a stack
==5903==  overflow in your program's main thread (unlikely but
==5903==  possible), you can try to increase the size of the
==5903==  main thread stack using the --main-stacksize= flag.
==5903==  The main thread stack size used in this run was 8388608.
==5903== 
==5903== HEAP SUMMARY:
==5903== in use at exit: 11,187,082 bytes in 73,185 blocks
==5903==   total heap usage: 83,419 allocs, 10,234 frees, 32,694,074 bytes
allocated
==5903==


-- 
   Summary: Stage2/stage3 genautomata has invalid memory access
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug middle-end/44817] Stage2/stage3 genautomata has invalid memory access

2010-07-04 Thread hjl dot tools at gmail dot com


--- Comment #1 from hjl dot tools at gmail dot com  2010-07-05 00:05 ---
The code is

0260 check_absence_pattern_sets:
 260:   41 57   push   %r15  
 262:   44 8b 1d 00 00 00 00mov0x0(%rip),%r11d# 269
check_absence_pattern_sets+0x9
 269:   b8 01 00 00 00  mov$0x1,%eax
 26e:   41 56   push   %r14  
 270:   45 85 dbtest   %r11d,%r11d
 273:   41 55   push   %r13  
 275:   41 54   push   %r12  
 277:   55  push   %rbp  
 278:   53  push   %rbx  
 279:   0f 8e 94 00 00 00   jle313
check_absence_pattern_sets+0xb3
 27f:   48 8b 05 00 00 00 00mov0x0(%rip),%rax# 286
check_absence_pattern_sets+0x26
 286:   48 8b 0d 00 00 00 00mov0x0(%rip),%rcx# 28d
check_absence_pattern_sets+0x2d
 28d:   49 89 f5mov%rsi,%r13
 290:   4c 8b 35 00 00 00 00mov0x0(%rip),%r14# 297
check_absence_pattern_sets+0x37
 297:   45 31 e4xor%r12d,%r12d
 29a:   48 89 44 24 f0  mov%rax,-0x10(%rsp)
 29f:   48 89 4c 24 f8  mov%rcx,-0x8(%rsp)
^^^ Is this safe?
...
 350:   48 8b 4c 24 f8  mov-0x8(%rsp),%rcx
   ^^^ This is 0.
 355:   48 98   cltq
 357:   4c 8b 14 c1 mov(%rcx,%rax,8),%r10
 35b:   eb 80   jmp2dd
check_absence_pattern_sets+0x7d


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||ubizjak at gmail dot com
Version|4.5.1   |4.6.0


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



[Bug tree-optimization/43270] array-bounds false negative

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #17 from pinskia at gcc dot gnu dot org  2010-07-05 00:11 
---
* Makefile.in (expmed.o-warn): Add -Wno-error.

There is no comment in Makefile.in why this is there, can you add one.  Also is
this a false warning from gcc or a true one, I cannot tell.

Note I also get a warning for:
/home/apinski/src/gcc-fsf/local//gcc/libgcc/../gcc/crtstuff.c:372:19: warning:
array subscript is above array bounds [-Warray-bounds]

Where the code does:
  if (__JCR_LIST__[0])

__JCR_LIST__ is defined as:
STATIC void *__JCR_LIST__[]
  __attribute__ ((used, section(JCR_SECTION_NAME), aligned(sizeof(void*
  = { };

Which means it is not above the array bounds after all since there is no real
array bounds for that array :).


-- 


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



[Bug middle-end/44817] Stage2/stage3 genautomata has invalid memory access

2010-07-04 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2010-07-05 00:20 ---
There is a 128byte red-zone. The code seems OK.


-- 


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



[Bug c++/44811] non controllable bogus warning: right/left shift count is negative

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-07-05 01:14 ---
Related to PR 11856.  


-- 


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



[Bug target/44793] [4.5/4.6 Regression] libgcc does not include t-ppccomm on rtems

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2010-07-05 01:18 ---
Neither.
rtems should be moved to the new style libgcc config and include
./config/rs6000/t-ppccomm .


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   GCC host triplet|powerpc-rtems4.11   |
 GCC target triplet||powerpc-rtems4.11
Summary|Code generated references   |[4.5/4.6 Regression] libgcc
   |undefined symbol|does not include t-ppccomm
   ||on rtems
   Target Milestone|--- |4.5.1


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



[Bug c++/44786] -fcatch-undefined-behavior: Turn on runtime code generation to check for undefined behavior

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-07-05 01:21 ---
-ftrapv checks for one undefined behavior which is not mentioned in that list. 
Why isn't that listed?

  # Shift operators where the amount shifted is greater or equal to the
promoted bit-width of the left-hand-side or less than zero.

I think C90 and C99 say slightly different things here.

Really I think this is a not good option.  It adds a huge overhead in some
cases and does not fix a security issue.  In fact it allows the developer to
feel more safe when in reality they are not.


-- 


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



[Bug c++/44781] unjustified warning about uinitialized variable

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2010-07-05 01:26 ---
Does not warn with:
GNU C++ (GCC) version 4.6.0 20100627 (experimental) [trunk revision 161476]
(x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20100627 (experimental) [trunk revision
161476], GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1


Though we could have the same issue:
bb 4:
  # i_29 = PHI 1(3), 0(6)
  # point$x$_18 = PHI point$x$_8(3), point$x$_17(6)

bb 5:
  # i_1 = PHI i_29(4), 0(2)
  # point$x$_17 = PHI point$x$_18(4), point$x$_3(D)(2)

Why aren't those two BB's combined?


-- 


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



[Bug c/44782] implement -ferror-limit=

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-07-05 01:28 ---
Note Fortran has this feature already:
  -fmax-errors=nMaximum number of errors to report


-- 


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



[Bug c++/44753] [4.5 Regression] class partial specialization error

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-07-05 01:29 ---
Works on the trunk:
GNU C++ (GCC) version 4.6.0 20100627 (experimental) [trunk revision 161476]
(x86_64-unknown-linux-gnu)
compiled by GNU C version 4.6.0 20100627 (experimental) [trunk revision
161476], GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work|4.2.1 4.3.1 4.4.1   |4.2.1 4.3.1 4.4.1 4.6.0


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



[Bug rtl-optimization/44752] insn-automata.c: empty translation unit

2010-07-04 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 01:33:44
   date||


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



[Bug rtl-optimization/44752] insn-automata.c: empty translation unit

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2010-07-05 01:35 ---
Created an attachment (id=21088)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21088action=view)
patch which needs testing

I have not tested this fix but it should work and should remove the
warning/error for these targets.


-- 


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



[Bug c++/44516] unclear error message for invalid operands to operator

2010-07-04 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-07-05 01:47 ---
Note I would keep GCC's wording as it is more correct with respect of C++. 
Though I would say what the types are.  This is true for any operator.  The
reason is that the user could overridden the operator for those types.

That is the following is valid C++ code:
struct WebService {  };
struct Server {  };

const Server operator+= (Server const server,  WebService const *a);

void addHTTPService(Server const server, WebService const
*http) {
server += http;
}


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|unclear error message for   |unclear error message for
   |invalid operands to binary  |invalid operands to operator
   |operator|


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



[Bug c++/44516] unclear error message for invalid operands to operator

2010-07-04 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 01:47:47
   date||


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



[Bug target/44793] [4.5/4.6 Regression] libgcc does not include t-ppccomm on rtems

2010-07-04 Thread corsepiu at gcc dot gnu dot org


--- Comment #6 from corsepiu at gcc dot gnu dot org  2010-07-05 03:30 
---
(In reply to comment #5)
 rtems should be moved to the new style libgcc config and include
 ./config/rs6000/t-ppccomm .

Hmm. Doesn't RTEMS already do so?

From config.gcc: 
...
powerpc-*-rtems*)
tm_file=${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h
newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h
rtems.h
extra_options=${extra_options} rs6000/sysv4.opt
tmake_file=rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems
t-rtems rs6000/t-ppccomm
;;
...


-- 


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



[Bug target/44793] [4.5/4.6 Regression] libgcc does not include t-ppccomm on rtems

2010-07-04 Thread corsepiu at gcc dot gnu dot org


--- Comment #7 from corsepiu at gcc dot gnu dot org  2010-07-05 04:17 
---
(In reply to comment #6)
 (In reply to comment #5)
  rtems should be moved to the new style libgcc config and include
  ./config/rs6000/t-ppccomm .
 
 Hmm. Doesn't RTEMS already do so?

Did you mean libgcc/config.host?
In there, powerpc-*linux is the only target using libgcc/config/rs6000/t-ppccom


-- 


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



[Bug c++/22138] Better error message for rejecting local template declaration.

2010-07-04 Thread pzhao at gcc dot gnu dot org


--- Comment #2 from pzhao at gcc dot gnu dot org  2010-07-05 05:36 ---
Subject: Bug 22138

Author: pzhao
Date: Mon Jul  5 05:36:02 2010
New Revision: 161818

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161818
Log:
gcc/cp/
2010-07-05  Shujing Zhao  pearly.z...@oracle.com

PR c++/22138
* parser.c (cp_parser_primary_expression): Error if local template is
declared.

gcc/testsuite/
2010-07-05  Shujing Zhao  pearly.z...@oracle.com

PR c++/22138
* g++.dg/parse/template25.C: New.


Added:
trunk/gcc/testsuite/g++.dg/parse/template25.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog


-- 


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