../gcc-4.2.2/libstdc++-v3/configure can't determine version of ld 2.18

2008-01-10 Thread Yevgeniy Litvinenko
Hello,

I have binutils 2.18
   $ ld --version
   GNU ld (GNU Binutils) 2.18
   ...

But during compilation I get following:

configure: WARNING: === Linker version 1800 is too old for
configure: WARNING: === full symbol versioning support in this release of GCC.
configure: WARNING: === You would need to upgrade your binutils to version
configure: WARNING: === 21400 or later and rebuild GCC.
configure: WARNING: === Symbol versioning will be disabled.

I've found out that in two configure scripts linker version is
determined with following regexp:

../gcc-4.2.2/libstdc++-v3/configure (this script contains a few similar lines 
with linker definition)
ldver=`$LD --version 2/dev/null | head -1 | \
   sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) 
\)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`

../gcc-4.2.2/libgomp/configure
ldver=`$LD --version 2/dev/null | head -1 | \
   sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) 
\)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`

That regexps are incorrect for ld 2.18.

I think it is better to use following regexp:
  ldver=`$LD --version 2/dev/null | head -1 | sed -e 's/GNU .* 
\([0-9][0-9.]*\)[. ]*$/\1/'`

or to be stricter and handle only ld:
  ldver=`$LD --version 2/dev/null | head -1 | sed -e 's/GNU ld .* 
\([0-9][0-9.]*\)[. ]*$/\1/'`

It takes last word that starts and ends with digit and consist of digits and 
dots.
And this (first example) regexp can be applied to many GNU programs (as, ar, 
nm, etc)

Best regards.
~
Yevgeniy Litvinenko
~



[Bug rtl-optimization/34628] [4.2/4.3 Regression] problems with inlining on ARM

2008-01-10 Thread ebotcazou at gcc dot gnu dot org


--- Comment #11 from ebotcazou at gcc dot gnu dot org  2008-01-10 14:03 
---
Created an attachment (id=14907)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14907action=view)
Lightly tested fix.

I'll give it a whirl on IA-64 but it would be nice to test it on ARM too.


-- 


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



[Bug fortran/34721] Output statements fool the -Wuninitialized option

2008-01-10 Thread manu at gcc dot gnu dot org


--- Comment #1 from manu at gcc dot gnu dot org  2008-01-10 14:07 ---
This is an example that shows that small differences in code lead to quite
different SSA representations. Without print we have a PHI node, where one of
the operands is the uninitialized value, so we warn. However, with the print
statement, we don't generate such PHI node, so we don't warn:

* With the print statement:

  # BLOCK 7, starting at line 5
  # PRED: 5 (false) 6 (fallthru)
  # STORES:  { dt_parm.5D.883 }
  [pr34721.f90 : 5] dt_parm.5D.883.commonD.821.filenameD.743 ={v}
pr34721.f90[1]{lb: 1 sz: 1};
  # STORES:  { dt_parm.5D.883 }
  [pr34721.f90 : 5] dt_parm.5D.883.commonD.821.lineD.744 ={v} 5;
  # STORES:  { dt_parm.5D.883 }
  [pr34721.f90 : 5] dt_parm.5D.883.commonD.821.flagsD.741 ={v} 128;
  # STORES:  { dt_parm.5D.883 }
  [pr34721.f90 : 5] dt_parm.5D.883.commonD.821.unitD.742 ={v} 6;
  [pr34721.f90 : 5] _gfortran_st_write (dt_parm.5D.883);
  [pr34721.f90 : 5] _gfortran_transfer_integer (dt_parm.5D.883, nD.872, 4); 
== PASSED BY REFERENCE!!
  [pr34721.f90 : 5] _gfortran_st_write_done (dt_parm.5D.883);
  # LOADS:  { nD.872 }
  [pr34721.f90 : 6] D.884_31 = nD.872;= NO PHI NODE!!
  [pr34721.f90 : 6] iD.871_32 = 1;
  [pr34721.f90 : 6] if (iD.871_32 = D.884_31)
goto bb 8;
  else
goto bb 9;
  # SUCC: 8 (true) 9 (false)

* Without the print statement

  # BLOCK 7, starting at line 6
  # PRED: 5 (false) 6 (fallthru)
  # nD.872_2 = PHI nD.872_26(D)(5), nD.872_32(6)   == PHI NODE WITH
UNINITIALIZED VALUE!!
  [pr34721.f90 : 6] D.883_33 = nD.872_2;
  [pr34721.f90 : 6] iD.871_34 = 1;
  [pr34721.f90 : 6] if (iD.871_34 = D.883_33)
goto bb 8;
  else
goto bb 9;
  # SUCC: 8 (true) 9 (false)


I have no idea why print generates loads/stores but if the variable is passed
by reference to a function, it is very risky to warn, since the function may
initialize the variable.


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||manu at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-01-10 14:07:44
   date||


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



[Bug tree-optimization/34651] [4.3 Regression] ICE in set_value_range, at tree-vrp.c:321

2008-01-10 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2008-01-10 14:28 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/34651] [4.3 Regression] ICE in set_value_range, at tree-vrp.c:321

2008-01-10 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2008-01-10 14:29 ---
Subject: Bug 34651

Author: rguenth
Date: Thu Jan 10 14:28:40 2008
New Revision: 131442

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131442
Log:
2008-01-10  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/34651
* tree-sra.c (sra_build_assignment): Sanitize.  Use the correct
types and ordering for masking and converting.

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

Added:
trunk/gcc/testsuite/g++.dg/torture/pr34651.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-sra.c


-- 


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



[Bug fortran/34729] New: Localization of run-time error messages, written into the executable

2008-01-10 Thread burnus at gcc dot gnu dot org
I saw that gfortran writes (at least sometimes) a localized run-time error
message:

_gfortran_runtime_error (Attempt to allocate a negative amount of
memory.[1]{lb: 1 sz: 1});
_gfortran_os_error (Memory allocation failed[1]{lb: 1 sz: 1});

becomes then (LANG=de_DE.UTF-8):

_gfortran_runtime_error (Versuch, einen negativen Betrag von Speicher zu
r[1]{lb: 1 sz: 1});
_gfortran_os_error (Speicherreservierung gesc[1]{lb: 1 sz: 1});

The first string should be:
Versuch, einen negativen Betrag von Speicher zu reservieren.
and the second
Speicherreservierung gescheitert
one sees that the strings are truncated.

Expected:
Either the localized message should not be truncated - or the English version
of the string should be used throughout.


-- 
   Summary: Localization of run-time error messages, written into
the executable
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine

2008-01-10 Thread jakub at gcc dot gnu dot org


--- Comment #9 from jakub at gcc dot gnu dot org  2008-01-10 14:50 ---
http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00404.html
http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00408.html


-- 


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



[Bug tree-optimization/34683] [4.3 Regression] SSA rewriting in the loop unroller causes quadratic behavior

2008-01-10 Thread rguenth at gcc dot gnu dot org


--- Comment #38 from rguenth at gcc dot gnu dot org  2008-01-10 14:36 
---
Created an attachment (id=14908)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14908action=view)
hack to disable rewriting of VOPs

I tried to change the unroller doing only SSA_NAME replacement update after
each unrolling and leave rewriting the virtual operands to after the whole
pass but either I messed up or this even makes it worse ;)  See the prototype
hack.


-- 


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



[Bug tree-optimization/34683] [4.3 Regression] SSA rewriting in the loop unroller causes quadratic behavior

2008-01-10 Thread rguenth at gcc dot gnu dot org


--- Comment #39 from rguenth at gcc dot gnu dot org  2008-01-10 15:01 
---
Hmm, looks I was compeltely wrong about the cause of the slowdown.  We actually
run cfg_cleanup after cunroll and merge blocks like

 BB1
   ...

 BB2
   # SFT.1_2 = PHI SFT.1_1 (BB1)
   ...
   # SFT.1000_2 = PHI SFT.1000_1 (BB1)

   # SFT.1_3 = VDEF SFT.1_2
   ...
   # SFT.1000_3 = VDEF SFT.1_2
   *mem = x;

