[Bug libfortran/46373] fflush called when reading from a string

2010-11-10 Thread e01reynier at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46373

--- Comment #9 from e01reynier at gmail dot com 2010-11-10 08:13:54 UTC ---
(In reply to comment #8)
> Aside from Janne's comments about getting rid of this function completely, I
> think the little fix is a candidate for back port to 4.4 and 4.5. What do you
> think Janne?

It would be nice.


[Bug other/46332] __cxa_demangle yields excess parentheses for function types

2010-11-10 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46332

--- Comment #12 from Paolo Carlini  2010-11-10 
08:24:59 UTC ---
IMHO, void (double) is fine for a function type: Ian's point about function
type vs pointer to function type fully clarifies the issue for me. If currently
the C++ front-end also uses 'void (double)' in error messages, consistency
would be an additional reason.


[Bug c++/46400] g++ Segmentation Fault on heavily templated project.

2010-11-10 Thread m.strashun at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46400

--- Comment #7 from Michael Strashun  2010-11-10 
12:37:47 UTC ---
Workaround helped, thanks. Errors were supposed to be, so everything is
alright.

Reducing with delta looks quite not possible to me : after about a day of
processing it managed to cut out only several thousand lines of cound from more
than 100 000.


[Bug middle-end/46388] [4.6 Regression] ICE in int_mode_for_mode, at stor-layout.c:493

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46388

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED


[Bug middle-end/46388] [4.6 Regression] ICE in int_mode_for_mode, at stor-layout.c:493

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46388

Jakub Jelinek  changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |

--- Comment #3 from Jakub Jelinek  2010-11-10 
10:52:53 UTC ---
Created attachment 22364
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22364
gcc46-pr46388.patch

Untested fix.

I think it is a bad idea to keep around VOIDmode MEMs, it can break too much.
I think this should work (alternatively we could use BLKmode in that case
instead).


[Bug target/44760] iq2000.md warnings

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44760

Jorn Wolfgang Rennecke  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Jorn Wolfgang Rennecke  
2010-11-10 09:19:19 UTC ---
Patch has been applied to trunk.


[Bug debug/46171] [4.6 Regression] ICE: in gen_rtx_SUBREG, at emit-rtl.c:774 with -fno-tree-dce -g

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46171

Jakub Jelinek  changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek  2010-11-10 
12:42:22 UTC ---
*** Bug 46409 has been marked as a duplicate of this bug. ***


[Bug bootstrap/46362] [4.6 regression] lto-plugin.c doesn't compile on IRIX 6.5

2010-11-10 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46362

--- Comment #14 from ro at CeBiTec dot Uni-Bielefeld.DE  2010-11-10 12:35:18 UTC ---
I'll give it a try once my current IRIX 6.5 bootstrap finishes (which
may take another couple of hours at least).

But even so, the question remains what's the point of building lto-plugin
unless gold or a plugin-capable gld is in use?

Rainer


[Bug rtl-optimization/46409] [4.6 Regression] ICE in propagate_rtx, at fwprop.c:688

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46409

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE

--- Comment #4 from Jakub Jelinek  2010-11-10 
12:42:22 UTC ---
Dup of PR46171.

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


[Bug target/46407] New: rx-elf --enable-werror-all build failure

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46407

   Summary: rx-elf --enable-werror-all build failure
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: amyl...@gcc.gnu.org
Depends on: 44764
Blocks: 44756
Target: rx-elf


Beyond PR44764, these is an excess SEMICOLON on REGISTER_NAMES, and then:
../../gcc/gcc/config/rx/rx.c: In function ‘rx_promote_function_mode’:
../../gcc/gcc/config/rx/rx.c:849:12: error: unused parameter ‘punsignedp’
[-Werror=unused-parameter]
../../gcc/gcc/config/rx/rx.c: In function ‘rx_expand_builtin’:
../../gcc/gcc/config/rx/rx.c:2043:7: error: passing argument 2 of
‘valid_psw_flag’ discards ‘const’ qualifier from pointer target type [-Werror]
../../gcc/gcc/config/rx/rx.c:2003:1: note: expected ‘char *’ but argument is of
type ‘const char *’
../../gcc/gcc/config/rx/rx.c:2047:7: error: passing argument 2 of
‘valid_psw_flag’ discards ‘const’ qualifier from pointer target type [-Werror]
../../gcc/gcc/config/rx/rx.c:2003:1: note: expected ‘char *’ but argument is of
type ‘const char *’
../../gcc/gcc/config/rx/rx.c: At top level:
../../gcc/gcc/config/rx/rx.c:2872:8: error: initialization from incompatible
pointer type [-Werror]
../../gcc/gcc/config/rx/rx.c:2872:8: error: (near initialization for
‘targetm.memory_move_cost’) [-Werror]


