[Bug c++/40406] ICE with broken template member declaration

2010-05-06 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2010-05-06 06:05 
---
Yes, it's fixed in GCC 4.5.0 and later.
Paolo, would you mind adding a testcase?


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||paolo dot carlini at oracle
   ||dot com
   Target Milestone|--- |4.5.0


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



[Bug libmudflap/38766] mudflap cannot detect errors on stack of nptl thread

2010-05-06 Thread anemo at mba dot ocn dot ne dot jp


--- Comment #2 from anemo at mba dot ocn dot ne dot jp  2010-05-06 06:23 
---
I confirmed gcc 4.4.3 (fedora 12) behaves same.


-- 

anemo at mba dot ocn dot ne dot jp changed:

   What|Removed |Added

 CC||anemo at mba dot ocn dot ne
   ||dot jp


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



[Bug inline-asm/43998] New: inline assembler: can't set clobbering for input register

2010-05-06 Thread socketpair at gmail dot com
mma...@mmarkk-desktop:~/src/vmdetect$ gcc --version
gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1
--
#include sys/types.h 
#include stdio.h 
int main (void)
{
  size_t ecx;
  asm (cpuid: =c (ecx): a (0x1):eax,ebx,edx);
  printf (Suspected %s machine!\n, (ecx  31) ? virtual : real);
  return 0;
}

mma...@mmarkk-desktop:~/src/vmdetect$ gcc 1main.c 
1main.c: In function ‘main’:
1main.c:7: error: can't find a register in class ‘AREG’ while reloading ‘asm’
1main.c:7: error: ‘asm’ operand has impossible constraints

#include sys/types.h 
#include stdio.h 
int main (void)
{
  size_t ecx, dontneed;
  asm (cpuid: =c (ecx),=a(dontneed): a (0x1):ebx,edx);
  printf (Suspected %s machine!\n, (ecx  31) ? virtual : real);
  return 0;
}
works OK.

How to correctly say compiler about clobbering eax register ?


-- 
   Summary: inline assembler: can't set clobbering for input
register
   Product: gcc
   Version: 4.4.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: socketpair at gmail dot com


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



[Bug c/43999] New: Gcc (lib1funcs.asm) doesn't build on ARM/Thumb2

2010-05-06 Thread cedric at berger dot to
/Users/cedric/software/gcc-4.5.0/build-stm32xx/./gcc/xgcc
-B/Users/cedric/software/gcc-4.5.0/build-stm32xx/./gcc/
-B/nfs/darwin/arm-stm32xx-eabi/bin/ -B/nfs/darwin/arm-stm32xx-eabi/lib/
-isystem /nfs/darwin/arm-stm32xx-eabi/include -isystem
/nfs/darwin/arm-stm32xx-eabi/sys-include-mcpu=cortex-m3 -mtune=cortex-m3
-mthumb -D__thumb2__ -mabi=aapcs-linux -mfloat-abi=soft -O2
-fomit-frame-pointer -falign-functions=16 -fsigned-char -fwrapv
-fno-strict-aliasing -DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__ -mthumb -O2 
-mcpu=cortex-m3 -mtune=cortex-m3 -mthumb -D__thumb2__ -mabi=aapcs-linux
-mfloat-abi=soft -O2 -fomit-frame-pointer -falign-functions=16 -fsigned-char
-fwrapv -fno-strict-aliasing -DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__
-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../../../../libgcc -I../../../../libgcc/. -I../../../../libgcc/../gcc
-I../../../../libgcc/../include  -DHAVE_CC_TLS  -o _udivsi3.o -MT _udivsi3.o
-MD -MP -MF _udivsi3.dep -DL_udivsi3 -xassembler-with-cpp \
  -c ../../../../libgcc/../gcc/config/arm/lib1funcs.asm
../../../../libgcc/../gcc/config/arm/lib1funcs.asm: Assembler messages:
../../../../libgcc/../gcc/config/arm/lib1funcs.asm:624: Warning: conditional
infixes are deprecated in unified syntax
../../../../libgcc/../gcc/config/arm/lib1funcs.asm:624: Error: incorrect
condition in IT block -- `movnes r3,r3,lsr#4'
../../../../libgcc/../gcc/config/arm/lib1funcs.asm:624: Error: incorrect
condition in IT block -- `movne r1,r1,lsr#4'
make[4]: *** [_udivsi3.o] Error 1
make[3]: *** [multi-do] Error 1
make[2]: *** [all-multi] Error 2
make[1]: *** [all-target-libgcc] Error 2


-- 
   Summary: Gcc (lib1funcs.asm) doesn't build on ARM/Thumb2
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: cedric at berger dot to
 GCC build triplet: arm-stm32xx-eabi-gcc
  GCC host triplet: x86_64-apple-darwin10.3.0
GCC target triplet: arm-stm32xx-eabi-gcc


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



[Bug middle-end/43901] [4.6 Regression] FAIL: gcc.c-torture/compile/pr42196-2.c

2010-05-06 Thread irar at gcc dot gnu dot org


--- Comment #15 from irar at gcc dot gnu dot org  2010-05-06 06:43 ---
Subject: Bug 43901

Author: irar
Date: Thu May  6 06:42:51 2010
New Revision: 159095

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159095
Log:

PR tree-optimization/43901
* tree-vect-stmts.c (vectorizable_call): Assert that vector
type is not NULL if it's transformation phase, and return
FALSE if it's analysis.
(vectorizable_conversion, vectorizable_operation, 
vectorizable_type_demotion, vectorizable_type_promotion):
Likewise.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-vect-stmts.c


-- 


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



[Bug c/18624] GCC does not detect local variable set but never used

2010-05-06 Thread dodji at gcc dot gnu dot org


--- Comment #26 from dodji at gcc dot gnu dot org  2010-05-06 06:52 ---
Subject: Bug 18624

Author: dodji
Date: Thu May  6 06:52:30 2010
New Revision: 159096

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159096
Log:
C++ support for -Wunused-but-set-variable

gcc/cp/ChangeLog:
PR 18624
* cp-tree.h (mark_exp_read, mark_rvalue_use, mark_lvalue_use,
mark_type_use): Declare ...
* expr.c (mark_exp_read, mark_rvalue_use, mark_lvalue_use,
mark_type_use): ... new fns.
* typeck.c (cxx_sizeof_expr, cxx_alignof_expr): Call mark_type_use.
(perform_integral_promotions): Call mark_rvalue_use.
(cp_build_unary_op): Call mark_lvalue_use.
(decay_conversion): Update comment. Call mark_lvalue.
* decl.c (unused_but_set_errorcount): New variable.
(poplevel): Issue -Wunused-but-set-variable diagnostics.
(duplicate_decls): Merge DECL_READ_P flags.
(start_cleanup_fn): Set DECL_READ_P flag.
(finish_function): Issue -Wunused-but-set-parameter diagnostics.
* tree.c (rvalue): Call mark_rvalue_use.
* pt.c (convert_nontype_argument): Likewise.
* semantics.c (finish_typeof, finish_decltype_type): Call
mark_type_use.
(finish_asm_stmt): Call mark_lvalue_use.
(finish_expr_stmt): Call mark_exp_read.
* call.c (convert_like_real) ck_identity, ck_user: Call
mark_rvalue_use.
(build_x_va_arg): Call mark_lvalue_use.
(build_over_call): Call mark_type_use.
* init.c (build_new, build_delete): Call mark_value_use.
* rtti.c (build_typeid): Call mark_lvalue_use or mark_type_use.
(build_dynamic_cast_1): call mark_lvalue_use or mark_rvalue_use.

gcc/testsuite/ChangeLog:
PR 18624
* g++.dg/warn/Wunused-7.C: Add dg-warning.
* g++.dg/template/sfinae16.C: Likewise.
* gcc.dg/Wunused-var-1.c: Moved to...
* c-c++-common/Wunused-var-1.c: ...here. New test.
* gcc.dg/Wunused-var-2.c: Moved to...
* c-c++-common/Wunused-var-2.c: ...here. New test.
* gcc.dg/Wunused-var-3.c: Moved to...
* c-c++-common/Wunused-var-3.c: ...here. New test.
* gcc.dg/Wunused-var-4.c: Moved to...
* gcc.dg/Wunused-var-1.c: ... here.
* gcc.dg/Wunused-var-5.c: Moved to...
* c-c++-common/Wunused-var-4.c: ...here. New test.
* gcc.dg/Wunused-var-7.c: Moved to...
* c-c++-common/Wunused-var-5.c: ...here. New test.
* gcc.dg/Wunused-var-6.c: Moved to...
* gcc.dg/Wunused-var-2.c: ... here.
* c-c++-common/Wunused-var-1.c: New test.
* c-c++-common/Wunused-var-2.c: New test.
* c-c++-common/Wunused-var-3.c: New test.
* c-c++-common/Wunused-var-4.c: New test.
* c-c++-common/Wunused-var-5.c: New test.
* g++.dg/warn/Wunused-var-1.C: New test.
* g++.dg/warn/Wunused-var-2.C: New test.
* g++.dg/warn/Wunused-var-3.C: New test.
* g++.dg/warn/Wunused-var-4.C: New test.
* g++.dg/warn/Wunused-var-5.C: New test.
* g++.dg/warn/Wunused-var-6.C: New test.
* g++.dg/warn/Wunused-var-7.C: New test.
* g++.dg/warn/Wunused-var-8.C: New test.
* g++.dg/warn/Wunused-parm-1.C: New test.
* g++.dg/warn/Wunused-parm-2.C: New test.
* g++.dg/warn/Wunused-parm-3.C: New test.

Added:
trunk/gcc/testsuite/c-c++-common/Wunused-var-1.c
  - copied, changed from r159095,
trunk/gcc/testsuite/gcc.dg/Wunused-var-1.c
trunk/gcc/testsuite/c-c++-common/Wunused-var-2.c
  - copied, changed from r159095,
trunk/gcc/testsuite/gcc.dg/Wunused-var-2.c
trunk/gcc/testsuite/c-c++-common/Wunused-var-3.c
  - copied, changed from r159095,
trunk/gcc/testsuite/gcc.dg/Wunused-var-3.c
trunk/gcc/testsuite/c-c++-common/Wunused-var-4.c
  - copied, changed from r159095,
trunk/gcc/testsuite/gcc.dg/Wunused-var-7.c
trunk/gcc/testsuite/c-c++-common/Wunused-var-5.c
  - copied, changed from r159095,
trunk/gcc/testsuite/gcc.dg/Wunused-var-5.c
trunk/gcc/testsuite/g++.dg/warn/Wunused-parm-1.C
trunk/gcc/testsuite/g++.dg/warn/Wunused-parm-2.C
trunk/gcc/testsuite/g++.dg/warn/Wunused-parm-3.C
trunk/gcc/testsuite/g++.dg/warn/Wunused-var-1.C
trunk/gcc/testsuite/g++.dg/warn/Wunused-var-2.C
trunk/gcc/testsuite/g++.dg/warn/Wunused-var-3.C
trunk/gcc/testsuite/g++.dg/warn/Wunused-var-4.C
trunk/gcc/testsuite/g++.dg/warn/Wunused-var-5.C
  - copied, changed from r159095,
trunk/gcc/testsuite/gcc.dg/Wunused-var-1.c
trunk/gcc/testsuite/g++.dg/warn/Wunused-var-6.C
  - copied, changed from r159095,