and in merging the blocks we do (tree_merge_blocks):

  /* Remove all single-valued PHI nodes from block B of the form
 V_i = PHI V_j by propagating V_j to all the uses of V_i.  */ 
  for (phi = phi_nodes (b); phi; phi = phi_nodes (b))
{
...
  replace_uses_by (def, use);
  remove_phi_node (phi, NULL, true);

BUT!  replace_uses_by will for _each_ phi-node we replace its uses update
the target stmt!  And fold it!  We can do better with VOPs

Preparing a patch.


-- 


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



[Bug rtl-optimization/30957] Misscompare with variable expansion optimization

2008-01-10 Thread eres at il dot ibm dot com


--- Comment #14 from eres at il dot ibm dot com  2008-01-10 15:05 ---
-fassociative-math and -fsigned-zeros flags can not co-exist.
I guess this testcase should be removed.


-- 


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



[Bug fortran/34721] Output statements fool the -Wuninitialized option

2008-01-10 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2008-01-10 15:08 ---
Related to PR 31094, PR 31279, and PR 23169.


-- 


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



[Bug libstdc++/34730] New: Legal program doesn't compile with -D_GLIBCXX_DEBUG

2008-01-10 Thread dominik dot strasser at onespin-solutions dot com
The attached C++ source is AFAICS legal C++.
However it doesn't compile with the debug libstdc++, as the debug code assumes
that each given set can be compared with the passed compare operator.


-- 
   Summary: Legal program doesn't compile with -D_GLIBCXX_DEBUG
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dominik dot strasser at onespin-solutions dot com
 GCC build triplet: x86_64-redhat-linux
  GCC host triplet: x86_64-redhat-linux
GCC target triplet: x86_64-redhat-linux


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



[Bug libstdc++/34730] Legal program doesn't compile with -D_GLIBCXX_DEBUG

2008-01-10 Thread dominik dot strasser at onespin-solutions dot com


--- Comment #1 from dominik dot strasser at onespin-solutions dot com  
2008-01-10 15:28 ---
Created an attachment (id=14909)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14909action=view)
Source code showing the problem


-- 


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



[Bug tree-optimization/34683] [4.3 Regression] SSA rewriting in the loop unroller causes quadratic behavior

2008-01-10 Thread rguenth at gcc dot gnu dot org


--- Comment #40 from rguenth at gcc dot gnu dot org  2008-01-10 15:32 
---
After you fix this, we're back to SCCVN is slow with lots of virtual operands.
For -O2 (which appearantly is the worst case) we now have the following
profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self  self total   
 time   seconds   secondscalls   s/call   s/call  name
 10.33  3.08 3.08 313563133 0.00 0.00  VN_INFO
  8.85  5.72 2.64  365 0.01 0.04  DFS
  7.17  7.86 2.14 96368081 0.00 0.00  iterative_hash_expr
  5.77  9.58 1.72   472085 0.00 0.00  valueize_vuses
  5.43 11.20 1.62   216407 0.00 0.00  visit_reference_op_store
  4.93 12.67 1.47  2093493 0.00 0.00  ggc_alloc_stat
  3.15 13.61 0.94 17042636 0.00 0.00  set_bb_for_stmt
  2.63 14.40 0.79  2442685 0.00 0.00  add_vars_for_offset
  1.74 14.92 0.52 operand_build_cmp
  1.54 15.38 0.46   226140 0.00 0.00  shared_vuses_from_stmt
  1.48 15.82 0.44   245792 0.00 0.00  vn_reference_lookup
  1.27 16.20 0.38  5272581 0.00 0.00  mark_all_vars_used_1
  1.24 16.57 0.37 16115332 0.00 0.00  bitmap_set_bit
  1.14 16.91 0.34   58 0.01 0.02  remove_unused_locals
  1.14 17.25 0.34  6878571 0.00 0.00  htab_find_slot_with_hash
  1.04 17.56 0.31  4286747 0.00 0.00  add_virtual_operand
  1.04 17.87 0.31   255362 0.00 0.00  vec_gc_o_reserve_1
...


-- 


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



[Bug target/34299] [avr] ICE on function attribute syntax for main()

2008-01-10 Thread j at uriah dot heep dot sax dot de


--- Comment #3 from j at uriah dot heep dot sax dot de  2008-01-10 15:56 
---
Some bugs appear to re-appear. :-(

While I get

__attribute__((naked))
int main(void)
{
  // ...
   return 42;
}

to compile with the current compiler, the following piece of code:

__attribute__((signal, naked))
void __vector_42(void)
{
   static unsigned char x;

   x++;
}

still triggers the ICE:

% avr-gcc -mmcu=attiny2313 -S foo.c
foo.c:3: internal compiler error: in start_function, at c-decl.c:6177


-- 


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



[Bug middle-end/31094] Support annotating function parameters as read-only and/or non-escaping

2008-01-10 Thread manu at gcc dot gnu dot org


--- Comment #2 from manu at gcc dot gnu dot org  2008-01-10 15:38 ---
Isn't this similar to 

include stdio.h
main()
{
 char foo[10];
 printf(%s, foo);
}

and other functions that we know for sure don't modify their arguments. It
seems a missed optimisation not only for Fortran.


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||manu at gcc dot gnu dot org


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



[Bug middle-end/31094] Support annotating function parameters as read-only and/or non-escaping

2008-01-10 Thread manu at gcc dot gnu dot org


--- Comment #3 from manu at gcc dot gnu dot org  2008-01-10 15:40 ---
Actually, that is for Wuninitialized. For a missed optimisation:

#include stdio.h
char foo()
{
  char str[] = Hola;

  char c;

  printf(%s, str);
  c = str[0];
  return c;
}


-- 


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



[Bug libstdc++/34730] Legal program doesn't compile with -D_GLIBCXX_DEBUG

2008-01-10 Thread pcarlini at suse dot de


--- Comment #2 from pcarlini at suse dot de  2008-01-10 15:59 ---
Interesting. I agree the code is legal, on the other hand, we want to check the
required ordering... Would it be ok to you to have the check moved to
_GLIBCXX_DEBUG_PEDANTIC??


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pcarlini at suse dot de
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-01-10 15:59:22
   date||


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



[Bug libstdc++/34730] Legal program doesn't compile with -D_GLIBCXX_DEBUG

2008-01-10 Thread pcarlini at suse dot de


--- Comment #3 from pcarlini at suse dot de  2008-01-10 16:10 ---
Hi Doug. As the main author of our debug-mode, I'd like to know your opinion
about this issue... On one hand, in the actual algorithm we are not comparing
values from the same range, on the other hand, clearly the specifications
require ordering, thus we may want to check it...


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 CC||doug dot gregor at gmail dot
   ||com


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



[Bug target/34641] [4.3 Regression] ICE in reload_cse_simplify_operands, at postreload.c:395

2008-01-10 Thread krebbel at gcc dot gnu dot org


--- Comment #6 from krebbel at gcc dot gnu dot org  2008-01-10 16:47 ---
Subject: Bug 34641

Author: krebbel
Date: Thu Jan 10 16:46:26 2008
New Revision: 131445

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131445
Log:
2008-01-10  Andreas Krebbel  [EMAIL PROTECTED]

PR middle-end/34641
* reload.c (push_reload): Add assertions.  All constants from
reg_equiv_constant should have been used for replacing the respective
pseudo earlier.
(find_reloads_address): Invoke find_reloads_address_part for
constant taken from the reg_equiv_constant array.

2008-01-10  Andreas Krebbel  [EMAIL PROTECTED]

PR middle-end/34641
* g++.dg/torture/pr34641.C: New testcase.


Added:
trunk/gcc/testsuite/g++.dg/torture/pr34641.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/reload.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/34683] [4.3 Regression] SSA rewriting in the loop unroller causes quadratic behavior