[Bug middle-end/46389] [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46389

Richard Guenther  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #4 from Richard Guenther  2010-11-10 
12:43:20 UTC ---
s390z06:/usr/src/packages/BUILD/gcc-4.6.0-20101105/obj-s390-suse-linux/gcc/ada/rts>
/usr/src/packages/BUILD/gcc-4.6.0-20101105/obj-s390-suse-linux/./gcc/xgcc
-B/usr/src/packages/BUILD/gcc-4.6.0-20101105/obj-s390-suse-linux/./gcc/
-B/usr/s390-suse-linux/bin/ -B/usr/s390-suse-linux/lib/ -isystem
/usr/s390-suse-linux/include -isystem /usr/s390-suse-linux/sys-include-c -g
-O2  -fPIC  -W -Wall -gnatpg   a-strsup.adb -o a-strsup.o -v
Reading specs from
/usr/src/packages/BUILD/gcc-4.6.0-20101105/obj-s390-suse-linux/./gcc/specs
COLLECT_GCC=/usr/src/packages/BUILD/gcc-4.6.0-20101105/obj-s390-suse-linux/./gcc/xgcc
COLLECT_LTO_WRAPPER=/usr/src/packages/BUILD/gcc-4.6.0-20101105/obj-s390-suse-linux/./gcc/lto-wrapper
Target: s390-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada
--enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.6
--enable-ssp --disable-libssp --disable-plugin
--with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux'
--disable-libgcj --disable-libmudflap --with-slibdir=/lib --with-system-zlib
--enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --program-suffix=-4.6
--enable-linux-futex --without-system-libunwind --with-tune=z9-109
--with-arch=z900 --with-long-double-128 --enable-decimal-float
--build=s390-suse-linux
Thread model: posix
gcc version 4.6.0 20101105 [trunk revision 166358] (SUSE Linux) 
COLLECT_GCC_OPTIONS='-B'
'/usr/src/packages/BUILD/gcc-4.6.0-20101105/obj-s390-suse-linux/./gcc/' '-B'
'/usr/s390-suse-linux/bin/' '-B' '/usr/s390-suse-linux/lib/' '-isystem'
'/usr/s390-suse-linux/include' '-isystem' '/usr/s390-suse-linux/sys-include'
'-c' '-g' '-O2' '-fPIC' '-Wextra' '-Wall' '-gnatpg' '-o' 'a-strsup.o' '-v'
'-march=z900' '-mtune=z9-109' '-m31' '-mesa'
 /usr/src/packages/BUILD/gcc-4.6.0-20101105/obj-s390-suse-linux/./gcc/gnat1
-gnatwa -quiet -dumpbase a-strsup.adb -auxbase-strip a-strsup.o -O2 -Wextra
-Wall -fPIC -g -gnatpg -march=z900 -mtune=z9-109 -m31 -mesa -gnatO a-strsup.o
a-strsup.adb -o /tmp/ccfxckJK.s
+===GNAT BUG DETECTED==+
| 4.6.0 20101105 [trunk revision 166358] (s390-ibm-linux-gnu) GCC error:   |
| in add_var_loc_to_decl, at dwarf2out.c:8221  |
| Error detected around a-strsup.adb:1091:8|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

system.ads
a-strsup.adb
a-strsup.ads
a-string.ads
ada.ads
a-strmap.ads
a-charac.ads
a-chlat1.ads
a-strsea.ads
s-exctab.ads
s-stalib.ads
a-unccon.ads
s-unstyp.ads
a-except.ads
s-parame.ads
s-traent.ads
s-secsta.ads
s-stoele.ads
s-stoele.adb
s-carun8.ads


raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:423


[Bug fortran/46408] New: [OOP] Segfault when running gfortran.dg/class_allocate_6.f03

2010-11-10 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46408

   Summary: [OOP] Segfault when running
gfortran.dg/class_allocate_6.f03
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: ja...@gcc.gnu.org


This might be a known problem, but the test case
  gfortran.dg/class_allocate_6.f03
fails for me. (The test was added for PR 45451 / PR 46174, which does a deep
copy.)

To be precise, I get a segfault using when executing the line:
  allocate(y, source=x)

A "PRINT" statement placed directly after that line will not be printed, i.e.
it is not a finally/cleanup issue.

The segfault disappears if I unset MALLOC_PERTURB_ which indicates the use of
an uninitialized variable.

Valgrind shows:
 Conditional jump or move depends on uninitialised value(s)
at 0x400C37: __copy_MAIN___t2.1547 (class_allocate_6.f03:7)
by 0x400ED4: MAIN__ (class_allocate_6.f03:48)
by 0x400FD7: main (class_allocate_6.f03:48)


Related: PR 46321 (deep-freeing of polymorphic variables)


[Bug middle-end/46389] [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46389

--- Comment #5 from Richard Guenther  2010-11-10 
12:44:28 UTC ---
Created attachment 22365
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22365
testcase


[Bug fortran/46405] Preprocessor generated code can exceed 132 characters

2010-11-10 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46405

Tobias Burnus  changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #1 from Tobias Burnus  2010-11-10 
09:06:21 UTC ---
Sounds line a non-trivial problem - though I also have encountered  the issue
with __FILE__. For compiler options (the other case for which I have
encountered the line-length issue), there are now the F2008 intrinsic character
functions compiler_options() and compiler_version().

Regarding the point that CPP knows about Fortran: That's currently not the
case. Thus, gfortran invokes (lib)cpp in the "-traditional" mode which misses
several newer CPP features. See bug 28662.


[Bug tree-optimization/46403] inefficient PRE bloat code size

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46403

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME

--- Comment #1 from Richard Guenther  2010-11-10 
12:16:36 UTC ---
I don't see this PRE, instead I see

Found partial redundancy for expression {array_ref,a...@.mem_7 
(0005)
Inserted pretmp.3_12 = a[x_1(D)];
 in predecessor 5
Created phi prephitmp.4_15 = PHI 
 in block 4
Replaced a[x_1(D)] with prephitmp.4_15 in D.2691_5 = a[x_1(D)];

:
  if (x_1(D) != 0)
goto ;
  else
goto ;

:
  pretmp.3_12 = a[x_1(D)];
  goto ;

:
  *y_2(D) = z_3(D);
  a[x_1(D)] = z_3(D);

:
  # prephitmp.4_15 = PHI 
  m_4 = *y_2(D);
  D.2691_5 = prephitmp.4_15;
  D.2690_6 = D.2691_5 + m_4;
  return D.2690_6;

which indeed removes a redundancy.  En/disabling RTL PRE doesn't change
the generated code so you can't mean that either.


[Bug middle-end/46389] [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46389

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2010.11.10 09:45:28
 CC||jakub at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Jakub Jelinek  2010-11-10 
09:45:28 UTC ---
I couldn't reproduce this.
r166509, CC='gcc -m31' s390 ../configure --enable-languages=c,c++,ada
bootstrapped just fine.  I've also tried all the supported -march= options on
the a-strsup.o compilation line.

So, if you can reproduce it, can you debug it a little bit?  It is in my code,
so I'll try to help, but unless I can reproduce it I can't do much with it.


[Bug middle-end/46221] [4.6 Regression] huge number of c++ testsuite failures, libstdc++.so alias missing

2010-11-10 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46221

--- Comment #21 from rguenther at suse dot de  
2010-11-10 10:25:51 UTC ---
On Wed, 10 Nov 2010, howarth at nitro dot med.uc.edu wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46221
> 
> Jack Howarth  changed:
> 
>What|Removed |Added
> 
>  CC||howarth at nitro dot
>||med.uc.edu
> 
> --- Comment #20 from Jack Howarth  
> 2010-11-10 05:12:10 UTC ---
> The new gcc.target/i386/alias-1.c testcase produces...
> 
> FAIL: gcc.target/i386/alias-1.c (test for excess errors)
> FAIL: gcc.target/i386/alias-1.c scan-assembler wobbly
> FAIL: gcc.target/i386/alias-1.c scan-assembler jelly
> 
> at -m32 on x86_64-apple-darwin10 with errors of the form...
> 
> Executing on host: /sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/xgcc
> -B/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/
> /sw/src/fink.build/gcc46-4.6.0-1000/gcc-4.6-20101109/gcc/testsuite/gcc.target/i386/alias-1.c
>-ansi -pedantic-errors -S  -m32 -o alias-1.s(timeout = 300)
> /sw/src/fink.build/gcc46-4.6.0-1000/gcc-4.6-20101109/gcc/testsuite/gcc.target/i386/alias-1.c:6:1:
> warning: alias definitions not supported in Mach-O; ignored [enabled by
> default]^M
> 
> Shouldn't this testcase contain...
> 
> /* { dg-require-alias "" } */
> 
> which will convert it to an unsupported test as was done for
> gcc.dg/lto/20081222_0.c on darwin?

Feel free to do it, I tend to forget such details.


[Bug rtl-optimization/46409] [4.6 Regression] ICE in propagate_rtx, at fwprop.c:688

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46409

--- Comment #2 from Richard Guenther  2010-11-10 
11:07:40 UTC ---
typedef unsigned long long int uint64_t;
typedef uint64_t hdb_handle_t;
struct corosync_api_v1 {
int (*plugin_interface_release) (hdb_handle_t handle);
};
struct corosync_service_engine {
int (*exec_init_fn) (struct corosync_api_v1 *);
}
mar_evt_event_pattern_t;
static int inline
openais_clm_services_api_release (struct corosync_api_v1 *coroapi,
  hdb_handle_t handle)
{
  unsigned int res;
  res = coroapi->plugin_interface_release (handle);
}
static int evt_exec_init(struct corosync_api_v1 *);
struct corosync_api_v1 *api;
static struct openais_clm_services_api_ver1 *clmapi;
static hdb_handle_t clm_services_api_handle;
struct corosync_service_engine evt_service_engine
  = { .exec_init_fn = evt_exec_init };
int evt_exec_init(struct corosync_api_v1 *corosync_api)
{
  clmapi = openais_clm_services_api_reference (api, &clm_services_api_handle);
  openais_clm_services_api_release (api, clm_services_api_handle);
}


[Bug target/46407] rx-elf --enable-werror-all build failure

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46407

--- Comment #1 from Jorn Wolfgang Rennecke  
2010-11-10 11:29:03 UTC ---
Author: amylaar
Date: Wed Nov 10 11:29:00 2010
New Revision: 166529

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166529
Log:
PR target/46407
* config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
* config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
with ATTRIBUTE_UNUSED.
(valid_psw_flag): Constify parameter which.
(rx_memory_move_cost): Change type of parameter regclass to reg_class_t.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rx/rx.c
trunk/gcc/config/rx/rx.h


[Bug target/42240] [4.3/4.4 Regression] wrong epilogue on naked function

2010-11-10 Thread anitha.boyapati at atmel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42240

--- Comment #18 from Anitha Boyapati  
2010-11-10 10:38:33 UTC ---
(In reply to comment #17)
> (In reply to comment #14)
> > Created attachment 22339 [details] [details]
> > Initial patch to fix the bug
> > 
> > BB reordering pass is suppressed for naked functions. Also suppressed when 
> > the
> > end of epilogue is reached.
> 
> BBreordering (or other passes doing similar things) need not to be disabled.
> What do you think? 

I think BBreordering after the end of epilogue in case of normal functions is
little confusing. For e.g., the same testcase with naked removed generates the
following code without the patch.

.L6:
sts (seedram)+1,r25
sts seedram,r24
/* epilogue start */
ret
.L11:
ldi r24,lo8(0)
ldi r25,hi8(0)
rjmp .L6


I am not sure what additional advantage we get by allowing this to happen after
epilogue. Hence I tried to disable this. Ofcourse, I still need to run entire
regression to see if this causes any side affect.

> Moreover, there is a gap between reload_completed and
> epilogue_completed 

Agreed. Thanks for catching that.


> because the naked return insn is allowed since after reload.

I dindn't quite get this. Can you give some example?


[Bug target/44760] iq2000.md warnings

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44760

--- Comment #1 from Jorn Wolfgang Rennecke  
2010-11-10 09:16:23 UTC ---
Author: amylaar
Date: Wed Nov 10 09:16:19 2010
New Revision: 166523

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166523
Log:
PR target/44760
* config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
(REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
GP_REG_OR_PSEUDO_STRICT_P.
* config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
unexpected alternative.
(*movsf_internal): Likewise.
(indirect_jump): Replace call to non-existant function with call to
internal_error.
(tablejump): Likewise.
* config/iq2000/iq2000.c: Include df.h .
(iq2000_function_arg_advance): Use CONST_CAST2.
(compute_frame_size, iq2000_expand_prologue): Remove unused variables.
(iq2000_can_eliminate): Call leaf_function_p instead of testing for
a non-zero function address.
(iq2000_initial_elimination_offset): Add gcc_unreachable for
unexpected value of FROM.
(symbolic_expression_p): Delete.
(iq2000_function_value): Constify func.
(expand_one_builtin): Use expand_normal.
(iq2000_print_operand): Don't print VALUE if calculating it failed.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/iq2000/iq2000.c
trunk/gcc/config/iq2000/iq2000.h
trunk/gcc/config/iq2000/iq2000.md


[Bug java/46406] New: nothing

2010-11-10 Thread pramod.jgeorge at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46406

   Summary: nothing
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: java
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: pramod.jgeo...@gmail.com


creating "SplashScreen.exe" for Windows
- processing AstroEngine.jar
AstroEngine/BhavaBala/TavBhavabala.java:461: 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.

failed...


[Bug tree-optimization/46398] early FRE miscompiles simple testcase

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46398

Richard Guenther  changed:

   What|Removed |Added

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

--- Comment #5 from Richard Guenther  2010-11-10 
10:59:38 UTC ---
Fixed.


[Bug tree-optimization/46398] early FRE miscompiles simple testcase

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46398

--- Comment #4 from Richard Guenther  2010-11-10 
10:59:23 UTC ---
Author: rguenth
Date: Wed Nov 10 10:59:20 2010
New Revision: 166527

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166527
Log:
2010-11-10  Richard Guenther  

PR tree-optimization/46398
* tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.

* gcc.dg/torture/pr46398.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr46398.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-sccvn.c


[Bug c++/46269] [trans-mem] internal compiler error in expand_block_tm of trans-mem.c

2010-11-10 Thread patrick.marlier at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46269

--- Comment #5 from Patrick Marlier  
2010-11-10 09:39:16 UTC ---
Since currently there is no support for general TM escape block, I think it is
a workaround that needs to be changed when this support will be added.


[Bug middle-end/44766] set-but-not-used warning in can_store_by_pieces

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44766

--- Comment #1 from Jorn Wolfgang Rennecke  
2010-11-10 10:55:57 UTC ---
Author: amylaar
Date: Wed Nov 10 10:55:51 2010
New Revision: 166526

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166526
Log:
Add PR marker to ChangeLog entry:
PR middle-end/44766
* expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.

Modified:
trunk/gcc/ChangeLog


[Bug middle-end/46389] [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

2010-11-10 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46389

--- Comment #2 from rguenther at suse dot de  
2010-11-10 10:31:10 UTC ---
On Wed, 10 Nov 2010, jakub at gcc dot gnu.org wrote:

> --- Comment #1 from Jakub Jelinek  2010-11-10 
> 09:45:28 UTC ---
> I couldn't reproduce this.
> r166509, CC='gcc -m31' s390 ../configure --enable-languages=c,c++,ada
> bootstrapped just fine.  I've also tried all the supported -march= options on
> the a-strsup.o compilation line.
> 
> So, if you can reproduce it, can you debug it a little bit?  It is in my code,
> so I'll try to help, but unless I can reproduce it I can't do much with it.

Sorry, I have to try manually as soon as time permits.  Configury
goes as

../configure --prefix=/usr --infodir=/usr/share/info 
--mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib 
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada 
--enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.6 
--enable-ssp --disable-libssp --disable-plugin 
--with-bugurl=http://bugs.opensuse.org/ '--with-pkgversion=SUSE Linux' 
--disable-libgcj --disable-libmudflap --with-slibdir=/lib 
--with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new 
--disable-libstdcxx-pch --enable-version-specific-runtime-libs 
--program-suffix=-4.6 --enable-linux-futex --without-system-libunwind 
--with-tune=z9-109 --with-arch=z900 --with-long-double-128 
--enable-decimal-float --build=s390-suse-linux

and we do

make bootstrap-lean 'STAGE1_CFLAGS=-O -g'.

I'll produce a testcase once I get around reproducing it.


[Bug c++/46400] g++ Segmentation Fault on heavily templated project.

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46400

Richard Guenther  changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
   Severity|major   |normal

--- Comment #6 from Richard Guenther  2010-11-10 
12:08:05 UTC ---
We run out of stack space when garbage collecting by means of too deep
recursion (I see 99% gt_ggc_mx_lang_tree_node in the backtrace,
1% gt_ggc_mx_VEC_qualified_typedef_usage_t_gc).

The testcase is probably not easy to reduce, so I wouldn't waste my time.

A workaround is to up stack space with ulimit -s (64MB worked for me).

Note that the testcase throws errors after doing that.


[Bug c++/46401] [4.5/4.6 Regression] very slow compile time with -Wsequence-point

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46401

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.5.2


[Bug middle-end/46389] [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

2010-11-10 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46389

--- Comment #6 from Eric Botcazou  2010-11-10 
12:47:26 UTC ---
> Used the same configure line as you do (except left out java), still couldn't
> reproduce it.

I cannot reproduce with a cross from x86_64-linux either.


[Bug target/46407] rx-elf --enable-werror-all build failure

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46407

Jorn Wolfgang Rennecke  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Jorn Wolfgang Rennecke  
2010-11-10 11:30:26 UTC ---
Patch has been applied to trunk.


[Bug middle-end/46388] [4.6 Regression] ICE in int_mode_for_mode, at stor-layout.c:493

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46388

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.11.10 10:00:41
 CC||jakub at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #2 from Jakub Jelinek  2010-11-10 
10:00:41 UTC ---
struct S;
struct T
{
  struct S *t;
};
extern struct S s, u;

void
foo (void)
{
  ((struct T *) &u)->t = &s;
}


[Bug rtl-optimization/46409] [4.6 Regression] ICE in propagate_rtx, at fwprop.c:688

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46409

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.11.10 11:49:35
 CC||jakub at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #3 from Jakub Jelinek  2010-11-10 
11:49:35 UTC ---
Simplified testcase:

int
foo (int (*x) (unsigned long long), unsigned long long y)
{
  unsigned int z = x (y);
  return 0;
}


[Bug tree-optimization/46349] [4.6 regression] incorrect scalarization

2010-11-10 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46349

--- Comment #4 from Martin Jambor  2010-11-10 
12:24:05 UTC ---
Patch posted to the mailing list:

http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01013.html


[Bug middle-end/44766] set-but-not-used warning in can_store_by_pieces

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44766

Jorn Wolfgang Rennecke  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Jorn Wolfgang Rennecke  
2010-11-10 11:01:40 UTC ---
Fixed in trunk.
http://gcc.gnu.org/ml/gcc-patches/2010-11/msg00539.html
http://gcc.gnu.org/ml/gcc-cvs/2010-11/msg00252.html


[Bug tree-optimization/46351] [4.6 regression] incorrect scalarization (2)

2010-11-10 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46351

--- Comment #6 from Martin Jambor  2010-11-10 
12:52:32 UTC ---
Author: jamborm
Date: Wed Nov 10 12:52:27 2010
New Revision: 166535

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166535
Log:
2010-11-10  Martin Jambor  

PR tree-optimization/46351
PR tree-optimization/46377
* tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
aggregate bit-fields.

* testsuite/gnat.dg/opt10.adb: New file.
* testsuite/gnat.dg/opt10_pkg.ads: Likewise.
* testsuite/gnat.dg/opt11.adb: Likewise.
* testsuite/gnat.dg/opt11.ads: Likewise.


Added:
trunk/gcc/testsuite/gnat.dg/opt10.adb
trunk/gcc/testsuite/gnat.dg/opt10_pkg.ads
trunk/gcc/testsuite/gnat.dg/opt11.adb
trunk/gcc/testsuite/gnat.dg/opt11.ads
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-sra.c


[Bug tree-optimization/46377] [4.6 regression] incorrect scalarization (3)

2010-11-10 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46377

--- Comment #5 from Martin Jambor  2010-11-10 
12:52:32 UTC ---
Author: jamborm
Date: Wed Nov 10 12:52:27 2010
New Revision: 166535

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166535
Log:
2010-11-10  Martin Jambor  

PR tree-optimization/46351
PR tree-optimization/46377
* tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
aggregate bit-fields.

* testsuite/gnat.dg/opt10.adb: New file.
* testsuite/gnat.dg/opt10_pkg.ads: Likewise.
* testsuite/gnat.dg/opt11.adb: Likewise.
* testsuite/gnat.dg/opt11.ads: Likewise.


Added:
trunk/gcc/testsuite/gnat.dg/opt10.adb
trunk/gcc/testsuite/gnat.dg/opt10_pkg.ads
trunk/gcc/testsuite/gnat.dg/opt11.adb
trunk/gcc/testsuite/gnat.dg/opt11.ads
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-sra.c


[Bug tree-optimization/46351] [4.6 regression] incorrect scalarization (2)

2010-11-10 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46351

Martin Jambor  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #7 from Martin Jambor  2010-11-10 
12:53:27 UTC ---
Fixed.


[Bug tree-optimization/46377] [4.6 regression] incorrect scalarization (3)

2010-11-10 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46377

Martin Jambor  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #6 from Martin Jambor  2010-11-10 
12:53:41 UTC ---
Fixed.


[Bug rtl-optimization/44764] ok_for_base_p_1: unused parameter regno

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44764

--- Comment #1 from Jorn Wolfgang Rennecke  
2010-11-10 10:07:24 UTC ---
Author: amylaar
Date: Wed Nov 10 10:07:18 2010
New Revision: 166524

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166524
Log:
PR rtl-optimization/44764
* addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/addresses.h


[Bug bootstrap/46397] lto-plugin.c does not build on Solaris 10/SPARC

2010-11-10 Thread gseanmcg at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46397

--- Comment #14 from Sean McGovern  2010-11-10 
12:27:39 UTC ---
Succcessfully bootstrapped with the attached patch.


[Bug middle-end/46389] [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46389

--- Comment #3 from Jakub Jelinek  2010-11-10 
11:52:55 UTC ---
Used the same configure line as you do (except left out java), still couldn't
reproduce it.


[Bug rtl-optimization/44764] ok_for_base_p_1: unused parameter regno

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44764

Jorn Wolfgang Rennecke  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Jorn Wolfgang Rennecke  
2010-11-10 10:11:42 UTC ---
Patch has been applied to trunk.


[Bug tree-optimization/35290] Missing dead store elimination

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35290

Richard Guenther  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |

--- Comment #4 from Richard Guenther  2010-11-10 
12:32:16 UTC ---
Well, it's not working on the tree level to make it cheaper:

  /* We deliberately stop on clobbering statements and not only on
 killing ones to make walking cheaper.  Otherwise we can just
 continue walking until both stores have equal reference trees.  */
  while (!stmt_may_clobber_ref_p (temp, gimple_assign_lhs (stmt)));

changing that to

  while (!stmt_kills_ref_p (temp, gimple_assign_lhs (stmt)));

will make it work (and slower).

Also needs (possibly unsafe in general if used cross loop iteration)

Index: gcc/tree-ssa-alias.c
===
--- gcc/tree-ssa-alias.c(revision 166526)
+++ gcc/tree-ssa-alias.c(working copy)
@@ -1577,7 +1577,12 @@ stmt_kills_ref_p_1 (gimple stmt, ao_ref
   base = get_ref_base_and_extent (lhs, &offset, &size, &max_size);
   /* We can get MEM[symbol: sZ, index: D.8862_1] here,
 so base == ref->base does not always hold.  */
-  if (base == ref->base)
+  if (base == ref->base
+ || (TREE_CODE (base) == MEM_REF
+ && TREE_CODE (ref->base) == MEM_REF
+ && TREE_OPERAND (base, 0) == TREE_OPERAND (ref->base, 0)
+ && tree_int_cst_equal (TREE_OPERAND (base, 1),
+TREE_OPERAND (ref->base, 1
{
  /* For a must-alias check we need to be able to constrain
 the accesses properly.  */


[Bug target/42240] [4.3/4.4 Regression] wrong epilogue on naked function

2010-11-10 Thread avr at gjlay dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42240

--- Comment #19 from Georg Lay  2010-11-10 13:00:47 UTC ---
(In reply to comment #18)

> I think BBreordering after the end of epilogue in case of normal functions is
> little confusing.

Yes, optimized code is often confusing.

> I am not sure what additional advantage we get by allowing this to happen 
> after 
> epilogue. Hence I tried to disable this. 

There is no bug for functions not attributed naked. I do not see why that
should be changed. Note that the backend is lying about branch costs and sets
them to zero -- both in space and time. Therefore, .bbro has fun and jumps
around. Tweaking that is of no concern here.

> > Moreover, there is a gap between reload_completed and
> > epilogue_completed 
> 
> Agreed. Thanks for catching that.
> 
> 
> > because the naked return insn is allowed since after reload.
> 
> I dindn't quite get this. Can you give some example?

avr.h allows that insn after reload:

(define_insn "return_from_naked_epilogue"
  [(return)]
  "(reload_completed 
&& cfun->machine 
&& cfun->machine->is_naked)"
  ...

so it might be emitted after reload. Because it is non-simple, it will occur
just once, but it must be in the right place (ensured by .pro_and_epilogue) and
must not be moved around (ensured by new target hook). Observe a simple test
case like lined out below, and how the compiler transform with/without naked,
optimize size/speed, branch cost 0/!=0

char c;

void foo (char i) 
{
  c = 17;
  switch (i)
{
case 0 : c = 1; break;
case 3 : c = 2; break;
case 7 : c = 12; break;
case 9 : c = 32; break;
}
}


[Bug driver/46410] New: [4.6 Regression] Linker options no longer accepted

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46410

   Summary: [4.6 Regression] Linker options no longer accepted
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: driver
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org
CC: js...@gcc.gnu.org


We no longer accept linker options when linking:

> gcc --export-dynamic -o t t.o -shared

> ./xgcc --export-dynamic -o t t.o -shared
xgcc: error: unrecognized option '--export-dynamic'

List of affected packages when building $world with trunk:

abiword:g++: error: unrecognized option '--no-undefined'
biosdevname:gcc: error: unrecognized option '-all-static'
dconf:gcc: error: unrecognized option '-avoid-version'
ecj-bootstrap:gcj: error: unrecognized option '-s-bc-abi'
kexec-tools:gcc: error: unrecognized option '--no-undefined'
libzypp:g++: error: unrecognized option '--as-needed'
novell-ipsec-tools:gcc: error: unrecognized option '--export-dynamic'
procps:gcc: error: unrecognized option '--as-needed'
procps:gcc: error: unrecognized option '--as-needed'
procps:gcc: error: unrecognized option '--as-needed'
yast2-gtk:g++: error: unrecognized option '--no-undefined'
zziplib:gcc: error: unrecognized option '--export-dynamic'


[Bug target/46072] AIX linker chokes on debug info for uninitialized static variables

2010-11-10 Thread ppryor63 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46072

Paul Pryor  changed:

   What|Removed |Added

 CC||ppryor63 at gmail dot com

--- Comment #2 from Paul Pryor  2010-11-10 13:01:48 
UTC ---
I encountered the same problem in AIX 5.3 on both boxes that were patched to
5300-12-02-1036 recently. If you need any more information please contact me. I
am attaching all diagnostic information below.

---

$ oslevel -s
5300-12-02-1036

---

$ ls -l /usr/bin/ld
lrwxrwxrwx1 bin  bin  15 Jun 10 2009  /usr/bin/ld ->
/usr/ccs/bin/ld
$ ls -l /usr/ccs/bin/ld
-r-xr-xr-x1 bin  bin   38942 Aug 06 17:05 /usr/ccs/bin/ld
$ lslpp -w /usr/ccs/bin/ld
  FileFileset   Type
  
  /usr/ccs/bin/ld bos.rte.bind_cmds File
$ lslpp -h bos.rte.bind_cmds
  Fileset Level Action   Status   Date Time
  
Path: /usr/lib/objrepos
  bos.rte.bind_cmds
 5.3.0.40   COMMIT   COMPLETE 06/10/09 16:01:41
  5.3.9.1   COMMIT   COMPLETE 06/10/09 17:42:02
 5.3.12.1   COMMIT   COMPLETE 11/05/10 06:37:14
$ lslpp -i bos.rte.bind_cmds
Vendor
  Fileset   CodeProduct Id  Feature Id  Package Name
  
Path: /usr/lib/objrepos
  bos.rte.bind_cmds 5.3.0.40
5765-E6200  bos
---

$ cat static.c
static int flag1;
static int flag2 = 0;

int main(int arg, char *argv[])
{
  printf("flag1:%d flag2:%d\n", flag1, flag2);
  return 0;
}
$ gcc -v
Reading specs from /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/specs
Configured with: ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld
--disable-nls --enable-languages=c,c++ --prefix=/opt/freeware --enable-threads
--enable-version-specific-runtime-libs --host=powerpc-ibm-aix5.2.0.0
Thread model: aix
gcc version 3.3.2
$ gcc -g -o static static.c
ld: 0711-593 SEVERE ERROR: Symbol C_BSTAT (entry 24) in object
/tmp//cc6ul6xe.o:
The symbol refers to a csect with symbol number 0, which was not
found. The new symbol cannot be associated with a csect and
is being ignored.
collect2: ld returned 12 exit status
$ gcc -o static static.c
$ ./static
flag1:0 flag2:0

---

$ cat static.c
#include 

static int flag1;
static int flag2 = 0;

int main(int argc, char *argv[])
{
  printf("flag1:%d flag2:%d\n", flag1, flag2);
  return 0;
}

$ gcc -v
Using built-in specs.
Target: powerpc-ibm-aix5.3.0.0
Configured with: ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld
--enable-languages=c,c++,java --prefix=/opt/freeware --enable-threads
--enable-version-specific-runtime-libs --host=powerpc-ibm-aix5.3.0.0
--target=powerpc-ibm-aix5.3.0.0 --build=powerpc-ibm-aix5.3.0.0
--disable-libjava-multilib
Thread model: aix
gcc version 4.2.0

$ gcc -g -o static static.c
ld: 0711-593 SEVERE ERROR: Symbol C_BSTAT (entry 259) in object
/tmp//cccd0Shv.o:
The symbol refers to a csect with symbol number 0, which was not
found. The new symbol cannot be associated with a csect and
is being ignored.
collect2: ld returned 12 exit status
$ gcc -o static static.c
$ ./static
flag1:0 flag2:0

---

$ cat static.c
#include 

static int flag1;
static int flag2 = 0;

int main(int argc, char *argv[])
{
  printf("flag1:%d flag2:%d\n", flag1, flag2);
  return 0;
}

$ xlc -g -o static static.c
$ ./static
flag1:0 flag2:0

---

$ cat static.c
static int flag1;
static int flag2 = 0;

int main(int arg, char *argv[])
{
  printf("flag1:%d flag2:%d\n", flag1, flag2);
  return 0;
}

$ gcc -v
Reading specs from /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/specs
Configured with: ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld
--disable-nls --enable-languages=c,c++ --prefix=/opt/freeware --enable-threads
--enable-version-specific-runtime-libs --host=powerpc-ibm-aix5.2.0.0
Thread model: aix
gcc version 3.3.2

$ gcc -g -S static.c

$ cat static.s
.file   "static.c"
.toc
.csect _static.rw_c[RW],3
.csect .text[PR]
.stabx 
"__int128_t:t...@s128;r1;;03;",0,140,0
.stabx 
"__uint128_t:t...@s128;r2;;03;",0,140,0
.stabx  "complex int:t3=s8real:-1,0,32;imag:-1,32,32;;",0,140,0
.stabx  "complex float:t4=R3;8;0;",0,140,0
.stabx  "complex double:t5=R4;16;0;",0,140,0
.stabx  "complex long double:t6=R4;16;0;",0,140,0
.stabx  "__builtin

[Bug fortran/46411] New: MOVE_ALLOC wrongly rejected as impure

2010-11-10 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46411

   Summary: MOVE_ALLOC wrongly rejected as impure
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org


Reported in #gfortran's IRC channel.

MOVE_ALLOC is pure but rejected in PURE programs:

"13.7.118 MOVE_ALLOC (FROM, TO)"
"Class. Pure subroutine."


  call move_alloc(a,b)
   1
Error: Subroutine call to 'move_alloc' at (1) is not PURE



pure subroutine test()
  integer, allocatable :: a, b
  allocate(a,b)
  call move_alloc(a,b)
end subroutine test



Untested patch.

Actually, I am not sure that CLASS_INQUIRY and  CLASS_TRANSFORMATIONAL
functions are PURE. Currently, all functions which are not IMPURE are marked as
PURE.


diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index f7f0e05..d17544c 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -4193,7 +4193,7 @@ gfc_intrinsic_sub_interface (gfc_code *c, int error_flag)
   c->resolved_sym->attr.elemental = isym->elemental;
 }

-  if (gfc_pure (NULL) && !isym->elemental)
+  if (gfc_pure (NULL) && !isym->pure)
 {
   gfc_error ("Subroutine call to intrinsic '%s' at %L is not PURE", name,
 &c->loc);
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index 09f5278..3b81c2d 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -8977,7 +8977,7 @@ end program
 Fortran 2003 and later

 @item @emph{Class}:
-Subroutine
+Pure subroutine

 @item @emph{Syntax}:
 @code{CALL MOVE_ALLOC(FROM, TO)}


[Bug target/46412] New: bfin-elf --enable-werror-always build fails

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46412

   Summary: bfin-elf --enable-werror-always build fails
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: build
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: amyl...@gcc.gnu.org
Blocks: 44433,44756
Target: bfin-elf


Beyond PR44767, bfin-elf has more --enable-werror-always issues:

../../gcc/gcc/config/bfin/bfin.c:339:3: error: enum conversion in
initialization is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/config/bfin/bfin.c:339:3: error: (near initialization for
‘bfin_cpus[74].type’) [-Werror=c++-compat]
../../gcc/gcc/config/bfin/bfin.c: In function
‘expand_interrupt_handler_prologue’:
../../gcc/gcc/config/bfin/bfin.c:1258:11: error: variable ‘insn’ set but not
used [-Werror=unused-but-set-variable]
../../gcc/gcc/config/bfin/bfin.c: In function ‘bfin_load_pic_reg’:
../../gcc/gcc/config/bfin/bfin.c:1314:13: error: variable ‘insn’ set but not
used [-Werror=unused-but-set-variable]
../../gcc/gcc/config/bfin/bfin.c: In function ‘bfin_rtx_costs’:
../../gcc/gcc/config/bfin/bfin.c:3168:5: error: enum conversion when passing
argument 2 of ‘rtx_cost’ is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/rtl.h:1175:12: note: expected ‘enum rtx_code’ but argument is of
type ‘int’
../../gcc/gcc/config/bfin/bfin.c:3169:5: error: enum conversion when passing
argument 2 of ‘rtx_cost’ is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/rtl.h:1175:12: note: expected ‘enum rtx_code’ but argument is of
type ‘int’
../../gcc/gcc/config/bfin/bfin.c:3214:2: error: enum conversion when passing
argument 2 of ‘rtx_cost’ is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/rtl.h:1175:12: note: expected ‘enum rtx_code’ but argument is of
type ‘int’
../../gcc/gcc/config/bfin/bfin.c:3239:2: error: enum conversion when passing
argument 2 of ‘rtx_cost’ is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/rtl.h:1175:12: note: expected ‘enum rtx_code’ but argument is of
type ‘int’
../../gcc/gcc/config/bfin/bfin.c:3253:6: error: enum conversion when passing
argument 2 of ‘rtx_cost’ is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/rtl.h:1175:12: note: expected ‘enum rtx_code’ but argument is of
type ‘int’
../../gcc/gcc/config/bfin/bfin.c:3258:6: error: enum conversion when passing
argument 2 of ‘rtx_cost’ is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/rtl.h:1175:12: note: expected ‘enum rtx_code’ but argument is of
type ‘int’
../../gcc/gcc/config/bfin/bfin.c: In function ‘bfin_adjust_cost’:
../../gcc/gcc/config/bfin/bfin.c:3661:7: error: ISO C90 forbids mixed
declarations and code [-Werror=edantic]
../../gcc/gcc/config/bfin/bfin.c:3640:18: error: variable ‘insn_type’ set but
not used [-Werror=unused-but-set-variable]
../../gcc/gcc/config/bfin/bfin.c: At top level:
../../gcc/gcc/config/bfin/bfin.c:3721:27: error: using ‘loop_info’ as both a
typedef and a tag is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/config/bfin/bfin.c:3721:16: note: originally defined here
../../gcc/gcc/config/bfin/bfin.c: In function ‘workaround_rts_anomaly’:
../../gcc/gcc/config/bfin/bfin.c:5060:13: error: enum conversion in
initialization is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/config/bfin/bfin.c: In function ‘harmless_null_pointer_p’:
../../gcc/gcc/config/bfin/bfin.c:5112:34: error: comparison between signed and
unsigned integer expressions [-Werror=sign-compare]
../../gcc/gcc/config/bfin/bfin.c:5115:57: error: comparison between signed and
unsigned integer expressions [-Werror=sign-compare]
../../gcc/gcc/config/bfin/bfin.c: In function ‘trapping_loads_p’:
../../gcc/gcc/config/bfin/bfin.c:5129:7: error: unused variable ‘pat’
[-Werror=unused-variable]
../../gcc/gcc/config/bfin/bfin.c: In function ‘note_np_check_stores’:
../../gcc/gcc/config/bfin/bfin.c:5189:54: error: comparison between signed and
unsigned integer expressions [-Werror=sign-compare]
../../gcc/gcc/config/bfin/bfin.c:5187:40: error: unused parameter ‘pat’
[-Werror=unused-parameter]
../../gcc/gcc/config/bfin/bfin.c: In function ‘bfin_reorg’:
../../gcc/gcc/config/bfin/bfin.c:5523:4: error: implicit declaration of
function ‘maybe_skip_selective_scheduling’
[-Werror=implicit-function-declaration]
../../gcc/gcc/config/bfin/bfin.c:5524:9: error: implicit declaration of
function ‘run_selective_scheduling’ [-Werror=implicit-function-declaration]
../../gcc/gcc/config/bfin/bfin.c: In function ‘bfin_expand_binop_builtin’:
../../gcc/gcc/config/bfin/bfin.c:6247:3: error: enum conversion when passing
argument 4 of ‘expand_expr’ is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/expr.h:419:1: note: expected ‘enum expand_modifier’ but argument
is of type ‘int’
../../gcc/gcc/config/bfin/bfin.c:6248:3: error: enum conversion when passing
argument 4 of ‘expand_expr’ is invalid in C++ [-Werror=c++-compat]
../../gcc/gcc/expr.h:419:1: note: expected ‘enum expand_

[Bug driver/46410] [4.6 Regression] Linker options no longer accepted

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46410

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0

--- Comment #1 from Richard Guenther  2010-11-10 
13:03:19 UTC ---
Hm, but they were ignored in the past.

> gcc --export-dynamic -o t t.o -shared -v
COLLECT_GCC_OPTIONS='-fexport-dynamic' '-o' 't' '-shared' '-v' '-mtune=generic'
 /usr/lib64/gcc/x86_64-suse-linux/4.3/collect2 --build-id --eh-frame-hdr -m
elf_x86_64 -shared -o t
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/crtbeginS.o
-L/usr/lib64/gcc/x86_64-suse-linux/4.3
-L/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64 -L/lib/../lib64
-L/usr/lib/../lib64
-L/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/lib
-L/usr/lib64/gcc/x86_64-suse-linux/4.3/../../.. t.o -lgcc --as-needed -lgcc_s
--no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed
/usr/lib64/gcc/x86_64-suse-linux/4.3/crtendS.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crtn.o

so it's probably a good change.  Joseph?


[Bug fortran/46408] [OOP] Segfault when running gfortran.dg/class_allocate_6.f03

2010-11-10 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46408

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.11.10 13:05:00
 Ever Confirmed|0   |1

--- Comment #1 from janus at gcc dot gnu.org 2010-11-10 13:05:00 UTC ---
(In reply to comment #0)
> This might be a known problem, but the test case
>   gfortran.dg/class_allocate_6.f03
> fails for me.

I was not aware of this problem up to now. The test case does not fail for me,
but I can reproduce the valgrind error.


> To be precise, I get a segfault using when executing the line:
>   allocate(y, source=x)

The error goes away when removing the SOURCE tag or making x TYPE(t), but not
when making x TYPE(t2).


> Valgrind shows:
>  Conditional jump or move depends on uninitialised value(s)
> at 0x400C37: __copy_MAIN___t2.1547 (class_allocate_6.f03:7)
> by 0x400ED4: MAIN__ (class_allocate_6.f03:48)
> by 0x400FD7: main (class_allocate_6.f03:48)

Apparently this happens inside the copying routine, but I'm not quite sure
where exactly the problem is.


[Bug driver/46410] [4.6 Regression] Linker options no longer accepted

2010-11-10 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46410

--- Comment #2 from Andreas Schwab  2010-11-10 13:09:31 
UTC ---
> biosdevname:gcc: error: unrecognized option '-all-static'

This is only a libtool option.


[Bug middle-end/46404] [4.6 Regression] ICE: definition in block 5 does not dominate use in block 32 with -O -fgraphite-identity -fno-tree-scev-cprop

2010-11-10 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46404

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.11.10 12:12:06
   Target Milestone|--- |4.6.0
 Ever Confirmed|0   |1

--- Comment #1 from H.J. Lu  2010-11-10 12:12:06 
UTC ---
It is caused by revision 163118:

http://gcc.gnu.org/ml/gcc-cvs/2010-08/msg00329.html


[Bug middle-end/46389] [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46389

--- Comment #7 from Richard Guenther  2010-11-10 
13:12:24 UTC ---
#2  0x008c620a in add_var_loc_to_decl (decl=0x77628058, loc_note=0x76fef3e8, 
label=0x76c0b7a0 "*.LVL884") at ../../gcc/dwarf2out.c:8221
8221  gcc_assert (temp->first == temp->last);
(gdb) p *temp->first
$11 = {loc = 0x7700c028, label = 0x76c41630 "*.LVL859", next = 0x76c41700}
(gdb) p *temp->first->next
$12 = {loc = 0x76761790, label = 0x76c416f0 "*.LVL860", next = 0x76c41970}
(gdb) p *temp->first->next->next
$13 = {loc = 0x7700c550, label = 0x76c41980 "*.LVL862", next = 0x76c41ec0}
(gdb) p *temp->first->next->next->next
$14 = {loc = 0x76761760, label = 0x76c41ed0 "*.LVL875", next = 0x76c41f00}
(gdb) p *temp->first->next->next->next->next
$15 = {loc = 0x76761750, label = 0x76c41ef0 "*.LVL876", next = 0x76c41f20}
(gdb) p *temp->first->next->next->next->next->next
$16 = {loc = 0x76ff91e0, label = 0x76c41f30 "*.LVL877", next = 0x76c0b1e0}
...

breakpoint as suggested:

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x7700c028, 
label=0x76c41630 "*.LVL859") at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1234 1233 1235 (var_location new_item (reg:DI 4 %r4 [ new_item ]))
NOTE_INSN_VAR_LOCATION)
$19 = 0x76c41630 "*.LVL859"

(note 1236 725 1237 (var_location new_item$P_ARRAY (reg:SI 4 %r4 [ new_item ]))
NOTE_INSN_VAR_LOCATION)
$20 = 0x0

(note 1237 1236 1238 (var_location new_item (reg:DI 4 %r4 [ new_item ]))
NOTE_INSN_VAR_LOCATION)
$21 = 0x76c416f0 "*.LVL860"

(note 1238 1237 1671 (var_location new_item$P_BOUNDS (reg:SI 5 %r5 [orig:301
new_item+4 ] [301])) NOTE_INSN_VAR_LOCATION)
$22 = 0x76c416f0 "*.LVL860"

(note 1254 1045 1255 (var_location new_item$P_ARRAY (reg:SI 14 %r14 [orig:300
new_item ] [300])) NOTE_INSN_VAR_LOCATION)
$23 = 0x0

(note 1255 1254 51 (var_location new_item (parallel [
(expr_list:REG_DEP_TRUE (reg:SI 14 %r14 [orig:300 new_item ] [300])
(const_int 0 [0]))
(expr_list:REG_DEP_TRUE (reg:SI 5 %r5 [orig:301 new_item+4 ] [301])
(const_int 4 [0x4]))
])) NOTE_INSN_VAR_LOCATION)
$24 = 0x76c41980 "*.LVL862"

(note 1292 473 483 (var_location new_item$P_BOUNDS (nil))
NOTE_INSN_VAR_LOCATION)
$25 = 0x0

(note 1294 1293 1295 (var_location new_item$P_ARRAY (nil))
NOTE_INSN_VAR_LOCATION)
$26 = 0x76c41ef0 "*.LVL876"

(note 1312 1680 1311 (var_location new_item (nil)) NOTE_INSN_VAR_LOCATION)
$27 = 0x0

(note/c 1302 1303 1301 (var_location new_item (nil)) NOTE_INSN_VAR_LOCATION)
$28 = 0x76c41f50 "*.LVL877-1"

(note 1320 1319 1321 (var_location new_item (parallel [
(expr_list:REG_DEP_TRUE (reg:SI 14 %r14 [orig:300 new_item ] [300])
(const_int 0 [0]))
(expr_list:REG_DEP_TRUE (reg:SI 5 %r5 [orig:301 new_item+4 ] [301])
(const_int 4 [0x4]))
])) NOTE_INSN_VAR_LOCATION)
$29 = 0x76c0b170 "*.LVL878"

(note 1323 1322 1324 (var_location new_item$P_BOUNDS (reg:SI 5 %r5 [orig:301
new_item+4 ] [301])) NOTE_INSN_VAR_LOCATION)
$30 = 0x76c0b170 "*.LVL878"

(note 1324 1323 1325 (var_location new_item$P_ARRAY (reg:SI 14 %r14 [orig:300
new_item ] [300])) NOTE_INSN_VAR_LOCATION)
$31 = 0x76c0b170 "*.LVL878"

(note 1399 573 1400 (var_location new_item$P_ARRAY (nil))
NOTE_INSN_VAR_LOCATION)
$32 = 0x0

(note 1400 1399 1398 (var_location new_item (nil)) NOTE_INSN_VAR_LOCATION)
$33 = 0x76c0b7a0 "*.LVL884"

(note/c 1395 1396 1394 (var_location new_item$P_BOUNDS (nil))
NOTE_INSN_VAR_LOCATION)
$34 = 0x76c0b7d0 "*.LVL884-1"

(note/c 1388 1389 1387 (var_location new_item (nil)) NOTE_INSN_VAR_LOCATION)
$35 = 0x76c0b7d0 "*.LVL884-1"

(note 1403 1402 1404 (var_location new_item (parallel [
(expr_list:REG_DEP_TRUE (reg:SI 14 %r14 [orig:300 new_item ] [300])
(const_int 0 [0]))
(expr_list:REG_DEP_TRUE (reg:SI 5 %r5 [orig:301 new_item+4 ] [301])
(const_int 4 [0x4]))
])) NOTE_INSN_VAR_LOCATION)
$36 = 0x76c0b7a0 "*.LVL884"


[Bug driver/46410] [4.6 Regression] Linker options no longer accepted

2010-11-10 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46410

--- Comment #3 from joseph at codesourcery dot com  2010-11-10 13:13:06 UTC ---
Yes, these options were ignored in general; the driver would have 
translated -- to -f, but the linker specs don't pass down -f options, and 
now -- is only translated to -f if a corresponding -f option actually 
exists.  If the packages actually want these options to go to the linker, 
they should use -Wl, to pass them.

> biosdevname:gcc: error: unrecognized option '-all-static'
> dconf:gcc: error: unrecognized option '-avoid-version'

These would have previously been allowed by %{a*} specs because the 
long-ago removal of support for the old -a profiling options had some bits 
missing that I caught.  As those were compiler specs, this just meant that 
the options were quietly ignored (any option accepted by a spec is 
accepted) rather than being passed to the linker.

> ecj-bootstrap:gcj: error: unrecognized option '-s-bc-abi'

This option is meant to be valid - in java/lang.opt and in libgcj.spec.  
If it's being rejected perhaps there's something wrong with your 
libgcj.spec?  It's nothing new that an option needs to be in a spec for 
the driver to accept it.


[Bug middle-end/46389] [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46389

--- Comment #8 from Richard Guenther  2010-11-10 
13:14:33 UTC ---
Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x7700c028, 
label=0x76c41630 "*.LVL859") at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1234 1233 1235 (var_location new_item (reg:DI 4 %r4 [ new_item ]))
NOTE_INSN_VAR_LOCATION)
$37 = 0x76c41630 "*.LVL859"
$38 = -1
$39 = -1
(gdb) c
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x7700c078, 
label=0x0) at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1236 725 1237 (var_location new_item$P_ARRAY (reg:SI 4 %r4 [ new_item ]))
NOTE_INSN_VAR_LOCATION)
$40 = 0x0
$41 = 0
$42 = 32
(gdb) 
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x7700c0a0, 
label=0x76c416f0 "*.LVL860") at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1237 1236 1238 (var_location new_item (reg:DI 4 %r4 [ new_item ]))
NOTE_INSN_VAR_LOCATION)
$43 = 0x76c416f0 "*.LVL860"
$44 = -1
$45 = -1
(gdb) 
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x7700c0c8, 
label=0x76c416f0 "*.LVL860") at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1238 1237 1671 (var_location new_item$P_BOUNDS (reg:SI 5 %r5 [orig:301
new_item+4 ] [301])) NOTE_INSN_VAR_LOCATION)
$46 = 0x76c416f0 "*.LVL860"
$47 = 32
$48 = 32
(gdb) 
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x7700c4b0, 
label=0x0) at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1254 1045 1255 (var_location new_item$P_ARRAY (reg:SI 14 %r14 [orig:300
new_item ] [300])) NOTE_INSN_VAR_LOCATION)
$49 = 0x0
$50 = 0
$51 = 32
(gdb) 
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x7700c550, 
label=0x76c41980 "*.LVL862") at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1255 1254 51 (var_location new_item (parallel [
(expr_list:REG_DEP_TRUE (reg:SI 14 %r14 [orig:300 new_item ] [300])
(const_int 0 [0]))
(expr_list:REG_DEP_TRUE (reg:SI 5 %r5 [orig:301 new_item+4 ] [301])
(const_int 4 [0x4]))
])) NOTE_INSN_VAR_LOCATION)
$52 = 0x76c41980 "*.LVL862"
$53 = -1
$54 = -1
(gdb) 
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x7700cdc0, 
label=0x0) at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1292 473 483 (var_location new_item$P_BOUNDS (nil))
NOTE_INSN_VAR_LOCATION)
$55 = 0x0
$56 = 32
$57 = 32
(gdb) 
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x7700ce38, 
label=0x76c41ef0 "*.LVL876") at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1294 1293 1295 (var_location new_item$P_ARRAY (nil))
NOTE_INSN_VAR_LOCATION)
$58 = 0x76c41ef0 "*.LVL876"
$59 = 0
$60 = 32
(gdb) 
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x76ff91e0, 
label=0x0) at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1312 1680 1311 (var_location new_item (nil)) NOTE_INSN_VAR_LOCATION)
$61 = 0x0
$62 = -1
$63 = -1
(gdb) 
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x76ff9000, 
label=0x76c41f50 "*.LVL877-1") at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note/c 1302 1303 1301 (var_location new_item (nil)) NOTE_INSN_VAR_LOCATION)
$64 = 0x76c41f50 "*.LVL877-1"
$65 = -1
$66 = -1
(gdb) 
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x76ff93c0, 
label=0x76c0b170 "*.LVL878") at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1320 1319 1321 (var_location new_item (parallel [
(expr_list:REG_DEP_TRUE (reg:SI 14 %r14 [orig:300 new_item ] [300])
(const_int 0 [0]))
(expr_list:REG_DEP_TRUE (reg:SI 5 %r5 [orig:301 new_item+4 ] [301])
(const_int 4 [0x4]))
])) NOTE_INSN_VAR_LOCATION)
$67 = 0x76c0b170 "*.LVL878"
$68 = -1
$69 = -1
(gdb) 
Continuing.

Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x76ff9438, 
label=0x76c0b170 "*.LVL878") at ../../gcc/dwarf2out.c:8165
8165  slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id,
INSERT);
(note 1323 1322 1324 (var_location new_item$P_BOUNDS (reg:SI 5 %r5 [orig:301
new_item+4 ] [301])) NOTE_INSN_VAR_LOCATION)
$70 = 0x76c0b170 "*.LVL878"
$71 = 32
$72 = 32
(gdb) 
Continuing.