trunk/gcc/testsuite/gcc.dg/Wunused-var-2.c
trunk/gcc/testsuite/g++.dg/warn/Wunused-var-7.C
  - copied, changed from r159095,
trunk/gcc/testsuite/gcc.dg/Wunused-var-3.c
trunk/gcc/testsuite/g++.dg/warn/Wunused-var-8.C
  - copied, changed from r159095,
trunk/gcc/testsuite/gcc.dg/Wunused-var-5.c
Removed:

[Bug inline-asm/43998] inline assembler: can't set clobbering for input register

2010-05-06 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2010-05-06 07:11 ---
You can use cpuid.h.

BTW: Please ask questions about using gcc in gcc-help@ or elsewhere.

Not a bug.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c/44000] New: gcc/resource.h conflicts with sysroot/usr/include/resource.h (alpha-dec-vms)#8207;

2010-05-06 Thread jay dot krell at cornell dot edu
lpha-dec-vms-gcc -c   -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attri
bute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definition -Wc++-compat   -DHAVE_CONFIG_H -I. -
I. -I/src/gcc-4.5.0/gcc -I/src/gcc-4.5.0/gcc/. -I/src/gcc-4.5.0/gcc/../include
-I/src/gcc-4.5.0/gcc/../libcpp/include -I/obj/gcc/vms/.
/gmp -I/src/gcc-4.5.0/gmp -I/obj/gcc/vms/./mpfr -I/src/gcc-4.5.0/mpfr
-I/src/gcc-4.5.0/mpc/src  -I/src/gcc-4.5.0/gcc/../libdecnumber -
I/src/gcc-4.5.0/gcc/../libdecnumber/dpd -I../libdecnumber
/src/gcc-4.5.0/gcc/c-lang.c -o c-lang.o
In file included from /src/gcc-4.5.0/gcc/resource.h:24:0,
 from
/usr/local/lib/gcc/alpha-dec-vms/4_5_0/../../../../alpha-dec-vms/include/wait.h:74,
 from
/usr/local/lib/gcc/alpha-dec-vms/4_5_0/../../../../alpha-dec-vms/include/stdlib.h:51,
 from /src/gcc-4.5.0/gcc/system.h:211,
 from /src/gcc-4.5.0/gcc/c-lang.c:24:

/src/gcc-4.5.0/gcc/hard-reg-set.h:42:39: error: expected '=', ',', ';', 'asm'
or '__attribute__' before 'HARD_REG_ELT_TYPE'


The problem is that there is both gcc/resource.h and
sysroot/usr/include/resource.h.

When sysroot/usr/include/wait.h does:

#if defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE
#   include signal.h  /* for siginfo_t */
#   include resource.h/* for struct rusage */
#endif

it gets the wrong resource.h

for now I patched sysroot/usr/include/wait.h to #include resource.h instead.

Unfortunate fix is maybe to rename to gcc/gccresource.h?

 - Jay


-- 
   Summary: gcc/resource.h conflicts with
sysroot/usr/include/resource.h (alpha-dec-vms)#8207;
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jay dot krell at cornell dot edu
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: alpha-dec-vms
GCC target triplet: alpha-dec-vms


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



[Bug c/44001] New: .o vs. obj = @OBJEXT@ and $ac_objext

2010-05-06 Thread jay dot krell at cornell dot edu
host=target=alpha-dec-vms
build=anything else

.o vs. obj = @OBJEXT@ and $ac_objext

diff -u /src/orig/gcc-4.5.0/libiberty/Makefile.in
/src/gcc-4.5.0/libiberty/Makefile.in
--- /src/orig/gcc-4.5.0/libiberty/Makefile.in   2010-03-01 22:09:56.0
-0800
+++ /src/gcc-4.5.0/libiberty/Makefile.in2010-05-05 03:03:19.0
-0700
@@ -117,6 +117,9 @@
 .c.o:
false

+.c.obj:
+   false
+
 # NOTE: If you add new files to the library, add them to this list
 # (alphabetical), and add them to REQUIRED_OFILES, or
 # CONFIGURED_OFILES and funcs in configure.ac.  Also run make maint-deps
@@ -157,50 +160,120 @@

 # These are always included in the library.  The first four are listed
 # first and by compile time to optimize parallel builds.
-REQUIRED_OFILES =  \
-   ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./sha1.o\
-   ./alloca.o ./argv.o \
-   ./choose-temp.o ./concat.o ./cp-demint.o ./crc32.o  \
-   ./dyn-string.o  \
-   ./fdmatch.o ./fibheap.o ./filename_cmp.o ./floatformat.o\
-   ./fnmatch.o ./fopen_unlocked.o  \
-   ./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o\
-   ./hashtab.o ./hex.o \
-   ./lbasename.o ./lrealpath.o \
-   ./make-relative-prefix.o ./make-temp-file.o \
-   ./objalloc.o ./obstack.o\
-   ./partition.o ./pexecute.o ./physmem.o  \
-   ./pex-common.o ./pex-one.o @pexecute@   \
-   ./safe-ctype.o ./sort.o ./spaces.o ./splay-tree.o ./strerror.o  \
-./strsignal.o  \
-   ./unlink-if-ordinary.o  \
-   ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o   \
-./xstrerror.o ./xstrndup.o
+REQUIRED_OFILES =   \
+./reg...@objext@\
+./cplus-d...@objext@\
+./cp-demang...@objext@  \
+./m...@objext@  \
+./sh...@objext@ \
+./allo...@objext@   \
+./ar...@objext@ \
+./choose-te...@objext@  \
+./conc...@objext@   \
+./cp-demi...@objext@\
+./crc...@objext@\
+./dyn-stri...@objext@   \
+./fdmat...@objext@  \
+./fibhe...@objext@  \
+./filename_c...@objext@ \
+./floatform...@objext@  \
+./fnmat...@objext@  \
+./fopen_unlock...@objext@ \
+./geto...@objext@   \
+./getop...@objext@  \
+./getp...@objext@   \
+./getrunti...@objext@   \
+./hasht...@objext@  \
+./h...@objext@  \
+./lbasena...@objext@\
+./lrealpa...@objext@\
+./make-relative-pref...@objext@ \
+./make-temp-fi...@objext@ \
+./objall...@objext@ \
+./obsta...@objext@  \
+./partiti...@objext@\
+./pexecu...@objext@ \
+./physm...@objext@  \
+./pex-comm...@objext@   \
+./pex-o...@objext@  \
+@pexecute@  \
+./safe-cty...@objext@   \
+./so...@objext@ \
+./spac...@objext@   \
+./splay-tr...@objext@   \
+./strerr...@objext@ \
+./strsign...@objext@\
+./unlink-if-ordina...@objext@   \
+./xatex...@objext@  \
+./xex...@objext@\
+./xmall...@objext@  \
+./xmemd...@objext@  \
+./xstrd...@objext@  \
+./xstrerr...@objext@\
+./xstrnd...@objext@

 # These are all the objects that configure may add to the library via
 # $funcs or EXTRA_OFILES.  This list exists here only for make
 # maint-missing and make check.
-CONFIGURED_OFILES = ./asprintf.o ./atexit.o\
-   ./basename.o ./bcmp.o ./bcopy.o ./bsearch.o ./bzero.o   \
-   ./calloc.o ./clock.o ./copysign.o   \
-   ./_doprnt.o \
-   ./ffs.o \
-   ./getcwd.o ./getpagesize.o ./gettimeofday.o \
-   ./index.o ./insque.o\
-   ./memchr.o ./memcmp.o ./memcpy.o ./memmem.o ./memmove.o \
-./mempcpy.o ./memset.o ./mkstemps.o\
-   ./pex-djgpp.o ./pex-msdos.o \
-./pex-unix.o ./pex-win32.o \
-./putenv.o \
-   ./random.o ./rename.o ./rindex.o\
-   ./setenv.o ./sigsetmask.o ./snprintf.o ./stpcpy.o ./stpncpy.o   \
-./strcasecmp.o ./strchr.o ./strdup.o ./strncasecmp.o   

[Bug c/44001] .o vs. obj = @OBJEXT@ and $ac_objext

2010-05-06 Thread jay dot krell at cornell dot edu


--- Comment #1 from jay dot krell at cornell dot edu  2010-05-06 07:52 
---
Created an attachment (id=20576)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20576action=view)
same patch as in the bug description


-- 


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



[Bug c/44002] New: need to #include unistd.h for pid_t

2010-05-06 Thread jay dot krell at cornell dot edu
host=target=alpha-dec-vms
build=anything else

need to #include unistd.h for pid_t

diff -u /src/orig/gcc-4.5.0/libiberty/pex-common.h
/src/gcc-4.5.0/libiberty/pex-common.h
--- /src/orig/gcc-4.5.0/libiberty/pex-common.h  2009-04-13 03:45:58.0
-0700
+++ /src/gcc-4.5.0/libiberty/pex-common.h   2010-05-04 06:43:24.0
-0700
@@ -31,6 +31,9 @@
 #if !defined(pid_t)  defined(HAVE_SYS_TYPES_H)
 #include sys/types.h
 #endif
+#ifdef HAVE_UNISTD_H
+#include unistd.h
+#endif

 #define install_error_msg installation problem, cannot exec `%s'


-- 
   Summary: need to #include unistd.h for pid_t
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jay dot krell at cornell dot edu
 GCC build triplet: anything else
  GCC host triplet: alpha-dec-vms
GCC target triplet: alpha-dec-vms


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



[Bug inline-asm/43998] inline assembler: can't set clobbering for input register

2010-05-06 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2010-05-06 08:06 ---
To answer the exact question, yes, using a dummy variable as output (perhaps
with 1 instead of a for the matching input) is the right fix.


-- 


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



[Bug c/44001] .o vs. obj = @OBJEXT@ and $ac_objext

2010-05-06 Thread jay dot krell at cornell dot edu


--- Comment #2 from jay dot krell at cornell dot edu  2010-05-06 08:07 
---
Created an attachment (id=20577)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20577action=view)
fix same issue in libdecnumber


-- 


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



[Bug c/44003] New: gcc 4.5.0 stddef.h clobbers __size_t with #define, breaks VMS (code already avoids similar on FreeBSD)#8207;

2010-05-06 Thread jay dot krell at cornell dot edu
gcc 4.5.0 stddef.h clobbers __size_t with #define, breaks VMS (code already
avoids similar on FreeBSD)#8207;

VMS decc$types.h:

typedef unsigned int __size_t;

but with GCC 4.5.0 this preprocesses as:

typedef unsigned int ;

and there are ensuing errors e.g. when compiling gcc/libiberty/regex.c

probably because of:

/usr/local/lib/gcc/alpha-dec-vms/4_5_0/include/stddef.h (it does get included)
#if defined (__FreeBSD__)  (__FreeBSD__= 5)
/* __size_t is a typedef on FreeBSD 5!, must not trash it. */
#else
#define __size_t
#endif

presumably should be more like:

#if (defined (__FreeBSD__)  (__FreeBSD__= 5)) || defined(__vms)
/* __size_t is a typedef on FreeBSD 5 and VMS, must not trash it! */
#else
#define __size_t
#endif


 - Jay


-- 
   Summary: gcc 4.5.0 stddef.h clobbers __size_t with #define,
breaks VMS (code already avoids similar on
FreeBSD)#8207;
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jay dot krell at cornell dot edu
 GCC build triplet: any
  GCC host triplet: any