2008-01-10 Thread rguenth at gcc dot gnu dot org


--- Comment #41 from rguenth at gcc dot gnu dot org  2008-01-10 16:59 
---
Subject: Bug 34683

Author: rguenth
Date: Thu Jan 10 16:59:06 2008
New Revision: 131446

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131446
Log:
2008-01-10  Richard Guenther  [EMAIL PROTECTED]

PR middle-end/34683
* tree-cfg.c (tree_merge_blocks): Do not go through the
full-blown folding and stmt updating path if we just deal
with virtual operands.
* tree-ssa-copy.c (may_propagate_copy): Do not short-cut
test for abnormal SSA_NAMEs.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-cfg.c
trunk/gcc/tree-ssa-copy.c


-- 


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



[Bug tree-optimization/34683] SSA rewriting in the loop unroller causes quadratic behavior

2008-01-10 Thread rguenth at gcc dot gnu dot org


--- Comment #43 from rguenth at gcc dot gnu dot org  2008-01-10 17:05 
---
Actually this is not a regression against a released compiler, as both the
4.1 and the 4.2 branches ICE for this testcase:

gfortran-4.2 -S -o /dev/null t.f90 -O -fstrict-aliasing
t.f90: In function 'ampli':
t.f90:83: internal compiler error: in gfc_trans_array_constructor, at
fortran/trans-array.c:1466
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://bugs.opensuse.org for instructions.

so, can we declare this as fixed (the huge number of VOPs we have special
PRs for)?


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.3 Regression] SSA|SSA rewriting in the loop
   |rewriting in the loop   |unroller causes quadratic
   |unroller causes quadratic   |behavior
   |behavior|
   Target Milestone|4.3.0   |---


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



[Bug tree-optimization/34683] [4.3 Regression] SSA rewriting in the loop unroller causes quadratic behavior

2008-01-10 Thread rguenth at gcc dot gnu dot org


--- Comment #42 from rguenth at gcc dot gnu dot org  2008-01-10 17:02 
---
This is probably all we can get for now - maybe another few % with minor
tweaks,
but nothing earth-shattering.  After all, we _do_ have a much larger IL due
to the number of VOPs not partitioned.


-- 


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



[Bug tree-optimization/34683] SSA rewriting in the loop unroller causes quadratic behavior

2008-01-10 Thread steven at gcc dot gnu dot org


--- Comment #44 from steven at gcc dot gnu dot org  2008-01-10 17:39 ---
Yes, fixed.


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug target/34299] [avr] ICE on function attribute syntax for main()

2008-01-10 Thread eric dot weddington at atmel dot com