Break

[Bug driver/46410] [4.6 Regression] Linker options no longer accepted

2010-11-10 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46410

--- Comment #4 from rguenther at suse dot de  
2010-11-10 13:28:21 UTC ---
On Wed, 10 Nov 2010, joseph at codesourcery dot com wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46410
> 
> --- Comment #3 from joseph at codesourcery dot com  dot com> 2010-11-10 13:13:06 UTC ---
> Yes, these options were ignored in general; the driver would have 
> translated -- to -f, but the linker specs don't pass down -f options, and 
> now -- is only translated to -f if a corresponding -f option actually 
> exists.  If the packages actually want these options to go to the linker, 
> they should use -Wl, to pass them.
> 
> > biosdevname:gcc: error: unrecognized option '-all-static'
> > dconf:gcc: error: unrecognized option '-avoid-version'
> 
> These would have previously been allowed by %{a*} specs because the 
> long-ago removal of support for the old -a profiling options had some bits 
> missing that I caught.  As those were compiler specs, this just meant that 
> the options were quietly ignored (any option accepted by a spec is 
> accepted) rather than being passed to the linker.
> 
> > ecj-bootstrap:gcj: error: unrecognized option '-s-bc-abi'
> 
> This option is meant to be valid - in java/lang.opt and in libgcj.spec.  
> If it's being rejected perhaps there's something wrong with your 
> libgcj.spec?  It's nothing new that an option needs to be in a spec for 
> the driver to accept it.

