[Bug target/43417] SH: 4.4 ICE in final_scan_insn, at final.c:2604

2010-03-19 Thread iwamatsu at nigauri dot org


--- Comment #3 from iwamatsu at nigauri dot org  2010-03-19 06:11 ---
(In reply to comment #2)
 Looks the same issue in
 
 http://gcc.gnu.org/ml/gcc-patches/2009-04/msg00747.html
 
 though I can't reproduce the problem with my gcc-4.4.3 and
 4.4 head compilers for the test case in #1.
 Could you try the patch in the above URL?

I tested this patch. The problem was revised.
gcc-4.4.3 of debian(20,100,226 SVN / r157081 base) revision was not taken in.

Thank you.


-- 


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



[Bug c/43438] New: possible wrong code bug

2010-03-19 Thread regehr at cs dot utah dot edu
The -O0 result looks right.  This behavior observed on x86 using r157445 and
x64 using r157542.

reg...@john-home:~$ current-gcc -O0 small.c -o small -Wall 
reg...@john-home:~$ ./small
1
reg...@john-home:~$ current-gcc -O1 small.c -o small -Wall 
reg...@john-home:~$ ./small
0
reg...@john-home:~$ cat small.c
extern int printf (__const char *__restrict __format, ...);

static unsigned char g_2 = 1;
static int g_9;
static int *l_8 = g_9;

static void func_12(int p_13)
{
  int * l_17 = g_9;
  *l_17 = 0  p_13;
}

int main(void)
{
  unsigned char l_11 = 254;
  *l_8 |= g_2;
  l_11 |= *l_8;
  func_12(l_11);
  printf(%d\n, g_9);
  return 0;
} 
reg...@john-home:~$ current-gcc -v
Using built-in specs.
COLLECT_GCC=current-gcc
COLLECT_LTO_WRAPPER=/home/regehr/z/compiler-install/gcc-r157445-install/libexec/gcc/i686-pc-linux-gnu/4.5.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../configure --with-libelf=/usr/local --enable-lto
--prefix=/home/regehr/z/compiler-install/gcc-r157445-install
--program-prefix=r157445- --enable-languages=c,c++
Thread model: posix
gcc version 4.5.0 20100314 (experimental) (GCC)


-- 
   Summary: possible wrong code bug
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: regehr at cs dot utah dot edu
 GCC build triplet: 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=43438



[Bug c/43438] possible wrong code bug

2010-03-19 Thread sezeroz at gmail dot com


--- Comment #1 from sezeroz at gmail dot com  2010-03-19 06:51 ---
Happened on x86_64-pc-linux and my gcc-4.4 was affected too, gcc-3.4.6 seemed
fine.


-- 

sezeroz at gmail dot com changed:

   What|Removed |Added

 CC||sezeroz at gmail dot com


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



[Bug ada/43106] gnat optimization error in a case statement

2010-03-19 Thread ebotcazou at gcc dot gnu dot org


--- Comment #3 from ebotcazou at gcc dot gnu dot org  2010-03-19 07:19 
---
Subject: Bug 43106

Author: ebotcazou
Date: Fri Mar 19 07:18:47 2010
New Revision: 157558

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157558
Log:
PR ada/43106
* gnat.dg/case_optimization2.adb: New test.
* gnat.dg/case_optimization_pkg2.ad[sb]: New helper.

Added:
trunk/gcc/testsuite/gnat.dg/case_optimization2.adb
trunk/gcc/testsuite/gnat.dg/case_optimization_pkg2.adb
trunk/gcc/testsuite/gnat.dg/case_optimization_pkg2.ads
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug ada/43106] optimization error in a case statement

2010-03-19 Thread ebotcazou at gcc dot gnu dot org


--- Comment #4 from ebotcazou at gcc dot gnu dot org  2010-03-19 07:22 
---
Presumably by the overhaul of the subtypes support.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
Summary|gnat optimization error in a|optimization error in a case
   |case statement  |statement
   Target Milestone|--- |4.5.0


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



[Bug tree-optimization/36439] [4.3 Regression] very long compile-time in PRE building gimp-plugin-registry

2010-03-19 Thread kurt at garloff dot de


--- Comment #13 from kurt at garloff dot de  2010-03-19 08:03 ---
 Well for 4.5, make sure you configured with --enable-checking=release;
 otherwise it is not a fair comparison.