--- Comment #4 from eric dot weddington at atmel dot com  2008-01-10 17:56 
---
(In reply to comment #3)

 __attribute__((signal, naked))
 void __vector_42(void)
 {
static unsigned char x;
 
x++;
 }
 
 still triggers the ICE:


However, if there is a function prototype, and the attributes are placed on the
prototype, there is no bug:

__attribute__((signal, naked))
void __vector_42(void);

void __vector_42(void)
{
   static unsigned char x;

   x++;
}

Is it really a bug?


-- 


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



[Bug target/34299] [avr] ICE on function attribute syntax for main()

2008-01-10 Thread eric dot weddington at atmel dot com


-- 

eric dot weddington at atmel dot com changed:

   What|Removed |Added

 Status|WAITING |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-01-10 18:07:45
   date||


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



[Bug tree-optimization/30927] tree-nested creates pointless static chains and trampolines when the callgraph is non-trivial

2008-01-10 Thread baldrick at gcc dot gnu dot org


--- Comment #8 from baldrick at gcc dot gnu dot org  2008-01-10 18:25 
---
 Your solution seems to be somewhat complex though.  Can't we get away with
 an iterative propagation algorithm for the DECL_NO_STATIC_CHAIN flag?

Yes, but it is less efficient: in the worst case the number of node
visits goes up by a factor of the nesting depth.  Since this depth
is sure to be fairly small (typically 2 or 3) this probably is of
no consequence.  I am now working on a revised patch.


-- 


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



[Bug target/34299] [avr] ICE on function attribute syntax for main()

2008-01-10 Thread steven at gcc dot gnu dot org


--- Comment #5 from steven at gcc dot gnu dot org  2008-01-10 18:05 ---
If there is an ICE, there is a bug.


-- 


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



[Bug rtl-optimization/30957] Misscompare with variable expansion optimization

2008-01-10 Thread ubizjak at gmail dot com


--- Comment #15 from ubizjak at gmail dot com  2008-01-10 18:23 ---
(In reply to comment #13)
 This testcase has an execution failure on i686-pc-linux-gnu when using
 -fpic/-fPIC.

They also fail for non-pic compilations when the testcase _really_ executes the
test:

Index: testsuite/gcc.dg/pr30957-1.c
===
--- testsuite/gcc.dg/pr30957-1.c(revision 131441)
+++ testsuite/gcc.dg/pr30957-1.c(working copy)
@@ -7,7 +7,7 @@
 extern void abort (void);
 extern void exit (int);

-float
+float __attribute__((noinline))
 foo (float d, int n)
 {
   unsigned i;


-- 


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



[Bug rtl-optimization/30957] Misscompare with variable expansion optimization

2008-01-10 Thread eres at il dot ibm dot com


--- Comment #16 from eres at il dot ibm dot com  2008-01-10 18:32 ---
This is because the test requires -fassociative-math for enabling the
variable-expansion as well as -fsigned-zeros for honor the sign of zero; but
they can not co-exist; also under -funsafe-math-optimizations.


-- 


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



[Bug middle-end/34400] [4.3 regression] bad interaction between DF and SJLJ exceptions

2008-01-10 Thread zadeck at naturalbridge dot com


--- Comment #48 from zadeck at naturalbridge dot com  2008-01-10 18:44 
---
Subject: Re:  

I do not want to commit this patch until after seongbae gets the new
node visiting sorted out.
This patch does for the rd problem what
http://gcc.gnu.org/bugzilla/attachment.cgi?id=14729
does for the live problem.  The gains on the test cases are less dramatic.

There has also been a small amount of cleanup in this patch (the rename
of *local_finalize to *finalize. 

Other issues with the patch:

The patch adds a flag for the rd problem to either trim the sets with
the lr information (as we always do with the live problem) or to leave
it as it was (setting the DF_RD_NO_TRIM flag.)

The loop optimizations need this flag since they only compute the
solution over a subset of the cfg.  The problem with using a subset is
that def that occurs inside the subset whose only use occurs outside the
subset will look dead if you trim the sets with the lr infomation.  This
causes the rtl loop passes, which are the only passes to still compute
dataflow over a subset of the function, to make mistakes.   If you are
computing rd over the entire program, this flag should not be set. 

There is also code in here not to consider the invalidated_by_call sets
in the confluence function unless you are do not want the sets trimmed. 
This saves a little time.  The point is that the lr problem already
considers the invalidated_by_call sets so when you trim, you get the
result of this and it is not necessary for the forwards case.

I also added a quickout if the confluence function is called on an fake
edge (as in the live confluence function).  This is a latent bug that
does not show up because the passes that use this problem currently do
not use fake edges. 

When bootstrapping this patch is a mild win in terms of time.  The main
reason for it are the really large or badly structured programs in which
it should help (see the prs).

This patch is part of at least three patches that each make headway on
these two prs.  There is still some room for more improvement so it is
not clear that these prs should close when all of these patches are
applied. 

I have at least one more idea to attack the space in 26854, but
(assuming i even do the patch before the end of stage 3), it will be up
to Mitchell to decide if that is too much code for this late date.

i have bootstrapped and regression tested this patch on x86-64, ppc-32,
ia-64.

ok for commit after seonbae gets his patch in?

kenny

2008-01-05  Kenneth Zadeck [EMAIL PROTECTED]

PR rtl-optimization/26854
PR rtl-optimization/34400
* ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
DF_RD-gen.
* df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
(df_rd_bb_info.expanded_lr_out): New.
* loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
* loop_iv.c (iv_analysis_loop_init): Ditto.
* df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
Added code to allocate, initialize or free expanded_lr_out.
(df_rd_bb_local_compute_process_def): Restructured to make
more understandable.
(df_rd_confluence_n): Add code to do nothing with fake edges and
code to no apply invalidate_by_call sets if the sets are being trimmed.
(df_lr_local_finalize): Renamed to df_lr_finalize.
(df_live_local_finalize): Renamed to df_live_finalize.


Index: ddg.c
===
--- ddg.c   (revision 131439)
+++ ddg.c   (working copy)
@@ -184,12 +184,13 @@ create_ddg_dep_from_intra_loop_link (ddg
 {
   int regno = REGNO (SET_DEST (set));
   struct df_ref *first_def;
-  struct df_rd_bb_info *bb_info = DF_RD_BB_INFO (g-bb);
+  struct df_ref *last_def;

   first_def = df_bb_regno_first_def_find (g-bb, regno);
   gcc_assert (first_def);

-  if (bitmap_bit_p (bb_info-gen, first_def-id))
+  last_def = df_bb_regno_last_def_find (g-bb, regno);
+  if (first_def == last_def)
 return;
 }
 }
Index: df.h
===
--- df.h(revision 131439)
+++ df.h(working copy)
@@ -402,22 +402,30 @@ enum df_changeable_flags 
 {
   /* Scanning flags.  */
   /* Flag to control the running of dce as a side effect of building LR.  */
-  DF_LR_RUN_DCE   =  1, /* Run DCE.  */
-  DF_NO_HARD_REGS =  2, /* Skip hard registers in RD and CHAIN
Building.  */
-  DF_EQ_NOTES =  4, /* Build chains with uses present in
EQUIV/EQUAL notes. */
-  DF_NO_REGS_EVER_LIVE=  8, /* Do not compute the regs_ever_live.  */
+  DF_LR_RUN_DCE   = 1  0, /* Run DCE.  */
+  DF_NO_HARD_REGS = 1  1, /* Skip hard registers in RD and CHAIN
Building.  */
+
+  /* Do not trim the solution using the LR result.  This can make the
+ solution take much longer and 

[Bug fortran/34396] Length of substrings defined by expressions not correctly computed in constructors

2008-01-10 Thread pault at gcc dot gnu dot org


--- Comment #9 from pault at gcc dot gnu dot org  2008-01-10 19:11 ---
Subject: Bug 34396

Author: pault
Date: Thu Jan 10 19:10:48 2008
New Revision: 131448

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131448
Log:
2008-01-10  Paul Thomas  [EMAIL PROTECTED]

PR fortran/34396
* trans-array.c (gfc_trans_array_ctor_element):  Use
gfc_trans_string_copy
to assign strings and perform bounds checks on the string length.
(get_array_ctor_strlen): Remove bounds checking.
(gfc_trans_array_constructor): Initialize string length checking.
* trans-array.h : Add prototype for gfc_trans_string_copy.

2008-01-10  Paul Thomas  [EMAIL PROTECTED]

PR fortran/34396
* gfortran.dg/bounds_check_12.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/bounds_check_12.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-array.h
trunk/gcc/fortran/trans-expr.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/34396] Length of substrings defined by expressions not correctly computed in constructors

2008-01-10 Thread pault at gcc dot gnu dot org


--- Comment #10 from pault at gcc dot gnu dot org  2008-01-10 19:13 ---
Fixed on trunk

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/30905] [4.3 Regression] Fails to cross-jump

2008-01-10 Thread steven at gcc dot gnu dot org


--- Comment #8 from steven at gcc dot gnu dot org  2008-01-10 19:18 ---
We start with a CFG that looks like this (all edges directed down):

ENTRY
|
2
|\
| \
3  5
|\  \
| \  \
7  4--6
 \   /
  \ /
   8
   |
  EXIT

where basic block 4 is a forwarder block.  Insns in blocks 6 and 7 match and
are cross-jumped, to give a new CFG:

ENTRY
|
2
|\
| \
3  5
|\  \
| \  \
|  4--6
 \   /
  \ /
   7
   |
   8
   |
  EXIT

where basic blocks 4 *and* 6 are now forwarder blocks.  try_optimize_cfg then
removes the redundant forwarders, which results in the following simpler CFG:

ENTRY
|
2
|\
3 5
|/
7
|
EXIT

where basic blocks 3 and 5 have matching insns that could be cross-jumped,
except that there is a dead (set (reg:CCZ 17 flags) (compare ...)) in the way
that the delete_trivially_dead_insns() call in cleanup_cfg() can obviously not
delete.  If that dead SET is deleted, blocks 3 and 5 are merged and we get the
same code as previous releases.

In pre-DF gcc releases, a liveness update would run a liveness update with dead
code elimination.  Copying that code from the GCC 4.2 release branch:

  /* Cleaning up CFG introduces more opportunities for dead code
 removal that in turn may introduce more opportunities for
 cleaning up the CFG.  */
  if (!update_life_info_in_dirty_blocks (UPDATE_LIFE_GLOBAL_RM_NOTES,
 PROP_DEATH_NOTES
 | PROP_SCAN_DEAD_CODE
 | PROP_KILL_DEAD_CODE
 | ((mode  CLEANUP_LOG_LINKS)
? PROP_LOG_LINKS : 0)))

I don't believe we have to aggressively delete dead code on every cleanup_cfg()
iteration.  We did plenty experiments with that on the DF branch, and running
DCE all the time just loses in the cost/benefit trade-off.  As I've noted
before, we should remove dead code when it is beneficial.

In this case, when we remove the forwarder edges and turn a conditional jump
into a non-conditional jump, we should kill the code that computes the
condition if the condition is dead at the end of the basic block.  We can do
this if we have liveness information available during cleanup_cfg().


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2007-02-21 20:59:58 |2008-01-10 19:18:34
   date||


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



[Bug c/34732] New: Optimization flag trigger unexpected crash

2008-01-10 Thread ijeukens at yahoo dot com dot br
This is the core of the problem (at comp_0.c):

...
for(j = 0;j  3;j++) {
   comp_0_fptr[j][1]();
}
...

 comp_0_fptr holds pointers to void functions. When compiling with -g,
everything works ok. Compiling with -O2, or any other, the effect that I get
is:

   comp_0_fptr[0][1]();
   comp_0_fptr[1][1]();
   comp_0_fptr[1][1]();  

   and not comp_0_fptr[2][1](); at the last statement.


-- 
   Summary: Optimization flag trigger unexpected crash
   Product: gcc
   Version: 4.1.3
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ijeukens at yahoo dot com dot br
 GCC build triplet: x86_64-linux-gnu
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


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




[Bug c/34732] Optimization flag trigger unexpected crash

2008-01-10 Thread ijeukens at yahoo dot com dot br


--- Comment #1 from ijeukens at yahoo dot com dot br  2008-01-10 19:24 
---
Created an attachment (id=14910)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14910action=view)
execution output


-- 


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



[Bug middle-end/34732] Optimization flag trigger unexpected crash

2008-01-10 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|blocker |normal
  Component|c   |middle-end


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



[Bug middle-end/34732] Optimization flag trigger unexpected crash

2008-01-10 Thread ijeukens at yahoo dot com dot br


--- Comment #2 from ijeukens at yahoo dot com dot br  2008-01-10 19:26 
---
Created an attachment (id=14911)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14911action=view)
source 1


-- 


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



[Bug middle-end/34732] Optimization flag trigger unexpected crash

2008-01-10 Thread ijeukens at yahoo dot com dot br


--- Comment #3 from ijeukens at yahoo dot com dot br  2008-01-10 19:27 
---
Created an attachment (id=14912)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14912action=view)
source 2


-- 


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



[Bug middle-end/34732] Optimization flag trigger unexpected crash

2008-01-10 Thread ijeukens at yahoo dot com dot br


--- Comment #4 from ijeukens at yahoo dot com dot br  2008-01-10 19:27 
---
Created an attachment (id=14913)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14913action=view)
source 3


-- 


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



[Bug middle-end/34732] Optimization flag trigger unexpected crash

2008-01-10 Thread ijeukens at yahoo dot com dot br


--- Comment #5 from ijeukens at yahoo dot com dot br  2008-01-10 19:28 
---
Created an attachment (id=14914)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14914action=view)
source 4 .. and last one