Ah, true.

find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
  sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked 
statically}/'

probably kills it?  The result is

%rename startfile startfileorig
*startfile:  %(startfileorig)

%rename lib liborig
*lib: %{static:%eJava programs cannot be linked 
statically}%{static-libgcj:-non_shared} 
%{static|static-libgcj|!s-bc-abi:-lgcj;:-lgcj_bc} 
%{static-libgcj:-call_shared} -lm   -lpthread -lrt-ldl %(libgcc)  
%(liborig)

*jc1: -fhash-synchronization -fno-use-divide-subroutine  -fuse-boehm-gc 
-fnon-call-exceptions%{findirect-dispatch:-fPIC} 
-fkeep-inline-functions


OTOH gcj is invoked as

gcj -Wno-deprecated -findirect-dispatch -Bsymbolic -C --classpath 
.:/usr/share/java/libgcj-tools-4.6.jar:/usr/share/java/libgcj-4.6.jar

and I can't see where -s-bc-abi slips in.  Hmm.  I'll investigate closer
when I have time to.


[Bug middle-end/46221] [4.6 Regression] huge number of c++ testsuite failures, libstdc++.so alias missing

2010-11-10 Thread bergner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46221

--- Comment #22 from Peter Bergner  2010-11-10 
13:31:42 UTC ---
Is there a reason why the test case is an i386 only test case?  Given it's
known to fail on powerpc*-linux and alpha-linux, it should probably be a arch
independent test case.


