[Bug c/19513] [IMA] High memory usage when compiling multiple files at a time

2005-01-18 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org


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


[Bug c/19513] [IMA] High memory usage when compiling multiple files at a time

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
07:58 ---
(In reply to comment #3)
> on the mainline I get an stack overflow in the GC.
And I have a work around for that.  But that is only a work around, we are 
creating too many varients of 
FUNCTION_TYPE which seems wrong.

We really should be sharing these FUNCTION_TYPEs.  This will greatly reduce the 
memory usage overall 
in all compilation.

-- 


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


[Bug c++/19523] [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler

2005-01-18 Thread ebotcazou at gcc dot gnu dot org


-- 
   What|Removed |Added

 CC||dpatel at apple dot com,
   ||zack at codesourcery dot
   ||com, austern at apple dot
   ||com


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


[Bug c++/19523] [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler

2005-01-18 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

   Keywords||wrong-debug
   Target Milestone|--- |4.0.0


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


[Bug c++/19523] New: [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler

2005-01-18 Thread ebotcazou at gcc dot gnu dot org
The patch

2004-09-20  Matt Austern <[EMAIL PROTECTED]>
Zack Weinberg  <[EMAIL PROTECTED]>

* c-common.c (fix_string_type): Build the unqualified array
type unconditionally, then use c_build_qualified_type to get
the proper const-qualified variant, and set its
TYPE_MAIN_VARIANT to refer to the unqualified type.
* c-lex.c (c_lex_return_raw_string): New global.
(c_lex_with_flags): Honor it.
* c-pragma.h: Declare it.

cp:
* decl.c (make_rtl_for_nonlocal_decl, start_preparsed_function):
Apply lbasename to input_filename before passing to get_fileinfo.
* semantics.c (begin_class_definition): Likewise.
* lex.c (handle_pragma_interface): Apply get_fileinfo to the
correct filename.  Rename variables to be less confusing.
(handle_pragma_implementation): Likewise.  Disable "appears
after file is included" diagnostic.

* parser.c (struct cp_token): Add in_system_header fiag.
(CP_TOKEN_BLOCK_NUM_TOKENS, struct cp_token_block)
(CP_TOKEN_BUFFER_SIZE, cp_token_cache_push_token)
(CPP_NONE, cp_lexer_read_token): Delete.
(struct cp_lexer): Remove first_token, string_tokens,
main_lexer_p fields.  Clarify comments.
(struct cp_token_cache): Now just a pair of pointers.
(CP_LEXER_BUFFER_SIZE): New #define.
(CPP_PURGED): New fake token type.
(cp_lexer_new_from_token_array, cp_lexer_destroy)
(cp_lexer_peek_token_emit_debug_info, cp_lexer_skip_purged_tokens)
(cp_lexer_handle_pragma, cp_token_cache_new, cp_parser_string_literal):
New functions.
(cp_lexer_new_from_tokens): Now a simple wrapper around
cp_lexer_new_from_token_array.
(cp_lexer_set_source_position_from_token): Also update
in_system_header.
(cp_lexer_next_token, cp_lexer_prev_token, cp_lexer_advance_token):
Don't wrap round.
(cp_lexer_token_difference): Dont handle wrapping round.
(cp_lexer_new_main): Enable pragma deferral and raw strings,
read the entire translation unit through c_lex_with_flags into
this lexer's buffer, then turn raw strings back off again.
(cp_lexer_grow_buffer): Adjust for buffer no longer being circular.
(cp_lexer_get_preprocessor_token): No need to handle not being
the main lexer.  Set token->in_system_header too.
(cp_lexer_peek_token): Skip purged tokens.  Feed pragma tokens
to cp_lexer_handle_pragma.  No need to call cp_lexer_read_token.
(cp_lexer_peek_nth_token): Likewise.
(cp_lexer_purge_token): Mark the token PURGED, don't shift all
the other tokens down.
(cp_lexer_purge_tokens_after): Likewise.
(cp_lexer_save_tokens, cp_lexer_rollback_tokens): Don't worry
about there being no tokens.
(cp_lexer_print_token): Revise to give useful information on
all tokens.
(struct cp_parser): Add field translate_strings_p.
(cp_parser_new): Initialize it.
(cp_parser_translation_unit): Destroy the lexer when done.
(cp_parser_parameter_declaration): Restructure saving of
default arguments.
(cp_parser_save_member_function_body): Likewise.
(cp_parser_check_for_invalid_template_id)
(cp_parser_nested_name_specifier_opt, cp_parser_template_id):
Adjust calls to cp_lexer_advance_token.
(cp_parser_skip_to_closing_parenthesis, cp_parser_declaration):
No need to fiddle c_lex_string_translate.
(cp_parser_primary_expression, cp_parser_linkage_specification)
(cp_parser_asm_definition, cp_parser_asm_specification_opt)
(cp_parser_asm_operand_list, cp_parser_asm_clobber_list)
Use cp_parser_string_literal.
(cp_parser_attribute_list): Save and restore parser->translate_strings_p
not c_lex_string_translate.
(cp_parser_cache_group): Delete.
(cp_parser_cache_group_1): Rename cp_parser_cache_group.  Do
not take a cache argument.

has broken DBX_USE_BINCL support for the C++ compiler: it doesn't emit pairs of
N_BINCL/N_EINCL anymore.  This is indirectly visible in the C++ PCH testsuite on
platforms that don't eliminate unused debug info by default (so not on Darwin):

FAIL: g++.dg/pch/externc-1.C -g assembly comparison
FAIL: g++.dg/pch/externc-1.C -O2 -g assembly comparison
FAIL: g++.dg/pch/static-1.C -g assembly comparison
FAIL: g++.dg/pch/static-1.C -O2 -g assembly comparison
FAIL: g++.dg/pch/system-1.C -g assembly comparison
FAIL: g++.dg/pch/system-1.C -O2 -g assembly comparison
FAIL: g++.dg/pch/system-2.C -g assembly comparison
FAIL: g++.dg/pch/system-2.C -O2 -g assembly comparison
FAIL: g++.dg/pch/uninst.C -g assembly comparison
FAIL: g++.dg/pch/uninst.C -O2 -g assembly comparison
FAIL: g++.dg/pch/wchar-1.C -g assembly comparison
FAIL: g++.dg/pch/wchar-1.C -O2 -g assembly comparison

e.g. sparc-sun-solaris2.6 and sparc

[Bug c/19513] [IMA] High memory usage when compiling multiple files at a time

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
07:38 ---
on the mainline I get an stack overflow in the GC.

-- 


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


[Bug target/13891] [3.4/4.0 Regression] support for openbsd 3.4 nonexistent

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
07:29 ---
(In reply to comment #4)
> Removing target milestone; this is not release-critical.

Does not matter this has now been fixed, I had forgot to close it, oops.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.0.0


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


[Bug target/13891] [3.4/4.0 Regression] support for openbsd 3.4 nonexistent

2005-01-18 Thread mmitchel at gcc dot gnu dot org

--- Additional Comments From mmitchel at gcc dot gnu dot org  2005-01-19 
07:28 ---
Removing target milestone; this is not release-critical.

-- 
   What|Removed |Added

   Target Milestone|4.0.0   |---


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


[Bug bootstrap/19461] hidden __eprintf referenced by DSO, gas+gld

2005-01-18 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-01-19 
07:27 ---
Closing as you reported a successful C,C++,Obj-C,Java bootstrap.


-- 
   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WORKSFORME


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


[Bug java/18796] [4.0 Regression] gcj imports wrong superclass

2005-01-18 Thread mmitchel at gcc dot gnu dot org

--- Additional Comments From mmitchel at gcc dot gnu dot org  2005-01-19 
07:21 ---
Java bugs are not showstoppers; removing target milestone.

-- 
   What|Removed |Added

   Target Milestone|4.0.0   |---


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


[Bug tree-optimization/19522] Fix GCC so that a nonlocal label won't appear after local labels.

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
06:55 ---
(In reply to comment #3)
 ... like a waste.
Since we are going to keep the BB's around for longer in 4.1.


-- 


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


[Bug tree-optimization/19522] Fix GCC so that a nonlocal label won't appear after local labels.

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
06:53 ---
Yes that is it.  Basically we have two computed GOTO's at the beginging of the 
BB which is okay really 
since there is no way otherwise since we just remove the other BB (unless you 
want to create a new BB 
which seems like a waste really).

-- 


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


[Bug tree-optimization/19522] Fix GCC so that a nonlocal label won't appear after local labels.

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
06:46 ---
Actually I think the verifying patch is wrong, because we can have multiple 
computed lables at the 
begining of a BB because we moved it from a different BB.

-- 


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


[Bug tree-optimization/18880] DSE is not doing its job for global variables

2005-01-18 Thread law at redhat dot com

--- Additional Comments From law at redhat dot com  2005-01-19 06:46 ---
Subject: Re:  DSE is not doing its job for
global variables

On Wed, 2005-01-19 at 02:44 +, dje at gcc dot gnu dot org wrote:
> --- Additional Comments From dje at gcc dot gnu dot org  2005-01-19 02:44 
> ---
> Steven's experiments seem to demonstrate that the current DSE implementation 
> is
> not very effective.  GCC 4.0 includes RTL optimizations that will catch most 
> if
> not all of these cases, so it is not as if this will cause GCC to miss some
> optimizations.  
Err, umm, wrong.  I checked when I wrote the original code and I just
double checked tonight.  The tree DSE implementation as is stands right
now, today, without any improvements, will catch things which the RTL
optimizers will miss.  And there are some pretty simple things that can
be done to make it more effective, though to be really effective we need
better alias analysis.  The stuff we have now sucks badly.

Jeff



-- 


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


[Bug tree-optimization/19522] Fix GCC so that a nonlocal label won't appear after local labels.

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
06:39 ---
I think the problem is in remove_bb.
This is the only place where we move lables around really.

basically here:
  block_stmt_iterator new_bsi = bsi_start (new_bb);

we should just skip over the first label if there is one.

I will try to test this in a little bit.

-- 
   What|Removed |Added

Version|unknown |4.0.0


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


[Bug libstdc++/19495] basic_string::_M_rep() can produce an unnaturally aligned pointer to _Rep

2005-01-18 Thread amodra at bigpond dot net dot au

--- Additional Comments From amodra at bigpond dot net dot au  2005-01-19 
06:28 ---
The reason for the bus error is the __exchange_and_add decrement of _M_refcount.
 On powerpc, lwarx and stwcx. must have an aligned effective address.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   GCC host triplet|powerpc-linux   |powerpc*-linux
 GCC target triplet|powerpc-linux   |powerpc*-linux
   Last reconfirmed|-00-00 00:00:00 |2005-01-19 06:28:02
   date||


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


[Bug c++/18604] [3.4/4.0 Regression] Strong using lookup conflicts

2005-01-18 Thread mmitchel at gcc dot gnu dot org

--- Additional Comments From mmitchel at gcc dot gnu dot org  2005-01-19 
06:17 ---
Jason, are you looking at this PR?

-- 


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


[Bug libstdc++/19495] basic_string::_M_rep() can produce an unnaturally aligned pointer to _Rep

2005-01-18 Thread bje at au1 dot ibm dot com

--- Additional Comments From bje at au1 dot ibm dot com  2005-01-19 06:05 
---
Subject: Re:  basic_string::_M_rep() can produce an unnaturally aligned pointer 
to _Rep

On Tue, Jan 18, 2005 at 09:45:48AM -, pcarlini at suse dot de wrote:

> In other terms, as far as this PR is concerned, basic_string seems
> ok, just you cannot create a basic_string object in memory
> aligned one, as happens in ext/array_allocator/2.cc, which therefore
> should be fixed.

Does this behaviour seem a little bit unusual to you?  You said: "You
cannot create a basic_string object in memory aligned one".
That is rather counter-intuitive to a user of libstdc++ who has no
understanding of the implementation details of basic_string.

Ben


-- 


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


[Bug tree-optimization/19522] New: Fix GCC so that a nonlocal label won't appear after local labels.

2005-01-18 Thread kazu at cs dot umass dot edu
Fix GCC so that a nonlocal label won't appear after local labels.

In other words, the following addition to tree_verify_flow_info should not
introduce regressions.

http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01191.html

-- 
   Summary: Fix GCC so that a nonlocal label won't appear after
local labels.
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kazu at cs dot umass dot edu
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug target/19293] avr-gcc crashes when using shifts with negative shift count

2005-01-18 Thread schlie at comcast dot net

--- Additional Comments From schlie at comcast dot net  2005-01-19 05:26 
---
(In reply to comment #8)

Never mind, as it's likely not worth the bother as the behavor
is undefined anyway, and the existing proposal is simpler.


-- 


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


[Bug target/19293] avr-gcc crashes when using shifts with negative shift count

2005-01-18 Thread schlie at comcast dot net

--- Additional Comments From schlie at comcast dot net  2005-01-19 05:17 
---
Actually wonder if a better solutions would be to and (&) the rhs shift count by
Log2(rhs-mode-size) bit mask, thereby the resulting value will always be within
0 >= shift <= (N-1), resulting effectivly a shift modulo N, which is more 
similar
to what hardware and would guess most machines actually do, or am I mistaken?



-- 


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


[Bug target/19511] [4.0 Regression] ICE in in reload_cse_simplify_operands, at postreload.c:391

2005-01-18 Thread rth at gcc dot gnu dot org


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-01-18 21:18:28 |2005-01-19 05:08:48
   date||


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


[Bug ada/19519] GNAT Bug Box when reading a program with UTF-8 encoded enumeration literals

2005-01-18 Thread giovannibajo at libero dot it

--- Additional Comments From giovannibajo at libero dot it  2005-01-19 
04:30 ---
Would you please add the testcase to this bug as a file attachment?

-- 


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


[Bug target/19520] protected function pointer doesn't work right

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
03:41 ---
Well I think there is wrong reloc somewhere or a reloc being resolved wrongly
because foo binds locally in x.c otherwise the protect is visibility is really 
useless otherwise (except 
maybe to make sure that it does not get overridden).

-- 


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


[Bug target/19520] protected function pointer doesn't work right

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
03:31 ---
So help out here, which is more correct the GOT or the GOTOFF?(In reply to 
comment #7)
> Please take a closer look at the testcase. It is different from
> bug 10908. Basically, main executable and DSO see different
> function pointer values for the SAME function. From the linker

That comment is only for the PPC bfd so it cannot apply to x86 :).

-- 


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


[Bug target/19520] protected function pointer doesn't work right

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
03:11 ---
The difference between non protected and protected functions is the following 
in the asm:
movl[EMAIL PROTECTED](%ebx), %eax
leal[EMAIL PROTECTED](%ebx), %eax

but really add -fPIC to m.c make this work, so again this looks like an ld bug 
(maybe it is keeping the 
symbol protected or something).

Or gcc is doing:
cmpl$foo, -4(%ebp)

 which is not wrong in the non pic case.

-- 


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


[Bug tree-optimization/18880] DSE is not doing its job for global variables

2005-01-18 Thread dje at gcc dot gnu dot org

--- Additional Comments From dje at gcc dot gnu dot org  2005-01-19 02:44 
---
Steven's experiments seem to demonstrate that the current DSE implementation is
not very effective.  GCC 4.0 includes RTL optimizations that will catch most if
not all of these cases, so it is not as if this will cause GCC to miss some
optimizations.  If the concern is performance impact, then I think that we
should consider adding adding some aggressive optimizations instead of retaining
DSE.  Even if DSE is very fast, what does GCC gain by fewer iterations of an
optimization pass that has almost no benefit?


-- 


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


[Bug ada/19381] ACATS c954a03 raises storage error at runtime on s390-linux

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
02:40 ---
(In reply to comment #1)
> Also fails on ppc-linux with ZCX.
But passes on ppc-darwin with ZCX.

-- 


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


[Bug debug/19521] [4.0 Regression] omitted stab for gcov initialization function

2005-01-18 Thread rth at gcc dot gnu dot org

--- Additional Comments From rth at gcc dot gnu dot org  2005-01-19 02:35 
---
So the bug is the end stab without the start stab?  Or do you think that this
bit of code that corresponds not at all to any user code should have full stabs?
If the later, why?

-- 


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


[Bug c++/19448] Different value representation for bitfield width exceeding its type size.

2005-01-18 Thread mmitchel at gcc dot gnu dot org

--- Additional Comments From mmitchel at gcc dot gnu dot org  2005-01-19 
02:11 ---
G++ 4.0 is correct.  This declaration gives only a signed 9-bit type,
independent of the ABI.  Since +128 is not representable in 9 signed bits, it
wraps to -128.  The same issue explains the other tests.

AFAICT, G++ 4.0 is following the ABI.  The bump of the default ABI version (to
2) is the cause because we fixed this for version 2 of the ABI.  The same goes
for the empty class change.

Therefore, I'm marking this as INVALID.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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


[Bug c++/19448] Different value representation for bitfield width exceeding its type size.

2005-01-18 Thread janis187 at us dot ibm dot com

--- Additional Comments From janis187 at us dot ibm dot com  2005-01-19 
02:05 ---
Created an attachment (id=7988)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7988&action=view)
test case with script

I get the following output from running the attached script using compilers
I built before and after each of the patches listed in the previous comment.

---
define with 3.2.3
use with2003-04-29 21:28 UTC
   

PASSED
   

define with 2003-04-29 21:28 UTC
use with3.2.3
   

PASSED
---
define with 2003-04-29 21:28 UTC
use with2003-04-29 21:28 UTC
   

PASSED
---
define with 2003-04-29 21:28 UTC
use with2003-04-29 21:30 UTC
   

./pr19448-2.sh: line 116: 26808 Aborted a.out
   

define with 2003-04-29 21:30 UTC
use with2003-04-29 21:28 UTC
   

PASSED
---
define with 2003-04-29 21:30 UTC
use with2003-04-29 21:30 UTC
   

./pr19448-2.sh: line 118: 26832 Aborted a.out
---
define with 2003-12-23 16:53 UTC
use with2003-12-23 16:53 UTC
   

./pr19448-2.sh: line 120: 26852 Aborted a.out
---
define with 2003-12-23 16:53 UTC
use with2003-12-23 16:55 UTC
   

./pr19448-2.sh: line 122: 26872 Aborted a.out
   

define with 2003-12-23 16:55 UTC
use with2003-12-23 16:53 UTC
   

PASSED
---
define with 2003-12-23 16:55 UTC
use with2003-12-23 16:55 UTC
   

PASSED
---
define with 2003-12-23 16:55 UTC
use with3.4.3
   

PASSED
   

define with 3.4.3
use with2003-12-23 16:55 UTC
   

PASSED
---
define with 3.2.3
use with3.4.3
   

./pr19448-2.sh: line 128: 26940 Aborted a.out
   

define with 3.4.3
use with3.2.3
   

./pr19448-2.sh: line 128: 26944 Aborted a.out
---
In file included from pr19448_define.C:1:
bc.h:3: warning: width of `bc::m1' exceeds its type
bc.h:1: warning: the offset of `bc::m1' may not be ABI-compliant and may change

in a future version of GCC
In file included from pr19448_use.C:1:
bc.h:3: warning: width of `bc::m1' exceeds its type
bc.h:1: warning: the offset of `bc::m1' may not be ABI-compliant and may change

in a future version of GCC
In file included from pr19448_define.C:1:
bc.h:3: warning: width of `bc::m1' exceeds its type
In file included from pr19448_use.C:1:
bc.h:3: warning: width of `bc::m1' exceeds its type
define with 3.2.3 with -Wabi
use with3.4.3 with -fabi-version=1
   

./pr19448-2.sh: line 131: 26964 Aborted a.out
   

define with 3.4.3 with -fabi-version=1
use with3.2.3 with -Wabi
   

PASSED
---

-- 
   What|Removed |Added
---

[Bug c++/19448] Different value representation for bitfield width exceeding its type size.

2005-01-18 Thread janis187 at us dot ibm dot com

--- Additional Comments From janis187 at us dot ibm dot com  2005-01-19 
02:01 ---
There are two changes that affect this binary incompatibility: one
changes the layout of the class, and the other changes how the bitfield
is accessed.  Mark, did this change on purpose and is it covered by the
C++ ABI?

The first change is:

--- gcc/gcc/cp/ChangeLog ---

2003-04-29  Mark Mitchell  <[EMAIL PROTECTED]>

PR c++/10549
* class.c (layout_class_type): Mark overlong bitfields as having
the maximum size permitted by their type, after layout.

The second change is:

--- gcc/gcc/ChangeLog ---

2003-12-23  Mark Mitchell  <[EMAIL PROTECTED]>

* c-common.c (flag_abi_version): Default to 2.
* c-cppbuiltin.c (c_cpp_builtins): Define __GXX_ABI_VERSION
uniformly for versions above 2.
* doc/invoke.texi: Update documentation for -fabi-version.

--- gcc/gcc/cp/ChangeLog ---

2003-12-23  Mark Mitchell  <[EMAIL PROTECTED]>

* cp-lang.c (cp_expr_size): Return zero for empty classes.

* cp-tree.h (warn_if_uknown_interface): Remove unused function.
* decl2.c (warn_if_unknown_interface): Likewise.

-- 
   What|Removed |Added

 CC||mark at codesourcery dot com


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


[Bug target/19520] protected function pointer doesn't work right

2005-01-18 Thread hjl at lucon dot org

--- Additional Comments From hjl at lucon dot org  2005-01-19 01:47 ---
Please take a closer look at the testcase. It is different from
bug 10908. Basically, main executable and DSO see different
function pointer values for the SAME function. From the linker

/* Will references to this symbol always reference the symbol
   in this object?  STV_PROTECTED is excluded from the visibility test
   here so that function pointer comparisons work properly.  Since
   function symbols not defined in an app are set to their .plt entry,
   it's necessary for shared libs to also reference the .plt even
   though the symbol is really local to the shared lib.  */

On many architectures, the function pointer != the address of the function
body.

-- 
   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|DUPLICATE   |


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


[Bug ada/19385] ACATS c974012 fails at runtime on ppc-linux/darwin

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
01:45 ---
on ppc-darwin with ZCX enabled this passes.

-- 


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


[Bug java/19368] GCJ doesn't build working "hello world" on OS X

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
01:43 ---
This was fixed on somewhere between the 10th and 11th.
By one of the patches listed in:
http://gcc.gnu.org/ml/gcc-regression/2005-01/txt00012.txt

The current time for Hello World is:
Hello!
0.760u 0.110s 0:01.53 56.8% 0+0k 1+1io 0pf+0w

-- 
   What|Removed |Added

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


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


[Bug tree-optimization/18880] DSE is not doing its job for global variables

2005-01-18 Thread law at redhat dot com

--- Additional Comments From law at redhat dot com  2005-01-19 01:43 ---
Subject: Re:  DSE is not doing its job for
global variables

On Wed, 2005-01-19 at 01:34 +, steven at gcc dot gnu dot org wrote:
> --- Additional Comments From steven at gcc dot gnu dot org  2005-01-19 
> 01:34 ---
> DSE2 also does almost nothing, so I just went ahead and posted a proposal 
> to just disable DSE: http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01183.html 
DSE is reasonably fast.  How about we just disable one pass rather than
disabling it completely.

jeff




-- 


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


[Bug tree-optimization/18880] DSE is not doing its job for global variables

2005-01-18 Thread steven at gcc dot gnu dot org

--- Additional Comments From steven at gcc dot gnu dot org  2005-01-19 
01:34 ---
DSE2 also does almost nothing, so I just went ahead and posted a proposal 
to just disable DSE: http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01183.html 

-- 


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


[Bug debug/19521] [4.0 Regression] omitted stab for gcov initialization function

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
01:16 ---
(In reply to comment #2)
> This is a regression from 3.3; I think the cause is this line in cgraphunit.c
> (cgraph_build_static_cdtor): (approximately line 1847)
> 
>   DECL_IGNORED_P (decl) = 1;

DECL_IGNORED_P was added with:
2004-07-01  Richard Henderson  <[EMAIL PROTECTED]>

* cgraph.h (cgraph_build_static_cdtor): Declare.
* cgraphunit.c (cgraph_build_static_cdtor): New.
* c-objc-common.c (build_cdtor): Use it.
* coverage.c (create_coverage): Likewise.
* libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove.
* optabs.c (init_optabs): Don't set gcov_init_libfunc.

I don't think IGNORED should be set on this decl as it was not set before the 
patch above


-- 
   What|Removed |Added

 CC||rth at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
  GCC build triplet|powerpc-apple-darwin|
   GCC host triplet|powerpc-apple-darwin|
   Keywords||wrong-debug
   Last reconfirmed|-00-00 00:00:00 |2005-01-19 01:16:15
   date||
Summary|omitted stab for gcov   |[4.0 Regression] omitted
   |initialization function |stab for gcov initialization
   ||function
   Target Milestone|--- |4.0.0


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


[Bug debug/19521] omitted stab for gcov initialization function

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
01:06 ---
Does -gfull make this work?

-- 


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


[Bug bootstrap/19517] --enable-languages=c,ada enables Ada twice, and possibly breaks gcc/options.h in the build directory

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
00:57 ---
Not a gcc bug so closing.

-- 
   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


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


[Bug target/10908] Addresses of protected symbols don't work right on ia32

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
00:56 ---
*** Bug 19520 has been marked as a duplicate of this bug. ***

-- 


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


[Bug target/19520] protected function pointer doesn't work right

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
00:56 ---
protected always binds local as you cannot override it so the bug is in the 
linker/asm.

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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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


[Bug bootstrap/19517] --enable-languages=c,ada enables Ada twice, and possibly breaks gcc/options.h in the build directory

2005-01-18 Thread bauhaus at futureapps dot de

--- Additional Comments From bauhaus at futureapps dot de  2005-01-19 00:50 
---
Argh, yes. There was another ada subdirectory, my fault, sorry.
After removing it, options.h now looks good, no more duplicates.
Thanks.


-- 


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


[Bug debug/19521] omitted stab for gcov initialization function

2005-01-18 Thread stuart at apple dot com

--- Additional Comments From stuart at apple dot com  2005-01-19 00:49 
---
This is a regression from 3.3; I think the cause is this line in cgraphunit.c
(cgraph_build_static_cdtor): (approximately line 1847)

  DECL_IGNORED_P (decl) = 1;

Deleting this line "fixes" the symptom, but I believe the right fix lies in
dbxout.c.

The start-function stab comes from dbxout.c(dbxout_symbol), near line 2346:

  /* Ignore nameless syms, but don't ignore type tags.  */

  if ((DECL_NAME (decl) == 0 && TREE_CODE (decl) != TYPE_DECL)
  || DECL_IGNORED_P (decl))
DBXOUT_DECR_NESTING_AND_RETURN (0);

This check causes the omission of the start-function stab.  The corresponding
end-function stab comes from dbxout.c (dbxout_function_end), near line 465:

#ifdef DBX_OUTPUT_NFUN
  DBX_OUTPUT_NFUN (asm_out_file, lscope_label_name, current_function_decl);
#else
=>fprintf (asm_out_file, "%s\"\",%d,0,0,", ASM_STABS_OP, N_FUN);
  assemble_name (asm_out_file, lscope_label_name);
  putc ('-', asm_out_file);
  assemble_name (asm_out_file, XSTR (XEXP (DECL_RTL (current_function_decl), 0),
0));
  fprintf (asm_out_file, "\n");
#endif



-- 


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


[Bug target/19520] protected function pointer doesn't work right

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
00:47 ---
This is really a dup of bug 10908.  

-- 


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


[Bug target/19520] protected function pointer doesn't work right

2005-01-18 Thread hjl at lucon dot org

--- Additional Comments From hjl at lucon dot org  2005-01-19 00:41 ---
They aren't the same. It is function pointer vs. function. The other looks
like a linker bug.

-- 


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


[Bug debug/19521] omitted stab for gcov initialization function

2005-01-18 Thread stuart at apple dot com

--- Additional Comments From stuart at apple dot com  2005-01-19 00:40 
---
Created an attachment (id=7986)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7986&action=view)
gcov-1.c testcase

Attaching the testcase for convenience.

-- 


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


[Bug debug/19521] New: omitted stab for gcov initialization function

2005-01-18 Thread stuart at apple dot com
gcov support entails an initialization function named "__GLOBAL__I_0_noop".
GCC omits function-begin stab for this function.

Here is the commandline:


[morris:/Volumes/sandbox/stuart] hasting2%
\/Volumes/sandbox/stuart/gcc.fsf.obj/gcc/xgcc -B
\/Volumes/sandbox/stuart/gcc.fsf.obj/gcc -g gcov.c -fprofile-arcs \
-ftest-coverage  -S

Given the .s file from the above, here is a check of the output:

[morris:/Volumes/sandbox/stuart] hasting2% egrep 'noop|main' gcov.s
.globl _noop
_noop:
.stabs  "noop:F(0,1)=(0,1)",36,0,7,_noop
.stabs  "",36,0,0,Lscope0-_noop
.globl _main
_main:
bl _noop
.stabs  "main:F(0,2)=r(0,2);-2147483648;2147483647;",36,0,11,_main
.stabn  192,0,0,_main
.stabs  "",36,0,0,Lscope1-_main
__GLOBAL__I_0_noop:
.stabs  "",36,0,0,Lscope2-__GLOBAL__I_0_noop
.long   __GLOBAL__I_0_noop
.long   __GLOBAL__I_0_noop
[morris:/Volumes/sandbox/stuart] hasting2%

The 'stabs "",36' record seems to signify the end-of-the __GLOBAL__I_0_noop
function.  The matching start-function record is missing; compare with the noop
and main functions.

The testcase is from the GCC testsuite: gcc/testsuite/gcc.misc-tests/gcov-1.c 
gcov.c

Since it's short, here is the testcase:

/* Test Gcov basics.  */

/* { dg-options "-fprofile-arcs -ftest-coverage" } */
/* { dg-do run { target native } } */

void noop ()
{
}

int main ()
{
  int i;

  for (i = 0; i < 10; i++)  /* count(11) */
noop ();/* count(10) */

  return 0; /* count(1) */
}

/* { dg-final { run-gcov gcov-1.c } } */

-- 
   Summary: omitted stab for gcov initialization function
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: stuart at apple dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: powerpc-apple-darwin
  GCC host triplet: powerpc-apple-darwin
GCC target triplet: powerpc-apple-darwin


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


[Bug target/19520] protected function pointer doesn't work right

2005-01-18 Thread hjl at lucon dot org

--- Additional Comments From hjl at lucon dot org  2005-01-19 00:35 ---
The same bug also happen on i686-pc-linux-gnu:

gcc -fPIC   -c -o x.o x.c
gcc -shared -o libx.so x.o
gcc -o foo m.c libx.so -Wl,-rpath,.
./foo
called from main foo_p: 0x80483e4
called from shared foo: 0x111524
shared foo: 0x111524
shared foo: 0x111524
called from shared foo_p: 0x80483e4
shared foo: 0x111524
shared foo: 0x111524
called from main foo: 0x80483e4
got from main foo: 0x111524
Function pointer `foo' are't the same in DSO and main


-- 
   What|Removed |Added

 GCC target triplet|x86_64-unknown-linux-gnu|


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


[Bug target/19520] protected function pointer doesn't work right

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
00:34 ---
Isn't this just binutils ld/584?
http://sources.redhat.com/bugzilla/show_bug.cgi?id=584
Alan M. claims this is a ld bug rather than a gcc bug.

-- 


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


[Bug target/19520] protected function pointer doesn't work right

2005-01-18 Thread hjl at lucon dot org

--- Additional Comments From hjl at lucon dot org  2005-01-19 00:27 ---
Created an attachment (id=7985)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7985&action=view)
A testcase

With the new linker, I got

[EMAIL PROTECTED] x86_64-3]$ make
gcc -fPIC   -c -o x.o x.c
gcc -shared -o libx.so x.o
/usr/local/bin/ld: x.o: relocation R_X86_64_PC32 against `foo' can not be used
when making a shared object; recompile with -fPIC
/usr/local/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
make: *** [libx.so] Error 1

With the old linker, I got
[EMAIL PROTECTED] x86_64-3]$ make CC="gcc -B/usr/bin/"
gcc -B/usr/bin/ -fPIC   -c -o x.o x.c
gcc -B/usr/bin/ -shared -o libx.so x.o
gcc -B/usr/bin/ -o foo m.c libx.so -Wl,-rpath,.
./foo
called from main foo_p: 0x400610
called from shared foo: 0x2a9566d8d8
shared foo: 0x2a9566d8d8
shared foo: 0x2a9566d8d8
called from shared foo_p: 0x400610
shared foo: 0x2a9566d8d8
shared foo: 0x2a9566d8d8
called from main foo: 0x400610
got from main foo: 0x2a9566d8d8
Function pointer `foo' are't the same in DSO and main


-- 


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


[Bug target/19520] New: protected function pointer doesn't work right

2005-01-18 Thread hjl at lucon dot org
Protected function pointer doesn't work right. For pointer to protected
function, gcc should treat it as if it is normal.

-- 
   Summary: protected function pointer doesn't work right
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: x86_64-unknown-linux-gnu


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


[Bug target/19293] avr-gcc crashes when using shifts with negative shift count

2005-01-18 Thread bernie at develer dot com

--- Additional Comments From bernie at develer dot com  2005-01-19 00:18 
---
(In reply to comment #3)


A quick informal review.


> if (GET_CODE (operands[2]) == CONST_INT) 
>   { 
> int k; 
>
> if (!len) 
>   len = &k; 
> !

This line contains spurious whitespace.

> !   if ( (INTVAL(operands[2]) < 0) || (INTVAL(operands[2]) > 7) ) 

The coding standard requires a space between INTVAL and the
opening parenthesis.

Also remember to replace "<" with "<="!


> !{ /* illegal shift count */ 
> !  *len = 0; 
> !  return ""; 
> !} 

The comment should stay on its own line, with
capitalized initial, a full stop (".") at the
end, followed by *two* whitespaces.

This also applies to the other hunks.


>   const char * 
>   lshrhi3_out (rtx insn, rtx operands[], int *len) 
>   { 
> if (GET_CODE (operands[2]) == CONST_INT) 
> ! {  
> int scratch = (GET_CODE (PATTERN (insn)) == PARALLEL); 
> int ldi_ok = test_hard_reg_class (LD_REGS, operands[0]); 
> int k; 

This hunk adds spurious whitespace after the opening brace.


-- 


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


[Bug ada/19519] New: GNAT Bug Box when reading a program with UTF-8 encoded enumeration literals

2005-01-18 Thread bauhaus at futureapps dot de
The following program triggers the bug box when
encoded as UTF-8.

It runs fine when used with Latin-1
characters. The compiler can test the robustness of your system
if you use iconv to encode the source text in EUC-JP
and then try to compile with -gnatiw -gnatWe. (I guess
that the characters below aren't used very frequently in
EUC-JP coded Ada source but still something seems to
be looping and consuming lots of memory in this case.)

with Ada.Text_IO;  use Ada.Text_IO;
--with Ada.Wide_Text_IO;  use Ada.Wide_Text_IO;  -- same effect

procedure oeaeue is

   type People is (Späherin,  -- a umlaut
   -- Pförtner, -- o umlaut
   -- Schüler, -- u umlaut
   -- Spieß,  -- sharp s
   Jedermann
  );

   package People_IO is new Enumeration_IO(People);

begin
   for p in People'range loop
  People_IO.put(p);
  new_line;
   end loop;
end oeaeue;

cd /tmp/
gnatmake -gnatiw -gnatW8 oeaeue.adb
gcc-3.4 -c -gnatiw -gnatW8 oeaeue.adb
+===GNAT BUG DETECTED==+
| 3.4.2 (Debian 3.4.2-2) (i486-pc-linux-gnu) Constraint_Error s-wchcnv.adb:150
explicit raise|
| Error detected at oeaeue.adb:13:4|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc-3.4 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.

oeaeue.adb
list may be incomplete
compilation abandoned
gnatmake: "oeaeue.adb" compilation error

Compilation exited abnormally with code 4 at Wed Jan 19 01:02:43


I've got the same results using GNAT 3.15p,
and GNAT 4.0.0. (20041203)
Linux strudel 2.4.18 #1 Fri May 2 17:22:29 CEST 2003 i686 GNU/Linux

-- 
   Summary: GNAT Bug Box when reading a program with UTF-8 encoded
enumeration literals
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bauhaus at futureapps dot de
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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


[Bug middle-end/19329] [3.4 Regression] Bitfield operations cause shifts with 0-count to slip through backends

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
00:12 ---
(In reply to comment #8)
> The shift with zero comes from regmove.
Well I did figure out where the shift with zero came from see above but why it 
comes about I don't 
know.

-- 


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


[Bug middle-end/19329] [3.4 Regression] Bitfield operations cause shifts with 0-count to slip through backends

2005-01-18 Thread bernie at develer dot com

--- Additional Comments From bernie at develer dot com  2005-01-19 00:11 
---
I'm no longer in charge for this bug.

-- 
   What|Removed |Added

 AssignedTo|bernie at develer dot com   |unassigned at gcc dot gnu
   ||dot org
 Status|REOPENED|NEW


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


[Bug target/19293] avr-gcc crashes when using shifts with negative shift count

2005-01-18 Thread bernie at develer dot com


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |bernie at develer dot com
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-01-15 05:53:55 |2005-01-19 00:09:33
   date||


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


[Bug middle-end/19515] [4.0 Regression] Violation of C99 6.7.8 §21

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-19 
00:07 ---
This is basically PR 18191 but for unions this time, the struct/array part has 
been fixed.
Note I think the following patch caused it:
2004-01-28  Richard Henderson  <[EMAIL PROTECTED]>

PR opt/13798

-- 
   What|Removed |Added

 CC||rth at gcc dot gnu dot org


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


[Bug middle-end/19329] [3.4 Regression] Miscompilation with bitfields

2005-01-18 Thread bernie at develer dot com

--- Additional Comments From bernie at develer dot com  2005-01-19 00:06 
---
Oops, I forgot this bug should stay open until someone
figures out why GCC 3.4 leaks through insns with a 0
shift count.

I've reclassified the bug as affecting the middle-end.


-- 
   What|Removed |Added

 Status|RESOLVED|REOPENED
  Component|target  |middle-end
 Resolution|DUPLICATE   |


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


[Bug target/19293] avr-gcc crashes when using shifts with negative shift count

2005-01-18 Thread bernie at develer dot com

--- Additional Comments From bernie at develer dot com  2005-01-19 00:04 
---
*** Bug 19329 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||giovannibajo at libero dot
   ||it


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


[Bug target/19329] [3.4 Regression] Miscompilation with bitfields

2005-01-18 Thread bernie at develer dot com

--- Additional Comments From bernie at develer dot com  2005-01-19 00:03 
---
(In reply to comment #11)

> By the way at #19293, you will also find a patch suggestion that should be 
> eaysily adapted to all of the present shifting problems. 

I agree PR19293 is a superset of this bug, so I'll
close it and withdraw my (already approved) patch.

Could you update your patch with a test for <= 0?
Please post it in gcc-patches, with me and
Marek Michalkiewicz <[EMAIL PROTECTED]> in Cc.

I will take care to install your patch in CVS as
soon as it gets approved.


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

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||DUPLICATE


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


[Bug target/19518] [alpha] unrecognizable insn (set (reg:V4HI) (const_vector:V4HI)) with builtins

2005-01-18 Thread rth at gcc dot gnu dot org


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-01-19 00:02:08
   date||


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


[Bug target/19518] [alpha] unrecognizable insn (set (reg:V4HI) (const_vector:V4HI)) with builtins

2005-01-18 Thread rth at gcc dot gnu dot org


-- 
   What|Removed |Added

   Attachment #7984|text/x-csrc |text/plain
  mime type||


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


[Bug pending/19514] bogus warning about complex "integer" types from typedef

2005-01-18 Thread joseph at codesourcery dot com

--- Additional Comments From joseph at codesourcery dot com  2005-01-18 
23:52 ---
Subject: Re:  bogus warning about complex "integer" types
 from typedef

On Tue, 18 Jan 2005, stevenj at fftw dot org wrote:

> Okay, I guess I see what you mean.  "double" in "double _Complex" is 
> arguably not a "type", but rather a type-specifier as defined in 6.7.2, 
> and the "each list of type-specifiers shall be one of the following sets",
> a prescribed list of combinations that does not include typedefs.

Yes, that's my point.  "double _Complex" is one valid list of type 
specifiers.  "typedef name" is another, listed separately - a single type 
specifier, not part of any valid combinations.



-- 


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


[Bug libgcj/19512] Optional JNI error checking

2005-01-18 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-01-18 23:50:42
   date||


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


[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-18 
23:49 ---
Fixed.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |3.4.4


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


[Bug tree-optimization/19516] missed optimization (bool)

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-18 
23:47 ---
Confirmed, the issue is that DOM does not recognizes that b = *a; if(b) ... c = 
*a; if (c) ... can be 
changed (note the lacking of the != 0 which would be required for int/char, 
etc.).

-- 
   What|Removed |Added

   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||alias, missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2005-01-18 23:47:47
   date||
Summary|missed optimization |missed optimization (bool)


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


[Bug target/19329] [3.4 Regression] Miscompilation with bitfields

2005-01-18 Thread bjoern dot m dot haase at web dot de

--- Additional Comments From bjoern dot m dot haase at web dot de  
2005-01-18 23:43 ---
Sorry for this: 
 
In my posting above, I have misspelled the bug number. I wanted to refer you 
to bug #19293 (and not #19239, luckyly the number of possible permutations is 
countable). 
 
By the way at #19293, you will also find a patch suggestion that should be 
eaysily adapted to all of the present shifting problems. 
 
Yours again, 
 
Björn 

-- 


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


[Bug bootstrap/19517] --enable-languages=c,ada enables Ada twice, and possibly breaks gcc/options.h in the build directory

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-18 
23:42 ---
This works for me also.

-- 


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


[Bug middle-end/19515] [4.0 Regression] Violation of C99 6.7.8 §21

2005-01-18 Thread steven at gcc dot gnu dot org

--- Additional Comments From steven at gcc dot gnu dot org  2005-01-18 
23:37 ---
I looked at the constructor gimplification stuff recently.  Lemme see if 
there's an easy fix I can figure out. 
 

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |steven at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Priority|P2  |P1


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


[Bug target/19329] [3.4 Regression] Miscompilation with bitfields

2005-01-18 Thread bjoern dot m dot haase at web dot de

--- Additional Comments From bjoern dot m dot haase at web dot de  
2005-01-18 23:35 ---
I have the impression that Bug #19329 is the same as bug #19239 (as one might 
think already when looking at the similarity of the numbers :-) ) 19239, 
howeverr  so far has addressed the issue of *negative* and other really illegal 
shift counts. In a patch treating both problems correctly, one should possibly 
implement both: 
 
Treatment of negative and other illegal shift counts and positive shift counts. 
 
Yours, 
 
Björn. 
 

-- 


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


[Bug bootstrap/19517] --enable-languages=c,ada enables Ada twice, and possibly breaks gcc/options.h in the build directory

2005-01-18 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-01-18 
23:34 ---
Just to be sure: check that you don't have 2 ada subdirectories in srcdir/gcc.


-- 
   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |WAITING


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


[Bug target/19518] [alpha] unrecognizable insn (set (reg:V4HI) (const_vector:V4HI)) with builtins

2005-01-18 Thread falk at debian dot org

--- Additional Comments From falk at debian dot org  2005-01-18 23:34 
---
Created an attachment (id=7984)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7984&action=view)
test case


-- 


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


[Bug target/19518] New: [alpha] unrecognizable insn (set (reg:V4HI) (const_vector:V4HI)) with builtins

2005-01-18 Thread falk at debian dot org
gcc version 4.0.0 20050116 (experimental)

% gcc -O2 fbmmx.c -c -c
fbmmx.c: In function 'fbCompositeSolid_nxmmx':
fbmmx.c:56: error: unrecognizable insn:
(insn 332 125 128 3 (set (reg:V4HI 4 $4)
(const_vector:V4HI [
(const_int 255 [0xff])
(const_int 255 [0xff])
(const_int 255 [0xff])
(const_int 255 [0xff])
])) -1 (nil)
(nil))
fbmmx.c:56: internal compiler error: in extract_insn, at recog.c:2020
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.

I'm not quite sure why this happens. Maybe the builtin folding from PR 18836
would help, but I'm too tired to try right now...

-- 
   Summary: [alpha] unrecognizable insn (set (reg:V4HI)
(const_vector:V4HI)) with builtins
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P2
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: falk at debian dot org
CC: gcc-bugs at gcc dot gnu dot org,rth at gcc dot gnu dot
org
 GCC build triplet: alphaev68-unknown-linux-gnu
  GCC host triplet: alphaev68-unknown-linux-gnu
GCC target triplet: alphaev68-unknown-linux-gnu


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


[Bug bootstrap/19517] New: --enable-languages=c,ada enables Ada twice, and possibly breaks gcc/options.h in the build directory

2005-01-18 Thread bauhaus at futureapps dot de
In a fresh directory, I did

../src/gcc/configure --prefix=/opt/GCC/4-01 \
  --disable-nls \
  --enable-languages=ada,c

This gives
...
checking for MPFR... yes
The following languages will be built: c,ada,ada
*** This configuration is not supported in the following subdirectories:
...

Note the duplication of "ada".
Might this have to do with the new_enable_languages
in configure?

make boostrap builds a stage1 compiler. The stage1 compiler
stops with an error, in options.h.
In options.h, CL_Ada is defined twice:

#define CL_Ada(1 << 0)
#define CL_Ada(1 << 1)
#define CL_C  (1 << 2)
#define CL_CXX(1 << 3)
#define CL_ObjC   (1 << 4)
#define CL_ObjCXX (1 << 5)

There is a repeated warning during the build of the
stage1 compiler. As warnings are treated as errors later,
this (luckily?) stops the build process.

(options.h announces to have been generated by opts.sh,
which I couldn't find. Is that o.K.?)

CC is gcc-3.4.2 on Debian testing, with Ada enabled.

-- 
   Summary: --enable-languages=c,ada enables Ada twice, and possibly
breaks gcc/options.h in the build directory
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bauhaus at futureapps dot de
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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


[Bug target/19293] avr-gcc crashes when using shifts with negative shift count

2005-01-18 Thread bjoern dot m dot haase at web dot de

--- Additional Comments From bjoern dot m dot haase at web dot de  
2005-01-18 23:27 ---
Hi, 
 
I have just stepped over a patch suggested by Bernardo Innocenti in order to 
treat the case of "shift_count == 0" correctly. My presently suggested 
patch (above) only treats the case of negative shift counts.  
I did not realize that the case of "0" also is buggy. 
 
So for treating the shifting problem comprehensively, one should combine both. 
This could be done by replacing the checks for  "< 0" in my patch by checks 
for "<= 0". 
 
Yours, 
 
Björn 
  

-- 


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


[Bug middle-end/19515] [4.0 Regression] Violation of C99 6.7.8 §21

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-18 
23:23 ---
Hmm, the gimplifier is messing up (again, there was another bug like this).
Here is the reduced testcase which shows the problem:
typedef union {
  char a2[8];
}aun;

void abort (void);

int main(void)
{
  aun a = {{0}};

  if (a.a2[2] != 0)
abort ();
  return 0;
}


-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-01-18 23:23:00
   date||


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


[Bug pending/19514] bogus warning about complex "integer" types from typedef

2005-01-18 Thread stevenj at fftw dot org

--- Additional Comments From stevenj at fftw dot org  2005-01-18 23:15 
---
Subject: Re:  bogus warning about complex "integer" types
 from typedef

Okay, I guess I see what you mean.  "double" in "double _Complex" is 
arguably not a "type", but rather a type-specifier as defined in 6.7.2, 
and the "each list of type-specifiers shall be one of the following sets",
a prescribed list of combinations that does not include typedefs.

What an annoyance; one has to define R via the preprocessor, then, in 
order to use consistent floating-point precisions everywhere in a program.


-- 


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


[Bug middle-end/19515] [4.0 Regression] Violation of C99 6.7.8 §21

2005-01-18 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-01-18 
23:12 ---
> This is a midde-end problem  (investing further)
> but we end up with an empty CONSTRUTOR and the middle-end is not expanding it
> correctly for the union.

Right, the 3.4.x back-end used to zero the whole aggregate if the constructor
was lacking elements.

And this is really critical according to the criterion.

-- 
   What|Removed |Added

   Severity|normal  |critical


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


[Bug middle-end/19515] [4.0 Regression] Violation of C99 6.7.8 §21

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-18 
23:06 ---
This is a midde-end problem  (investing further)
but we end up with an empty CONSTRUTOR and the middle-end is not expanding it 
correctly for the 
union.

-- 
   What|Removed |Added

   Severity|critical|normal
  Component|c   |middle-end
   Keywords||wrong-code
   Target Milestone|--- |4.0.0


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


[Bug pending/19514] bogus warning about complex "integer" types from typedef

2005-01-18 Thread stevenj at fftw dot org

--- Additional Comments From stevenj at fftw dot org  2005-01-18 22:56 
---
Subject: Re:  bogus warning about complex "integer" types
 from typedef

On Tue, 18 Jan 2005, joseph at codesourcery dot com wrote:
>> typedef double R;
>> typedef R _Complex C;
>
> This is not valid code; you can't use _Complex together with a typedef,
> only together with "float", "double" or "long double" in one of the forms
> listed in C99.

My copy of the C99 draft standard states (sec. 6.7.7):

"A typedef declaration does not introduce a new type, only a
 synonym for the type so specified."

According to this, "R complex" should be a synonym for "double complex", 
and therefore should be valid code.  What justification do you have for 
claiming otherwise?


-- 


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


[Bug pending/19514] bogus warning about complex "integer" types from typedef

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-18 
22:52 ---
Invalid based on JSM's comment.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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


[Bug c/19513] [IMA] High memory usage when compiling multiple files at a time

2005-01-18 Thread ch at csh-consult dot dk

--- Additional Comments From ch at csh-consult dot dk  2005-01-18 22:32 
---
Yes I have, but I was lazy and wrote it in C#. I've put them up for download 
here: http://212.242.245.122/100files.tar.gz (2.5MB)
There is also the command to invoke gcc (run.bat)
No -O flag is used.


-- 


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


[Bug tree-optimization/19507] missed tree-optimization

2005-01-18 Thread rguenth at tat dot physik dot uni-tuebingen dot de

--- Additional Comments From rguenth at tat dot physik dot uni-tuebingen 
dot de  2005-01-18 22:29 ---
Done. PR19516.

-- 


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


[Bug tree-optimization/19516] New: missed optimization

2005-01-18 Thread rguenth at tat dot physik dot uni-tuebingen dot de
Actually a side-bug of 19507.  The testcase

void bar(void);

void foo(const _Bool *flag)
{
if (*flag)
bar();
if (*flag)
bar();
}

Should be transformed to (at the tree level):

if (!*flag)
   return;
bar();
if (*flag)
   bar();

this is only done at the RTL level at the moment.

Andrew Pinski reports this works, if we exchange _Bool
for int/short/char.

-- 
   Summary: missed optimization
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at tat dot physik dot uni-tuebingen dot de
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug pending/19514] bogus warning about complex "integer" types from typedef

2005-01-18 Thread joseph at codesourcery dot com

--- Additional Comments From joseph at codesourcery dot com  2005-01-18 
22:20 ---
Subject: Re:  New: bogus warning about complex "integer"
 types from typedef

On Tue, 18 Jan 2005, gcc-bugzilla at gcc dot gnu dot org wrote:

> When compiling the following two lines:
> 
> typedef double R;
> typedef R _Complex C;

This is not valid code; you can't use _Complex together with a typedef, 
only together with "float", "double" or "long double" in one of the forms 
listed in C99.

The misleading diagnostic is a bug, which has been fixed in mainline: you 
now get the error

t.c:2: error: two or more data types in declaration specifiers



-- 


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


[Bug c/19515] New: [4.0 Regression] Violation of C99 6.7.8 §21

2005-01-18 Thread ebotcazou at gcc dot gnu dot org
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long long upad64_t;

typedef struct _pthread_mutex {
struct {
uint16_t__pthread_mutex_flag1;
uint8_t __pthread_mutex_flag2;
uint8_t __pthread_mutex_ceiling;
uint16_t__pthread_mutex_type;
uint16_t__pthread_mutex_magic;
} __pthread_mutex_flags;
union {
struct {
uint8_t __pthread_mutex_pad[8];
} __pthread_mutex_lock64;
struct {
uint32_t __pthread_ownerpid;
uint32_t __pthread_lockword;
} __pthread_mutex_lock32;
upad64_t __pthread_mutex_owner64;
} __pthread_mutex_lock;
upad64_t __pthread_mutex_data;
} pthread_mutex_t; 

void foo(void)
{
   pthread_mutex_t tmp =  {{0, 0, 0, 0, 0x4d58}, {{{0}}}, 0};
}


On SPARC64 at -O0:

sth %g0, [%fp+2007]
stb %g0, [%fp+2009]
stb %g0, [%fp+2010]
sth %g0, [%fp+2011]
sethi   %hi(19456), %g1
or  %g1, 344, %g1
sth %g1, [%fp+2013]
stb %g0, [%fp+2015]
stx %g0, [%fp+2023]


On AMD64 at -O0:

movw$0, -32(%rbp)
movb$0, -30(%rbp)
movb$0, -29(%rbp)
movw$0, -28(%rbp)
movw$19800, -26(%rbp)
movb$0, -24(%rbp)
movq$0, -16(%rbp)


Note the 'b' on the last but one line in both cases: __pthread_mutex_pad is not
initialized according to the ISO C99 rules.  This is critical on Solaris 64-bit
as it affects POSIX thread support.

The C++ and Objective-C compilers are also affected.

-- 
   Summary: [4.0 Regression] Violation of C99 6.7.8 §21
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ebotcazou at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: *-*-*
  GCC host triplet: *-*-*
GCC target triplet: *-*-*


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


[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.

2005-01-18 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-01-18 
22:05 ---
Subject: Bug 13470

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-3_4-branch
Changes by: [EMAIL PROTECTED]   2005-01-18 22:05:08

Modified files:
gcc/ada: ChangeLog a-stunau.adb 

Log message:
PR ada/13470
* a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
set to the new string.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.428.2.15&r2=1.428.2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-stunau.adb.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.5&r2=1.5.10.1



-- 


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


[Bug ada/19456] [4.0 regression] ada bootstrap failure on alpha-linux

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-18 
22:03 ---
Can you try it now that PR 13470 is fixed on the mainline?

-- 


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


[Bug pending/19514] New: bogus warning about complex "integer" types from typedef

2005-01-18 Thread gcc-bugzilla at gcc dot gnu dot org
NOTE: Defaulting component because reported component no longer exists

When compiling the following two lines:

typedef double R;
typedef R _Complex C;

with the flags -std=c99 -pedantic, gcc gives the bogus warning:

foo.c:2: warning: ISO C does not support complex integer types

(Code based on the above definitions seems to work, however.)

Environment:
System: Linux ab-initio 2.4.25 #1 SMP Fri Jul 9 17:11:47 EDT 2004 i686 unknown
Architecture: i686


host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../configure --prefix=/usr/local/gcc-3.4 
--enable-languages=c,c++,f77

How-To-Repeat:
Create a file foo.c with the above two lines, and compile with
gcc -std=c99 -pedantic -c foo.c
--- Additional Comments From stevenj at ab-initio dot mit dot edu  
2005-01-18 22:02 ---
Fix:
Simply ignoring the warning seems to work okay.

-- 
   Summary: bogus warning about complex "integer" types from typedef
   Product: gcc
   Version: 3.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: pending
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: stevenj at ab-initio dot mit dot edu
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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


[Bug c/19513] [IMA] High memory usage when compiling multiple files at a time

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-18 
22:02 ---
Do you have a program which generates those files?
Also is this at -O0 or -O2?

-- 
   What|Removed |Added

   Keywords||memory-hog
Summary|High memory usage when  |[IMA] High memory usage when
   |compiling multiple files at |compiling multiple files at
   |a time  |a time


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


[Bug tree-optimization/19507] missed tree-optimization

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-18 
22:00 ---
(In reply to comment #4)
> Subject: Re:  missed tree-optimization
> 
> this is done at RTL level, but not at tree level.  I should file a 
> separate bug for this one, really.
Yes because if we change flag to be int/short/char it works which is a little 
werid.

-- 


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


[Bug ada/13470] 64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.

2005-01-18 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-01-18 
22:00 ---
Subject: Bug 13470

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-01-18 22:00:13

Modified files:
gcc/ada: ChangeLog a-stunau.adb 

Log message:
PR ada/13470
* a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
set to the new string.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gcc&r1=1.626&r2=1.627
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/a-stunau.adb.diff?cvsroot=gcc&r1=1.5&r2=1.6



-- 


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


[Bug c/19513] New: High memory usage when compiling multiple files at a time

2005-01-18 Thread ch at csh-consult dot dk
Passing 250 or so files from a larger software project (about 3MB of 
sourcecode) to gcc at a time makes gcc use more than 400MB of memory. Possible 
more as I had to stop the compilation.

I created a much simpler example. 100 equal .c files each containing:

static void mainX() {}

where X varies from 1 to 1. This gives me a slightly different behaviour. 
Compiling only one of the files consumes about 60MB memory. Compiling all of 
the 100 files consumes up to 142MB of memory. Then gcc crashes.

If I'm understanding how gcc compiles multiple files at the same time 
correctly, then gcc should release most of the memory used for compiling one 
file before it begins compiling the next. Is this correct? If so, then I would 
expect overall memory usage during compilation of the 100 equal .c files to be 
not much more than 60MB.


Reading specs from C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=
mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable
-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --e
nable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-ja
va-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchroniz
ation --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.2 (mingw-special)

Let me know if you need more information.

-- 
   Summary: High memory usage when compiling multiple files at a
time
   Product: gcc
   Version: 3.4.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ch at csh-consult dot dk
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i386-pc-mingw32
  GCC host triplet: i386-pc-mingw32
GCC target triplet: i386-pc-mingw32


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


[Bug target/19511] [4.0 Regression] ICE in in reload_cse_simplify_operands, at postreload.c:391

2005-01-18 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-18 
21:52 ---
(In reply to comment #4)
> Confirmed, reduced testcase (20 lines :) ):
One more thing, the options to reproduce this with a normaly compiled compiler:
-march=pentium3 -O1 -m32

-- 


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


[Bug libgcj/19512] Optional JNI error checking

2005-01-18 Thread mark at gcc dot gnu dot org

--- Additional Comments From mark at gcc dot gnu dot org  2005-01-18 21:51 
---
Some other things that could be checked:

- Using wrongly formatted JNI descriptor strings in
Get[Static](Field|Method)ID() (note '.' is not allowed, must be '/').
- Using a JNIEnv in another thread.
- LocalReferences that are used after a native method returns.
- Leaking strings/chars gotten from GetString(UTF)Chars (or
JCL_jstring_to_cstring  in libclasspath)
- Using non-existing Field or Method ids

-- 


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


[Bug libstdc++/19510] [4.0 regression] Warning using list iterators

2005-01-18 Thread pcarlini at suse dot de

--- Additional Comments From pcarlini at suse dot de  2005-01-18 21:50 
---
> So the patch is ABI-neutral.

Great! (many thanks for the interesting explanation, Gaby)
Therefore, if Volker is willing to regtest the complete fix and post it...

P.S. Too bad that only -O3 triggers the warning.


-- 


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


[Bug libstdc++/19510] [4.0 regression] Warning using list iterators

2005-01-18 Thread gdr at integrable-solutions dot net

--- Additional Comments From gdr at integrable-solutions dot net  
2005-01-18 21:46 ---
Subject: Re:  [4.0 regression] Warning using list iterators

"pcarlini at suse dot de" <[EMAIL PROTECTED]> writes:

| > I think your patch is OK and should be applied.
| 
| First blush, I agree. Is it 100% safe wrt the ABI? (I remember tricky details
| only about copy constructor and assignment, actually)

Careless addition of constructors or destructors can indeed change an ABI.

However in the specific case at hand,  the addition is that of a
non-copy default constructor whose only potential impact is that
of changing a POD to non-POD.  However, both _List_iterator and
_List_const_iterator are already non-POD as they have a constructor to
convert from a _List_node_base*.

So the patch is ABI-neutral.

-- Gaby


-- 


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


[Bug debug/16261] [3.4 regression] ICE: output_die, at dwarf2out.c:6628

2005-01-18 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-01-18 
21:41 ---
Patch applied.


-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Bug middle-end/18887] [4.0 Regression] libgcc2.h Improperly determines required built-in function size requirements.

2005-01-18 Thread bjoern dot m dot haase at web dot de

--- Additional Comments From bjoern dot m dot haase at web dot de  
2005-01-18 21:40 ---
Indeed the problem seems to be related to a problem during the reload pass. I 
now think, that I have found a solution for the original problem that needs a 
tiny change in the back-end. 
 
DJ Delorie wrote me: 
 
>avr bug - GENERAL_REGS allows $r24 to contain a DImode, but you cannot 
>access the 5th byte of it via a subreg, because HARD_REGNO_MODE_OK 
>doesn't permit QImodes in $r29.  This disqualifies GENERAL_REGS. 
 
Since anyway any useful function using long longs will require the frame 
pointer, there is (in my opinion) no use for DI objects in the upper register 
range. The following patch restricts DI objects to registers with smaller 
indices. When using this patch, I succeed in building the gcc-4.0.0 snapshot 
dating from the 12th of december 04 without problems. This snapshot previously 
did not compile with the symptoms mentioned above. 
 
For a later head revision, unfortunately something else and independent seems 
to be broken. I'll check today's head this evening and report on this, as soon 
as I have analyzed this more in detail. 
 
Patch that needs to be applied to /gcc/config/avr/avr.c 
Reported differences are differences against the 4.0.0-20041212 snapshot. 
 
--- avr.c.old   2005-01-18 22:24:44.942273520 +0100 
+++ avr.c.new   2005-01-18 22:19:19.0 +0100 
@@ -5116,40 +5116,47 @@ 
register number REGNO.  On the enhanced core, anything larger than 
1 byte must start in even numbered register for "movw" to work 
(this way we don't have to check for odd registers everywhere).  */ 
  
 int 
 avr_hard_regno_mode_ok (int regno, enum machine_mode mode) 
 { 
   /* Bug workaround: recog.c (peep2_find_free_register) and probably 
  a few other places assume that the frame pointer is a single hard 
  register, so r29 may be allocated and overwrite the high byte of 
  the frame pointer.  Do not allow any value to start in r29.  */ 
   if (regno == REG_Y + 1) 
 return 0; 
  
   /* Reload can use r28:r29 for reload register and for frame pointer 
in one insn. It's wrong. We must disable it.  */ 
   if (mode != Pmode && reload_in_progress && frame_pointer_required_p () 
   && regno <= REG_Y && (regno + GET_MODE_SIZE (mode)) >= (REG_Y + 1)) 
 return 0; 
  
+  if (mode == DImode) 
+   { if ( (regno < 20) && (!(regno & 1)) )  
+  return 1; 
+ else 
+  return 0; 
+   } 
+ 
   if (mode == QImode) 
 return 1; 
   /*  if (regno < 24 && !AVR_ENHANCED) 
   return 1;*/ 
   return !(regno & 1); 
 } 
  
 /* Returns 1 if X is a valid address for an I/O register of size SIZE 
(1 or 2).  Used for lds/sts -> in/out optimization.  Add 0x20 to SIZE 
to check for the lower half of I/O space (for cbi/sbi/sbic/sbis).  */ 
  
 int 
 avr_io_address_p (rtx x, int size) 
 { 
   return (optimize > 0 && GET_CODE (x) == CONST_INT 
  && INTVAL (x) >= 0x20 && INTVAL (x) <= 0x60 - size); 
 } 
  
 /* Returns nonzero (bit number + 1) if X, or -X, is a constant power of 2.  */ 
  

-- 


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


  1   2   3   >