-- 


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



[Bug target/32895] Clobber list isn't working

2008-01-10 Thread wvangulik at xs4all dot nl


--- Comment #4 from wvangulik at xs4all dot nl  2008-01-10 19:00 ---
In 4.2.2 there is still no warning when compiling without -O.

void main(void)
{
volatile struct
{
int a, b, c, d, e, f;
} x;

x.d = 5;
asm volatile(in r28, 0x2F : : : r28);
x.d = 6;
}

Using:
avr-gcc -Wall -g -S test.c


-- 


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



[Bug libstdc++/34730] Legal program doesn't compile with -D_GLIBCXX_DEBUG

2008-01-10 Thread pcarlini at suse dot de


--- Comment #4 from pcarlini at suse dot de  2008-01-10 20:04 ---
Thinking more about this issue, probably a more sophisticated solution would be
running the checks only when the value_types are equal. I'll try to prepare
something.


-- 


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



[Bug tree-optimization/34683] SSA rewriting in the loop unroller causes quadratic behavior

2008-01-10 Thread jaydub66 at gmail dot com


--- Comment #45 from jaydub66 at gmail dot com  2008-01-10 20:14 ---
(In reply to comment #42)
 This is probably all we can get for now - maybe another few % with minor
 tweaks,
 but nothing earth-shattering.  After all, we _do_ have a much larger IL due
 to the number of VOPs not partitioned.

Well, it may not be earth-shattering, but it's still a solid improvement - of
more than a few %! With rev. 131446 I get the following numbers:

-O1 -fstrict-aliasing: 11sec, 201825 kB
-O2:   22sec, 392166 kB
-O3:   24sec, 388802 kB

Compile time is reduced by a factor of 4 for -O2, and memory usage is halved
for -O1! Nice job, Richard.

So I'd say compile time really isn't an issue any more. But memory consumption
is still a factor of 10 above what it was last year. Most of that comes from
'tree FRE' (~140MB), but all the junk in 'tree operand scan' is gone. For -O2
and -O3 another large chunk appears in 'tree PRE' (~160MB).

Are you sure you want to close this bug? For me memory consumption is still an
issue, and I would really like to see this fixed at some point. And if there is
another bug which is a duplicate of this, could you point me to it?


-- 


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



[Bug middle-end/30905] [4.3 Regression] Fails to cross-jump

2008-01-10 Thread steven at gcc dot gnu dot org


--- Comment #9 from steven at gcc dot gnu dot org  2008-01-10 20:16 ---
Created an attachment (id=14915)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14915action=view)
Fix using run_fast_dce

I see no way around running run_fast_DCE.  But at least let's try to run it
only when really necessary, and try to avoid unnecessary repetitive work if
CLEANUP_CROSSJUMP is set.


-- 


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



[Bug tree-optimization/34683] SSA rewriting in the loop unroller causes quadratic behavior

2008-01-10 Thread steven at gcc dot gnu dot org


--- Comment #46 from steven at gcc dot gnu dot org  2008-01-10 20:21 ---
See e.g. bug 27004 and bug 33974.


-- 


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



[Bug rtl-optimization/31944] [4.1/4.2/4.3 Regression] Endless loop while building a 64-bit 2.6.20 kernel

2008-01-10 Thread janis at gcc dot gnu dot org


--- Comment #22 from janis at gcc dot gnu dot org  2008-01-10 21:24 ---
Steven asked for a regression hunt, but will not be pleased by the results.  A
hunt using a hppa64-linux cross cc1 on powerpc-linux identified

http://gcc.gnu.org/viewcvs?view=revrev=81764
r81764 | dnovillo | 2004-05-13 06:41:07 + (Thu, 13 May 2004)

which is the merge of tree-ssa-20020619-branch into mainline.  If it would be
helpful I could do a hunt on that branch.


-- 


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



[Bug rtl-optimization/31944] [4.1/4.2/4.3 Regression] Endless loop while building a 64-bit 2.6.20 kernel

2008-01-10 Thread steven at gcc dot gnu dot org


--- Comment #23 from steven at gcc dot gnu dot org  2008-01-10 22:18 ---
Created an attachment (id=14916)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14916action=view)
new test case that fails before the tree-ssa merge

I made a new test case out of the .final_cleanup dump, and Janis confirmed it
hangs even before the tree-ssa merge.


-- 


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



[Bug rtl-optimization/31944] [4.1/4.2/4.3 Regression] Endless loop while building a 64-bit 2.6.20 kernel

2008-01-10 Thread janis at gcc dot gnu dot org


--- Comment #24 from janis at gcc dot gnu dot org  2008-01-10 23:17 ---
A regression test using the test added in comment #23 identified:

http://gcc.gnu.org/viewcvs?view=revrev=74332

r74332 | sayle | 2003-12-05 14:06:46 + (Fri, 05 Dec 2003)


-- 


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



[Bug rtl-optimization/31944] [4.1/4.2/4.3 Regression] Endless loop while building a 64-bit 2.6.20 kernel

2008-01-10 Thread steven at gcc dot gnu dot org


--- Comment #25 from steven at gcc dot gnu dot org  2008-01-10 23:44 ---
So this has been failing since at least GCC 3.4.  And I see nothing in the
identified patch that is related to how CSE handles its values, so I suspect
this bug exists in older compilers as well (just needs another test case,
maybe).

And I still have no idea what is really going wrong here...


-- 


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



[Bug rtl-optimization/31944] [4.1/4.2/4.3 Regression] Endless loop while building a 64-bit 2.6.20 kernel

2008-01-10 Thread steven at gcc dot gnu dot org


--- Comment #26 from steven at gcc dot gnu dot org  2008-01-10 23:58 ---
Mark, wrt. the release, I recommend this PR shouldn't be a blocker.  The
problem is old and is currently latent on the trunk, where it is only exposed
with non-default options (-fno-inline-small-functions).

Obviously, the problem is that the hash of reg 66 is changed after a hash table
element is created for it in the bucket for the original hash.  I have no idea
yet whether this is expected, or if not, what is going wrong.

Messing with CSE at this stage may be more dangerous than accepting the status
quo.


-- 


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



[Bug ada/34466] s-tasinf.ads:81:42: cpu_set_t not declared in OS_Interface

2008-01-10 Thread danglin at gcc dot gnu dot org


--- Comment #1 from danglin at gcc dot gnu dot org  2008-01-11 01:01 ---
Subject: Bug 34466

Author: danglin
Date: Fri Jan 11 01:00:48 2008
New Revision: 131457

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131457
Log:
PR ada/34466
* s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
sysconf call.
(bit_field): New packed boolean type used by cpu_set_t.
(cpu_set_t): New type corresponding to the C type with
the same name. Note that on the Ada side we use a bit
field array for the affinity mask. There is not need
for the C macro for setting individual bit.
(pthread_setaffinity_np): New imported routine.


Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/s-osinte-linux-hppa.ads