[Bug rtl-optimization/46409] New: [4.6 Regression] ICE in propagate_rtx, at fwprop.c:688

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46409

   Summary: [4.6 Regression] ICE in propagate_rtx, at fwprop.c:688
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org
Target: powerpc-*-linux


Created attachment 22363
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22363
preprocessed source

openais fails to build on powerpc-linux with

> /usr/lib/gcc/powerpc64-suse-linux/4.6/cc1 -fpreprocessed evt.i -quiet -g -O 
> -o evt.s
evt.c: In function 'evt_exec_exit':
evt.c:3174:1: internal compiler error: in propagate_rtx, at fwprop.c:688
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.


[Bug rtl-optimization/46409] [4.6 Regression] ICE in propagate_rtx, at fwprop.c:688

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46409

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0

--- Comment #1 from Richard Guenther  2010-11-10 
10:50:03 UTC ---
Reducing.


[Bug middle-end/46221] [4.6 Regression] huge number of c++ testsuite failures, libstdc++.so alias missing

2010-11-10 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46221

--- Comment #23 from rguenther at suse dot de  
2010-11-10 13:39:26 UTC ---
On Wed, 10 Nov 2010, bergner at gcc dot gnu.org wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46221
> 
> --- Comment #22 from Peter Bergner  2010-11-10 
> 13:31:42 UTC ---
> Is there a reason why the test case is an i386 only test case?  Given it's
> known to fail on powerpc*-linux and alpha-linux, it should probably be a arch
> independent test case.