Did not change anything unfortunately :-(
(I have enabled --enable-lto in case this matters, though I have not used any
compile time flag to make use of it ...)


-- 


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



[Bug c/43438] possible wrong code bug

2010-03-19 Thread mikpe at it dot uu dot se


--- Comment #2 from mikpe at it dot uu dot se  2010-03-19 09:46 ---
4.2.4/4.3.4/4.4.3 are affected, 4.1.2 and older seem to be Ok.


-- 

mikpe at it dot uu dot se changed:

   What|Removed |Added

 CC||mikpe at it dot uu dot se


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



[Bug debug/43439] New: Dwarf:Wrong location information of function argument

2010-03-19 Thread tanaka at personal-media dot co dot jp
I think gcc produce wrong location information of function argument.

/* sample source sub.c **/
int test(int first, int second)
{
return second;
}
//
The sample source is compiled as follows.

==
tan...@r48:/usr/local/te/bappl/test/$
/usr/local/te/tool/Linux-i686/bin/arm-unknown-elf-gcc -v -Wa,-v -g -c sub.c
Using built-in specs.
Target: arm-unknown-elf
Configured with:
/usr/local/te/tool/build/gnu/gcc-4.4.3-tkernel/gcc-4.4.3/configure
--prefix=/usr/local/te/tool/Linux-i686 --target=arm-unknown-elf --with-gnu-as
--with-gnu-ld --with-gmp-include=/usr/local/te/tool/Linux-i686/include-libs
--with-gmp-lib=/usr/local/te/tool/Linux-i686/lib
--with-mpfr-include=/usr/local/te/tool/Linux-i686/include-libs
--with-mpfr-lib=/usr/local/te/tool/Linux-i686/lib --enable-threads
--enable-languages=c,c++ --enable-version-specific-runtime-libs
--disable-libstdcxx-pch --disable-hosted-libstdcxx --disable-libada
Thread model: single
gcc version 4.4.3 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-g' '-c'
 /usr/local/te/tool/Linux-i686/libexec/gcc/arm-unknown-elf/4.4.3/cc1 -quiet -v
-D__USES_INITFINI__ sub.c -quiet -dumpbase sub.c -auxbase sub -g -version -o
/tmp/ccqF2DxV.s
ignoring nonexistent directory
/usr/local/te/tool/Linux-i686/lib/gcc/arm-unknown-elf/4.4.3/../../../../arm-unknown-elf/include
#include ... search starts here:
#include ... search starts here:
 /usr/local/te/tool/Linux-i686/lib/gcc/arm-unknown-elf/4.4.3/include
 /usr/local/te/tool/Linux-i686/lib/gcc/arm-unknown-elf/4.4.3/include-fixed

/usr/local/te/tool/Linux-i686/lib/gcc/arm-unknown-elf/4.4.3/../../../../arm-unknown-elf/sys-include
End of search list.
GNU C (GCC) version 4.4.3 (arm-unknown-elf)
compiled by GNU C version 4.2.4 (Ubuntu 4.2.4-1ubuntu4), GMP version
4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64255
Compiler executable checksum: 20ebd17b34fa094008992b6e0117d9b5
COLLECT_GCC_OPTIONS='-v' '-g' '-c'

/usr/local/te/tool/Linux-i686/lib/gcc/arm-unknown-elf/4.4.3/../../../../arm-unknown-elf/bin/as
-v -v -o sub.o /tmp/ccqF2DxV.s
GNU assembler version 2.20.1 (arm-unknown-elf) using BFD version (GNU Binutils)
2.20.1.20100303
COMPILER_PATH=/usr/local/te/tool/Linux-i686/libexec/gcc/arm-unknown-elf/4.4.3/:/usr/local/te/tool/Linux-i686/libexec/gcc/arm-unknown-elf/4.4.3/:/usr/local/te/tool/Linux-i686/libexec/gcc/arm-unknown-elf/:/usr/local/te/tool/Linux-i686/lib/gcc/arm-unknown-elf/4.4.3/:/usr/local/te/tool/Linux-i686/lib/gcc/arm-unknown-elf/:/usr/local/te/tool/Linux-i686/lib/gcc/arm-unknown-elf/4.4.3/../../../../arm-unknown-elf/bin/
LIBRARY_PATH=/usr/local/te/tool/Linux-i686/lib/gcc/arm-unknown-elf/4.4.3/:/usr/local/te/tool/Linux-i686/lib/gcc/arm-unknown-elf/4.4.3/../../../../arm-unknown-elf/lib/
COLLECT_GCC_OPTIONS='-v' '-g' '-c'
tan...@r48:/usr/local/te/bappl/test/$ 
==

The complied object file is disassembled as follows.

==
/usr/local/te/tool/Linux-i686/bin/arm-unknown-elf-objdump -S sub.o

sub.o: file format elf32-littlearm


Disassembly of section .text:

 test:
int test(int first, int second)
{
   0:   e52db004push{fp}; (str fp, [sp, #-4]!)
   4:   e28db000add fp, sp, #0
   8:   e24dd008sub sp, sp, #8
   c:   e50b0004str r0, [fp, #-4]
  10:   e50b1008str r1, [fp, #-8]
return second;
  14:   e51b3008ldr r3, [fp, #-8]
}
  18:   e1a3mov r0, r3
  1c:   e28bd000add sp, fp, #0
  20:   e8bd0800pop {fp}
  24:   e12fff1ebx  lr
==

Next is .debug_info.
DW_AT_location of argument second is (DW_OP_fbreg: -12).
I think DW_OP_fbreg must be -8.
Gdb shows wrong value for the argument.
Is there a patch for this problem.
==
/usr/local/te/tool/Linux-i686/bin/arm-unknown-elf-readelf --debug-dump=info
sub.o
Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:0x63 (32-bit)
   Version:   2
   Abbrev Offset: 0
   Pointer Size:  4
 0b: Abbrev Number: 1 (DW_TAG_compile_unit)
 c   DW_AT_producer: (indirect string, offset: 0x26): GNU C 4.4.3 
10   DW_AT_language: 1(ANSI C)
11   DW_AT_name: (indirect string, offset: 0x37): sub.c   
15   DW_AT_comp_dir: (indirect string, offset: 0xd):
/usr/local/te/bappl/test 
19   DW_AT_low_pc  : 0x0  
1d   DW_AT_high_pc : 0x28 
21   DW_AT_stmt_list   : 0x0  
 125: Abbrev Number: 2 (DW_TAG_subprogram)
26   DW_AT_external: 1
27   DW_AT_name: (indirect string, offset: 0x32): test
2b   DW_AT_decl_file   : 1
2c   DW_AT_decl_line   : 1
2d   DW_AT_prototyped  : 1
   

[Bug middle-end/43251] [4.4 Regression] Erroneous code with -ftree-vectorize

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2010-03-19 09:56 
---
(In reply to comment #13)
 Hi!
 
 I was wondering if this bug is likely to be fixed in the next GCC release; is
 this likely to be the case?

Unlikely.  Backporting the one-line change will cause massive performance
problems elsewhere (with scalar times complex multiplication).  There is
more to be backported.

The question is if the Fortran standard allows C*CX(IX) to be unconditionally
implemented as C * __real CX(IX) + _I * C * __imag CX(IX) or not.

It would be also interesting to know what vectorization makes for a difference
here, as it shouldn't change semantics.  Thus, did anyone analyze why
only the vectorized variant exhibits the problem?


-- 


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



[Bug tree-optimization/36439] [4.3 Regression] very long compile-time in PRE building gimp-plugin-registry

2010-03-19 Thread rguenther at suse dot de


--- Comment #14 from rguenther at suse dot de  2010-03-19 10:09 ---
Subject: Re:  [4.3 Regression] very long
 compile-time in PRE building gimp-plugin-registry

On Fri, 19 Mar 2010, kurt at garloff dot de wrote:

 --- Comment #11 from kurt at garloff dot de  2010-03-19 00:34 ---
 (In reply to comment #10)
  GCC 4.3.4 is being released, adjusting target milestone.
 
 Very non-scientific benchmark:
 Did compile latest gmic-1.3.4.0 on a 2xL5540 system (plenty of RAM) with make
 -j8 and compile flags: 
 -O3 --param max-inline-insns-auto=200 -ffast-math -funroll-loops
 -ftree-vectorize
 Times (in seconds, user, elapsed):
 4.3.5: 1263u, 377e
  w/ -fno-tree-pre:  755u, 202e
 4.4.4: 1022u, 311e
  w/ -fno-tree-pre:  996u, 284e
 4.5.0: 2325u, 615e
  w/ -fno-tree-pre: 1974u, 543e
 
 Note that this is in contrast to earlier observations that 4.4/4.5 did do much
 better than 4.3. Don't know whether that's caused by changed gmic code or
 whether we have regressed in 4.5. Let me know if you want me to pick one file
 that takes particularly long to compile and investigate further.

This bug was about PRE causing compile-time issues at -O2 which is
what was investigated and fixed for the testcases attached to this PR.

I see, for -O2 and the CImg.C testcase (just using openSUSE packages
from devel:gcc):

4.3.4 (r152973): stopped after 4min
4.4.2 (r155966): 68s
4.5.0 (r157384): 74s

also see PR43415 for a similar problem where I am about to commit a
patch.

If you can provide a testcase for plain -O3 [-ffast-math -funroll-loops] 
being slow it would be appropriate to open a new bugreport for it.

Thanks,
Richard.


-- 


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



[Bug middle-end/42450] [4.5 Regression] another GCC 4.5 ICE on C++ templated code

2010-03-19 Thread jamborm at gcc dot gnu dot org


--- Comment #18 from jamborm at gcc dot gnu dot org  2010-03-19 10:14 
---
Fixed.


-- 

jamborm at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/36439] [4.3 Regression] very long compile-time in PRE building gimp-plugin-registry

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #15 from rguenth at gcc dot gnu dot org  2010-03-19 10:15 
---
(In reply to comment #14)
 Subject: Re:  [4.3 Regression] very long
  compile-time in PRE building gimp-plugin-registry
 
 On Fri, 19 Mar 2010, kurt at garloff dot de wrote:
 
  --- Comment #11 from kurt at garloff dot de  2010-03-19 00:34 ---
  (In reply to comment #10)
   GCC 4.3.4 is being released, adjusting target milestone.
  
  Very non-scientific benchmark:
  Did compile latest gmic-1.3.4.0 on a 2xL5540 system (plenty of RAM) with 
  make
  -j8 and compile flags: 
  -O3 --param max-inline-insns-auto=200 -ffast-math -funroll-loops
  -ftree-vectorize
  Times (in seconds, user, elapsed):
  4.3.5: 1263u, 377e
   w/ -fno-tree-pre:  755u, 202e
  4.4.4: 1022u, 311e
   w/ -fno-tree-pre:  996u, 284e
  4.5.0: 2325u, 615e
   w/ -fno-tree-pre: 1974u, 543e
  
  Note that this is in contrast to earlier observations that 4.4/4.5 did do 
  much
  better than 4.3. Don't know whether that's caused by changed gmic code or
  whether we have regressed in 4.5. Let me know if you want me to pick one 
  file
  that takes particularly long to compile and investigate further.
 
 This bug was about PRE causing compile-time issues at -O2 which is
 what was investigated and fixed for the testcases attached to this PR.
 
 I see, for -O2 and the CImg.C testcase (just using openSUSE packages
 from devel:gcc):
 
 4.3.4 (r152973): stopped after 4min
 4.4.2 (r155966): 68s
 4.5.0 (r157384): 74s
 
 also see PR43415 for a similar problem where I am about to commit a
 patch.
 
 If you can provide a testcase for plain -O3 [-ffast-math -funroll-loops] 
 being slow it would be appropriate to open a new bugreport for it.

Oh, and btw check if you build with debuginfo enabled.  With GCC 4.5 we
can spend quite some extra time producing good debug information.


-- 


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



[Bug tree-optimization/43415] [4.4/4.5 Regression] Consumes large amounts of memory and time in PRE at -O3

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-03-19 10:18 ---
Subject: Bug 43415

Author: rguenth
Date: Fri Mar 19 10:18:25 2010
New Revision: 157562

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157562
Log:
2010-03-19  Richard Guenther  rguent...@suse.de

PR tree-optimization/43415
* tree-ssa-pre.c (phi_translate): Split out worker to ...
(phi_translate_1): ... this.
(phi_translate): Move all caching here.  Cache all NARY
and REFERENCE translations.

* gcc.c-torture/compile/pr43415.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr43415.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c


-- 


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



[Bug tree-optimization/43415] [4.4 Regression] Consumes large amounts of memory and time in PRE at -O3

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2010-03-19 10:18 ---
Fixed for 4.5 sofar.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail|4.4.3 4.5.0 |4.4.3
  Known to work|4.4.2   |4.4.2 4.5.0
Summary|[4.4/4.5 Regression]|[4.4 Regression] Consumes
   |Consumes large amounts of   |large amounts of memory and
   |memory and time in PRE at - |time in PRE at -O3
   |O3  |
   Target Milestone|4.5.0   |4.4.4


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



[Bug ada/42554] Can't build GNAT tools

2010-03-19 Thread mrs at gcc dot gnu dot org


--- Comment #13 from mrs at gcc dot gnu dot org  2010-03-19 10:20 ---
Subject: Bug 42554

Author: mrs
Date: Fri Mar 19 10:19:52 2010
New Revision: 157563

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157563
Log:
PR ada/42554
* configure.ac: Only pass -c to ranlib for darwin9 and earlier.
* configure: Regenerate.

Modified:
trunk/ChangeLog
trunk/configure
trunk/configure.ac


-- 


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



[Bug middle-end/40106] [4.4/4.5 Regression] Weird interaction between optimize_insn_for_speed_p and -funsafe-math-optimizations

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #47 from rguenth at gcc dot gnu dot org  2010-03-19 10:26 
---
(In reply to comment #46)
 The answer to the question (b) in comment #35:
 
  (b) why !optimize_size has been replaced with optimize_insn_for_speed_p ()?
 
 seems to be
 
  this patch replace some of optimize_size tests by
  optimize_insn_for_speed_p predicate so we can make decisions on per-BB
  granuality.
 
 from http://gcc.gnu.org/ml/gcc-patches/2008-08/msg00121.html  (revision 138565
 by hubicka, Sun Aug 3 12:04:49 2008 UTC).
 
 Why is there any need to expand pow(x,n) on per-BB granularity? is not
 !optimize_size enough for this case?

optimize_insn_for_speed_p is more precise in that it allows hot functions
to be optimized for speed even with -Os.  This is quite important for
embedded targets where you generally want to optimize for size but want
performance sensitive parts to be optimized for speed.

I think there are two good solutions to this PR.

 1) re-work how the profile is computed for deep loop nests

 2) improve the code-size estimate of these expanders (a simple convincing
 heuristic is that if the target has an optab for sqrt then x * sqrt (x)
 is not going to be larger than pow(x, 1.5)).

2) would fix the air case but not really the underlying problem which is
1).  2) would be easy to implement and appropriate for 4.5 - I can't see
how to address 1) with a reasonably sized patch.

Note that this PR isn't too serious as -fwhole-file isn't the default
for Fortran so we do not run into this unfortunate interaction of
profile estimation and inlining.


-- 


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



[Bug middle-end/40106] [4.4/4.5 Regression] Weird interaction between optimize_insn_for_speed_p and -funsafe-math-optimizations

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #48 from rguenth at gcc dot gnu dot org  2010-03-19 10:35 
---
Untested patch doing 2):

Index: builtins.c
===
--- builtins.c  (revision 157561)
+++ builtins.c  (working copy)
@@ -2980,10 +2980,16 @@ expand_builtin_pow (tree exp, rtx target
   ((flag_unsafe_math_optimizations
optimize_insn_for_speed_p ()
powi_cost (n/2) = POWI_MAX_MULTS)
- /* Even the c==0.5 case cannot be done unconditionally
+ /* Even the c == 0.5 case cannot be done unconditionally
 when we need to preserve signed zeros, as
 pow (-0, 0.5) is +0, while sqrt(-0) is -0.  */
- || (!HONOR_SIGNED_ZEROS (mode)  n == 1)))
+ || (!HONOR_SIGNED_ZEROS (mode)  n == 1)
+ /* For c == 1.5 we can assume that x * sqrt (x) is always
+smaller than pow (x, 1.5) if sqrt will not be expanded
+as a call.  */
+ || (n == 2
+  (optab_handler (sqrt_optab, mode)-insn_code
+ != CODE_FOR_nothing
{
  tree call_expr = build_call_nofold (fn, 1, narg0);
  /* Use expand_expr in case the newly built call expression


-- 


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



[Bug c/43438] [4.3/4.4/4.5 Regression] possible wrong code bug

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-03-19 11:02 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|i686-pc-linux-gnu   |
   GCC host triplet|i686-pc-linux-gnu   |
 GCC target triplet|i686-pc-linux-gnu   |i?86-*-* x86_64-*-*
   Keywords||wrong-code
  Known to fail||4.3.4 4.4.3 4.5.0
  Known to work||4.1.2
   Last reconfirmed|-00-00 00:00:00 |2010-03-19 11:02:13
   date||
Summary|possible wrong code bug |[4.3/4.4/4.5 Regression]
   ||possible wrong code bug
   Target Milestone|--- |4.3.5
Version|unknown |4.5.0


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



[Bug rtl-optimization/43438] [4.3/4.4/4.5 Regression] possible wrong code bug

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-03-19 11:29 ---
Combine breaks this.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |rtl-optimization


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



[Bug rtl-optimization/43438] [4.3/4.4/4.5 Regression] possible wrong code bug

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2010-03-19 11:35 ---
It combines

(insn 6 5 7 2 t.c:16 (parallel [
(set (reg:SI 59 [ D.2732 ])
(ior:SI (reg:SI 67 [ g_9 ])
(const_int 1 [0x1])))
(clobber (reg:CC 17 flags))
]) 394 {*iorsi_1} (expr_list:REG_DEAD (reg:SI 67 [ g_9 ])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(expr_list:REG_EQUAL (ior:SI (mem/c/i:SI (symbol_ref:DI (g_9)
[flags 0x2]  var_decl 0x75ae50a0 g_9) [0 g_9+0 S4 A32])
(const_int 1 [0x1]))
(nil)

(insn 7 6 8 2 t.c:10 (parallel [
(set (reg:QI 68)
(ior:QI (subreg:QI (reg:SI 59 [ D.2732 ]) 0)
(const_int -2 [0xfffe])))
(clobber (reg:CC 17 flags))
]) 398 {*iorqi_1} (expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)))

(insn 8 7 9 2 t.c:10 (parallel [
(set (reg:SI 69)
(zero_extend:SI (reg:QI 68)))
(clobber (reg:CC 17 flags))
]) 119 {*zero_extendqisi2_movzbl_and} (expr_list:REG_DEAD (reg:QI 68)
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil

and somewhere forgets to apply the zero-extension:

Successfully matched this instruction:
(set (reg:SI 59 [ D.2732 ])
(ior:SI (reg:SI 67 [ g_9 ])
(const_int 1 [0x1])))
Successfully matched this instruction:
(set (reg:SI 69)
(const_int -1 [0x]))


-- 


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



[Bug target/43404] ARM: Internal compiler error when using 'foo' in naked function

2010-03-19 Thread ramana at gcc dot gnu dot org


--- Comment #4 from ramana at gcc dot gnu dot org  2010-03-19 12:04 ---
Yes - haven't thought about it much, maybe the backend could give an error if a
frame were allocated for a naked function rather than ICE'ing in an awkward
place.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||error-recovery, ice-on-
   ||invalid-code
   Priority|P3  |P4
   Last reconfirmed|-00-00 00:00:00 |2010-03-19 12:04:16
   date||


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



[Bug rtl-optimization/43438] [4.3/4.4/4.5 Regression] possible wrong code bug

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2010-03-19 12:06 ---
Breakpoint 7, combine_simplify_rtx (x=0x75ae6e58, op0_mode=VOIDmode, 
in_dest=0) at /space/rguenther/src/svn/trunk/gcc/combine.c:4861
4861  enum rtx_code code = GET_CODE (x);
(set (reg:SI 69)
(and:SI (subreg:SI (ior:QI (subreg:QI (ior:SI (reg:SI 67 [ g_9 ])
(const_int 1 [0x1])) 0)
(const_int -2 [0xfffe])) 0)
(const_int 255 [0xff])))
(gdb) finish
Value returned is $19 = (struct rtx_def *) 0x75ae6e58
(gdb) call debug_rtx ($19)
(set (reg:SI 69)
(const_int -1 [0x]))

but combine_simplify_rtx didn't simplify the subexpressions without the
set.  Hm.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-03-19 11:02:13 |2010-03-19 12:06:17
   date||


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



[Bug target/43305] [4.4/4.5 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-19 Thread matz at gcc dot gnu dot org


--- Comment #7 from matz at gcc dot gnu dot org  2010-03-19 12:37 ---
Subject: Bug 43305

Author: matz
Date: Fri Mar 19 12:37:28 2010
New Revision: 157567

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157567
Log:
PR 43305
* builtins.c (expand_builtin_interclass_mathfn,
expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
if that fails.

testsuite/
* gcc.dg/pr43305.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/pr43305.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug target/43305] [4.4/4.5 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-19 Thread matz at gcc dot gnu dot org


--- Comment #8 from matz at gcc dot gnu dot org  2010-03-19 12:38 ---
Fixed.


-- 

matz at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/43438] [4.3/4.4/4.5 Regression] possible wrong code bug

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2010-03-19 12:40 ---
make_extraction (mode=SImode, inner=0x75b48ac8, pos=0, pos_rtx=0x0, len=8, 
unsignedp=1, in_dest=0, in_compare=0)
at /space/rguenther/src/svn/trunk/gcc/combine.c:6648
6648  enum machine_mode is_mode = GET_MODE (inner);
(gdb) call debug_rtx (inner)
(subreg:SI (ior:QI (subreg:QI (ior:SI (reg:SI 67 [ g_9 ])
(const_int 1 [0x1])) 0)
(const_int -2 [0xfffe])) 0)


  if (CONST_INT_P (new_rtx))
return gen_int_mode (INTVAL (new_rtx), mode);

misses the nececssary truncation.  Dropping the special casing works
(but doesn't optimize).  Fixing the appearantly many issues works as well.


-- 


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



[Bug tree-optimization/43436] Missed vectorization: unhandled data-ref

2010-03-19 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
   Severity|normal  |enhancement


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



[Bug tree-optimization/43434] Missed vectorization: not vectorized: data ref analysis: pointer incremented by a parameter

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-03-19 12:53 ---
(In reply to comment #2)
 Oh it might also need the patch for PR 29751 which I hope to submit for 4.6. 
 Note the patch in there still works and has been tested as of earlier this
 week.

New mem-ref will make that one unnecessary


-- 


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



[Bug target/43426] dlsym: invalid version 5 (max 0)

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-03-19 13:07 ---
*** Bug 43429 has been marked as a duplicate of this bug. ***


-- 


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



[Bug c/43429] dlsym: invalid version 5 (max 0)

2010-03-19 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-03-19 13:07 ---


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


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug target/43440] New: Overwriting neon quad register does not clobber all included single registers

2010-03-19 Thread batuzovk at ispras dot ru
Function:
float y;
float foo(float x)
{
y = x * x + x;
asm volatile (vmov.i8 q0, #0 ::: q0);
asm volatile (vmov.i8 q1, #0 ::: q1);
asm volatile (vmov.i8 q2, #0 ::: q2);
asm volatile (vmov.i8 q3, #0 ::: q3);
asm volatile (vmov.i8 q4, #0 ::: q4);
asm volatile (vmov.i8 q5, #0 ::: q5);
asm volatile (vmov.i8 q6, #0 ::: q6);
asm volatile (vmov.i8 q7, #0 ::: q7);
return y;
}
being compiled with -O -Wall -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp
always returns 0.

The cause of incorrect behaviour is that in function foo y is allocated on s15
which is not considered clobbered by asm volatile (vmov.i8 q3, #0 :::
q3);. Mentioning in clobber lists s1 s2 and s3 alongside q0, s5 s6 and s7
alongside q1 and so on solves the problem: clobbered register got spilled.
Omitting any of them makes GCC allocate y on this register and do not spill it.

I also noticed that only d8, d10, d12 and d14 got saved at the beginning of the
function though all d8-d15 should be saved. This was mentioned in bug #42321
comment #1 also.

I tried this example on 4.4.3 and today's trunk.


-- 
   Summary: Overwriting neon quad register does not clobber all
included single registers
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: batuzovk at ispras dot ru
GCC target triplet: arm-unknown-linux-gnueabi


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



[Bug c/43405] sinl is not computed correctly

2010-03-19 Thread eli dot osherovich at gmail dot com


--- Comment #8 from eli dot osherovich at gmail dot com  2010-03-19 13:27 
---
(In reply to comment #6)
 Also: 1e22 is not exactly representable as a floating point number. By
 consequence, 1e22 is different numbers when stored as a double or a
 long double, and we should expect different results when applying the
 sine to it.
 
 W.
 
This is *not* a problem of binary representation. I tried to use exactly the
same argument (one time double, another time *promoted* to long double). The
function is not implemented correctly, or, at least for some numbers in legal
range.


-- 


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



[Bug target/43404] ARM: Internal compiler error when using 'foo' in naked function

2010-03-19 Thread rearnsha at gcc dot gnu dot org


--- Comment #5 from rearnsha at gcc dot gnu dot org  2010-03-19 13:27 
---
I think the compiler should throw an error if there are any statements in the
naked function other than asm statements.  All such asms should be treated as
volatile.


-- 


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



[Bug c/43405] sinl is not computed correctly

2010-03-19 Thread eli dot osherovich at gmail dot com


--- Comment #9 from eli dot osherovich at gmail dot com  2010-03-19 13:29 
---
(In reply to comment #7)
 Subject: Re:  sinl is not computed correctly
 
 On Thu, 18 Mar 2010, bangerth at gmail dot com wrote:
 
  Also: 1e22 is not exactly representable as a floating point number. By
 
 5**22 is smaller than 2**53, so 1e22 (= 5**22 * 2**22) *is* exactly 
 representable in double or formats with more bits than double.
 
1e22 is not representable exactly in the binary format. Not because of its
magnitude, just because most numbers cannot be represented exactly in
computers.


-- 


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



[Bug bootstrap/43403] [4.5 Regression] ICE in stage1 compiling __bswapdi2

2010-03-19 Thread danglin at gcc dot gnu dot org


--- Comment #12 from danglin at gcc dot gnu dot org  2010-03-19 13:30 
---
Fixed.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED


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



[Bug target/43440] Overwriting neon quad register does not clobber all included single registers

2010-03-19 Thread ramana at gcc dot gnu dot org


--- Comment #1 from ramana at gcc dot gnu dot org  2010-03-19 13:32 ---
Yes, there is no easy way of describing the container relationship of the Neon
registers to the compiler at the minute. Thus the only work around at the
moment is to indicate that all the registers contained as part of this register
name are clobbered in the explicit asm statement.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2010-03-19 13:32:13
   date||


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



[Bug testsuite/43441] New: pr42427.c:5:21: fatal error: complex.h: No such file or directory

2010-03-19 Thread danglin at gcc dot gnu dot org
Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/  
-
O2 -fexceptions -fnon-call-exceptions -fpeel-loops -c  -o pr42427.o
/test/gnu/gc
c/gcc/gcc/testsuite/gcc.dg/pr42427.c(timeout = 300)
/test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr42427.c:5:21: fatal error: complex.h:
N
o such file or directory
compilation terminated.
compiler exited with status 1
output is:
/test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr42427.c:5:21: fatal error: complex.h:
N
o such file or directory
compilation terminated.

FAIL: gcc.dg/pr42427.c (test for excess errors)

-bash-3.2$ less /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr42427.c
/* { dg-do assemble } */
/* { dg-options -O2 -fexceptions -fnon-call-exceptions -fpeel-loops } */
/* { dg-require-effective-target ilp32 } */

#include complex.h


-- 
   Summary: pr42427.c:5:21: fatal error: complex.h: No such file or
directory
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11.11
  GCC host triplet: hppa2.0w-hp-hpux11.11
GCC target triplet: hppa2.0w-hp-hpux11.11


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



[Bug target/42886] [4.5 Regression] GCC is not relocatable anymore on Windows (mingw32)

2010-03-19 Thread nightstrike at gmail dot com


--- Comment #1 from nightstrike at gmail dot com  2010-03-19 14:25 ---
This is probably due to the way you built GCC.  To have a completely
relocatable toolchain, you need to use the --with-sysroot option to configure,
and you need to set it equal to prefix or below prefix in the directory
structure.  I don't think this is a bug with GCC.


-- 


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



[Bug target/43404] ARM: Internal compiler error when using 'foo' in naked function

2010-03-19 Thread marti at juffo dot org


--- Comment #6 from marti at juffo dot org  2010-03-19 14:46 ---
(In reply to comment #5)
 I think the compiler should throw an error if there are any statements in the
 naked function other than asm statements.

This would break a lot of code; there are use cases where you want to
save/restore the stack frame yourself, but still use C code in the middle. And
on ARM you can go a long way without needing to spill over to the stack.

For example:
* Nut/OS context switching code,
http://www.ethernut.de/api/context_8c-source.html#l00156
* Interrupt handlers that use macros which also push r0-r3 and spsr, which
otherwise not stored in GCC's stack frame:
http://www.ethernut.de/api/ih__at91ssc_8c-source.html#l00068


-- 


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



[Bug target/42495] redundant memory load

2010-03-19 Thread ramana at gcc dot gnu dot org


--- Comment #3 from ramana at gcc dot gnu dot org  2010-03-19 15:12 ---
Is this for Thumb1 or Thumb2 ? Can you check with trunk today ? 


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug target/43216] Use high registers to reduce code size and improve performance when targeting thumb2

2010-03-19 Thread ramana at gcc dot gnu dot org


--- Comment #2 from ramana at gcc dot gnu dot org  2010-03-19 15:21 ---
Confirmed with trunk.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization, ra
   Last reconfirmed|-00-00 00:00:00 |2010-03-19 15:21:56
   date||


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



[Bug c++/43116] [4.3/4.4/4.5 Regression] ICE when using attributes in a function alias declaration

2010-03-19 Thread matz at gcc dot gnu dot org


--- Comment #3 from matz at gcc dot gnu dot org  2010-03-19 15:33 ---
I have a patch: http://gcc.gnu.org/ml/gcc-patches/2010-03/msg00893.html


-- 

matz at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |matz at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-02-18 23:25:51 |2010-03-19 15:33:51
   date||


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



[Bug middle-end/40106] [4.4/4.5 Regression] Weird interaction between optimize_insn_for_speed_p and -funsafe-math-optimizations

2010-03-19 Thread dominiq at lps dot ens dot fr


--- Comment #49 from dominiq at lps dot ens dot fr  2010-03-19 15:40 ---
A few remarks about comments #47 and #48

 Note that this PR isn't too serious as -fwhole-file isn't the default
 for Fortran so we do not run into this unfortunate interaction of
 profile estimation and inlining.

The test in comment #31 shows that you don't need -fwhole-file nor inlining to
trigger this PR.

 + || (n == 2

Isn't it n==3?

I have done some tests of replacing 1.5 in the test in comment #31 with some
other values (up to 15.5, but not in a systematic way). On
x86_64-apple-darwin10, the multiplications are always a win for size (based on
the size of a.out) over the call to pow. Is my metric flawed? If yes, what
should I use? If no could embedded system experts have a look at this kind of
optimization?


-- 


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



[Bug target/43305] [4.4 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-19 Thread jakub at gcc dot gnu dot org


--- Comment #9 from jakub at gcc dot gnu dot org  2010-03-19 15:46 ---
Well, just fixed on the trunk.  This fix looks simple enough that it should be
backportable.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
  Known to fail||4.4.3
  Known to work||4.5.0 4.3.0
 Resolution|FIXED   |
Summary|[4.4/4.5 Regression] ICE: in|[4.4 Regression] ICE: in
   |emit_unop_insn, at  |emit_unop_insn, at
   |optabs.c:3838 with -Os -|optabs.c:3838 with -Os -
   |ffast-math and ilogbl() |ffast-math and ilogbl()


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



[Bug target/43437] ICE in CSE, during libgcc build

2010-03-19 Thread aldyh at gcc dot gnu dot org


--- Comment #2 from aldyh at gcc dot gnu dot org  2010-03-19 15:48 ---
Created an attachment (id=20141)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20141action=view)
reduced testcase


-- 


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



[Bug target/43437] ICE in CSE, during libgcc build

2010-03-19 Thread aldyh at gcc dot gnu dot org


--- Comment #3 from aldyh at gcc dot gnu dot org  2010-03-19 15:58 ---
Reproduce with: ./cc1  -g -O a.i -mscore3


-- 

aldyh at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-03-19 15:58:32
   date||


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



[Bug target/43399] [4.5 Regression] bootstrap failure in stage1

2010-03-19 Thread ramana at gcc dot gnu dot org


--- Comment #13 from ramana at gcc dot gnu dot org  2010-03-19 15:58 ---
Subject: Bug 43399

Author: ramana
Date: Fri Mar 19 15:58:37 2010
New Revision: 157574

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157574
Log:
Fix PR target/43399

2010-03-19  Ramana Radhakrishnan  ramana.radhakrish...@arm.com

   PR target/43399
   * config/arm/arm.c (emit_multi_reg_push): Update comments.
   Use PRE_MODIFY instead of PRE_DEC.
   (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
   (vfp_emit_fstmd): Likewise.

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


-- 


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



[Bug debug/43442] New: .debug_loc is unnecessarily large

2010-03-19 Thread jakub at gcc dot gnu dot org
While looking at PR43058, I've noticed that we generate tons of completely
useless location list elements.  E.g. on the pr43058.c testcase with X2 instead
of X4 X4 and without the PR43058 patch applied, we generate extremely long
location list for the first a variable and then each loclist is 2 entries
shorter.  Most of the ranges in the list don't overlap with any DW_AT_ranges
in the containing DW_TAG_lexical_block though.


-- 
   Summary: .debug_loc is unnecessarily large
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug target/43305] [4.4 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-19 Thread zsojka at seznam dot cz


--- Comment #10 from zsojka at seznam dot cz  2010-03-19 16:08 ---
How does the test work, would it fail on non-patched trunk?

- extern int printf(const char *format, ...); 

- printf(%d\n, foo(100));
+ if (foo(100) != 6)
+   __builtin_abort ();

I *think* this would do the job, but I really don't know (and I can't test it
now).


-- 


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



[Bug target/40722] [4.5 Regression] ia32intrin.h defines of _rotl, _rotr conflict with target stdlib.h decls

2010-03-19 Thread nightstrike at gmail dot com


--- Comment #4 from nightstrike at gmail dot com  2010-03-19 16:16 ---
Can we fix this before 4.5 is released?


-- 


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



[Bug c++/43081] [4.3/4.4/4.5 regression] ICE with invalid in-class initializer

2010-03-19 Thread matz at gcc dot gnu dot org


--- Comment #3 from matz at gcc dot gnu dot org  2010-03-19 16:18 ---
I have a patch: http://gcc.gnu.org/ml/gcc-patches/2010-03/msg00899.html


-- 

matz at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |matz at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-02-23 01:50:47 |2010-03-19 16:18:21
   date||


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



[Bug target/43305] [4.4 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-19 Thread matz at gcc dot gnu dot org


--- Comment #11 from matz at gcc dot gnu dot org  2010-03-19 16:23 ---
I'm not sure what you're asking.  When the unpatched compiler the testcase
(with the printf or the x!=6-abort) will ICE with a checking compiler,
and produce wrong output (0 or an abort) with a nonchecking compiler.

With a patched compiler the printf testcase will print 6, and the abort
testcase will not abort.


-- 

matz at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|matz at gcc dot gnu dot org |unassigned at gcc dot gnu
   ||dot org
 Status|REOPENED|NEW


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



[Bug target/43305] [4.4 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-19 Thread zsojka at seznam dot cz


--- Comment #12 from zsojka at seznam dot cz  2010-03-19 16:34 ---
Thank you for the answer. I didn't realise check is usually done only with
compilers built with checking. (and thank you for fixing the issue, of course)


-- 


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



[Bug c++/43116] [4.3/4.4/4.5 Regression] ICE when using attributes in a function alias declaration

2010-03-19 Thread matz at gcc dot gnu dot org


--- Comment #4 from matz at gcc dot gnu dot org  2010-03-19 16:37 ---
Subject: Bug 43116

Author: matz
Date: Fri Mar 19 16:37:27 2010
New Revision: 157578

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157578
Log:
PR c++/43116
* attribs.c (decl_attributes): When rebuilding a function pointer
type use the same qualifiers as the original pointer type.

testsuite/
* g++.dg/other/pr43116.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/other/pr43116.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/attribs.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug debug/43442] .debug_loc is unnecessarily large

2010-03-19 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2010-03-19 16:38 ---
Created an attachment (id=20142)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20142action=view)
gcc45-pr43442.patch

Untested patch that cures the size of .debug_loc on the reduced pr43058.c
testcase even without the PR43058 patch.  Going to bootstrap/regtest it to also
see how much actual saving it provides on real-world programs like cc1.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED


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



[Bug c++/43116] [4.3/4.4 Regression] ICE when using attributes in a function alias declaration

2010-03-19 Thread matz at gcc dot gnu dot org


--- Comment #5 from matz at gcc dot gnu dot org  2010-03-19 16:40 ---
Fixed for 4.5.  Unassigning myself.


-- 

matz at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|matz at gcc dot gnu dot org |unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW
  Known to fail|4.5.0 4.2.3 4.3.2   |4.2.3 4.3.2
  Known to work|4.1.3   |4.1.3 4.5.0
Summary|[4.3/4.4/4.5 Regression] ICE|[4.3/4.4 Regression] ICE
   |when using attributes in a  |when using attributes in a
   |function alias declaration  |function alias declaration


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



[Bug tree-optimization/42963] [4.5 Regression] Redundant switch labels not cleaned up anymore

2010-03-19 Thread matz at gcc dot gnu dot org


--- Comment #2 from matz at gcc dot gnu dot org  2010-03-19 16:55 ---
Actually I have a patch for this, need to polish it somewhat.


-- 

matz at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |matz at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-02-05 10:15:46 |2010-03-19 16:55:07
   date||


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



[Bug debug/42977] [4.5 Regression] -fcompare-debug failure with -O2 -finline-functions -fomit-frame-pointer -ftracer -fsched2-use-superblocks -fPIC

2010-03-19 Thread matz at gcc dot gnu dot org


--- Comment #5 from matz at gcc dot gnu dot org  2010-03-19 16:59 ---
How about not calling cselib_process_insn on DEBUG_INSNs (or better make
cselib_process_insn ignore them).


-- 


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



[Bug debug/42977] [4.5 Regression] -fcompare-debug failure with -O2 -finline-functions -fomit-frame-pointer -ftracer -fsched2-use-superblocks -fPIC

2010-03-19 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2010-03-19 17:01 ---
Well, we have to call cselib_process_insn on DEBUG_INSNs at least during
var-tracking.  As for other passes, such as DSE, haven't thought about the
impliciations of not doing so.  Alex?


-- 


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



[Bug target/43399] [4.5 Regression] bootstrap failure in stage1

2010-03-19 Thread ramana at gcc dot gnu dot org


--- Comment #14 from ramana at gcc dot gnu dot org  2010-03-19 17:04 ---
Fixed.


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug debug/43443] New: We should yank ASM_OPERANDS locs from var-tracking preserved cselib VALUEs

2010-03-19 Thread jakub at gcc dot gnu dot org
__attribute__((noinline))
void bar (void)
{
  asm volatile ( : : : memory);
}

int
main (void)
{
  int i = 6;
  bar ();
  i++;
  asm ( : +r (i));
  i++;
  return i;
}

on x86_64-linux -g -O2 has bogosity in VAR_LOCATION note:
(note 33 13 21 2 (var_location i (expr_list:REG_DEP_TRUE (plus:SI
(asm_operands:SI () (=r) 0 [
(const_int 7 [0x7])
]
 [
(asm_input:SI (0) (null):0)
]
 [] dm.c:16)
(const_int 1 [0x1]))
This is because the register that was set by this non-volatile asm was
clobbered and ASM_OPERANDS definitely is not something we can emit into the
debug info.
And, if it wasn't there, vt_expand_loc could see that this doesn't lead to
useful location and try another one, in particular the one provided by
reverse_op stuff.  With the patch I'm going to attach on this testcase we end
up with:
(note 33 13 21 2 (var_location i (expr_list:REG_DEP_TRUE (reg:SI 0 ax [63])
note instead, with assembly diff:
@@ -70,6 +70,10 @@ main:
 .byte0x70# DW_OP_breg0
 .sleb128 1
 .byte0x9f# DW_OP_stack_value
+.quad.LVL3-.Ltext0# Location list begin address (*.LLST0)
+.quad.LFE1-.Ltext0# Location list end address (*.LLST0)
+.value0x1# Location expression size
+.byte0x50# DW_OP_reg0
 .quad0x0# Location list terminator begin (*.LLST0)
 .quad0x0# Location list terminator end (*.LLST0)
 .section.debug_info


-- 
   Summary: We should yank ASM_OPERANDS locs from var-tracking
preserved cselib VALUEs
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug debug/43443] We should yank ASM_OPERANDS locs from var-tracking preserved cselib VALUEs

2010-03-19 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2010-03-19 17:12 ---
Created an attachment (id=20143)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20143action=view)
gcc45-pr43443.patch

Fix.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED


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



[Bug target/43437] ICE in CSE, during libgcc build

2010-03-19 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2010-03-19 17:35 ---
Ah, I see.  We have
(insn/f 93 8 94 2 pr43437.c:4 (parallel [
(set/f (mem:SI (pre_dec:SI (reg/f:SI 0 r0)) [0 S4 A32])
(reg:SI 12 r12))
(set/f (mem:SI (pre_dec:SI (reg/f:SI 0 r0)) [0 S4 A32])
(reg:SI 13 r13))
(set/f (mem:SI (pre_dec:SI (reg/f:SI 0 r0)) [0 S4 A32])
(reg:SI 14 r14))
(set/f (mem:SI (pre_dec:SI (reg/f:SI 0 r0)) [0 S4 A32])
(reg:SI 15 r15))
]) 159 {*score.md:3032} (expr_list:REG_DEAD (reg:SI 15 r15)
(expr_list:REG_DEAD (reg:SI 14 r14)
(expr_list:REG_DEAD (reg:SI 13 r13)
(expr_list:REG_DEAD (reg:SI 12 r12)
(nil))
and adjust_insn turns that into:
(insn/f 93 8 94 2 pr43437.c:4 (parallel [
(set/f (mem:SI (plus:SI (reg/f:SI 54 _frame)
(const_int -20 [0xffec])) [0 S4 A32])
(reg:SI 12 r12))
(set/f (mem:SI (plus:SI (reg/f:SI 54 _frame)
(const_int -20 [0xffec])) [0 S4 A32])
(reg:SI 13 r13))
(set/f (mem:SI (plus:SI (reg/f:SI 54 _frame)
(const_int -20 [0xffec])) [0 S4 A32])
(reg:SI 14 r14))
(set/f (mem:SI (plus:SI (reg/f:SI 54 _frame)
(const_int -20 [0xffec])) [0 S4 A32])
(reg:SI 15 r15))
(set (reg/f:SI 0 r0)
(plus:SI (reg/f:SI 0 r0)
(const_int -4 [0xfffc])))
(set (reg/f:SI 0 r0)
(plus:SI (reg/f:SI 0 r0)
(const_int -4 [0xfffc])))
(set (reg/f:SI 0 r0)
(plus:SI (reg/f:SI 0 r0)
(const_int -4 [0xfffc])))
(set (reg/f:SI 0 r0)
(plus:SI (reg/f:SI 0 r0)
(const_int -4 [0xfffc])))
]) 159 {*score.md:3032} (expr_list:REG_DEAD (reg:SI 15 r15)
(expr_list:REG_DEAD (reg:SI 14 r14)
(expr_list:REG_DEAD (reg:SI 13 r13)
(expr_list:REG_DEAD (reg:SI 12 r12)
(nil))
I was assuming more than one autoinc with the same reg doesn't appear in any
port, apparently it does.  Guess adjust_insn could detect this and merge all
the adjustments against the same reg into one.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-03-19 15:58:32 |2010-03-19 17:35:01
   date||


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



[Bug fortran/43409] I/O: INQUIRE for SIZE does not work.

2010-03-19 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2010-03-19 17:40 ---
(In reply to comment #4)
 size.1 is always kind=4 so we may need some error checks if someone tries to
 stuff a large file size into a small space.

Thus, we should change the ABI at some point (e.g. when doing the array desc.
update).

For too large files, one can meanwhile return -1 (If the file size cannot be
determined).


-- 


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



[Bug target/43444] New: ICE in adjust_mems at var-tracking.c:789

2010-03-19 Thread gcc-bugzilla at gcc dot gnu dot org

ICE while building cross-compiler for ARM.

$ /usr/src/gcc-build/./gcc/xgcc -B/usr/src/gcc-build/./gcc/
-B/usr/src/armtest/arm-none-eabi/bin/ -B/usr/src/armtest/arm-none-eabi/lib/
-isystem /usr/src/armtest/arm-none-eabi/include -isystem
/usr/src/armtest/arm-none-eabi/sys-include-g -O2 -mfloat-abi=hard -O2  -g
-O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -fno-inline -Wno-missing-prototypes -g  -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc  -I. -I. -I../../.././gcc
-I../../../../gcc-4.5-20100318/libgcc -I../../../../gcc-4.5-20100318/libgcc/.
-I../../../../gcc-4.5-20100318/libgcc/../gcc
-I../../../../gcc-4.5-20100318/libgcc/../include   -o _muldi3.o -MT _muldi3.o
-MD -MP -MF _muldi3.dep -DL_muldi3 -c
../../../../gcc-4.5-20100318/libgcc/../gcc/libgcc2.c -save-temps
../../../../gcc-4.5-20100318/libgcc/../gcc/libgcc2.c: In function
‘__muldi3’:
../../../../gcc-4.5-20100318/libgcc/../gcc/libgcc2.c:562:1: internal compiler
error: in adjust_mems, at var-tracking.c:789

Environment:
System: Linux rechot 2.6.33 #2 SMP PREEMPT Thu Mar 11 15:47:34 CET 2010 i686
Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux

Gentoo on x86 SMP.

$ /lib/libc.so.6
GNU C Library stable release version 2.10.1, by Roland McGrath et al.
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.3.4.
Compiled on a Linux 2.6.32.2 system on 2010-01-30.
Available extensions:
C stubs add-on version 2.1.2
crypt add-on version 2.1 by Michael Glad and others
Gentoo patchset 6
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
Support for some architectures added on, not maintained in glibc core.
BIND-8.2.3-T5B

host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: arm-none-eabi
configured with: ../gcc-4.5-20100318/configure --prefix /usr/src/armtest
--target=arm-none-eabi

How-To-Repeat:
build gcc-4.5-20100318 snapshot for arm-none-eabi target


-- 
   Summary: ICE in adjust_mems at var-tracking.c:789
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: critical
  Priority: P2
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mirq-gccboogs at rere dot qmqm dot pl
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: arm-none-eabi


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



[Bug rtl-optimization/42258] [4.5 Regression] redundant register move around mul instruction

2010-03-19 Thread bernds at gcc dot gnu dot org


--- Comment #7 from bernds at gcc dot gnu dot org  2010-03-19 18:19 ---
Subject: Bug 42258

Author: bernds
Date: Fri Mar 19 18:18:54 2010
New Revision: 157581

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157581
Log:
gcc/
PR rtl-optimization/42258
* ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
use that may match DEF.

testsuite/
PR rtl-optimization/42258
* gcc.target/arm/thumb1-mul-moves.c: New test.



Added:
trunk/gcc/testsuite/gcc.target/arm/thumb1-mul-moves.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-lives.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug target/43444] ICE in adjust_mems at var-tracking.c:789

2010-03-19 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-03-19 18:19 ---
Just fixed after this morning (which was done after the snapshot was done).

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug target/43399] [4.5 Regression] bootstrap failure in stage1

2010-03-19 Thread pinskia at gcc dot gnu dot org


--- Comment #15 from pinskia at gcc dot gnu dot org  2010-03-19 18:19 
---
*** Bug 43444 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mirq-gccboogs at rere dot
   ||qmqm dot pl


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



[Bug rtl-optimization/40956] Constants are never candidates for hoisting

2010-03-19 Thread steven at gcc dot gnu dot org


--- Comment #4 from steven at gcc dot gnu dot org  2010-03-19 18:39 ---
Comment #3 makes no sense: There is no such thing as target specific GIMPLE
canonicalization. And also there is no hoisting for GIMPLE so the form of the
IR given in comment #3 wouldn't make a difference.

Even without -frename-registers, the extra insn is there. GCC trunk revision
157579 generates the following code with -Os -mthumb -march=armv5te:

foo:
push{lr}
cmp r0, #9
beq .L2
mov r3, #0
str r3, [r1]
b   .L3
.L2:
mov r3, #0
str r3, [r1, #4]
.L3:
mov r0, #3
@ sp needed for prologue
pop {pc}

Here the mov r3, #0 after .L2: and after beq .L2 could be unified e.g.
with hoisting or with head-merging (inverse of tail merging).


Just before the RTL hoisting pass, the code looks like this (.152r.cprop1
dump):

5 NOTE_INSN_BASIC_BLOCK
2 r135:SI=r0:SI
  REG_DEAD: r0:SI
3 r136:SI=r1:SI
  REG_DEAD: r1:SI
4 NOTE_INSN_FUNCTION_BEG
7 pc={(r135:SI==0x9)?L13:pc}
  REG_DEAD: r135:SI
  REG_BR_PROB: 0xec6
8 NOTE_INSN_BASIC_BLOCK
9 r137:SI=0x0
   10 [r136:SI]=r137:SI
  REG_EQUAL: 0x0
  REG_DEAD: r137:SI
  REG_DEAD: r136:SI
L13:
   14 NOTE_INSN_BASIC_BLOCK
   15 r138:SI=0x0
   16 [r136:SI+0x4]=r138:SI
  REG_EQUAL: 0x0
  REG_DEAD: r138:SI
  REG_DEAD: r136:SI
L17:
   18 NOTE_INSN_BASIC_BLOCK
   23 r0:SI=0x3
   26 use r0:SI

Note the insns 9 r137:SI=0x0 and 15 r138:SI=0x0. This could be hoisted in
the RTL HOIST pass. But this doesn't happen because the hoisting pass doesn't
record constants as hoisting candidates. The expression passes in gcse.c (PRE
and HOIST) ignore all instructions of the form (set (reg) (const)) because
want_to_gcse_p() returns false for them. This is a deliberate decision in the
implementation.

Thus, there is nothing target specific about this problem. The analysis of
comment #3 makes no sense, but this is also not really a dup of bug 23286.


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||33828
  nThis||
   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
  Component|target  |rtl-optimization
 Ever Confirmed|0   |1
  GCC build triplet|i686-linux  |
   GCC host triplet|i686-linux  |
   Last reconfirmed|-00-00 00:00:00 |2010-03-19 18:39:40
   date||
Summary|GCSE opportunity in if  |Constants are never
   |statement   |candidates for hoisting


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



[Bug target/43437] ICE in CSE, during libgcc build

2010-03-19 Thread aldyh at gcc dot gnu dot org


--- Comment #5 from aldyh at gcc dot gnu dot org  2010-03-19 18:41 ---
Err, I was just going to say that.  Curse you Jakub.  Let me know when you're
looking at something so we don't duplicate efforts.  Wait, am I not supposed to
say curse on a PR?  Oh well.


-- 


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



[Bug target/40697] inefficient code to extract least bits from an integer value

2010-03-19 Thread bernds at gcc dot gnu dot org


--- Comment #5 from bernds at gcc dot gnu dot org  2010-03-19 18:41 ---
Subject: Bug 40697

Author: bernds
Date: Fri Mar 19 18:41:22 2010
New Revision: 157582

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157582
Log:
gcc/
PR target/40697
* optabs.c (avoid_expensive_constant): Use rtx_cost to find out
the cost of loading the constant rather than assuming
COSTS_N_INSNS (1).
* config/arm/arm.c (thumb1_rtx_costs) case CONST_INT: If the
outer code is AND, do the same tests as the andsi3 expander and
return COSTS_N_INSNS (1) if and is cheap.

testsuite/
PR target/40697
* gcc.target/arm/thumb-andsi.c: New test.


Added:
trunk/gcc/testsuite/gcc.target/arm/thumb-andsi.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c
trunk/gcc/optabs.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug target/42879] Replace tst r3, 1 with lsl r3, r3, 31 in thumb2

2010-03-19 Thread steven at gcc dot gnu dot org


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||16996
  nThis||
   Severity|normal  |enhancement


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



[Bug fortran/43409] I/O: INQUIRE for SIZE does not work.

2010-03-19 Thread jvdelisle at gcc dot gnu dot org


--- Comment #6 from jvdelisle at gcc dot gnu dot org  2010-03-19 20:25 
---
On it.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-03-19 03:24:02 |2010-03-19 20:25:58
   date||


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



[Bug preprocessor/39213] Preprocessor ICE with -m64 and --traditional-cpp

2010-03-19 Thread ro at gcc dot gnu dot org


--- Comment #1 from ro at gcc dot gnu dot org  2010-03-19 20:32 ---
Fails on 64-bit Solaris 10, 11/SPARC, too.

I get the following stacktrace:

#0  0xfee7248c in abort () from /lib/libc.so.1
#1  0x08859957 in _cpp_process_line_notes (pfile=0x8b5c468, in_comment=0) at
/vol/gcc/src/hg/trunk/solaris/libcpp/lex.c:318
#2  0x0886153a in _cpp_scan_out_logical_line (pfile=0x8b5c468, macro=0x0) at
/vol/gcc/src/hg/trunk/solaris/libcpp/traditional.c:384
#3  0x08861d53 in _cpp_read_logical_line_trad (pfile=0x8b5c468) at
/vol/gcc/src/hg/trunk/solaris/libcpp/traditional.c:306
#4  0x0815e515 in scan_translation_unit_trad (pfile=0x8b5c468) at
/vol/gcc/src/hg/trunk/solaris/gcc/c-ppoutput.c:289
#5  preprocess_file (pfile=0x8b5c468) at
/vol/gcc/src/hg/trunk/solaris/gcc/c-ppoutput.c:95
#6  0x0815935b in c_common_init () at
/vol/gcc/src/hg/trunk/solaris/gcc/c-opts.c:1235
#7  0x08161ee8 in c_objc_common_init () at
/vol/gcc/src/hg/trunk/solaris/gcc/c-objc-common.c:74
#8  0x083f1a00 in lang_dependent_init (argc=18, argv=0x8047160) at
/vol/gcc/src/hg/trunk/solaris/gcc/toplev.c:2279
#9  do_compile (argc=18, argv=0x8047160) at
/vol/gcc/src/hg/trunk/solaris/gcc/toplev.c:2404
#10 toplev_main (argc=18, argv=0x8047160) at
/vol/gcc/src/hg/trunk/solaris/gcc/toplev.c:2447
#11 0x0817d4ef in main (argc=18, argv=0x8047160) at
/vol/gcc/src/hg/trunk/solaris/gcc/main.c:35

gdb claims note-type = 10


-- 

ro at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ro at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|i386-pc-solaris2.11 |*-*-solaris2*
   GCC host triplet|i386-pc-solaris2.11 |*-*-solaris2*
 GCC target triplet|i386-pc-solaris2.11 |*-*-solaris2*
  Known to fail|4.4.0   |4.4.0 4.5.0
   Last reconfirmed|-00-00 00:00:00 |2010-03-19 20:32:59
   date||


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



[Bug target/43437] ICE in CSE, during libgcc build

2010-03-19 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2010-03-19 20:37 ---
Created an attachment (id=20144)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20144action=view)
gcc45-pr43437.patch

Possible patch.  Except that note_uses (and note_stores) walk parallels from
end to start, so as first the side effects for r15 store are replaced etc.  Not
sure what the insn really does, if it expects the storing to be done first
parallel goes to r0 - 4, second to r0 - 8, third to r0 - 12 and fourth to r0 -
16, or
first to r0 - 16, second to r0 - 12, third to r0 - 8 and fourth to r0 - 4.
To me this sounds very much like multiple side-effects in one statement in C,
I'd say doing this should be invalid RTL.


-- 


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



[Bug other/43445] New: Toplevel Makefile needs to export ABI variants of LD_LIBRARY_PATH

2010-03-19 Thread ro at gcc dot gnu dot org
During a libjava build on i386-pc-solaris2.11, I noticed the following error:

ld.so.1: gcj-dbtool: fatal:
/vol/gcc/obj/gcc-4.5.0-20100208/11-gcc-gld/./gcc/libgcc_s.so.1: wrong ELF
class: ELFCLASS32
/bin/ksh: 29209 Killed

This happens when trying to execute the 64-bit gcj-dbtool.  gcj-dbtool itself
is a libtool wrapper script, which allows it to find the dependend libtool
libraries, but for libgcc_s.so.1, it relies on HOST_EXPORTS in the toplevel
Makefile to export LD_LIBRARY_PATH via RPATH_ENVVAR, it refers to
TARGET_LIB_PATH and HOST_LIB_PATH, but none of them is multilib aware.

The toplevel Makefile probably needs to set all of LD_LIBRARY_PATH{, _32, _64}
and their IRIX and Darwin equivalents.  See
gcc/testsuite/lib/target-libpath.exp
for the full list.


-- 
   Summary: Toplevel Makefile needs to export ABI variants of
LD_LIBRARY_PATH
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org


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



[Bug target/43446] New: libiberty for target failing to build with error: Link tests are not allowed after GCC_NO_EXECUTABLES

2010-03-19 Thread mirq-gccboogs at rere dot qmqm dot pl
build fails in configure-target-libiberty with:

checking for library containing strerror... configure: error: Link tests are
not allowed after GCC_NO_EXECUTABLES.

Anyway, Probably libiberty should not be built anyway for this target. The same
goes for libssp (can be disabled) and zlib.


-- 
   Summary: libiberty for target failing to build with error: Link
tests are not allowed after GCC_NO_EXECUTABLES
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mirq-gccboogs at rere dot qmqm dot pl
 GCC build triplet: arm-none-eabi
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug target/43446] libiberty for target failing to build with error: Link tests are not allowed after GCC_NO_EXECUTABLES

2010-03-19 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-03-19 20:45 ---
How did you configure GCC?


-- 


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



[Bug libgcj/43447] New: TestLeak.exe test consumes all available memory on 64-bit Solaris 2

2010-03-19 Thread ro at gcc dot gnu dot org
At least on Solaris 10 and 11, both SPARC and x86, the 64-bit TestLeak.exe test
consumes all available memory, possibly bringing the machine to a complete
halt.
The problem seems to be far more severe if gcc is built to use GNU ld instead
of Sun ld.


-- 
   Summary: TestLeak.exe test consumes all available memory on 64-
bit Solaris 2
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: *-*-solaris2*
  GCC host triplet: *-*-solaris2*
GCC target triplet: *-*-solaris2*


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



[Bug other/43448] New: gccbug should be removed

2010-03-19 Thread ro at gcc dot gnu dot org
gccbug hasn't worked in months if not years.  Bug reports submitted using it
are silently dropped, which is the worse that can happen: submitters being
ignored
and possibly even losing their submission are far less likely to report bugs in
the future.  Since it seems highly unlikely that a volunteer shows up to make
this
work again, we should instead remove gccbug wholesale and have mail to
gcc-gn...@gcc.gnu.org bounce with an appropriate error message so anyone trying
to submit bugs using old versions of gccbug with keep a copy of his submission
and be alerted to the demise of gccbug.


-- 
   Summary: gccbug should be removed
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org


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



[Bug other/43449] New: sbitmap is broken if gcc is built with -m32 on a 64-bit machine.

2010-03-19 Thread dougkwan at google dot com
We found a problem in sbitmap.c:


bool
sbitmap_range_empty_p (const_sbitmap bmap, unsigned int start, unsigned int n)
{
  unsigned int i = start / SBITMAP_ELT_BITS;
  SBITMAP_ELT_TYPE elm;
...
  /* The bits are totally contained in a single element.  */
  if (shift + n  SBITMAP_ELT_BITS)
elm = ((1  n) - 1);

depending on configuration, SBITMAP_ELT_TYPE can be wider than the int type. 
The masking above will mistakenly strip off top bits from elm.  The correct
code should be written as:

  /* The bits are totally contained in a single element.  */
  if (shift + n  SBITMAP_ELT_BITS)
elm = (((SBITMAP_ELF_BITS) 1  n) - 1);

The same problem appears in another location of the same function.  The broken
code is in both 4.4.0 and trunk.


-- 
   Summary: sbitmap is broken if gcc is built with -m32 on a 64-bit
machine.
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dougkwan at google dot com
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu (with -m32)
GCC target triplet: arm-none-eabi


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



[Bug debug/43442] .debug_loc is unnecessarily large

2010-03-19 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2010-03-19 20:56 ---
The patch has been bootstrapped/regtested on x86_64-linux and i686-linux and
apparently has huge effect on the debug info size.

i686 cc1 before:
DW_AT_location count 305862
  [28] .debug_info   PROGBITS 1002ada 139b947 00  0   0
 1
  [33] .debug_locPROGBITS 29059e7 f6b1fb 00  0   0 
1
i686 cc1 after:
DW_AT_location count 295969
  [28] .debug_info   PROGBITS 1002ada 1391ec0 00  0   0
 1
  [33] .debug_locPROGBITS 28fc1b3 893583 00  0   0 
1

I guess I should verify some random DIEs from that 1 set of DIEs that lost
DW_AT_location attribute if really all location list parts were outside of the
containing block DW_AT_ranges, and similarly for some location lists that got
shorter.  On the simple testcase it worked well, but more verification doesn't
hurt.  If the patch really doesn't throw useful debug info on the floor, having
.debug_loc shrink by 50% would be quite nice.


-- 


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



[Bug other/43449] sbitmap is broken if gcc is built with -m32 on a 64-bit machine.

2010-03-19 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-03-19 21:02 ---
SBITMAP_ELT_TYPE is defined as HOST_WIDEST_FAST_INT. And HOST_WIDEST_FAST_INT
(added by me) is either long or long long.  Yes there should be a cast but
it cannot be an issue really with -m32 really because long is the same size as
int there.  The host is LP32 as you described so long is the same size as int. 
If HOST_WIDEST_FAST_INT is long long there, there is bug in the configuration
as that will slow down the compiler anyways.


-- 


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



[Bug other/43449] sbitmap is broken if gcc is built with -m32 on a 64-bit machine.

2010-03-19 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-03-19 21:05 ---
This is the comment from hwint.h (which I know I did :) ):

/* Define HOST_WIDEST_FAST_INT to the widest integer type supported
   efficiently in hardware.  (That is, the widest integer type that fits
   in a hardware register.)  Normally this is long but on some hosts it
   should be long long or __int64.  This is no convenient way to
   autodetect this, so such systems must set a flag in config.host; see there
   for details.  */

Only two hosts use it as long long, x86_64-mingw and ia64-hpux.  Now I think
you are lying to configure that the host is x86_64-linux-gnu anyways if you are
using -m32.  I think the host (and build should be i686-linux-gnu).


-- 


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



[Bug fortran/43450] New: -fwhole-file: ICE in gfc_create_module_variable, at fortran/trans-decl.c:3386

2010-03-19 Thread burnus at gcc dot gnu dot org
Moved from PR 40011 comment 40 into an extra PR. Joost reported that the
following ICEs in gfc_create_module_variable, at fortran/trans-decl.c:3386

The failing assert is:

  gcc_assert (TYPE_CONTEXT (decl) == NULL_TREE
  || TYPE_CONTEXT (decl) == sym-ns-proc_name-backend_decl);

debugging shows:

p sym-backend_decl-type.context
$6 = (tree) 0x2cba85c0
p sym-ns-proc_name-backend_decl-type.context
$7 = (tree) 0x0

where:
(gdb) p sym-ns-proc_name-name
$2 = 0x2cc37e70 ep_types
(gdb) p sym-name
$3 = 0x2cc5e588 replica_env_type


MODULE replica_types
  TYPE replica_env_type
  END TYPE replica_env_type
CONTAINS
  SUBROUTINE rep_env_create(rep_env, para_env, input, nrep, prep,
   sync_v,keep_wf_history,row_force)
  END SUBROUTINE rep_env_create
  SUBROUTINE rep_envs_add_rep_env(rep_env)
TYPE(replica_env_type), POINTER  :: rep_env
  END SUBROUTINE rep_envs_add_rep_env
END MODULE replica_types
MODULE ep_types
  USE replica_types
  TYPE ep_env_type
 TYPE(replica_env_type), POINTER :: mol_envs
  END TYPE ep_env_type
  TYPE ep_env_p_type
 TYPE(ep_env_type), POINTER :: ep_env
  END TYPE ep_env_p_type
  TYPE(ep_env_p_type), DIMENSION(:), POINTER :: ep_envs
CONTAINS
  SUBROUTINE ep_force_release()
  END SUBROUTINE ep_force_release
END MODULE ep_types


-- 
   Summary: -fwhole-file: ICE in gfc_create_module_variable, at
fortran/trans-decl.c:3386
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  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=43450



[Bug target/43437] ICE in CSE, during libgcc build

2010-03-19 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2010-03-19 21:14 ---
I really think it is score backend that should be fixed here.
Say the store multiple should be represented with
(insn/f 93 8 94 2 pr43437.c:4 (parallel [
 (set/f (mem:SI (plus:SI (reg/f:SI 0 r0) (const_int -4
[0xfffc])) [0 S4 A32])
 (reg:SI 12 r12))
 (set/f (mem:SI (plus:SI (reg/f:SI 0 r0) (const_int -8
[0xfff8])) [0 S4 A32])
 (reg:SI 13 r13))
 (set/f (mem:SI (plus:SI (reg/f:SI 0 r0) (const_int -12
[0xfff4])) [0 S4 A32])
 (reg:SI 14 r14))
 (set/f (mem:SI (plus:SI (reg/f:SI 0 r0) (const_int -16
[0xfff0])) [0 S4 A32])
 (reg:SI 15 r15))
 (set/f (reg/f:SI 0 r0) ((plus:SI (reg/f:SI 0 r0) (const_int -16
[0xfff0])))
 ]) 159 {*score.md:3032} (expr_list:REG_DEAD (reg:SI 15 r15)
 (expr_list:REG_DEAD (reg:SI 14 r14)
 (expr_list:REG_DEAD (reg:SI 13 r13)
 (expr_list:REG_DEAD (reg:SI 12 r12)
 (nil))
assuming the regs are meant to be pushed in that order (or the other order of
the adjustments).  No single insn should have more than one side-effect on one
register.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug debug/43442] .debug_loc is unnecessarily large

2010-03-19 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2010-03-19 21:50 ---
Similar effects on x86_64 cc1plus:
before:
DW_AT_location count 312834, cc1plus size 83M
  [28] .debug_info   PROGBITS 10eb517 149edb3 00   
  0   0  1
  [32] .debug_locPROGBITS 2a6b054 1e2fba8 00   
  0   0  1
after:
DW_AT_location count 302437, cc1plus size 70M
  [28] .debug_info   PROGBITS 10eb517 1494b6b 00   
  0   0  1
  [32] .debug_locPROGBITS 2a61051 10f1b5c 00   
  0   0  1


-- 


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



[Bug target/43446] libiberty for target failing to build with error: Link tests are not allowed after GCC_NO_EXECUTABLES

2010-03-19 Thread mirq-gccboogs at rere dot qmqm dot pl


--- Comment #2 from mirq-gccboogs at rere dot qmqm dot pl  2010-03-19 21:56 
---
I'm building a compiler for Cortex-M3 based microcontroller, so i used this
configure options:

../gcc/configure --prefix=/usr/src/gcc-armtest --target arm-none-eabi
--enable-languages=c --disable-libssp

There are no --disable options for libiberty nor zlib, so I manually removed
*-target-libiberty dependencies from maybe-*-target-libiberty (and the same for
zlib) in the main Makefile. Then the build and install finished correctly.


-- 


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



[Bug target/43446] libiberty for target failing to build with error: Link tests are not allowed after GCC_NO_EXECUTABLES

2010-03-19 Thread mirq-gccboogs at rere dot qmqm dot pl


--- Comment #3 from mirq-gccboogs at rere dot qmqm dot pl  2010-03-19 21:57 
---
I forgot to add, that the configure error is the same as in bug #37634 for
libgfortran.


-- 


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



[Bug target/43446] libiberty for target failing to build with error: Link tests are not allowed after GCC_NO_EXECUTABLES

2010-03-19 Thread mirq-gccboogs at rere dot qmqm dot pl


--- Comment #4 from mirq-gccboogs at rere dot qmqm dot pl  2010-03-19 22:03 
---
I just noticed, that I switched target/build triplets when reporting. That's
fixed now.

BTW,

./arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=./arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/usr/src/gcc-armtest/libexec/gcc/arm-none-eabi/4.5.0/lto-wrapper
Target: arm-none-eabi
Configured with: ../gcc/configure --prefix=/usr/src/gcc-armtest --target
arm-none-eabi --enable-languages=c --disable-libssp
Thread model: single
gcc version 4.5.0 20100319 (experimental) (GCC) 


-- 


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



[Bug libstdc++/43451] New: [C++0x] atomic integral methods missing volatile overloads

2010-03-19 Thread veloso at verylowsodium dot com
Since the resolution of LWG 1147, most of the methods on the atomic integral
types should have two overloads, a volatile and a non-volatile version. 
However, it appears that since r155377, the volatile overloads are missing from
the atomic integral types altogether.


-- 
   Summary: [C++0x] atomic integral methods missing volatile
overloads
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: veloso at verylowsodium dot com


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



[Bug target/43446] libiberty for target failing to build with error: Link tests are not allowed after GCC_NO_EXECUTABLES

2010-03-19 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2010-03-19 22:08 ---
Are you building a combined tree?  Or are you doing the building in different
steps?  For a combined tree, it should just work and if you are building a
combined tree please attach the config.log from libiberty subdirectory in the
target subdirectory.

If you are not building a combined tree then you need to do:
 --without-headers --with-newlib

Also Then build newlib and then rebuild GCC.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug libstdc++/43451] [C++0x] atomic integral methods missing volatile overloads

2010-03-19 Thread paolo dot carlini at oracle dot com


--- Comment #1 from paolo dot carlini at oracle dot com  2010-03-19 22:15 
---
Yes. To be clear, Bugzilla isn't the proper tool for this kind of issue: it is
for *bug* tracking - not for managing the development of new projects - and the
whole C++0x is indeed a new project, and an experimental one. Of course, *many*
bits of C++0x are not implemented yet in GCC, implemented incompletely, or not
implemented according to the latest WD, but a Bugzilla entry for each is not
the way we want to go. Thus, please be patient, and at some point somebody will
of course work on this too. You are also welcome to contribute. Thanks.


-- 


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



[Bug target/43446] libiberty for target failing to build with error: Link tests are not allowed after GCC_NO_EXECUTABLES

2010-03-19 Thread mirq-gccboogs at rere dot qmqm dot pl


--- Comment #6 from mirq-gccboogs at rere dot qmqm dot pl  2010-03-19 22:23 
---
I haven't looked at newlib yet, as I needed just the C compiler. Source tree is
a vanilla svn checkout from svn://gcc.gnu.org/svn/gcc/trunk.


-- 


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



[Bug libstdc++/43451] [C++0x] atomic integral methods missing volatile overloads

2010-03-19 Thread paolo dot carlini at oracle dot com


--- Comment #2 from paolo dot carlini at oracle dot com  2010-03-19 22:25 
---
Benjamin, I'm adding you in CC, I don't know which plans do we have wrt to this
issue for 4.5.0...


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||bkoz at redhat dot com


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



[Bug target/43446] libiberty for target failing to build with error: Link tests are not allowed after GCC_NO_EXECUTABLES

2010-03-19 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2010-03-19 22:24 ---
So please try with the flags I offered for configuring.  Since those are the
options which are needed to build a cross without newlib built (or a combined
tree).


-- 


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



[Bug c/43211] [4.5 Regression] ICE with incomplete type in function argument

2010-03-19 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2010-03-19 22:53 ---
Subject: Bug 43211

Author: pinskia
Date: Fri Mar 19 22:52:41 2010
New Revision: 157585

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157585
Log:
2010-03-19  Andrew Pinski  andrew_pin...@caviumnetworks.com

PR C/43211
* c-decl.c (grokparms): Set arg_types to NULL_TREE if there was an
error.

2010-03-19  Andrew Pinski  andrew_pin...@caviumnetworks.com

PR C/43211
* gcc.dg/pr43211.c: New test.
* gcc.dg/pr18809-1.c: Don't expect an error when calling foo.



Added:
trunk/gcc/testsuite/gcc.dg/pr43211.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-decl.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pr18809-1.c


--- Comment #9 from pinskia at gcc dot gnu dot org  2010-03-19 22:53 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c/43211] [4.5 Regression] ICE with incomplete type in function argument

2010-03-19 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2010-03-19 22:53 ---
Subject: Bug 43211

Author: pinskia
Date: Fri Mar 19 22:52:41 2010
New Revision: 157585

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157585
Log:
2010-03-19  Andrew Pinski  andrew_pin...@caviumnetworks.com

PR C/43211
* c-decl.c (grokparms): Set arg_types to NULL_TREE if there was an
error.

2010-03-19  Andrew Pinski  andrew_pin...@caviumnetworks.com

PR C/43211
* gcc.dg/pr43211.c: New test.
* gcc.dg/pr18809-1.c: Don't expect an error when calling foo.



Added:
trunk/gcc/testsuite/gcc.dg/pr43211.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-decl.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pr18809-1.c


--- Comment #9 from pinskia at gcc dot gnu dot org  2010-03-19 22:53 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/43446] libiberty for target failing to build with error: Link tests are not allowed after GCC_NO_EXECUTABLES

2010-03-19 Thread mirq-gccboogs at rere dot qmqm dot pl


--- Comment #8 from mirq-gccboogs at rere dot qmqm dot pl  2010-03-19 23:01 
---
../gcc/configure --without-headers --with-newlib --prefix=/usr/src/gcc-armtest
--target arm-none-eabi --enable-languages=c --disable-libssp

Now make fails with:

/usr/src/gcc-build/./gcc/xgcc -B/usr/src/gcc-build/./gcc/
-B/usr/src/gcc-armtest/arm-none-eabi/bin/
-B/usr/src/gcc-armtest/arm-none-eabi/lib/ -isystem
/usr/src/gcc-armtest/arm-none-eabi/include -isystem
/usr/src/gcc-armtest/arm-none-eabi/sys-include-c -DHAVE_CONFIG_H -g -O2 
-I. -I../../../gcc/libiberty/../include  -W -Wall -Wwrite-strings -Wc++-compat
-Wstrict-prototypes -pedantic  ../../../gcc/libiberty/regex.c -o regex.o
../../../gcc/libiberty/regex.c:51:25: fatal error: sys/types.h: No such file or
directory
compilation terminated.
make[2]: *** [regex.o] Error 1
make[2]: Leaving directory `/usr/src/gcc-build/arm-none-eabi/libiberty'
make[1]: *** [all-target-libiberty] Error 2
make[1]: Leaving directory `/usr/src/gcc-build'
make: *** [all] Error 2


-- 


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



[Bug target/43446] libiberty for target failing to build with error: Link tests are not allowed after GCC_NO_EXECUTABLES

2010-03-19 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2010-03-19 23:04 ---
Can you revert all your patches and try again?  Because this used to work for
me.


-- 


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



[Bug other/43449] sbitmap is broken if gcc is built with -m32 on a 64-bit machine.

2010-03-19 Thread dougkwan at google dot com


--- Comment #3 from dougkwan at google dot com  2010-03-19 23:09 ---
Yes, I lied to configure.  So this is not a real bug.


-- 

dougkwan at google dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



  1   2   >