GCC target triplet: alpha-dec-vms


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



[Bug c/44004] New: gcc 4.5.0 vms-gcc_shell_handler.c needs #define __NEW_STARLET#8207;

2010-05-06 Thread jay dot krell at cornell dot edu
/src/gcc-4.5.0/libgcc/../gcc/config/alpha/vms-gcc_shell_handler.c: In function
'get_dyn_handler_pointer':
/src/gcc-4.5.0/libgcc/../gcc/config/alpha/vms-gcc_shell_handler.c:73:3: error:
'PDSCDEF' undeclared (first use in this function)
/src/gcc-4.5.0/libgcc/../gcc/config/alpha/vms-gcc_shell_handler.c:73:3: note:
each undeclared identifier is reported only once for each function it appears
in
/src/gcc-4.5.0/libgcc/../gcc/config/alpha/vms-gcc_shell_handler.c:73:13: error:
'pd' undeclared (first use in this function)
/src/gcc-4.5.0/libgcc/../gcc/config/alpha/vms-gcc_shell_handler.c:73:18:
warning: cast to pointer from integer of different size
/src/gcc-4.5.0/libgcc/../gcc/config/alpha/vms-gcc_shell_handler.c:73:18: error:
expected expression before ')' token
/src/gcc-4.5.0/libgcc/../gcc/config/alpha/vms-gcc_shell_handler.c:111:17:
warning: cast to pointer from integer of different size
/src/gcc-4.5.0/libgcc/../gcc/config/alpha/vms-gcc_shell_handler.c:111:10:
warning: cast to pointer from integer of different size
make[4]: *** [vms-gcc_shell_handler.o] Error 1
make[3]: *** [multi-do] Error 1
make[2]: *** [all-multi] Error 2
make[1]: *** [all-target-libgcc] Error 2
make: *** [all] Error 2


fix, put this at top:


#ifndef __NEW_STARLET
#define __NEW_STARLET
#endif


 - Jay


-- 
   Summary: gcc 4.5.0 vms-gcc_shell_handler.c needs #define
__NEW_STARLET#8207;
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jay dot krell at cornell dot edu
 GCC build triplet: any
  GCC host triplet: any
GCC target triplet: alpha-dec-vms


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



[Bug c/44005] New: gcc should implement __int64, so it can e.g. read the VMS system headers

2010-05-06 Thread jay dot krell at cornell dot edu
VMS headers use __int64.


I hack mine up with
#ifdef __GNUC__
#ifndef __int64
#define  __int64 long long
#endif
#endif


It seems to me gcc should recognize __int64, at least on VMS and Win32 targets.

 - Jay


-- 
   Summary: gcc should implement __int64, so it can e.g. read the
VMS system headers
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jay dot krell at cornell dot edu
 GCC build triplet: any
  GCC host triplet: any
GCC target triplet: alpha-dec-vms


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



[Bug bootstrap/43994] [4.6 Regression] Revision 159063 failed to bootstrap on Linux/ia64

2010-05-06 Thread dominiq at lps dot ens dot fr


--- Comment #7 from dominiq at lps dot ens dot fr  2010-05-06 08:23 ---
Same bootstrap failure on powerpc-apple-darwin9. It seems to be fixed by the
patch in comment #6, bootstrap in progress.


-- 


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



[Bug debug/43983] var-tracking needlessly throws away location info for SRAed vars

2010-05-06 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2010-05-06 08:44 ---
Created an attachment (id=20578)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20578action=view)
gcc46-pr43983.patch

Updated patch that should fix both issues, currently bootstrapping/regtesting
it.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #20563|0   |1
is obsolete||


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