scanning asms is always fragile


[Bug fortran/46411] MOVE_ALLOC wrongly rejected as impure

2010-11-10 Thread mikael at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46411

Mikael Morin  changed:

   What|Removed |Added

 CC||mikael at gcc dot gnu.org

--- Comment #1 from Mikael Morin  2010-11-10 
13:43:03 UTC ---
Patch pre-approved. 

(In reply to comment #0)
> Actually, I am not sure that CLASS_INQUIRY and  CLASS_TRANSFORMATIONAL
> functions are PURE. 
They are: 13.1, §2, last sentence:
All standard intrinsic functions are pure.
Some GNU extensions are not, but they are marked as CLASS_IMPURE.


> Currently, all functions which are not IMPURE are marked as
> PURE.
... since Jerry's patch from yesterday. ;-)
But it's not a regression. :-)


[Bug middle-end/31528] Inlining with -Os increases code size

2010-11-10 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31528

Jan Hubicka  changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org
  Known to fail||

--- Comment #10 from Jan Hubicka  2010-11-10 
13:51:24 UTC ---
Hi,
I just comitted patch supposed to address similar problem as in Comment 9. On
x86_64 I now get:

main:
.LFB1:
.L2:
movb43, %al
testb   $32, %al
je  .L2
movb$0, 44
.L3:
movb43, %al
testb   $32, %al
je  .L3
movb$1, 44
xorl%eax, %eax
ret

Can you, please, test if current mainline behave more resonably?


[Bug tree-optimization/44964] [4.6 Regression] ICE: SIGSEGV in gimple_default_def (tree-dfa.c:539) with -fkeep-inline-functions

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44964

Richard Guenther  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |

--- Comment #5 from Richard Guenther  2010-11-10 
13:53:11 UTC ---
Looking at it.


[Bug fortran/46413] New: [OOP] ICE when printing a polymorphic type

2010-11-10 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46413

   Summary: [OOP] ICE when printing a polymorphic type
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: ja...@gcc.gnu.org


The following invalid program gives an ICE:
test.f90:7:0: internal compiler error: Bad IO basetype (7)


type t
  integer :: ii =5
end type t
class(t), allocatable :: x
allocate (t :: x)

print *,x  ! PRINT of polymorphic type.
end


ifort prints:
test.f90(7): error #8303: A list item shall not be polymorphic unless it is
processed by a user-defined derived-type input/output procedure.   [X]

"9.6.3 Data transfer input/output list"
"A list item shall not be polymorphic unless it is processed by a dened
input/output procedure (9.6.4.8)."


[Bug middle-end/46221] [4.6 Regression] huge number of c++ testsuite failures, libstdc++.so alias missing

2010-11-10 Thread bergner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46221

--- Comment #24 from Peter Bergner  2010-11-10 
13:57:29 UTC ---
Agreed, but in this case, since we're just looking for the symbol names, I
think it should work.  If we were to try and create a ppc specific test, I
can't see how it would be different.  Anyway, I won't press this if you want to
leave it where it is.


[Bug debug/45939] Wrong debug info: Negative location range generated

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45939

Jakub Jelinek  changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #7 from Jakub Jelinek  2010-11-10 
14:00:38 UTC ---
*** Bug 46389 has been marked as a duplicate of this bug. ***


[Bug middle-end/46389] [4.6 Regression] ICE in add_var_loc_to_decl, at dwarf2out.c:8221

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46389

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE

--- Comment #9 from Jakub Jelinek  2010-11-10 
14:00:38 UTC ---
Dup of PR45939.  add_var_loc_to_decl relies on labels coming together, the same
label must not appear again.  Because of missing PR45939 fix the labels were
coming in order .LVL884 (2x), .LVL884-1 (2x) and .LVL884 again.
The second .LVL884-1 note of course made the first note unnecessary, but
additionally changed it into the same state as previous label (.LVL884), so
all traces of .LVL884 were removed, but temp->last wasn't at this point
pointing to one before last entry, but already to last entry (as it moved
during .LVL884-1 handling).  If labels come in the correct order, this problem
would never appear.

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


[Bug tree-optimization/44964] [4.6 Regression] ICE: SIGSEGV in gimple_default_def (tree-dfa.c:539) with -fkeep-inline-functions

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44964

--- Comment #6 from Richard Guenther  2010-11-10 
14:06:04 UTC ---
It is caused by breaking edges to callees for always-inline functions when
topologically sorting the cgraph.  And cgraph_flatten misses a check
for matching SSA form like other inliners have.

I have a patch.


[Bug driver/46410] [4.6 Regression] Linker options no longer accepted

2010-11-10 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46410

--- Comment #5 from joseph at codesourcery dot com  2010-11-10 14:38:12 UTC ---
On Wed, 10 Nov 2010, rguenther at suse dot de wrote:

> OTOH gcj is invoked as
> 
> gcj -Wno-deprecated -findirect-dispatch -Bsymbolic -C --classpath 
> .:/usr/share/java/libgcj-tools-4.6.jar:/usr/share/java/libgcj-4.6.jar
> 
> and I can't see where -s-bc-abi slips in.  Hmm.  I'll investigate closer
> when I have time to.

It's added by

  if (link_for_bc_abi)
generate_option (OPT_s_bc_abi, NULL, 1, CL_DRIVER,
 &new_decoded_options[j++]);

in jvspec.c.


[Bug middle-end/46414] New: [4.6 Regression] FAIL: gcc.target/i386/recip-vec-sqrtf-avx.c

2010-11-10 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46414

   Summary: [4.6 Regression] FAIL:
gcc.target/i386/recip-vec-sqrtf-avx.c
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: hubi...@gcc.gnu.org


On Linux/ia32, revision 166517:

http://gcc.gnu.org/ml/gcc-cvs/2010-11/msg00405.html

caused:

FAIL: gcc.target/i386/recip-vec-sqrtf-avx.c scan-assembler-times vrsqrtps[
\\t]+[^\n]*%ymm 4


[Bug middle-end/46414] [4.6 Regression] FAIL: gcc.target/i386/recip-vec-sqrtf-avx.c

2010-11-10 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46414

H.J. Lu  changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


[Bug tree-optimization/45122] [4.6 Regression] -funsafe-loop-optimizations causes FAIL: gcc.c-torture/execute/pr27285.c execution

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45122

Richard Guenther  changed:

   What|Removed |Added

   Keywords|wrong-code  |diagnostic

--- Comment #4 from Richard Guenther  2010-11-10 
14:45:27 UTC ---
We assume the loop iterates with induction variable a from zero to
((unsigned long)((unsigned)(((int)x->b) - 8) /[ex] 8)) & 536870911 + 1
which is one iteration less than required.

The assumptions made from niter analysis for that to be valid is
((unsigned int) D.2724_6 & 7) == 0 which isn't satisfied (it's 1).