-- 


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



[Bug libstdc++/34733] New: numpunct::grouping() doesn't match libc value for Bulgarian (bg_BG) locale

2008-01-10 Thread sebor at roguewave dot com
I came across this while investigating (most likely) a related problem in
Apache stdcxx. Btw., I suspect the bg_BG locale is incorrect in defining
thousands_sep to NUL and filed
http://sources.redhat.com/bugzilla/show_bug.cgi?id=5599

$ cat t.cpp  g++ -dumpversion  g++ t.cpp  LC_NUMERIC=bg_BG locale -ck
LC_NUMERIC  ./a.out bg_BG | od -c
#include cassert
#include clocale
#include cstdio
#include locale
#include string

int main (int argc, char *argv[])
{
const char* const name = 1  argc ? argv [1] : bg_BG;

const std::locale bg (name);

const std::numpunctchar np =
std::use_facetstd::numpunctchar (bg);

const char ts = np.thousands_sep ();
const std::string grp = np.grouping ();

std::setlocale (LC_ALL, name);
const lconv* const pconv = std::localeconv ();

std::printf ('\\x%02x' == '\\x%02x'\n, ts, *pconv-thousands_sep);
std::printf (\%s\ == \%s\\n, grp.c_str (), pconv-grouping);

assert (ts == *pconv-thousands_sep);
assert (grp == pconv-grouping);
}