[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-06 Thread dominiq at lps dot ens dot fr


--- Comment #9 from dominiq at lps dot ens dot fr  2010-05-06 08:51 ---
(In reply to comment #8)
 For increasing N it (a) takes longer and longer - probably quadratic time - 

N=100: 0.716u 0.031s 0:00.75
N=200: 5.297u 0.071s 0:05.37
N=400: 40.334u 0.125s 0:40.76

It looks like cubic time in N. For M=1, I would expect that MATMUL is quadratic
in N (although I did not check). Does this mean that building each element is
O(N)?

 and (b) eventually all memory will be used which leads to a crash. 

As in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40472#c27, I think there is a
confusion between front-end and middle-end problems:

When the initialization expressions appear in PARAMETERS, they have to be
computed by the front-end (?) which may lead to a very long compilation time,
but I have never seen any memory problems (with Gbs of RAM), i.e., I did not
have the patience to test large enough expressions.

This is different to what happens for instance in pr32489 where the expression
passed to the middle-end is so complicated that the middle-end is confused and
exhausts the available memory.

 Adding a max-constructor-size check to MATMUL will again bring us here. Test 
 by
 unconditionally returning NULL in MATMUL: ...

I cannot reproduce that, am I correct to understand that you used some patched
gfortran?

Apparently, all the intrinsics should be audited for this kind of problem.


-- 


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



[Bug middle-end/43987] [4.5/4.6 Regression] type-punning causes broken binaries unless -O0 is used

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #19 from rguenth at gcc dot gnu dot org  2010-05-06 08:53 
---
Subject: Bug 43987

Author: rguenth
Date: Thu May  6 08:53:19 2010
New Revision: 159098

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159098
Log:
2010-05-06  Richard Guenther  rguent...@suse.de

PR tree-optimization/43987
* tree-ssa-structalias.c (could_have_pointers): For possibly
address-taken variables force pointers to be recorded.
(create_variable_info_for_1): Likewise.
(push_fields_onto_fieldstack): Pass in wheter all fields
must have pointers.
(find_func_aliases): Query types instead of vars whether
they contain pointers where appropriate.

* gcc.c-torture/execute/pr43987.c: New testcase.
* gcc.dg/torture/pta-escape-1.c: Adjust.
* gcc.dg/tree-ssa/pta-escape-1.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
* gcc.dg/ipa/ipa-pta-11.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr43987.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/gcc.dg/ipa/ipa-pta-11.c
trunk/gcc/testsuite/gcc.dg/torture/pta-escape-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pta-escape-3.c
trunk/gcc/tree-ssa-structalias.c


-- 


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



[Bug middle-end/43987] [4.5 Regression] type-punning causes broken binaries unless -O0 is used

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #20 from rguenth at gcc dot gnu dot org  2010-05-06 08:54 
---
Fixed on the trunk.  Queued for backporting to 4.5.1.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||alias, wrong-code
  Known to fail||4.5.0
  Known to work||4.4.3 4.6.0
Summary|[4.5/4.6 Regression] type-  |[4.5 Regression] type-
   |punning causes broken   |punning causes broken
   |binaries unless -O0 is used |binaries unless -O0 is used


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



[Bug tree-optimization/43934] LIM should handle PHI nodes

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-05-06 09:04 ---
Subject: Bug 43934

Author: rguenth
Date: Thu May  6 09:04:00 2010
New Revision: 159099

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159099
Log:
2010-05-06  Richard Guenther  rguent...@suse.de

PR tree-optimization/43934
* tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
(stmt_cost): Likewise.
(extract_true_false_args_from_phi): New helper.
(determine_max_movement): For PHI nodes verify we can hoist them
and compute their cost.
(determine_invariantness_stmt): Handle PHI nodes.
(move_computations_stmt): Likewise.  Hoist PHI nodes in
if-converted form using COND_EXPRs.
(move_computations): Return TODO_cleanup_cfg if we hoisted PHI
nodes.
(tree_ssa_lim): Likewise.
* tree-flow.h (tree_ssa_lim): Adjust prototype.
* tree-ssa-loop.c (tree_ssa_loop_im): Return todo.

* gcc.dg/tree-ssa/ssa-lim-9.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-flow.h
trunk/gcc/tree-ssa-loop-im.c
trunk/gcc/tree-ssa-loop.c


-- 


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



[Bug tree-optimization/43571] domwalk sucks

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2010-05-06 09:09 ---
Subject: Bug 43571

Author: rguenth
Date: Thu May  6 09:08:57 2010
New Revision: 159100

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159100
Log:
2010-05-06  Richard Guenther  rguent...@suse.de

PR tree-optimization/43571
* domwalk.c (walk_dominator_tree): Walk the dominator
sons in more optimal order.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/domwalk.c


-- 


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



[Bug tree-optimization/43571] domwalk sucks

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2010-05-06 09:09 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument

2010-05-06 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2010-05-06 09:26 ---
Subject: Bug 43985

Author: burnus
Date: Thu May  6 09:26:16 2010
New Revision: 159101

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159101
Log:
2010-05-06  Tobias Burnus  bur...@net-b.de

PR fortran/43985
* trans-types.c (gfc_sym_type): Mark Cray pointees as
GFC_POINTER_TYPE_P.

2010-05-06  Tobias Burnus  bur...@net-b.de

PR fortran/43985
* gfortran.dg/gomp/crayptr5.f90: New test case.


Added:
branches/gcc-4_5-branch/gcc/testsuite/gfortran.dg/gomp/crayptr5.f90
Modified:
branches/gcc-4_5-branch/gcc/fortran/ChangeLog
branches/gcc-4_5-branch/gcc/fortran/trans-types.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument

2010-05-06 Thread burnus at gcc dot gnu dot org


--- Comment #7 from burnus at gcc dot gnu dot org  2010-05-06 09:27 ---
FIXED on the 4.6 trunk and the 4.5 branch.

Thanks for the report!


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug other/44011] New: missed optimization of min/max_expr or strict overflow warnings for intended code.

2010-05-06 Thread pluto at agmk dot net
hi,

please consider following code snippet from large CairoMM base application.
it creates a planar region with top left and bottom right points from two
points passed to RegionT constructor.

$ cat 0.cpp

static inline int min( int a, int b ) {
if ( a  b ) return a;
return b;
}
static inline int max( int a, int b ) {
if ( a  b ) return a;
return b;
}
struct PointT {
explicit PointT () { x = 0; y = 0; }
explicit PointT ( int xVal, int yVal ) : x( xVal ), y( yVal )
{}
int x, y;
};
struct RegionT {
explicit RegionT ( PointT const p1, PointT const p2 ) {
// calculate top_left and bottom_right coordinates.
// (0,0) --- X
//  |
//  |
//  \/
//  Y
#ifdef WARN_AND_OPTIMIZE
if ( p1.x  p2.x ) {
tl.x = p1.x;
br.x = p2.x;
} else {
tl.x = p2.x;
br.x = p1.x;
}
if ( p1.y  p2.y ) {
tl.y = p1.y;
br.y = p2.y;
} else {
tl.y = p2.y;
br.y = p1.y;
}
#else
tl.x = min( p1.x, p2.x );
tl.y = min( p1.y, p2.y );
br.x = max( p1.x, p2.x );
br.y = max( p1.y, p2.y );
#endif
}
PointT tl, br;
};

the application contains lots of places where a region is created
from one base point and constant offsets, e.g.:

RegionT foo ( PointT const p ) {
RegionT r ( p, PointT ( p.x - 2, p.y + 2 ) );
return r;
}

for such constructions and -DWARN_AND_OPTIMIZE gcc optimizes RegionT
coordinates calculation at compile time and produces warnings about
strict overflow assumptions.

$ g++ 0.cpp -c -Wall -O2 -fdump-tree-optimized --save-temps -DWARN_AND_OPTIMIZE
0.cpp: In function 'RegionT foo(const PointT)':
0.cpp:23:4: warning: assuming signed overflow does not occur when assuming that
(X - c)  X is always false
0.cpp:30:4: warning: assuming signed overflow does not occur when assuming that
(X + c) = X is always true

RegionT foo(const PointT) (const struct PointT  p)
{
  int r$tl$y;
  int r$tl$x;
  struct RegionT D.2181;
bb 2:
  r$tl$y_2 = p_1(D)-y;
  r$tl$y_3 = r$tl$y_2 + 2;
  r$tl$x_4 = p_1(D)-x;
  r$tl$x_5 = r$tl$x_4 + -2;
  D.2181.tl.x = r$tl$x_5;
  D.2181.tl.y = r$tl$y_2;
  D.2181.br.x = r$tl$x_4;
  D.2181.br.y = r$tl$y_3;
  return D.2181;
}

i known signed integer overflow rules but such construction is human
readable and intended, so i would like to still have '-Wall -Werror'
in action for all code and avoid disabling strict-overflow warings for
*global* scope (originally RegionT is implemented as a template in header).

for now, i've hacked in ugly way the if-logic in RegionT constructor
to std::min/max variant. it doesn't warn but produces unoptimal code
with CMOVs for compile time constants.

RegionT foo(const PointT) (const struct PointT  p)
{
  int a;
  int a;
  struct RegionT D.2182;
  const int D.2178;

bb 2:
  D.2178_2 = p_1(D)-y;
  a_3 = D.2178_2 + 2;
  a_4 = p_1(D)-x;
  a_7 = a_4 + -2;
  a_41 = MIN_EXPR a_7, a_4;
  a_45 = MIN_EXPR a_3, D.2178_2;
  a_42 = MAX_EXPR a_7, a_4;
  a_46 = MAX_EXPR a_3, D.2178_2;
  D.2182.tl.x = a_41;
  D.2182.tl.y = a_45;
  D.2182.br.x = a_42;
  D.2182.br.y = a_46;
  return D.2182;
}

_Z3fooRK6PointT:
movl(%rdi), %edx
movl4(%rdi), %eax
leal-2(%rdx), %esi
leal2(%rax), %ecx
movl%edx, %edi
cmpl%edx, %esi
cmovle  %esi, %edi
cmpl%eax, %ecx
movl%edi, -24(%rsp)
movl%eax, %edi
cmovle  %ecx, %edi
cmpl%edx, %esi
cmovge  %esi, %edx
cmpl%eax, %ecx
movl%edi, -20(%rsp)
cmovge  %ecx, %eax
movl%edx, -16(%rsp)
movl%eax, -12(%rsp)
movq-24(%rsp), %rax
movq-16(%rsp), %rdx
ret


how can i disable these warnings for intended part of source code
and get nicely optimized binaries? the gcc rejects my attempts to
'#pragma GCC diagnostic ignore' inside RegionT contstructor with
error: #pragma GCC diagnostic not allowed inside functions :/

thanks in advance for creative hints.


-- 
   Summary: missed optimization of  min/max_expr or strict overflow
warnings for intended code.
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
 

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-06 Thread dfranke at gcc dot gnu dot org


--- Comment #10 from dfranke at gcc dot gnu dot org  2010-05-06 10:00 
---
(In reply to comment #9)
 It looks like cubic time in N. 

http://en.wikipedia.org/wiki/Matrix_multiplication#Algorithms_for_efficient_matrix_multiplication:

The running time of square matrix multiplication, if carried out naively, is
O(n^3). The running time for multiplying rectangular matrices (one m x p-matrix
with one p x n-matrix) is O(mnp)

Better algorithms than the one implemented exist.


  unconditionally returning NULL in MATMUL: ...
 
 I cannot reproduce that, am I correct to understand that you used some patched
 gfortran?

Index: simplify.c
===
--- simplify.c  (revision 159089)
+++ simplify.c  (working copy)
@@ -3294,6 +3294,8 @@ gfc_simplify_matmul (gfc_expr *matrix_a,
   int row, result_rows, col, result_columns;
   int stride_a, offset_a, stride_b, offset_b;

+  return NULL;
+
   if (!is_constant_array_expr (matrix_a)
   || !is_constant_array_expr (matrix_b))
 return NULL;


 Apparently, all the intrinsics should be audited for this kind of problem.

Transformational intrinsics that return an arrays, to begin with.


-- 


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



[Bug c/40989] -Werror= and #pragma diagnostics do not work with group flags

2010-05-06 Thread manu at gcc dot gnu dot org


--- Comment #4 from manu at gcc dot gnu dot org  2010-05-06 10:12 ---
Subject: Bug 40989

Author: manu
Date: Thu May  6 10:12:36 2010
New Revision: 159102

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

PR 40989
* doc/invoke.texi (Wimplicit): Document as C only.
* opts.c (common_handle_option): Add argument kind.
(handle_option): Rename as read_cmdline_option. Factor out code to...
(handle_option): ... here. New.
(handle_options): Rename as read_cmdline_options.
(decode_options): Update call.
(set_option): Use option index instead of option pointer. Classify
diagnostics correctly.
(enable_warning_as_error): Call handle_option.
* opts.h (set_option): Update declaration.
(handle_option): Declare.
* langhooks.h (struct lang_hooks): Add argument kind to
handle_option.
* c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
* c-opts.c (set_Wimplicit): Delete.
(c_family_lang_mask): New static constant.
(c_common_handle_option): Add argument kind. Use handle_option
instead of set_Wimplicit.
(c_common_post_options): warn_implicit and warn_implicit_int
are disabled by default.
* c-common.c (warn_implicit): Do not define here.
* c-common.h (warn_implicit): Do not declare here.
(c_common_handle_option): Update declaration.
* lto-opts.c (lto_reissue_options): Update call to set_option.
java/
* lang.c (java_handle_option): Add argument kind.
fortran/
* options.c (gfc_handle_option): Add argument kind.
* gfortran.h (gfc_handle_option): Update declaration.
ada/
* gcc-interface/misc.c (gnat_handle_option): Add argument kind.
testsuite/
* gcc.dg/pr40989.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/pr40989.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/gcc-interface/misc.c
trunk/gcc/c-common.c
trunk/gcc/c-common.h
trunk/gcc/c-opts.c
trunk/gcc/c.opt
trunk/gcc/doc/invoke.texi
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/options.c
trunk/gcc/java/ChangeLog
trunk/gcc/java/lang.c
trunk/gcc/langhooks.h
trunk/gcc/lto-opts.c
trunk/gcc/opts.c
trunk/gcc/opts.h
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/44011] missed optimization of min/max_expr or strict overflow warnings for intended code.

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-05-06 10:14 ---
Place the pragma outside of the function (though it'll probably not help
due to the inlining).

The min/max expression missed-optimization is due to the lack of a
tree combiner.  tree forwprop would be the natural candidate to
optimize them.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
  Component|other   |tree-optimization
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2010-05-06 10:14:19
   date||


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



[Bug c/40989] -Werror= and #pragma diagnostics do not work with group flags

2010-05-06 Thread manu at gcc dot gnu dot org


--- Comment #5 from manu at gcc dot gnu dot org  2010-05-06 10:22 ---
OK, this is fixed for -Wimplicit and the infrastructure is there to fix it for
all other group flags (just use the new handle_option to enable sub-flags).
However, I don't have time at the moment to go over all subflags. So anyone,
feel free to submit patches about this. If you need some help or mentoring,
just ask.


-- 


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



[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-06 Thread dominiq at lps dot ens dot fr


--- Comment #11 from dominiq at lps dot ens dot fr  2010-05-06 10:27 ---
 ... O(mnp) ...

With m=n=N and p=1, this gives O(N^2), hence my expectation for MATMUL in
comment #9!-)
Question: what is the origin of the O(N^3) time?


-- 


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



[Bug middle-end/35505] builtins.c: 5 * set but not used

2010-05-06 Thread manu at gcc dot gnu dot org


--- Comment #2 from manu at gcc dot gnu dot org  2010-05-06 10:29 ---
I guess this is fixed because -Wunused-but-set is enabled by default.


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-06 Thread dfranke at gcc dot gnu dot org


--- Comment #12 from dfranke at gcc dot gnu dot org  2010-05-06 10:32 
---
(In reply to comment #11)
 Question: what is the origin of the O(N^3) time?

Building of and operating on a tree of 10.000, 40.000, 90.000, ... elements
respectively? Probably cheaper then linked lists, but not free either.


-- 


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



[Bug middle-end/25547] 3 * dead data in compiler source code

2010-05-06 Thread manu at gcc dot gnu dot org


--- Comment #5 from manu at gcc dot gnu dot org  2010-05-06 10:46 ---
This should be fixed by the new -Wunused-but-set flags.


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug other/25567] 4 * set but never used

2010-05-06 Thread manu at gcc dot gnu dot org


--- Comment #4 from manu at gcc dot gnu dot org  2010-05-06 10:56 ---
Thanks for the report. I think all these have been fixed already in GCC 4.6 and
regressions would be detected by the new -Wunused-but-set flags.


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug other/26245] 10 * local variable set but not used

2010-05-06 Thread manu at gcc dot gnu dot org


--- Comment #2 from manu at gcc dot gnu dot org  2010-05-06 10:57 ---
Thanks for the report. I think all these have been fixed already in GCC 4.6 and
regressions would be detected by the new -Wunused-but-set flags.


-- 


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



[Bug other/26245] 10 * local variable set but not used

2010-05-06 Thread manu at gcc dot gnu dot org


--- Comment #3 from manu at gcc dot gnu dot org  2010-05-06 10:58 ---
FIXED in GCC 4.6


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug other/34592] useless computation found

2010-05-06 Thread manu at gcc dot gnu dot org


--- Comment #7 from manu at gcc dot gnu dot org  2010-05-06 10:59 ---
Thanks for the report. I think all these have been fixed already in GCC 4.6 and
regressions would be detected by the new -Wunused-but-set flags.


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug inline-asm/43998] inline assembler: can't set clobbering for input register

2010-05-06 Thread socketpair at gmail dot com


--- Comment #3 from socketpair at gmail dot com  2010-05-06 11:00 ---
Thanks alot, but I think it is bug in gcc inline assembler. I think I wrote
correct asm() line.

I know about cpuid.h
I listed this instruction just as example.


-- 

socketpair at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |


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



[Bug tree-optimization/44011] missed optimization of min/max_expr or strict overflow warnings for intended code.

2010-05-06 Thread pluto at agmk dot net