So, technically we run into

  if (flag_unsafe_loop_optimizations)
niter->assumptions = boolean_true_node;

and assume the above holds true.  We add this assumption here:

  if (!exit_must_be_taken)
{
  /* If we cannot assume that the exit is taken eventually, record the
 assumptions for divisibility of c.  */
  assumption = fold_build2 (FLOOR_MOD_EXPR, niter_type, c, d);
  assumption = fold_build2 (EQ_EXPR, boolean_type_node,
assumption, build_int_cst (niter_type, 0));

thus a proper warning wording would say sth about that reason.


[Bug other/46332] __cxa_demangle yields excess parentheses for function types

2010-11-10 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46332

--- Comment #13 from Benjamin Kosnik  2010-11-10 
15:24:28 UTC ---

> Should we change the expected demangling in 14.cc to
> be void foo() or should we do something else.

I think 14.cc should be foo(). Your change is ok with
me.

FWIW, this is also consistent to C++ hackers using C++0x's std::function
notation. So, at least we are consistent with that (as well as g++ error
messages as pointed out by Paolo.)


[Bug bootstrap/46362] [4.6 regression] lto-plugin.c doesn't compile on IRIX 6.5

2010-11-10 Thread davek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46362

Dave Korn  changed:

   What|Removed |Added

   See Also||http://gcc.gnu.org/bugzilla
   ||/show_bug.cgi?id=46397

--- Comment #15 from Dave Korn  2010-11-10 15:39:01 
UTC ---
(In reply to comment #14)
> I'll give it a try once my current IRIX 6.5 bootstrap finishes (which
> may take another couple of hours at least).
> 
> But even so, the question remains what's the point of building lto-plugin
> unless gold or a plugin-capable gld is in use?

  Well, as soon as you upgrade your binutils or install gold, it will start
working.

  And it's very small and takes very little time to compile.


[Bug bootstrap/46397] lto-plugin.c does not build on Solaris 10/SPARC

2010-11-10 Thread davek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46397

--- Comment #15 from Dave Korn  2010-11-10 15:39:53 
UTC ---
Thanks for testing!


[Bug target/46415] New: mmix-knuth-mmixware --enable-werror-always build fails

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46415

   Summary: mmix-knuth-mmixware --enable-werror-always build fails
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: amyl...@gcc.gnu.org
Blocks: 44433,44756
Target: mmix-knuth-mmixware


There are a number of warnings that cause the build to fail; one of them
is also an error in C++ (enum conversion).


[Bug lto/44989] [4.6 regression] g++.dg/guality/redeclaration1.C

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44989

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P1  |P2
 CC||jakub at gcc dot gnu.org

--- Comment #8 from Jakub Jelinek  2010-11-10 
16:16:10 UTC ---
I don't think this is a P1 though, lto is known to have lots of issues with
debug info, that isn't going to be fully fixed for 4.6, and this is just one of
them.


[Bug driver/45703] [4.6 regression] --help -v no longer shows linker help

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45703

Jakub Jelinek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution||FIXED

--- Comment #3 from Jakub Jelinek  2010-11-10 
16:23:25 UTC ---
Seems to be fixed.  Thanks.


[Bug c++/46156] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11370 with -frounding-math

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46156

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P1  |P3
 Status|NEW |WAITING

--- Comment #5 from Jakub Jelinek  2010-11-10 
16:26:46 UTC ---
Back to P3, as we don't have a testcase that doesn't work right now.


[Bug middle-end/45297] [4.6 Regression] ICE: in create_linear_expr_from_tree, at graphite-sese-to-poly.c:1210 with -Os -fgraphite-identity

2010-11-10 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45297

Sebastian Pop  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2010.11.10 16:38:55
 AssignedTo|unassigned at gcc dot   |spop at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #4 from Sebastian Pop  2010-11-10 16:38:55 
UTC ---
Mine.


[Bug tree-optimization/44964] [4.6 Regression] ICE: SIGSEGV in gimple_default_def (tree-dfa.c:539) with -fkeep-inline-functions

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44964

--- Comment #7 from Richard Guenther  2010-11-10 
16:05:08 UTC ---
Author: rguenth
Date: Wed Nov 10 16:05:03 2010
New Revision: 166543

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166543
Log:
2010-11-10  Richard Guenther  

PR tree-optimization/44964
* ipa-inline.c (cgraph_flatten): Check that SSA form matches.

* gcc.dg/pr44964.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/pr44964.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-inline.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/46325] [4.6 Regression] gfortran.dg/char_initialiser_actual.f90 FAILs with -fstack-protector

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46325

--- Comment #3 from Jakub Jelinek  2010-11-10 
16:11:21 UTC ---
BTW, even 4.4 has the character(kind=1) A.20[3][1:5]; var referenced into the
actual arg to pfoo in a block which doesn't overlap the block of the afoo call.


[Bug tree-optimization/45971] [4.6 Regression] ice in vect_update_ivs_after_vectorizer

2010-11-10 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45971

Sebastian Pop  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #12 from Sebastian Pop  2010-11-10 
16:08:23 UTC ---
Fixed.


[Bug tree-optimization/45971] [4.6 Regression] ice in vect_update_ivs_after_vectorizer

2010-11-10 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45971