4.1.2
LC_NUMERIC
decimal_point=,
thousands_sep=
grouping=3;3
numeric-decimal-point-wc=44
numeric-thousands-sep-wc=0
numeric-codeset=CP1251
a.out: t.cpp:26: int main(int, char**): Assertion `grp == pconv-grouping'
failed.
000   '   \   x   0   0   '   =   =   '   \   x   0   0   '
020  \n =   =003 003 \n
034


-- 
   Summary: numpunct::grouping() doesn't match libc value for
Bulgarian (bg_BG) locale
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sebor at roguewave dot com


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



[Bug ada/34466] s-tasinf.ads:81:42: cpu_set_t not declared in OS_Interface

2008-01-10 Thread danglin at gcc dot gnu dot org


--- Comment #2 from danglin at gcc dot gnu dot org  2008-01-11 01:07 ---
Fixed.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c++/34734] New: attribute((progmem)) not handled properly in C++ for AVRs

2008-01-10 Thread markuslampert at yahoo dot com
Using the progmem attribute in C++ sources produce warning messages about
uninitialized variables. The following preprocessor output works correctly
under 4.1 but produces said warnings (in every warning level):

# 1 is.cpp
# 1 built-in
# 1 command-line
# 1 is.cpp
int i1 __attribute__((__progmem__)) = 1;
int __attribute__((__progmem__)) i2 = 2;
__attribute__((__progmem__)) int i3 = 3;
extern int i4 __attribute__((__progmem__)); int i4 = 4;
extern int __attribute__((__progmem__)) i5; int i5 = 5;
extern __attribute__((__progmem__)) int i6; int i6 = 6;
typedef int i7_t __attribute__((__progmem__)); i7_t i7 = 7;
typedef int __attribute__((__progmem__)) i8_t; i8_t i8 = 8;
typedef __attribute__((__progmem__)) int i9_t; i9_t i9 = 9;
const char s1[] __attribute__((__progmem__)) = string 1;
const char __attribute__((__progmem__)) s2[] = string 2;
const __attribute__((__progmem__)) char s3[] = string 3;
__attribute__((__progmem__)) const char s4[] = string 4;
extern const char s5[] __attribute__((__progmem__)); const char s5[] = string
5;
extern const char __attribute__((__progmem__)) s6[]; const char s6[] = string
6;
extern const __attribute__((__progmem__)) char s7[]; const char s7[] = string
7;
extern __attribute__((__progmem__)) const char s8[]; const char s8[] = string
8;
typedef const char s9_t __attribute__((__progmem__)); const s9_t s9[] = string
9;
typedef const char __attribute__((__progmem__)) s10_t; const s10_t s10[] =
string 10;
typedef const __attribute__((__progmem__)) char s11_t; const s11_t s11[] =
string 11;
typedef __attribute__((__progmem__)) const char s12_t; const s12_t s12[] =
string 12;

This is the used command line and the compiler output:

/usr/local/avr-4.2.2/bin/avr-gcc -Wall -save-temps -mmcu=atmega88 -Os -c -o
/tmp/x.o is.cpp
is.cpp:1: warning: only initialized variables can be placed into program memory
area
is.cpp:2: warning: only initialized variables can be placed into program memory
area
is.cpp:3: warning: only initialized variables can be placed into program memory
area
is.cpp:10: warning: only initialized variables can be placed into program
memory area
is.cpp:11: warning: only initialized variables can be placed into program
memory area
is.cpp:12: warning: only initialized variables can be placed into program
memory area
is.cpp:13: warning: only initialized variables can be placed into program
memory area

Please note that the same source compiled as C works properly without any
warnings.


-- 
   Summary: attribute((progmem)) not handled properly in C++ for
AVRs
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: markuslampert at yahoo dot com
  GCC host triplet: x86
GCC target triplet: avr


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



[Bug libstdc++/34733] numpunct::grouping() doesn't match libc value for Bulgarian (bg_BG) locale

2008-01-10 Thread pcarlini at suse dot de


--- Comment #1 from pcarlini at suse dot de  2008-01-11 01:54 ---
Yes, I think we want to suspend this, waiting for the resolution of the glibc
issue. Because, I clearly remember adjusting the code basing on feedback from
people working on glibc: I learned that an empty thousand separator implies no
grouping (i.e., the langinfo entry for GROUPING is not relevant in that case)
and we even added a comment about that in the code. I think Andreas Schwab may
remember something...


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 CC||schwab at suse dot de,
   ||pcarlini at suse dot de


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



[Bug libstdc++/34733] numpunct::grouping() doesn't match libc value for Bulgarian (bg_BG) locale

2008-01-10 Thread sebor at roguewave dot com


--- Comment #2 from sebor at roguewave dot com  2008-01-11 02:09 ---
Right, in C it does mean that (because thousands_sep is a multibyte string, and
so the value is really ). The problem is that in C++ a NUL thousands_sep is a
perfectly valid single-byte character, i.e., '\0'. IMO, the way to fix it is by
somehow distinguishing a NUL thousands_sep that comes from the system locale
(e.g., via localeconv()) and a NUL thousands_sep intentionally supplied by the
user (read test suite writer ;-) because they want to see it on output.


-- 


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



[Bug libstdc++/34733] numpunct::grouping() doesn't match libc value for Bulgarian (bg_BG) locale

2008-01-10 Thread pcarlini at suse dot de


--- Comment #3 from pcarlini at suse dot de  2008-01-11 02:18 ---
(In reply to comment #2)
 Right, in C it does mean that (because thousands_sep is a multibyte string, 
 and
 so the value is really ). The problem is that in C++ a NUL thousands_sep is 
 a
 perfectly valid single-byte character, i.e., '\0'. IMO, the way to fix it is 
 by
 somehow distinguishing a NUL thousands_sep that comes from the system locale
 (e.g., via localeconv()) and a NUL thousands_sep intentionally supplied by the
 user (read test suite writer ;-) because they want to see it on output.

I do not understand. When v3 sees a NUL thousand separator in a system locale
(like bg_BG or what else), it understands no grouping, consistently with C, as
you are saying. In that case, what it would see as GROUPING with langinfo is
simply not relevant, I would say random garbage. Therefore, there is no point
in comparing anything. What should we change?


-- 


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



[Bug libstdc++/34733] numpunct::grouping() doesn't match libc value for Bulgarian (bg_BG) locale

2008-01-10 Thread pcarlini at suse dot de


--- Comment #4 from pcarlini at suse dot de  2008-01-11 02:27 ---
In other terms, on the v3 side, we are not grouping anything in such cases,
therefore grouping() can only be the empty string, consistently with
22.2.3.1.2. As for the thousands separator, a '\0' seems a good character as
anything else, in that case. I don't see what could v3 do in order to improve
the conformance.


-- 


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



[Bug target/34641] [4.3 Regression] ICE in reload_cse_simplify_operands, at postreload.c:395

2008-01-10 Thread ismail at pardus dot org dot tr


--- Comment #7 from ismail at pardus dot org dot tr  2008-01-11 02:31 
---
Added testcase doesn't compile on i686-linux :

gcc/testsuite/g++.dg/torture/pr34641.C:16: error: 'operator new' takes type
'size_t' ('unsigned int') as first parameter


-- 

ismail at pardus dot org dot tr changed:

   What|Removed |Added

 CC||ismail at pardus dot org dot
   ||tr


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



[Bug libstdc++/34733] numpunct::grouping() doesn't match libc value for Bulgarian (bg_BG) locale

2008-01-10 Thread sebor at roguewave dot com


--- Comment #5 from sebor at roguewave dot com  2008-01-11 03:09 ---
It's irrelevant to the implementation but it could be relevant to user-defined
formatting (or parsing) code that bypasses num_put (or num_get) but uses
numpunct to get the expected formats.

IMO, the improvement in any Linux implementation (libstdc++ or stdcxx) lies in
figuring out how to preserve the \3\3 grouping and NUL thousands_sep for
bg_BG (and expose each via numpunct::grouping() and numpunct::thousdands_sep())
without causing num_put to insert NUL every three digits.


-- 


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



[Bug libstdc++/34733] numpunct::grouping() doesn't match libc value for Bulgarian (bg_BG) locale

2008-01-10 Thread pcarlini at suse dot de


--- Comment #6 from pcarlini at suse dot de  2008-01-11 03:17 ---
(In reply to comment #5)
 It's irrelevant to the implementation but it could be relevant to user-defined
 formatting (or parsing) code that bypasses num_put (or num_get) but uses
 numpunct to get the expected formats.

I'm not questioning that.

 IMO, the improvement in any Linux implementation (libstdc++ or stdcxx) lies in
 figuring out how to preserve the \3\3 grouping and NUL thousands_sep for
 bg_BG (and expose each via numpunct::grouping() and 
 numpunct::thousdands_sep())
 without causing num_put to insert NUL every three digits.

Frankly, I think it's impossible. Because the underlying glibc info says the
C++ library to not group. The locale does not group. In that case, I don't
think grouping() can be anything but the empty string. And I think 22.2.3.1.2/3
(and the rest of 22.2) almost enforces that explicitly. If you disagree with
that, I think we should file a DR. 


-- 


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



[Bug libstdc++/34733] numpunct::grouping() doesn't match libc value for Bulgarian (bg_BG) locale

2008-01-10 Thread sebor at roguewave dot com


--- Comment #7 from sebor at roguewave dot com  2008-01-11 03:37 ---
But that's just the libstdc++ interpretation of grouping and thousands_sep (no
offense). The C library paints a different picture.

If I want to write my own formatter/parser for numbers in the Bulgarian locale
that inserts '@' as my own thousands separator every 3 digits I can do it but
I have to drop down to C and get the grouping data from localeconv(). Not that
there's anything wrong with it but it would be nice if I could also do it in
C++ as well.

What I'm saying is that if the C library says localeconv()-grouping is \3\3
the C++ numpunct::grouping() shouldn't say it's something else.

I'm not sure this is something the C++ standard can do anything about except
acknowledge it as a limitation. But that doesn't mean that implementations
couldn't do better. For instance, numpunct could append some harmless special
character to its internal representation of grouping (say set it to \3\3\0\0)
when thousands_sep is NUL. num_put would be instructed to look for the two
consecutive NULs in grouping and avoid inserting thousands_sep when NUL. Since
user-defined numpunct would almost certainly not return grouping terminated by
two NULs if such a facet with a grouping of \3\3 and NUL for thousands_sep
num_put would insert the NUL as expected. Yes, it's a hack but it's one that
would work in the vast majority of cases: the implementation would pass anal
tests while behaving sanely in ordinary situations.


-- 


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



[Bug tree-optimization/33826] [4.1/4.2/4.3 Regression] GCC generates wrong code for infinitely recursive functions

2008-01-10 Thread ghazi at gcc dot gnu dot org


--- Comment #18 from ghazi at gcc dot gnu dot org  2008-01-11 03:57 ---
Thanks Kenny, patch posted here:
http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00445.html


-- 


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



[Bug middle-end/33187] Missed cmove opportunity

2008-01-10 Thread ghazi at gcc dot gnu dot org


--- Comment #8 from ghazi at gcc dot gnu dot org  2008-01-11 03:58 ---
Thanks Uros, patch posted here:
http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00445.html


-- 


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



[Bug libstdc++/34733] numpunct::grouping() doesn't match libc value for Bulgarian (bg_BG) locale

2008-01-10 Thread pcarlini at suse dot de


--- Comment #8 from pcarlini at suse dot de  2008-01-11 03:59 ---
(In reply to comment #7)
 What I'm saying is that if the C library says localeconv()-grouping is \3\3
 the C++ numpunct::grouping() shouldn't say it's something else.

Why not? If we agree that when the thousand separator returned by the C library
is NUL, then localeconv()-grouping **is meaningless**, garbage, uninitialized
memory (I think we previously agreed about that), I don't see why people can
expect that match. In particular, I don't see that because, in C++, due
probably to a limitation in the standard, there is no separate boolean in
numpunct to tell no-grouping: I maintain that essentially the only meaningful
way to espress no-grouping in C++, in the grouping() string, is leaving the
string empty. I think my reading of the standard is pretty straightforward, I
mentioned a specific section, there is also a note, saying how 3 would be
interpreted. 

Note, I'm not interested in num_put, here, of course in principle you can store
somewhere the values returned by the underlying C library and make num_put
happy, I do not dispute that you can play one of tricks you mentioned, for
that.

What I'm saying is that, a numpunct conveying to its user the meaning
no-grouping is a numpunct returning an empty string from grouping(). Any
other return value, even if for the sake of consistency of an hypothetical -
note, I'm saying hypothetical, see above, I don't think localeconv()-grouping
is anything but junk when the thousand separator is NUL, in C - localedata
seems wrong to me.


-- 


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



[Bug target/27971] eliminate shift in array[(x2)3]

2008-01-10 Thread raksit at gcc dot gnu dot org


--- Comment #5 from raksit at gcc dot gnu dot org  2008-01-11 04:21 ---
Subject: Bug 27971

Author: raksit
Date: Fri Jan 11 04:20:32 2008
New Revision: 131460

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131460
Log:
gcc/ChangeLog
   PR rtl-optimization/27971
   * combine.c (find_split_point): introduced a new split for certain
   types of mem rtx.

gcc/testsuite/ChangeLog

   PR rtl-optimization/27971
   * gcc.target/i386/pr27971.c: New testcase.


Added:
trunk/gcc/testsuite/gcc.target/i386/pr27971.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/29256] [4.2/4.3 regression] loop performance regression

2008-01-10 Thread ghazi at gcc dot gnu dot org


--- Comment #20 from ghazi at gcc dot gnu dot org  2008-01-11 04:21 ---
Is the testcase gcc.dg/tree-ssa/loop-19.c supposed to work with -fpic/-fPIC?
I'm getting failures on mainline and 4.2 with x86_64, and only on 4.2 with
i686.  Mainline i686 seems to work though.

Fails:
http://gcc.gnu.org/ml/gcc-testresults/2008-01/msg00383.html
http://gcc.gnu.org/ml/gcc-testresults/2008-01/msg00365.html
http://gcc.gnu.org/ml/gcc-testresults/2008-01/msg00410.html

works:
http://gcc.gnu.org/ml/gcc-testresults/2008-01/msg00366.html

Thanks,
--Kaveh


-- 

ghazi at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ghazi at gcc dot gnu dot org


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



[Bug c/34735] New: C99 6.7.4/2 is not diagnose

2008-01-10 Thread pinskia at gcc dot gnu dot org
This is not rejected:
static int a()
{
  return 0;
}

extern int f(void);

inline int f(void)
{
  return a();
}

 CUT ---

This violates C99 6.7.4/2 which says:
An inline definition of a function with external linkage shall not contain a
definition of a
modifiable object with static storage duration, and shall not contain a
reference to an
identifier with internal linkage.


-- 
   Summary: C99 6.7.4/2 is not diagnose
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org


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



[Bug middle-end/29256] [4.2/4.3 regression] loop performance regression

2008-01-10 Thread rakdver at kam dot mff dot cuni dot cz


--- Comment #21 from rakdver at kam dot mff dot cuni dot cz  2008-01-11 
04:44 ---
Subject: Re:  [4.2/4.3 regression] loop performance regression

 Is the testcase gcc.dg/tree-ssa/loop-19.c supposed to work with -fpic/-fPIC?

not necessarily; with -fpic, both memory accesses are fully
strength-reduced, which seems to be the correct thing to do; however,

 I'm getting failures on mainline and 4.2 with x86_64, and only on 4.2 with
 i686.  Mainline i686 seems to work though.

the difference in the costs of the two variants is so small that you
will basically get one of them at random.  This test is not intended to
be run with -fpic.


-- 


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



[Bug c/16622] [C99] extern inline is handled wrong in C99 mode

2008-01-10 Thread pinskia at gcc dot gnu dot org


--- Comment #18 from pinskia at gcc dot gnu dot org  2008-01-11 04:50 
---
2 -- What does constraint #3 of section 6.7.4 mean? 
It is not fully as 6.7.4/3 is not diagnosed, I filed this as PR 34735.

I guess Geoff forgot about this constraint.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||34735


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



[Bug c/34735] C99 6.7.4/3 is not diagnose

2008-01-10 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-01-11 05:15 ---
We do reject this though:
static int a()
{
  return 0;
}
inline int f(void)
{
  return a();
}
extern int f(void);


-- 


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



[Bug libstdc++/34733] numpunct::grouping() doesn't match libc value for Bulgarian (bg_BG) locale

2008-01-10 Thread sebor at roguewave dot com


--- Comment #9 from sebor at roguewave dot com  2008-01-11 05:44 ---
I don't agree that localeconv()-grouping is garbage just because thousands_sep
is NUL. I'm not aware of anything in C or POSIX that says that. In the case of
bg_BG, the grouping is clearly correct. What's questionable in this case is the
value of thousands_sep. But that's probably just a bug in the Bulgarian locale
definition. Bugs aside, there may be a perfectly valid locale (a user-defined
one) in which there is no thsousands_sep (i.e., it's NUL) but where grouping
is non-empty. It's trivial to create one as an exercise. The C++ library
numpunct should be able to represent such a locale without change.


-- 


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



[Bug c/34736] New: AVR optimiser does not keep interrupt disabled blocks small

2008-01-10 Thread gcc-david at tulloh dot id dot au
I am compiling for an avr target and sharing variables with interrupts.  To
safely update the variables I am disabling interrupts but I want the interrupts
to be disabled for the shortest possible period of time.

The compiler shifts the instructions around slightly when optimizing, this has
the effect of increasing the time that interrupts are disabled.  I've attached
a trivial example which demonstrates this however more complicated code has a
similar result with a varying number of instructions moved into the disabled
section.


I'm attaching a trivial example with .c, .i (typedefs trimmed) and .s files.

The gcc used is from the Debian gcc-avr package version 4.2.2-1

Compilation line was:
avr-gcc -mmcu=attiny13 -Wall -Os -fsigned-char -S -c -o interrupt_disable_bug.s
interrupt_disable_bug.c


-- 
   Summary: AVR optimiser does not keep interrupt disabled blocks
small
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc-david at tulloh dot id dot au
GCC target triplet: AVR


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



[Bug c/34736] AVR optimiser does not keep interrupt disabled blocks small

2008-01-10 Thread gcc-david at tulloh dot id dot au


--- Comment #1 from gcc-david at tulloh dot id dot au  2008-01-11 06:04 
---
Created an attachment (id=14917)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14917action=view)
Trivial example source file


-- 


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



[Bug c/34736] AVR optimiser does not keep interrupt disabled blocks small

2008-01-10 Thread gcc-david at tulloh dot id dot au


--- Comment #2 from gcc-david at tulloh dot id dot au  2008-01-11 06:05 
---
Created an attachment (id=14918)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14918action=view)
Trivial example intermediate file


-- 


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



[Bug c/34736] AVR optimiser does not keep interrupt disabled blocks small

2008-01-10 Thread gcc-david at tulloh dot id dot au


--- Comment #3 from gcc-david at tulloh dot id dot au  2008-01-11 06:05 
---
Created an attachment (id=14919)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14919action=view)
Trivial example assembler output file


-- 


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



[Bug c++/33887] [4.1/4.2/4.3 Regression] Reference to bitfield gets wrong value when optimizing

2008-01-10 Thread aoliva at gcc dot gnu dot org


--- Comment #18 from aoliva at gcc dot gnu dot org  2008-01-11 06:46 ---
I don't see anything in expand_expr_real_1 that, given something like
(wider)narrower_typed_value, would reduce the value in a way that takes the
narrower_type into account.  NOP_EXPR and CONVERT_EXPR will just expand the
operand and be done with it if the modes of both types are the same and, in the
case of bitfields with the same mode but lower precision, they are.

Also, all uses of REDUCE_BIT_FIELD take only the target type into account,
which means that, if the intermediate expression wasn't reduced at the time it
was computed, then it won't ever be.  And when the reduce_bit_field_operation
langhook is false, then the intermediate expression won't have been reduced at
the time it was computed.  So we lose.

What I don't know is whether languages that set reduce_bit_field_operation
could expect expanders to take care of such expansions for them (they'd better,
since the need for explicit reduction code is determined by whether the value
is extracted from a bit-field in memory or held in a gimple reg that might be
the result of optimization), or they're supposed to take care of the widening
extension themselves (say, genericize (wider)unsigned_narrower_type_value as
(wider)unsigned_narrower_type_value  mask, and
(wider)signed_narrower_type_value as (((wider)signed_narrower_type_value 
mask) ^ signbit) - signbit).

Which is it?  I.e., when !reduce_bit_field_operation, should
expand_expr_real_1() perform the reduction to the inner type in widening
conversions, or should convert_to_integer() take care of it when outprec 
inprec?


-- 

aoliva at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||aoliva at gcc dot gnu dot
   ||org


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



[Bug libfortran/34712] Formatted write of float broken (mingw32)

2008-01-10 Thread jvdelisle at gcc dot gnu dot org


--- Comment #4 from jvdelisle at gcc dot gnu dot org  2008-01-11 07:02 
---
Reply to comment #2:  I will update and see if that fixes it.  Thanks Danny


-- 


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



[Bug tree-optimization/34648] [4.3 Regression] ICE in find_or_generate_expression

2008-01-10 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


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



[Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine

2008-01-10 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


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



[Bug c++/34691] [4.1/4.2/4.3 Regression] Default argument checking not performed after overload resolution with C linkage

2008-01-10 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P2


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



[Bug preprocessor/34692] [4.2/4.3 regression] Internal error with pragma in macro

2008-01-10 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P2


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



[Bug rtl-optimization/34628] [4.2/4.3 Regression] problems with inlining on ARM

2008-01-10 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


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