--- Comment #2 from pluto at agmk dot net  2010-05-06 11:27 ---
(In reply to comment #1)
 Place the pragma outside of the function (though it'll probably not help
 due to the inlining).

with new function attribute warning(string...) similary to existing
target and optimize atributtes/pragmas it would be possible to manage
warnings for intended parts of code. currently diagnostic system reports
the location of strict-overflow, so i suppose it's able to check a function
attributes and skip some warnings. am i right?


-- 


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



[Bug tree-optimization/44011] missed optimization of min/max_expr or strict overflow warnings for intended code.

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-05-06 11:30 ---
(In reply to comment #2)
 (In reply to comment #1)
  Place the pragma outside of the function (though it'll probably not help
  due to the inlining).
 
 with new function attribute warning(string...) similary to existing
 target and optimize atributtes/pragmas it would be possible to manage
 warnings for intended parts of code. currently diagnostic system reports
 the location of strict-overflow, so i suppose it's able to check a function
 attributes and skip some warnings. am i right?

Huh.  In theory yes.


-- 


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



[Bug inline-asm/43998] inline assembler: can't set clobbering for input register

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-05-06 11:31 ---
You can't at the same time force something into aregs and clobber them.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug inline-asm/43998] inline assembler: can't set clobbering for input register

2010-05-06 Thread socketpair at gmail dot com


--- Comment #5 from socketpair at gmail dot com  2010-05-06 11:41 ---
Well, how to say that to compiler:

This instruction receives input in register eax, but after executing it, eax
value will be corrupted. I don't need this new value, but compiler  should not
think that eax is preserved.


-- 


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



[Bug rtl-optimization/44012] New: ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread zsojka at seznam dot cz
Tested revisions:
r159062 - crash
r159045 - crash
r158683 - OK

Output with valgrind:
$ valgrind --trace-children=yes -q
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/bin/g++ -O2 -fno-strict-aliasing
sqcompiler-noempty.ii
==28996== Invalid read of size 4
==28996==at 0x801DD0: ira_merge_allocno_live_ranges (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0x802FFE: remove_unnecessary_regions (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0x80478C: ira_build (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0x7FEE2A: rest_of_handle_ira (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0x8592BB: execute_one_pass (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0x859544: execute_pass_list (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0x859556: execute_pass_list (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0x94E5B5: tree_rest_of_compilation (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0xAD6CB5: cgraph_expand_function (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0xAD9569: cgraph_optimize (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0xAD9CE4: cgraph_finalize_compilation_unit (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==by 0x5515EA: cp_write_global_declarations (in
/mnt/svn/gcc-trunk/binary-159062-lto-fortran/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus)
==28996==  Address 0xafafafafafafafb7 is not stack'd, malloc'd or (recently)
free'd
==28996==
sqcompiler-noempty.ii: In member function 'void SQCompiler::BitwiseOrExp()':
sqcompiler-noempty.ii:2877:2: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

Testcase will be attached soon.


-- 
   Summary: ICE: SIGSEGV in ira_merge_allocno_live_ranges
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: zsojka at seznam dot cz
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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



[Bug rtl-optimization/44013] New: VTA produces wrong code

2010-05-06 Thread hariharans at picochip dot com
I first found this bug in GCC 4.5.0, but it is repeatable in mainline as of
159067. The attached preprocessed testcase, when compiled using -O2 -S will
show the problem.

We have a basic block [bb 3] with the following piece of code.

[32] X(SI) = unspec_volatile (const_int 3)
[33] var_location (some_var) = X
[34] (subreg:SI (reg:DI Z) 0) = X
...
[41] Y(SI) = unspec_volatile (const_int 3)
[42] var_location (some_var) = Y
[43] (subreg:SI (reg:DI Z) 4) = Y

Combine combines 32-34 and 41-43 and  converts this into

[33] var_location (some_var) = unspec_volatile (const_int 3)
[34] (subreg:SI (reg:DI Z) 0) = unspec_volatile (const_int 3)
...
[42] var_location (some_var) = unspec_volatile (const_int 3)
[43] (subreg:SI (reg:DI Z) 4) = unspec_volatile (const_int 3

I am not sure if this is a valid transformation in itself. var_location debug
instructions now dont just use registers, but they have unspec_volatile which
is assumed to clobber all register/memory.

The scheduler dependency for this becomes 34-42-43 since the debug_insn in 42
actually clobbers everything. But, when scheduling instructions we ignore the
debug_insn in 42 and hence the dependency is broken. 34 and 43 are both deemed
ready, but 43 gets scheduled first which results in the two unspec_volatile
instructions being reordered.

I am not sure which of the steps above is incorrect. Any pointers on this would
be greatly appreciated.

Please let me know if you need any information.

Thanks
Hari


-- 
   Summary: VTA produces wrong code
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hariharans at picochip dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: picochip-unknown-none


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



[Bug rtl-optimization/44013] VTA produces wrong code

2010-05-06 Thread hariharans at picochip dot com


--- Comment #1 from hariharans at picochip dot com  2010-05-06 13:00 ---
Created an attachment (id=20584)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20584action=view)
The test sourcecode


-- 


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



[Bug rtl-optimization/44013] VTA produces wrong code

2010-05-06 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2010-05-06 13:07 ---
DEBUG_INSNs must not affect code generation (in scheduling case scheduling of
non-DEBUG_INSNs).  Does the testcase fail with -fcompare-debug?
From your description it is unclear what is going on.  Perhaps you should
attach snippets before and after scheduling and say what do you think is wrong
and why.


-- 


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



[Bug inline-asm/43998] inline assembler: can't set clobbering for input register

2010-05-06 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2010-05-06 13:09 ---
(In reply to comment #5)
 Well, how to say that to compiler:
 
 This instruction receives input in register eax, but after executing it, eax
 value will be corrupted. I don't need this new value, but compiler  should not
 think that eax is preserved.
 

Just make eax both input and output.


-- 


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



[Bug tree-optimization/43791] [4.6 Regression] kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009

2010-05-06 Thread hubicka at gcc dot gnu dot org


--- Comment #22 from hubicka at gcc dot gnu dot org  2010-05-06 13:11 
---
Testing the following patch. For some reason we skip updates of costs at
alwaysinline callers. This is wrong.

Honza

Index: ipa-inline.c
===
--- ipa-inline.c(revision 159096)
+++ ipa-inline.c(working copy)
@@ -664,7 +664,7 @@ update_caller_keys (fibheap_t heap, stru
   struct cgraph_edge *edge;
   cgraph_inline_failed_t failed_reason;

-  if (!node-local.inlinable || node-local.disregard_inline_limits
+  if (!node-local.inlinable
   || node-global.inlined_to)
 return;
   if (bitmap_bit_p (updated_nodes, node-uid))


-- 

hubicka at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |hubicka at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|-00-00 00:00:00 |2010-05-06 13:11:51
   date||


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



[Bug tree-optimization/43791] [4.6 Regression] kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009

2010-05-06 Thread rogutes at googlemail dot com


--- Comment #23 from rogutes at googlemail dot com  2010-05-06 13:17 ---
Justin, your comment 7 reminded me of my problem (unrelated to this bug report
- sorry):
'busybox ls' and 'ninit' (didn't test SYSV 'init') segfault when booting a
kernel compiled with CONFIG_CC_OPTIMIZE_FOR_SIZE=y (which means -Os). I am
running gcc-4.5 on x86_64.
If you could reproduce your init segfault with a stable kernel compiled with
-Os by a gcc snapshot, it would mean a regression since gcc-4.4. Currently the
data I have seems too vague for a bug report and I probably won't have time to
test a gcc snapshot until monday.


-- 

rogutes at googlemail dot com changed:

   What|Removed |Added

 CC||rogutes at googlemail dot
   ||com


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



[Bug tree-optimization/43791] [4.6 Regression] kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009

2010-05-06 Thread rogutes at googlemail dot com


--- Comment #24 from rogutes at googlemail dot com  2010-05-06 13:19 ---
(In reply to comment #23)
 Justin, your comment 7 reminded me of my problem (unrelated to this bug report
Should be comment 20.


-- 


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



[Bug tree-optimization/43791] [4.6 Regression] kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009

2010-05-06 Thread justinmattock at gmail dot com


--- Comment #25 from justinmattock at gmail dot com  2010-05-06 13:27 
---
Subject: Re:  [4.6 Regression] kernel/rtmutex.c:1138:1:
 internal compiler error: in cgraph_decide_inlining_of_small_functions, at
 ipa-inline.c:1009

On 05/06/2010 06:11 AM, hubicka at gcc dot gnu dot org wrote:
 --- Comment #22 from hubicka at gcc dot gnu dot org  2010-05-06 13:11 
 ---
 Testing the following patch. For some reason we skip updates of costs at
 alwaysinline callers. This is wrong.

 Honza

 Index: ipa-inline.c
 ===
 --- ipa-inline.c(revision 159096)
 +++ ipa-inline.c(working copy)
 @@ -664,7 +664,7 @@ update_caller_keys (fibheap_t heap, stru
 struct cgraph_edge *edge;
 cgraph_inline_failed_t failed_reason;

 -  if (!node-local.inlinable || node-local.disregard_inline_limits
 +  if (!node-local.inlinable
 || node-global.inlined_to)
   return;
 if (bitmap_bit_p (updated_nodes, node-uid))




I'll give this a try..
keep in mind though
I ended up compressing that
system, and am in the process
of doing something else on that
machine.(so it might not be today,
but I will do this).

Justin P. Mattock


-- 


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



[Bug tree-optimization/43791] [4.6 Regression] kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009

2010-05-06 Thread justinmattock at gmail dot com


--- Comment #26 from justinmattock at gmail dot com  2010-05-06 13:31 
---
(In reply to comment #23)
 Justin, your comment 7 reminded me of my problem (unrelated to this bug report
 - sorry):
 'busybox ls' and 'ninit' (didn't test SYSV 'init') segfault when booting a
 kernel compiled with CONFIG_CC_OPTIMIZE_FOR_SIZE=y (which means -Os). I am
 running gcc-4.5 on x86_64.
 If you could reproduce your init segfault with a stable kernel compiled with
 -Os by a gcc snapshot, it would mean a regression since gcc-4.4. Currently the
 data I have seems too vague for a bug report and I probably won't have time to
 test a gcc snapshot until monday.
 

no, no reason to be sorry..that was the initial reason for the bug report.
but if building the kernel with a stable gcc snapshot(with -0s), then we have
something thats been lingering for some time.
(reason for having a git bisect handy);


-- 


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



[Bug inline-asm/43998] inline assembler: can't set clobbering for input register

2010-05-06 Thread socketpair at gmail dot com


--- Comment #7 from socketpair at gmail dot com  2010-05-06 13:42 ---
 Just make eax both input and output.
it's not optimal. gcc will try to preserve new eax value. So it will not use
eax register in next instructions. If eax is really need, it will save it in
esi, edi or so on - it's redundant.


-- 

socketpair at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |


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



[Bug tree-optimization/43791] [4.6 Regression] kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009

2010-05-06 Thread justinmattock at gmail dot com


--- Comment #27 from justinmattock at gmail dot com  2010-05-06 13:44 
---
(In reply to comment #24)
 (In reply to comment #23)
  Justin, your comment 7 reminded me of my problem (unrelated to this bug 
  report
 Should be comment 20.
 

ah.. oh-well.. in any case though this error is funky i.g. 
cgraph_decide_inlining_of_small_functions is kind of everywhere,
when messing with the CFLAGS flags like that.(one minuete over here, the next
over there).

my main concern with this whole thing is making sure things are running as it
should i.g. since building all apps/libs with 4.6.0 if some function was taken
out, that's important is it safe!?(the risks of being a developer I guess),but
s far I have only seen the above error, no messages in sys.log or strangeness
while running the system..


-- 


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



[Bug rtl-optimization/44012] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread zsojka at seznam dot cz


--- Comment #1 from zsojka at seznam dot cz  2010-05-06 13:50 ---
Created an attachment (id=20585)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20585action=view)
partially reduced testcase

Compiler flags:
g++ -O1 -fgcse -findirect-inlining -fipa-sra
or
g++ -O2 -fno-strict-aliasing

Valgind output:
$ valgrind --trace-children=yes -q
/mnt/svn/gcc-trunk/binary-159045-lto-fortran/bin/g++ -O1 -fgcse
-findirect-inlining -fipa-sra testcase-min2.ii
==18710== Invalid read of size 4
==18710==at 0x801A40: ira_merge_allocno_live_ranges (ira-build.c:863)
==18710==by 0x802C7E: remove_unnecessary_regions (ira-build.c:1977)
==18710==by 0x804408: ira_build (ira-build.c:2778)
==18710==by 0x7FEA6E: rest_of_handle_ira (ira.c:3215)
==18710==by 0x8588AD: execute_one_pass (passes.c:1590)
==18710==by 0x858B34: execute_pass_list (passes.c:1645)
==18710==by 0x858B46: execute_pass_list (passes.c:1646)
==18710==by 0x94CDB5: tree_rest_of_compilation (tree-optimize.c:413)
==18710==by 0xAD49F5: cgraph_expand_function (cgraphunit.c:1627)
==18710==by 0xAD7289: cgraph_optimize (cgraphunit.c:1706)
==18710==by 0xAD7A04: cgraph_finalize_compilation_unit (cgraphunit.c:1166)
==18710==by 0x550FCA: cp_write_global_declarations (decl2.c:3837)
==18710==  Address 0xafafafafafafafb7 is not stack'd, malloc'd or (recently)
free'd
==18710==
testcase-min2.ii: In member function 'void SQCompiler::BitwiseXorExp()':
testcase-min2.ii:371:2: internal compiler error: Segmentation fault

I will post more reduced testcase, delta is quite slow with this code.


-- 


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



[Bug tree-optimization/43791] [4.6 Regression] kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009

2010-05-06 Thread hubicka at ucw dot cz


--- Comment #28 from hubicka at ucw dot cz  2010-05-06 13:50 ---
Subject: Re:  [4.6 Regression]
kernel/rtmutex.c:1138:1: internal compiler error: in
cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009

 
 
 --- Comment #27 from justinmattock at gmail dot com  2010-05-06 13:44 
 ---
 (In reply to comment #24)
  (In reply to comment #23)
   Justin, your comment 7 reminded me of my problem (unrelated to this bug 
   report
  Should be comment 20.
  
 
 ah.. oh-well.. in any case though this error is funky i.g. 
 cgraph_decide_inlining_of_small_functions is kind of everywhere,
 when messing with the CFLAGS flags like that.(one minuete over here, the next
 over there).

Well, it is a symptom of insane use of always_inline attribute (as seen in the
testcase).  The function is public yet marked always inline, so compiler really
can't inline it everywhere no matter how hard it is trying.  We are thinking
about making this invalid in future relase of GCC.

Always inline functions should be static and should not be used in scenarios we
can not inline into.

Honza


-- 


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



[Bug driver/43371] Add -fresolution to the list of switches that take arguments

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-05-06 13:54 ---
Mine.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-05-06 13:54:04
   date||


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



[Bug lto/43857] -fresolution causes an ICE

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-05-06 13:54 ---
Mine.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-05-06 13:54:17
   date||


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



[Bug tree-optimization/43984] PRE misses full-redundancies, inserts into loops

2010-05-06 Thread matz at gcc dot gnu dot org


--- Comment #9 from matz at gcc dot gnu dot org  2010-05-06 13:55 ---
Subject: Bug 43984

Author: matz
Date: Thu May  6 13:54:32 2010
New Revision: 159106

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159106
Log:
PR tree-optimization/43984

* tree-ssa-pre.c (inserted_phi_names): Remove.
(inserted_exprs): Change to bitmap.
(create_expression_by_pieces): Set bits, don't append to vector.
(insert_into_preds_of_block): Don't handle inserted_phi_names.
(eliminate): Don't look at inserted_phi_names, remove deleted
insns from inserted_exprs.
(remove_dead_inserted_code): Adjust to use bitmaps instead of
vectors.
(init_pre, fini_pre): Allocate and free bitmaps.
(execute_pre): Insert insns on edges before elimination.

testsuite/
* gfortran.dg/pr43984.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/pr43984.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c


-- 


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



[Bug inline-asm/43998] inline assembler: can't set clobbering for input register

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2010-05-06 13:55 ---
(In reply to comment #7)
  Just make eax both input and output.
 it's not optimal. gcc will try to preserve new eax value. So it will not use
 eax register in next instructions. If eax is really need, it will save it in
 esi, edi or so on - it's redundant.

Not if you make the output unused by not using it.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/43984] PRE misses full-redundancies, inserts into loops

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2010-05-06 13:56 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug tree-optimization/43934] LIM should handle PHI nodes

2010-05-06 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-05-06 13:56 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug rtl-optimization/44013] VTA produces wrong code

2010-05-06 Thread hariharans at picochip dot com


--- Comment #3 from hariharans at picochip dot com  2010-05-06 14:02 ---
This test does fail with -fcompare-debug.
The relevant part of this basic block just before sched1 is

(debug_insn 33 32 34 3 vta_bug.i:12 (var_location:SI converter$rawValue
(unspec_volatile:SI [
(const_int 3 [0x3])
] 8)) -1 (nil))

(insn 34 33 35 3 vta_bug.i:75 (set (subreg:SI (reg/v:DI 46 [ trchHeader ]) 0)
(unspec_volatile:SI [
(const_int 3 [0x3])
] 8)) 81 {commsGet} (nil))

(insn 38 37 39 3 vta_bug.i:75 (set (reg:HI 45 [
trchHeader$D1290$channelCodingEnum ])
(lshiftrt:HI (subreg:HI (reg/v:DI 46 [ trchHeader ]) 0)
(const_int 14 [0xe]))) 65 {lshrhi3} (nil))

(debug_insn 39 38 40 3 (var_location:QI trchHeader$D1290$channelCodingEnum
(subreg:QI (reg:HI 45 [ trchHeader$D1290$channelCodingEnum ]) 0)) -1 (nil))

(debug_insn 40 39 41 3 (var_location:QI trchHeader$D1290$channelCodingEnum
(subreg:QI (reg:HI 45 [ trchHeader$D1290$channelCodingEnum ]) 0)) -1 (nil))

(debug_insn 42 41 43 3 vta_bug.i:12 (var_location:SI converter$rawValue
(unspec_volatile:SI [
(const_int 3 [0x3])
] 8)) -1 (nil))

(insn 43 42 44 3 vta_bug.i:76 (set (subreg:SI (reg/v:DI 46 [ trchHeader ]) 4)
(unspec_volatile:SI [
(const_int 3 [0x3])
] 8)) 81 {commsGet} (nil))



The scheduler dependency for this bb looks like this

;;   --- forward dependences:  

;;   --- Region Dependences --- b 3 bb 0 
;;  insn  codebb   dep  prio  cost   reservation
;;    --   ---       ---
;;   3481 3 0 2 1   slot1   : 61 42 40 39 38 
;;   3865 3 1 1 1   slot0|slot1 : 61 42 40 39 
;;   39-1 3 2 0 0   nothing : 42 40 
;;   40-1 3 3 0 0   nothing : 42 
;;   42-1 3 4 0 0   nothing : 48 43 
;;   4381 3 0 5 1   slot1   : 61 55 54 53 52 51 50
49 48 47 
;;   4765 3 1 4 1   slot0|slot1 : 61 55 51 49 48 
;;   48-1 3 3 0 0   nothing : 55 49 
;;   49-1 3 3 0 0   nothing : 55 50 
;;   50-1 3 2 0 0   nothing : 55 51 
;;   51-1 3 3 0 0   nothing : 55 52 
;;   52-1 3 2 0 0   nothing : 55 53 
;;   53-1 3 2 0 0   nothing : 55 54 
;;   54-1 3 2 0 0   nothing : 56 55 
;;   5583 3 2 3 1   slot1   : 61 59 58 57 56 
;;   56-1 3 2 0 0   nothing : 59 57 
;;   57-1 3 2 0 0   nothing : 59 58 
;;   58-1 3 2 0 0   nothing : 60 59 
;;   5983 3 1 2 1   slot1   : 61 60 
;;   60-1 3 2 0 0   nothing : 
;;   61 7 3 6 1 1   (slot0+slot1+slot2) : 

;;  dependencies resolved: insn 34
;;  tick updated: insn 34 into ready
;;  dependencies resolved: insn 43
;;  tick updated: insn 43 into ready
;;  Advanced a state.
;;  Ready list after queue_to_ready:43:15  34:10
;;  Ready list after ready_sort:34:10  43:15
;;  Clock 0
;;  Ready list (t =   0):34:10  43:15
;;  Chosen insn : 43
;;0--43 r46#4=unspec/v[0x3] 8 :slot1
;;  resetting: debug insn 42


Note that insn 34 has forward dependency to 42 and 42 to 43. So we have
34-42-43. But, 42 is a debug instruction. While scheduling, note that both 34
and 43 are deemed ready and 43 gets scheduled first, resulting in wrong code.

I will attach the compiler dumps from 3 stages now.

Thanks
Hari

(In reply to comment #2)
 DEBUG_INSNs must not affect code generation (in scheduling case scheduling of
 non-DEBUG_INSNs).  Does the testcase fail with -fcompare-debug?
 From your description it is unclear what is going on.  Perhaps you should
 attach snippets before and after scheduling and say what do you think is wrong
 and why.
 


-- 


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



[Bug rtl-optimization/44013] VTA produces wrong code

2010-05-06 Thread hariharans at picochip dot com


--- Comment #4 from hariharans at picochip dot com  2010-05-06 14:03 ---
Created an attachment (id=20586)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20586action=view)
debug dump for combine stage


-- 


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



[Bug rtl-optimization/44013] VTA produces wrong code

2010-05-06 Thread hariharans at picochip dot com


--- Comment #5 from hariharans at picochip dot com  2010-05-06 14:05 ---
Created an attachment (id=20587)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20587action=view)
debug dump just before sched1


-- 


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



[Bug rtl-optimization/44013] VTA produces wrong code

2010-05-06 Thread hariharans at picochip dot com


--- Comment #6 from hariharans at picochip dot com  2010-05-06 14:06 ---
Created an attachment (id=20588)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20588action=view)
sched1 output obtained with -fsched-verbose=8


-- 


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



[Bug tree-optimization/43791] [4.6 Regression] kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009

2010-05-06 Thread hubicka at gcc dot gnu dot org


--- Comment #29 from hubicka at gcc dot gnu dot org  2010-05-06 14:15 
---
Subject: Bug 43791

Author: hubicka
Date: Thu May  6 14:15:22 2010
New Revision: 159108

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159108
Log:
PR tree-optimization/43791
* ipa-inline.c (update_caller_keys): Remove bogus
disregard_inline_limits check.

* gcc.c-torture/compile/pr43791.c: New file.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr43791.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-inline.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/43791] [4.6 Regression] kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009

2010-05-06 Thread justinmattock at gmail dot com


--- Comment #30 from justinmattock at gmail dot com  2010-05-06 14:36 
---
(In reply to comment #28)
 Subject: Re:  [4.6 Regression]
 kernel/rtmutex.c:1138:1: internal compiler error: in
 cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009
 
  
  
  --- Comment #27 from justinmattock at gmail dot com  2010-05-06 13:44 
  ---
  (In reply to comment #24)
   (In reply to comment #23)
Justin, your comment 7 reminded me of my problem (unrelated to this bug 
report
   Should be comment 20.
   
  
  ah.. oh-well.. in any case though this error is funky i.g. 
  cgraph_decide_inlining_of_small_functions is kind of everywhere,
  when messing with the CFLAGS flags like that.(one minuete over here, the 
  next
  over there).
 
 Well, it is a symptom of insane use of always_inline attribute (as seen in the
 testcase).  The function is public yet marked always inline, so compiler 
 really
 can't inline it everywhere no matter how hard it is trying.  We are thinking
 about making this invalid in future relase of GCC.
 
 Always inline functions should be static and should not be used in scenarios 
 we
 can not inline into.
 
 Honza
 


alright.. so it's nothing too serious then.. 
From over here, I'm not going to be able to test this patch right away..
(but will), in the meantime if somebody already has 4.6.0 setup and everything
they should run your patch and see.(right now in the process of working on an
issue with SELinux, then hopefully in the next few days will throw in the
system with 4.6.0 and try the patch out).


-- 


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



[Bug rtl-optimization/44012] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread zsojka at seznam dot cz


--- Comment #2 from zsojka at seznam dot cz  2010-05-06 14:38 ---
When reducing this testcase, PR43791 was triggered. Upgrading to r159108 to
verify this still crashes...


-- 


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



[Bug rtl-optimization/44012] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread hjl dot tools at gmail dot com


--- Comment #3 from hjl dot tools at gmail dot com  2010-05-06 14:45 ---
It was caused by revision 158827:

http://gcc.gnu.org/ml/gcc-cvs/2010-04/msg00934.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||jamborm at gcc dot gnu dot
   ||org


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



[Bug tree-optimization/43716] [4.6 Regression] Revision 158105 miscompiles doduc.f90

2010-05-06 Thread dominiq at lps dot ens dot fr


--- Comment #22 from dominiq at lps dot ens dot fr  2010-05-06 14:59 ---
 Have you been able to identify if there is an invalid optimization?

I have started to follow the spaghetti plate without success so far. However,
although I don't think the problem comes from any invalid optimization, I
realized that '-funsafe-math-optimizations' (implied by -ffast-math) implies
'-freciprocal-math'. Thus with a vanilla trunk at revision 159085 (gfcp), I
tried:

gfcp -O3 -ffast-math -fno-reciprocal-math ../doduc.f90

which worked. Then I did the following change:

--- doduc.f90   2005-10-11 14:53:32.0 +0200
+++ doduc_nr.f902010-05-06 15:38:37.0 +0200
@@ -2378,13 +2378,13 @@
 dvg = DNUg(I)
 drf = -dvf*rf*rf
 drg = -dvg*rg*rg
-rp = r*(dvf/vf-dvg/vg)
+rp = r*(dvf*rf-dvg/vg)
 alo = .925*(vf/vg)**.239
 a = .67
 IF ( al.GE.alo ) a = .47
 vgj = VGJo(I)
 alop = alo*rp*.239/r
-vbcrp = .25*vbcr*(dvf/vf-rp/(1.-r))
+vbcrp = .25*vbcr*(dvf*rf-rp/(1.-r))
 alb = ALFb(I)
 alt = ALFt(I)
 tao = alop/(a*alo)

(since rf = 1./vf) and it worked too (note that it did not with only one change
in rp or vbcrp).

Now the questions are:
(1) why a change dealing with the propagation of minus signs interferes with
reciprocal-math?
(2) why moving VEC_safe_push from negate_value to eliminate_plus_minus_pair
trigger the miscompilation?


-- 


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



[Bug inline-asm/43998] inline assembler: can't set clobbering for input register

2010-05-06 Thread socketpair at gmail dot com


--- Comment #9 from socketpair at gmail dot com  2010-05-06 15:03 ---
 Not if you make the output unused by not using it.
I do not understand why gcc distinguish between 'specifying register as output'
and 'specifying as clobbering'.

I always considered, that 'clobber list' specify list of items which may be
changed *AFTER* the end of instruction(s). So I do not understand why adding
eax in clobber list will break compilation.

I found some posts where people create size_t dummy; and specify this variable
as output. insted of just specifying this register in clobber-list.

Why not to fix bug I have reported? Maybe convert to feature?


-- 

socketpair at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |


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



[Bug rtl-optimization/44012] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread zsojka at seznam dot cz


--- Comment #4 from zsojka at seznam dot cz  2010-05-06 15:04 ---
Created an attachment (id=20589)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20589action=view)
reduced testcase

Command line:
gcc -O1 -fgcse -findirect-inlining pr44012.c

not tested with r159108 yet


-- 

zsojka at seznam dot cz changed:

   What|Removed |Added

  Attachment #20585|0   |1
is obsolete||


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



[Bug tree-optimization/43716] [4.6 Regression] Revision 158105 miscompiles doduc.f90

2010-05-06 Thread maxim at codesourcery dot com


--- Comment #23 from mkuvyrkov at gcc dot gnu dot org  2010-05-06 15:07 
---
Subject: Re:  [4.6 Regression] Revision 158105
 miscompiles doduc.f90

On 5/6/10 6:59 PM, dominiq at lps dot ens dot fr wrote:
...
 Now the questions are:
 (1) why a change dealing with the propagation of minus signs interferes with
 reciprocal-math?
 (2) why moving VEC_safe_push from negate_value to eliminate_plus_minus_pair
 trigger the miscompilation?

Just to be clear, I do not think there is a miscompilation here.

The patch that [among other things] moved VEC_safe_push from 
negate_value to eliminate_plus_minus_pair did that to enable (a + (-b)) 
- (a - b) optimization in more cases.


-- 


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



[Bug c++/40406] ICE with broken template member declaration

2010-05-06 Thread paolo dot carlini at oracle dot com


--- Comment #4 from paolo dot carlini at oracle dot com  2010-05-06 15:34 
---
Sure, I'll do it later today.


-- 


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



[Bug tree-optimization/43716] [4.6 Regression] Revision 158105 miscompiles doduc.f90

2010-05-06 Thread dominiq at lps dot ens dot fr


--- Comment #24 from dominiq at lps dot ens dot fr  2010-05-06 15:34 ---
  Now the questions are:
  (1) why a change dealing with the propagation of minus signs interferes with
  reciprocal-math?
  (2) why moving VEC_safe_push from negate_value to eliminate_plus_minus_pair
  trigger the miscompilation?

 Just to be clear, I do not think there is a miscompilation here.

Just to be clear,

(1) I have understood your point from the very beginning,
(2) I disagree with it: if you get the right result with '-O3 -ffast-math' on
*-linux-* and I get a segmentation fault on x86_64-apple-darwin10, it means
that doduc.f90 is miscompiled for the latter.
Note that I have gotten the correct result for doduc.f90 with '-O3 -ffast-math'
several hundred times over the past years.

 The patch that [among other things] moved VEC_safe_push from 
 negate_value to eliminate_plus_minus_pair did that to enable (a + (-b)) 
 - (a - b) optimization in more cases.

Unless I missed something, the only significant change in revision 158105 is
the move of VEC_safe_push. The other ones are renaming broken_up_subtracts to
plus_negates and moving
static VEC(tree, heap) *plus_negates;
where it is needed due to the move of VEC_safe_push. Unless there is something
very weird, I cannot see how these two changes can affect the generated code.

Note also that if the only effect of moving VEC_safe_push was to enable (a +
(-b))- (a - b) optimization, it should not interfere with the optimization
a/b - a*(1.0/b)).


-- 


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



[Bug rtl-optimization/44012] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread zsojka at seznam dot cz


--- Comment #5 from zsojka at seznam dot cz  2010-05-06 15:54 ---
Still crashes in r159109, so not a dup of PR43791


-- 


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



[Bug target/43888] [4.5/4.6 Regression] FAIL: gcc.dg/alias-7.c execution test

2010-05-06 Thread davek at gcc dot gnu dot org


--- Comment #4 from davek at gcc dot gnu dot org  2010-05-06 16:06 ---
Subject: Bug 43888

Author: davek
Date: Thu May  6 16:06:18 2010
New Revision: 159111

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159111
Log:
PR target/43888
* config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
handling to still return true for x64 targets.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/winnt.c


-- 


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



[Bug c++/40406] ICE with broken template member declaration

2010-05-06 Thread paolo at gcc dot gnu dot org


--- Comment #5 from paolo at gcc dot gnu dot org  2010-05-06 16:07 ---
Subject: Bug 40406

Author: paolo
Date: Thu May  6 16:07:02 2010
New Revision: 159112

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159112
Log:
2010-05-06  Paolo Carlini  paolo.carl...@oracle.com

PR c++/40406
* g++.dg/template/crash96.C: New.

Added:
trunk/gcc/testsuite/g++.dg/template/crash96.C
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/40406] ICE with broken template member declaration

2010-05-06 Thread paolo at gcc dot gnu dot org


--- Comment #6 from paolo at gcc dot gnu dot org  2010-05-06 16:08 ---
Subject: Bug 40406

Author: paolo
Date: Thu May  6 16:07:28 2010
New Revision: 159113

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159113
Log:
2010-05-06  Paolo Carlini  paolo.carl...@oracle.com

PR c++/40406
* g++.dg/template/crash96.C: New.

Added:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/template/crash96.C
Modified:
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/40406] ICE with broken template member declaration

2010-05-06 Thread paolo dot carlini at oracle dot com


--- Comment #7 from paolo dot carlini at oracle dot com  2010-05-06 16:09 
---
Done.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug target/42811] [4.5 regression] java.lang.ExceptionInInitializerError in ecj1

2010-05-06 Thread davek at gcc dot gnu dot org


--- Comment #15 from davek at gcc dot gnu dot org  2010-05-06 16:21 ---
Subject: Bug 42811

Author: davek
Date: Thu May  6 16:20:53 2010
New Revision: 159115

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159115
Log:
PR target/42811
* tests/staticrootstest.c: New test source file.
* tests/staticrootslib.c: New test library source file.
* Makefile.am (test_ldadd): New variable.
(gctest_LDADD): Use it.
(TESTS): Add leaktest, middletest and staticrootstest.
(check_PROGRAMS): Likewise.
(leaktest_SOURCES): New libtool variable definition.
(leaktest_LDADD): Likewise.
(leaktest_LDFLAGS): Likewise.
(leaktest_LINK): Likewise.
(middletest_SOURCES): Likewise.
(middletest_LDADD): Likewise.
(middletest_LDFLAGS): Likewise.
(middletest_LINK): Likewise.
(staticrootstest_SOURCES): Likewise.
(staticrootstest_LDADD): Likewise.
(staticrootstest_LDFLAGS): Likewise.
(staticrootstest_LINK): Likewise.
(check_LTLIBRARIES): Likewise.
(libstaticrootslib_la_SOURCES): Likewise.
(libstaticrootslib_la_LIBADD): Likewise.
(libstaticrootslib_la_LDFLAGS): Likewise.
(libstaticrootslib_la_DEPENDENCIES): Likewise.
* Makefile.in: Regenerate.


Added:
trunk/boehm-gc/tests/staticrootslib.c
trunk/boehm-gc/tests/staticrootstest.c
Modified:
trunk/boehm-gc/ChangeLog
trunk/boehm-gc/Makefile.am
trunk/boehm-gc/Makefile.in


-- 


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



[Bug libstdc++/43259] ext/profile/all.cc fails on Solaris

2010-05-06 Thread paolo dot carlini at oracle dot com


--- Comment #19 from paolo dot carlini at oracle dot com  2010-05-06 16:24 
---
Note that in all those patches, the open curly brackets are in the wrong place:
in GCC, C++ runtime included, must *always* follow a newline. Just stylistic
issues, of course.


-- 


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



[Bug fortran/43990] [OOP] ICE in output_constructor_regular_field, at varasm.c:4995

2010-05-06 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2010-05-06 16:27 ---
See also PR 43895 - the issue seems to be similar though one does not have an
except that there one has no static-memory initialization. [I might also be
completely off.]


-- 


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



[Bug fortran/43895] [OOP] internal compiler error: verify_ssa failed

2010-05-06 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2010-05-06 16:28 ---
See also PR 43990 - I think the PRs might be related, though I have not really
studied this PR.


-- 


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



[Bug bootstrap/43994] [4.6 Regression] Revision 159063 failed to bootstrap on Linux/ia64

2010-05-06 Thread jiez at gcc dot gnu dot org


--- Comment #8 from jiez at gcc dot gnu dot org  2010-05-06 16:35 ---
I see similar issue on ARM target. It seems to be fixed by the
patch in comment #6 .


-- 

jiez at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jiez at gcc dot gnu dot org


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



[Bug fortran/43990] [OOP] ICE in output_constructor_regular_field, at varasm.c:4995

2010-05-06 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2010-05-06 16:37 ---
(In reply to comment #3)
 See also PR 43895

As I feared there: There seems to be an inconsistency with CLASS with POINTER
or ALLOCATABLE attribute: Is class.$DATA or class the pointer variable. If
one adds b = ALLOCATED(x) one finds:

  x.a.$data = 0B;   ! Default initialization sets class.$data to NULL
  D.1577 = x-a;   ! ALLOCATED check looks at (class != NULL)
  b = D.1577 != 0B;

Which does not make sense.  [This might be unrelated to the ICE.]


-- 


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



[Bug rtl-optimization/44012] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread jamborm at gcc dot gnu dot org


--- Comment #6 from jamborm at gcc dot gnu dot org  2010-05-06 16:38 ---
(In reply to comment #4)
 Created an attachment (id=20589)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20589action=view) [edit]
 reduced testcase
 
 Command line:
 gcc -O1 -fgcse -findirect-inlining pr44012.c
 

It crashes for me on both i686 and x86_64 even without
-findirect-inlining.  On the other hand, -fno-inline does prevent the
ICE.

(In reply to comment #3)
 It was caused by revision 158827:
 
 http://gcc.gnu.org/ml/gcc-cvs/2010-04/msg00934.html
 

The testcase from comment #4 crashes for me even on revision 158826
(on x86-64) and so I don't think that my commit is relevant.


-- 


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



[Bug rtl-optimization/44012] [4.5/4.6 Regression] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread zsojka at seznam dot cz


--- Comment #7 from zsojka at seznam dot cz  2010-05-06 16:47 ---
You are right, the reduced testcase from comment #4 crashes with:

Command line:
$ gcc -O1 -fgcse pr44012.c

Tested revisions:
r159109 - crash
r158683 - crash
r157702 - crash
r153685 - crash
4.5 r158978 - crash
4.4 r158133 - OK
4.4 r157895 - OK


-- 

zsojka at seznam dot cz changed:

   What|Removed |Added

Summary|ICE: SIGSEGV in |[4.5/4.6 Regression] ICE:
   |ira_merge_allocno_live_range|SIGSEGV in
   |s   |ira_merge_allocno_live_range
   ||s


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



[Bug c++/43856] [C++0x] gcc-4.5.0 fails to transform id-expression into class member access in lambda compound-statement

2010-05-06 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2010-05-06 16:49 ---
Fixed for 4.5.1.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.1
Version|4.5.0   |4.4.5


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



[Bug c++/43856] [C++0x] gcc-4.5.0 fails to transform id-expression into class member access in lambda compound-statement

2010-05-06 Thread jason at gcc dot gnu dot org


--- Comment #5 from jason at gcc dot gnu dot org  2010-05-06 16:49 ---
.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug bootstrap/43994] [4.6 Regression] Revision 159063 failed to bootstrap on Linux/ia64

2010-05-06 Thread jakub at gcc dot gnu dot org


--- Comment #9 from jakub at gcc dot gnu dot org  2010-05-06 16:59 ---
The reference is created at df-scan.c:2940 in df_ref_record.
reg (as well as *loc) passed to that function is SImode reg 112 (in0), i.e. a
hard register, but df_ref_create_structure is called with regno_reg_rtx[i],
which is DImode on ia64.
Generally, if *loc/reg passed to this function is a hard register,
df_ref_create_structure can be called either with smaller reg (for wide modes
where *loc occupies several hard registers) or larger reg (as in this case).


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||zadeck at gcc dot gnu dot
   ||org


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



[Bug libstdc++/44014] New: no std::string in API documentation

2010-05-06 Thread giecrilj at stegny dot 2a dot pl
Reading the autogenerated API documentation page [1], there are the following
typedefs starting with s:

* seconds : std::chrono
* sregex_token_iterator : std
* ssub_match : std
* streambuf : std
* streamoff : std
* streampos : std
* streamsize : std
* stringbuf : std
* stringstream : std
* syntax_option_type : std::regex_constants

Where is std::string?

[1]
URL:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespacemembers_type.html#index_s


-- 
   Summary: no std::string in API documentation
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: trivial
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: giecrilj at stegny dot 2a dot pl


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



[Bug other/43620] [4.3 Release Blocker] Uploading to gnu.org will fail due to automake security issue

2010-05-06 Thread rwild at gcc dot gnu dot org


--- Comment #11 from rwild at gcc dot gnu dot org  2010-05-06 17:20 ---
Subject: Bug 43620

Author: rwild
Date: Thu May  6 17:19:46 2010
New Revision: 159116

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159116
Log:
Avoid automake distdir rule.

libgfortran/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* configure: Regenerate.
* Makefile.in: Regenerate.

libmudflap/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* config.h.in: Regenerate.
* Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

libstdc++-v3/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* configure: Regenerate.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libmath/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

libjava/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* Makefile.in: Regenerate.
* gcj/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

libjava/classpath/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* doc/api/Makefile.in: Regenerate.
* examples/Makefile.in: Regenerate.
* external/Makefile.in: Regenerate.
* external/jsr166/Makefile.in: Regenerate.
* external/relaxngDatatype/Makefile.in: Regenerate.
* external/sax/Makefile.in: Regenerate.
* external/w3c_dom/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* lib/Makefile.in: Regenerate.
* native/Makefile.in: Regenerate.
* native/fdlibm/Makefile.in: Regenerate.
* native/jawt/Makefile.in: Regenerate.
* native/jni/Makefile.in: Regenerate.
* native/jni/classpath/Makefile.in: Regenerate.
* native/jni/gconf-peer/Makefile.in: Regenerate.
* native/jni/gstreamer-peer/Makefile.in: Regenerate.
* native/jni/gtk-peer/Makefile.in: Regenerate.
* native/jni/java-io/Makefile.in: Regenerate.
* native/jni/java-lang/Makefile.in: Regenerate.
* native/jni/java-net/Makefile.in: Regenerate.
* native/jni/java-nio/Makefile.in: Regenerate.
* native/jni/java-util/Makefile.in: Regenerate.
* native/jni/midi-alsa/Makefile.in: Regenerate.
* native/jni/midi-dssi/Makefile.in: Regenerate.
* native/jni/native-lib/Makefile.in: Regenerate.
* native/jni/qt-peer/Makefile.in: Regenerate.
* native/jni/xmlj/Makefile.in: Regenerate.
* native/plugin/Makefile.in: Regenerate.
* resource/Makefile.in: Regenerate.
* scripts/Makefile.in: Regenerate.
* tools/Makefile.in: Regenerate.

libjava/libltdl/:
PR other/43620
* Makefile.am (AUTOMAKE_OPTIONS): Add no-dist.
* Makefile.in: Regenerate.

libgomp/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* configure: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

libffi/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

libssp/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* Makefile.in: Regenerate.
* config.h.in: Regenerate.


Modified:
branches/gcc-4_3-branch/libffi/ChangeLog
branches/gcc-4_3-branch/libffi/Makefile.in
branches/gcc-4_3-branch/libffi/configure.ac
branches/gcc-4_3-branch/libffi/include/Makefile.in
branches/gcc-4_3-branch/libffi/testsuite/Makefile.in
branches/gcc-4_3-branch/libgfortran/ChangeLog
branches/gcc-4_3-branch/libgfortran/Makefile.in
branches/gcc-4_3-branch/libgfortran/configure
branches/gcc-4_3-branch/libgfortran/configure.ac
branches/gcc-4_3-branch/libgomp/ChangeLog
branches/gcc-4_3-branch/libgomp/Makefile.in
branches/gcc-4_3-branch/libgomp/aclocal.m4
branches/gcc-4_3-branch/libgomp/config.h.in
branches/gcc-4_3-branch/libgomp/configure
branches/gcc-4_3-branch/libgomp/configure.ac
branches/gcc-4_3-branch/libgomp/testsuite/Makefile.in
branches/gcc-4_3-branch/libjava/ChangeLog
branches/gcc-4_3-branch/libjava/Makefile.in
branches/gcc-4_3-branch/libjava/classpath/ChangeLog
branches/gcc-4_3-branch/libjava/classpath/Makefile.in
branches/gcc-4_3-branch/libjava/classpath/configure.ac
branches/gcc-4_3-branch/libjava/classpath/doc/Makefile.in

[Bug other/43620] [4.3 Release Blocker] Uploading to gnu.org will fail due to automake security issue

2010-05-06 Thread rwild at gcc dot gnu dot org


--- Comment #12 from rwild at gcc dot gnu dot org  2010-05-06 17:22 ---
Fixed.


-- 

rwild at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug libstdc++/44014] no std::string in API documentation

2010-05-06 Thread paolo dot carlini at oracle dot com


--- Comment #1 from paolo dot carlini at oracle dot com  2010-05-06 17:33 
---
Funny. Let's add Benjamin in CC.


-- 

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=44014



[Bug bootstrap/43994] [4.6 Regression] Revision 159063 failed to bootstrap on Linux/ia64

2010-05-06 Thread jakub at gcc dot gnu dot org


--- Comment #10 from jakub at gcc dot gnu dot org  2010-05-06 17:35 ---
Subject: Bug 43994

Author: jakub
Date: Thu May  6 17:34:47 2010
New Revision: 159117

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159117
Log:
PR bootstrap/43994
* df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
instead of DF_REF_REAL_REG.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/df-problems.c


-- 


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



[Bug libstdc++/44015] New: template parameters not documented

2010-05-06 Thread giecrilj at stegny dot 2a dot pl
Reading the page std::basic_string _CharT, _Traits, _Alloc  Class Template
Reference [1]:

The template parameters are not documented; in particular, their default
assignments are not mentioned. 

[1]
URL:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00260.html#_details


-- 
   Summary: template parameters not documented
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: giecrilj at stegny dot 2a dot pl


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



  1   2   >