--- Comment #11 from Sebastian Pop  2010-11-10 
16:06:51 UTC ---
Author: spop
Date: Wed Nov 10 16:06:47 2010
New Revision: 166544

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166544
Log:
Fix PR45971: do not predicate condition phi nodes that are scev analyzable.

2010-11-10  Sebastian Pop  

PR tree-optimization/45971
* tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
for phi nodes analyzable by scev.

* gcc.dg/vect/O3-pr45971.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/vect/O3-pr45971.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-if-conv.c


[Bug tree-optimization/44964] [4.6 Regression] ICE: SIGSEGV in gimple_default_def (tree-dfa.c:539) with -fkeep-inline-functions

2010-11-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44964

Richard Guenther  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #8 from Richard Guenther  2010-11-10 
16:05:32 UTC ---
Fixed.


[Bug fortran/46325] [4.6 Regression] gfortran.dg/char_initialiser_actual.f90 FAILs with -fstack-protector

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46325

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P3  |P4
 CC||jakub at gcc dot gnu.org
  Component|middle-end  |fortran

--- Comment #2 from Jakub Jelinek  2010-11-10 
16:07:32 UTC ---
The problem is that we choose to put A.19 and parm.22 into the same partition:

;; Function char_initialiser (MAIN__)

Partition 0: size 15 align 16
x, offset 0
Partition 5: size 48 align 16
parm.22, offset 0
A.19, offset 0
Partition 3: size 48 align 16
atmp.18, offset 0
Partition 4: size 48 align 16
ptrtemp.16, offset 0
Partition 1: size 48 align 16
y, offset 0

But A.19 is live until the end of function:
  D.1613_7 = (void * restrict) &A.19[0][1]{lb: 1 sz: 1};
  atmp.18.data = D.1613_7;
...
  D.1596_13 = &atmp.18;
...
  pfoo (&ptrtemp.16, 5, D.1596_13, 5);
  y = ptrtemp.16;
  parm.22.dtype = 369;
  parm.22.dim[0].lbound = 1;
  parm.22.dim[0].ubound = 3;
  parm.22.dim[0].stride = 1;
  parm.22.data = &x[0];
  parm.22.offset = -1;
  afoo (&y, &parm.22, 5, 5);
  return;
and thus when it is shared with parm.22 it is overwritten.

I'm using a reduced testcase:
program char_initialiser
  character*5, dimension(3) :: x
  character*5, dimension(:), pointer :: y
  x=(/"is Ja","ne Fo","nda  "/)
  y => pfoo ((/"is Ja","ne Fo","nda  "/))
  call afoo (y, x)
contains
  subroutine afoo(ch1, ch2)
 character*(*), dimension(:) :: ch1, ch2
 if (any(ch1 /= ch2)) call abort ()
  end subroutine afoo
  function pfoo(ch2)
 character*5, dimension(:), target  :: ch2
 character*5, dimension(:), pointer :: pfoo
 pfoo => ch2
  end function pfoo
end program

If this is actually valid Fortran (i.e. the lifetime of
(/"is Ja","ne Fo","nda  "/)
when passed as actual argument to pfoo doesn't end with the return from pfoo),
then it would be a Fortran FE bug - A.19 which is used as the data area for the
atmp.18 temporary whose address is passed to pfoo, is declared in a BLOCK which
starts before atmp.18 definition but doesn't end at the end of function, but
right after y = ptrtemp.16; stmt (and parm.22 correctly starts living just for
the setup of afoo parameters and lives over the actual afoo call.  Thus there
is nothing wrong on the expansion side that it decided to coalesce the two
variables, it is either a FE bug or invalid testcase.

-fdump-tree-origin contains:

...
  {
integer(kind=8) D.1598;
character(kind=1)[0:][1:5] * ifm.21;
struct array1_unknown * D.1596;
character(kind=1) A.19[3][1:5];
struct array1_unknown atmp.18;
static character(kind=1)[1:5] * A.17[3] = {&"is Ja"[1]{lb: 1 sz: 1}, &"ne
Fo"[1]{lb: 1 sz: 1}, &"nda  "[1]{lb: 1 sz: 1}};
struct array1_unknown ptrtemp.16;

atmp.18.dtype = 369;
atmp.18.dim[0].stride = 1;
atmp.18.dim[0].lbound = 0;
atmp.18.dim[0].ubound = 2;
atmp.18.data = (void * restrict) &A.19;
atmp.18.offset = 0;
{
  integer(kind=8) S.20;

  S.20 = 0;
  while (1)
{
  if (S.20 > 2) goto L.5;
  __builtin_memmove ((void *) &(*(character(kind=1)[3][1:5] * restrict)
atmp.18.data)[S.20], (void *) A.17[S.20], 5);
  S.20 = S.20 + 1;
}
  L.5:;
}
D.1596 = &atmp.18;
ifm.21 = (character(kind=1)[0:][1:5] *) D.1596->data;
D.1598 = (D.1596->dim[0].ubound - D.1596->dim[0].lbound) + 1;
pfoo (&ptrtemp.16, 5, D.1596, 5);
y = ptrtemp.16;
  }
  {
struct array1_unknown parm.22;

parm.22.dtype = 369;
parm.22.dim[0].lbound = 1;
parm.22.dim[0].ubound = 3;
parm.22.dim[0].stride = 1;
parm.22.data = (void *) &x[0];
parm.22.offset = -1;
afoo (&y, &parm.22, 5, 5);
  }


[Bug other/46332] __cxa_demangle yields excess parentheses for function types

2010-11-10 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46332

--- Comment #14 from Jonathan Wakely  2010-11-10 
16:46:17 UTC ---
Yep, looks right to me
void (double) is a function type
void (*)(double) is a pointer to such a function type
void (&)(double) is a reference to such a type


[Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc.

2010-11-10 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46416

   Summary: libquadmath: Complex inverse hyperbolic/trigonometric
function missing: casinhq etc.
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org


libquadmath misses the complex inverse hyperbolic and trigonometric functions
such as

casinq
cacosq
catanq
casinhq
cacoshq
catanhq


[Bug c++/46156] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11370 with -frounding-math

2010-11-10 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46156

--- Comment #6 from Marc Glisse  2010-11-10 
17:01:42 UTC ---
template class vector { };
struct A{};
template 
void complete_test(vector data1){
A drop=A();
}
int main(){
  vector vect1;
  complete_test(vect1);
}

Fine with -std=c++98 but not with -std=c++0x:
bug.cpp: In function ‘void complete_test(vector) [with T1 = double]’:
bug.cpp:9:22:   instantiated from here
bug.cpp:5:11: internal compiler error: in tsubst_copy, at cp/pt.c:11677


[Bug target/46417] New: spu-elf --enable-werror-always build fails

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46417

   Summary: spu-elf --enable-werror-always build fails
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: build
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: amyl...@gcc.gnu.org
CC: uweig...@de.ibm.com, dje@gmail.com
Blocks: 44756
Target: spu-elf


There are a some warnings that cause the build to fail.


[Bug target/46415] mmix-knuth-mmixware --enable-werror-always build fails

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46415

--- Comment #1 from Jorn Wolfgang Rennecke  
2010-11-10 17:18:28 UTC ---
Author: amylaar
Date: Wed Nov 10 17:18:22 2010
New Revision: 166545

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166545
Log:
PR target/46415
* config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
(mmix_dbx_register_number): Likewise.
* config/mmix/mmix.c: Include df.h .
(mmix_local_alignment): Change argument basic_align and return type
to unsigned.
(mmix_dbx_register_number): Change argument and return type to
unsigned.
(mmix_expand_prologue): Use add_reg_note.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/mmix/mmix-protos.h
trunk/gcc/config/mmix/mmix.c


[Bug target/46415] mmix-knuth-mmixware --enable-werror-always build fails

2010-11-10 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46415

Jorn Wolfgang Rennecke  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Jorn Wolfgang Rennecke  
2010-11-10 17:19:24 UTC ---
Patch has been applied to trunk.


[Bug c++/46156] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11370 with -frounding-math

2010-11-10 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46156

H.J. Lu  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #7 from H.J. Lu  2010-11-10 17:23:42 
UTC ---
(In reply to comment #6)
> template class vector { };
> struct A{};
> template 
> void complete_test(vector data1){
> A drop=A();
> }
> int main(){
>   vector vect1;
>   complete_test(vect1);
> }
> 
> Fine with -std=c++98 but not with -std=c++0x:
> bug.cpp: In function ‘void complete_test(vector) [with T1 = double]’:
> bug.cpp:9:22:   instantiated from here
> bug.cpp:5:11: internal compiler error: in tsubst_copy, at cp/pt.c:11677

This is caused by revision 166167:

http://gcc.gnu.org/ml/gcc-cvs/2010-11/msg00053.html


[Bug tree-optimization/41012] Missing inlining after indirect call promotion

2010-11-10 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41012

Jan Hubicka  changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #1 from Jan Hubicka  2010-11-10 
17:24:14 UTC ---
Current mainline seems to optimize out everything into empty main().
Would be possible to have updated testcase? We still should fix the mismatched
type problem.

Honza


[Bug tree-optimization/42970] Missed unused function return value elimination

2010-11-10 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42970

Jan Hubicka  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2010.11.10 17:24:29
 CC||hubicka at gcc dot gnu.org
 Ever Confirmed|0   |1


[Bug bootstrap/46362] [4.6 regression] lto-plugin.c doesn't compile on IRIX 6.5

2010-11-10 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46362

--- Comment #16 from ro at CeBiTec dot Uni-Bielefeld.DE  2010-11-10 17:27:09 UTC ---
>   Well, as soon as you upgrade your binutils or install gold, it will start
> working.

gold doesn't work on any of my platforms, and GNU ld only on Solaris.

>   And it's very small and takes very little time to compile.

True.
Rainer


[Bug tree-optimization/46414] [4.6 Regression] FAIL: gcc.target/i386/recip-vec-sqrtf-avx.c

2010-11-10 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46414

H.J. Lu  changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2010-11/msg01054.htm
   ||l
  Component|middle-end  |tree-optimization

--- Comment #1 from H.J. Lu  2010-11-10 17:30:07 
UTC ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01054.html


[Bug c++/46156] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11370 with -frounding-math

2010-11-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46156

--- Comment #8 from Jakub Jelinek  2010-11-10 
17:34:02 UTC ---
The #c6 testcase doesn't appear related to the original one, thus please file
it separately.  I'd say this bug should just be closed, ideally with the
testcase going into the testsuite.


[Bug tree-optimization/39689] IPA should compute if a function may recurse

2010-11-10 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39689

--- Comment #7 from Jan Hubicka  2010-11-10 
17:34:05 UTC ---
We now have leaf attribute that makes it possible to analyze many of cases.


  1   2   3   >