Richard Sandiford [Sat, 22 Nov 2008 09:16:02 +0000 (09:16 +0000)]
ira-costs.c (find_allocno_class_costs): Work out the maximum allocno_costs value of the classees with the lowest...
gcc/
* ira-costs.c (find_allocno_class_costs): Work out the maximum
allocno_costs value of the classees with the lowest total_costs
value. Use this to set ALLOCNO_COVER_CLASS_COST here...
(setup_allocno_cover_class_and_costs): ...rather than here.
Use the ALLOCNO_COVER_CLASS_COST for all registers in the
preferred class.
From-SVN: r142117
Jakub Jelinek [Sat, 22 Nov 2008 08:28:44 +0000 (09:28 +0100)]
re PR middle-end/37323 (__builtin_apply failures)
PR middle-end/37323
* builtins.c (expand_builtin_apply_args): Emit sequence before
parm_birth_insn instead of after entry_of_function's first insn.
From-SVN: r142116
Jakub Jelinek [Sat, 22 Nov 2008 08:27:04 +0000 (09:27 +0100)]
re PR middle-end/37316 (Small structs are not passed correctly on hppa64-*-*)
PR middle-end/37316
* function.c (assign_parm_remove_parallels): Pass
data->passed_type as third argument to emit_group_store.
From-SVN: r142115
Jakub Jelinek [Sat, 22 Nov 2008 08:26:24 +0000 (09:26 +0100)]
re PR target/37170 (gcc.dg/weak/weak-1.c)
PR target/37170
* final.c (mark_symbol_refs_as_used): New function.
* output.h (mark_symbol_refs_as_used): New prototype.
* config/s390/s390.c (s390_mark_symbol_ref_as_used): Removed.
(s390_output_pool_entry): Use mark_symbol_refs_as_used.
* config/arm/arm.md (consttable_4): Likewise.
From-SVN: r142114
Jakub Jelinek [Sat, 22 Nov 2008 08:22:52 +0000 (09:22 +0100)]
re PR target/37170 (gcc.dg/weak/weak-1.c)
PR target/37170
* final.c (mark_symbol_refs_as_used): New function.
* output.h (mark_symbol_refs_as_used): New prototype.
* config/s390/s390.c (s390_mark_symbol_ref_as_used): Removed.
(s390_output_pool_entry): Use mark_symbol_refs_as_used.
* config/arm/arm.md (consttable_4): Likewise.
From-SVN: r142113
Jakub Jelinek [Sat, 22 Nov 2008 08:21:04 +0000 (09:21 +0100)]
re PR target/37880 (Documentation of option -mcmodel=medium is wrong)
PR target/37880
* doc/invoke.texi: Adjust wording of -mcmodel=medium description.
From-SVN: r142112
Jakub Jelinek [Sat, 22 Nov 2008 08:10:41 +0000 (09:10 +0100)]
re PR libfortran/37839 (st_parameter_dt has unwanted padding, is out of sync with compiler)
PR libfortran/37839
* trans-io.c (gfc_build_io_library_fndecls): Decrease pad size back
to 16 pointers plus 32 integers. Don't use max integer kind
alignment, only gfc_intio_kind's alignment.
(gfc_trans_inquire): Only set flags2 if mask2 is non-zero.
* ioparm.def: Fix order, bitmasks and types of inquire round, sign
and pending fields. Move u in dt before id.
* io.c (gfc_free_inquire): Free decimal and size exprs.
(match_inquire_element): Match size instead of matching blank twice.
(gfc_resolve_inquire): Resolve size.
* gfortran.dg/f2003_inquire_1.f03: New test.
* gfortran.dg/f2003_io_1.f03: Remove xfail.
* gfortran.dg/f2003_io_4.f03: Likewise.
* gfortran.dg/f2003_io_5.f03: Likewise.
* gfortran.dg/f2003_io_6.f03: Likewise.
* gfortran.dg/f2003_io_7.f03: Likewise.
* io/io.h (IOPARM_INQUIRE_HAS_ROUND, IOPARM_INQUIRE_HAS_SIGN,
IOPARM_INQUIRE_HAS_PENDING): Adjust values.
(st_parameter_inquire): Reorder and fix types of round, sign and
pending fields.
(st_parameter_43, st_parameter_44): Removed.
(st_parameter_dt): Put back struct definition directly to u.p
declaration. Change type of u.p.size_used from gfc_offset to
GFC_IO_INT. Decrease back size of u.pad to 16 pointers and
32 ints. Put id, pos, asynchronous, blank, decimal, delim,
pad, round and sign fields after the union.
* io/inquire.c (inquire_via_unit, inquire_via_filename): Only read
flags2 if it is defined.
* io/transfer.c (read_sf, read_block_form, write_block): Cast
additions to size_used to GFC_IO_INT instead of gfc_offset.
(data_transfer_init): Clear whole u.p struct. Adjust
for moving id, pos, asynchronous, blank, decimal, delim, pad,
round and sign fields from u.p directly into st_parameter_dt.
(finalize_transfer): Don't cast size_used to GFC_IO_INT.
* io/file_pos.c (st_endfile): Clear whole u.p struct.
From-SVN: r142111
GCC Administrator [Sat, 22 Nov 2008 00:17:09 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r142108
Eric Botcazou [Fri, 21 Nov 2008 22:12:56 +0000 (22:12 +0000)]
ffi.c (ffi_prep_cif_machdep): Add support for signed/unsigned int8/16 return values.
* src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
signed/unsigned int8/16 return values.
* src/sparc/v8.S (ffi_call_v8): Likewise.
(ffi_closure_v8): Likewise.
From-SVN: r142102
Jakub Jelinek [Fri, 21 Nov 2008 21:59:33 +0000 (22:59 +0100)]
re PR middle-end/38200 (internal compiler error: in find_func_aliases, at tree-ssa-structalias.c:3905)
PR middle-end/38200
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
propagate x = &a into *x = b if conversion from b to a's type is
useless.
* gcc.dg/pr38200.c: New test.
From-SVN: r142100
Eric Botcazou [Fri, 21 Nov 2008 21:19:34 +0000 (21:19 +0000)]
caller-save.c (insert_one_insn): Take into account REG_INC notes for the liveness computation of the new insn.
* caller-save.c (insert_one_insn): Take into account REG_INC notes
for the liveness computation of the new insn.
From-SVN: r142099
DJ Delorie [Fri, 21 Nov 2008 20:39:09 +0000 (15:39 -0500)]
stormy16.md (movqi_internal, [...]): Moves to/from below100 space (W) can only use r0-r7.
* config/stormy16/stormy16.md (movqi_internal, movhi_internal):
Moves to/from below100 space (W) can only use r0-r7.
From-SVN: r142098
Paolo Carlini [Fri, 21 Nov 2008 16:21:33 +0000 (16:21 +0000)]
re PR other/38214 (Unrecognized command line option "-fipa-marix-reorg" although it's documented)
2008-11-21 Paolo Carlini <paolo.carlini@oracle.com>
PR other/38214
* doc/invoke.texi (Optimization Options): Fix typo.
From-SVN: r142092
H.J. Lu [Fri, 21 Nov 2008 14:05:42 +0000 (06:05 -0800)]
Add the new file.
From-SVN: r142091
H.J. Lu [Fri, 21 Nov 2008 14:05:02 +0000 (14:05 +0000)]
config.gcc (extra_headers): For x86 and x86-64, remove gmmintrin.h, add immintrin.h and avxintrin.h.
gcc/
2008-11-21 H.J. Lu <hongjiu.lu@intel.com>
Xuepeng Guo <xuepeng.guo@intel.com>
* config.gcc (extra_headers): For x86 and x86-64, remove
gmmintrin.h, add immintrin.h and avxintrin.h.
* config/i386/gmmintrin.h: Renamed to ...
* config/i386/avxintrin.h: This. Don't include intrinsics if
_IMMINTRIN_H_INCLUDED is undedined.
* config/i386/immintrin.h: New.
gcc/testsuite/
2008-11-21 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/avx-1.c: Include <immintrin.h> instead of
<gmmintrin.h>.
* gcc.target/i386/avx-2.c: Likewise.
* gcc.target/i386/m256-check.h: Likewise.
* g++.dg/other/i386-5.C: Likewise.
* g++.dg/other/i386-6.C: Likewise.
Co-Authored-By: Xuepeng Guo <xuepeng.guo@intel.com>
From-SVN: r142090
Kai Tietz [Fri, 21 Nov 2008 13:54:41 +0000 (13:54 +0000)]
Missed to check in changes to /config/mh-mingw.
Missed to check in changes to /config/mh-mingw. It is part of the reviewed
patch 2008/10/13 by Danny Smith.
2008-11-21 Kai Tietz <kai.tietz@onevision.com>
Fix PR/25502
* mh-mingw (BOOT_CFLAGS): Add -Wno-pedantic-ms-format switch.
From-SVN: r142089
Jakub Jelinek [Fri, 21 Nov 2008 13:47:05 +0000 (14:47 +0100)]
re PR target/38208 (gcc.c-torture/compile/
20080806-1.c)
PR target/38208
* reload1.c (eliminate_regs_in_insn): For trunc_int_for_mode use
mode of PLUS, not mode of the eliminated register.
From-SVN: r142088
Kai Tietz [Fri, 21 Nov 2008 12:07:43 +0000 (12:07 +0000)]
Object.m (errno): Replaced by errno.h include.
2008-11-21 Kai Tietz <kai.tietz@onevision.com>
* Object.m (errno): Replaced by errno.h include.
(compare): Cast self to id to prevent warning on comparison.
* objc/objc.h (BOOL): Prevent redeclaration of BOOL, if it is
already there.
* sendmsg.c (__objc_print_dtable_stats): Remove type warnings.
* thr-win32.c (__objc_thread_detach): Remove type warning.
(__objc_thread_id): Likewise.
* thr.c (__objc_thread_detach_functiont): Add __builtin_trap ()
for noreturn.
From-SVN: r142087
Paolo Carlini [Fri, 21 Nov 2008 10:14:14 +0000 (10:14 +0000)]
38210.cc: Tweak.
2008-11-21 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/22_locale/num_put/put/char/38210.cc: Tweak.
* testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
From-SVN: r142086
Paolo Carlini [Fri, 21 Nov 2008 09:59:17 +0000 (09:59 +0000)]
re PR libstdc++/38210 (num_put<>::do_put(void*) performs padding incorrectly when adjustfield==internal)
2008-11-21 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38210
* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
ios_base&, char_type, const void*)): Fix.
* testsuite/22_locale/num_put/put/char/38210.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
From-SVN: r142085
Uros Bizjak [Fri, 21 Nov 2008 08:54:18 +0000 (09:54 +0100)]
mmx.md (mmx_nand<mode>3): Rename to mmx_andnot<mode>3.
* config/i386/mmx.md (mmx_nand<mode>3): Rename to mmx_andnot<mode>3.
* config/i386/sse.md (avx_nand<mode>3): Rename to avx_andnot<mode>3.
(<sse>_nand<mode>3): Rename to <sse>_andnot<mode>3.
(sse2_nand<mode>3): Rename to sse2_andnot<mode>3.
(*sse_nand<mode>3): Rename to *sse_andnot<mode>3.
(*avx_nand<mode>3): Rename to *avx_andnot<mode>3.
(*nand<mode>3): Rename to *andnot<mode>3.
(*nandtf3): rename to *andnottf3.
* config/i386/i386.c (bdesc_args) [IX86_BUILTIN_PANDN]:
Use CODE_FOR_mmx_andnotv2si3.
[IX86_BUILTIN_ANDNPS]: Use CODE_FOR_sse_andnotv4sf3.
[IX86_BUILTIN_ANDNPD]: Use CODE_FOR_sse2_andnotv2df3.
[IX86_BUILTIN_PANDN128]: Use CODE_FOR_sse2_andnotv2di3.
[IX86_BUILTIN_ANDNPS256]: Use CODE_FOR_avx_andnotv8sf3.
[IX86_BUILTIN_ANDNPD256]: Use CODE_FOR_avx_andnotv4df3.
From-SVN: r142083
Uros Bizjak [Fri, 21 Nov 2008 07:28:27 +0000 (08:28 +0100)]
re PR middle-end/37908 (atomic NAND op generate wrong code; __sync_nand_and_fetch, __sync_fetch_and_nand)
PR middle-end/37908
* config/ia64/ia64.c (ia64_expand_atomic_ope): Properly handle NAND
case by calculating ~(new_reg & val) instead of (~new_reg & val).
* config/ia64/sync.md (sync_nand<mode>): Change insn RTX
to (not:IMODE (and:IMODE (...))).
(sync_old_nand<mode>): Ditto.
(sync_new_nand<mode>): Ditto.
From-SVN: r142082
Jerry DeLisle [Fri, 21 Nov 2008 04:35:17 +0000 (04:35 +0000)]
re PR fortran/37472 (bad output on default-format write of double in common block with -m64)
2008-11-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37472
* gfortran.dg/namelist_print_1.f: Update test.
From-SVN: r142080
Jerry DeLisle [Fri, 21 Nov 2008 04:29:54 +0000 (04:29 +0000)]
re PR fortran/37472 (bad output on default-format write of double in common block with -m64)
2008-11-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37472
* io/write_float.def (output_float_FMT_G_): Adjust conversion of
G format specification to F format.
From-SVN: r142079
GCC Administrator [Fri, 21 Nov 2008 00:16:55 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r142075
Joseph Myers [Thu, 20 Nov 2008 23:00:00 +0000 (23:00 +0000)]
thumb2.md (thumb2_casesi_internal, [...]): Use earlyclobber for scratch operand 4.
* config/arm/thumb2.md (thumb2_casesi_internal,
thumb2_casesi_internal_pic): Use earlyclobber for scratch operand
4.
From-SVN: r142070
Andreas Krebbel [Thu, 20 Nov 2008 22:11:42 +0000 (22:11 +0000)]
sync-2.c: Add type cast to avoid folding.
2008-11-20 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.dg/sync-2.c: Add type cast to avoid folding.
* gcc.dg/sync-3.c: Likewise.
From-SVN: r142064
Andreas Krebbel [Thu, 20 Nov 2008 22:08:08 +0000 (22:08 +0000)]
s390.c (s390_expand_atomic): Adjust QI/HI atomic nand to the changed 4.4 semantic.
2008-11-20 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc/config/s390/s390.c (s390_expand_atomic): Adjust QI/HI atomic
nand to the changed 4.4 semantic.
From-SVN: r142063
Jakub Jelinek [Thu, 20 Nov 2008 21:35:03 +0000 (22:35 +0100)]
re PR middle-end/29215 (extra store for memcpy)
PR middle-end/29215
* builtins.c (SLOW_UNALIGNED_ACCESS): Define if not defined.
(fold_builtin_memory_op): Handle even the case where just one
of src and dest is an address of a var decl component, using
TYPE_REF_CAN_ALIAS_ALL pointers. Remove is_gimple_min_invariant
and readonly_data_expr src check.
* tree-ssa-sccvn.c (DFS): Use clear_and_done_ssa_iter to shut
up warnings.
* trans-array.c (trans_array_constructor_value,
gfc_build_constant_array_constructor): Fill in TREE_PURPOSE.
* gfortran.dg/array_memcpy_3.f90: Adjust pattern to match even
memcpy optimized into ref-all store.
* gcc.dg/pr29215.c: New test.
From-SVN: r142061
Jakub Jelinek [Thu, 20 Nov 2008 21:26:52 +0000 (22:26 +0100)]
re PR rtl-optimization/36998 (Ada bootstrap broken on i586-*-*)
PR rtl-optimization/36998
* dwarf2out.c (stack_adjust_offset): Add cur_args_size and cur_offset
arguments. Handle sp = reg and (set (foo) (mem (pre_inc (reg sp)))).
(compute_barrier_args_size_1, dwarf2out_frame_debug_expr): Adjust
stack_adjust_offset callers.
(dwarf2out_stack_adjust): Likewise. Handle insns in annulled
branches properly.
(compute_barrier_args_size): Handle insns in annulled branches
properly.
From-SVN: r142060
Uros Bizjak [Thu, 20 Nov 2008 21:11:22 +0000 (22:11 +0100)]
re PR middle-end/38151 (structures with _Complex arguments are not passed correctly)
PR target/38151
* config/i386/i386.c (classify_argument) [integer mode size <= 64bit]:
Handle cases when integer argument crosses argument register boundary.
testsuite/ChangeLog:
PR target/38151
* gcc.target/i386/pr38151-1.c: New test.
From-SVN: r142059
Eric Botcazou [Thu, 20 Nov 2008 20:56:23 +0000 (20:56 +0000)]
* gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
From-SVN: r142058
Eric Botcazou [Thu, 20 Nov 2008 20:24:53 +0000 (20:24 +0000)]
Follow up fix for GC19-015:
* utils.c (init_gigi_decls): Fix type mismatch.
From-SVN: r142057
Jason Merrill [Thu, 20 Nov 2008 20:23:32 +0000 (15:23 -0500)]
re PR c++/28513 (QOI: Diagnostic missing since 3.3.x when naming rule is violated)
PR c++/28513
* parser.c (cp_parser_class_name): Call maybe_note_name_used_in_class.
From-SVN: r142056
Jason Merrill [Thu, 20 Nov 2008 18:40:52 +0000 (13:40 -0500)]
re PR c++/37540 (ICE on __decltype of method call in function template)
PR c++/37540
* call.c (build_over_call): Take the address of the function even
in a template.
(build_new_method_call): Remember the type of the called function
in a template.
From-SVN: r142054
Rainer Orth [Thu, 20 Nov 2008 17:13:01 +0000 (17:13 +0000)]
re PR bootstrap/33100 (on bootstrap getting section .eh_frame: bad cie version 0: offset 0x0)
gcc:
PR bootstrap/33100
* config.gcc (i[34567]86-*-solaris2*): Don't include
i386/t-crtstuff here.
Move extra_parts, i386/t-sol2 in tmake_file to libgcc/config.host.
* config/i386/t-sol2: Move to libgcc/config/i386.
libgcc:
PR bootstrap/33100
* configure.ac (i?86-*-solaris2.1[0-9]*): Only include
i386/t-crtstuff if linker supports ZERO terminator unwind entries.
* configure: Regenerate.
* config.host (i[34567]86-*-solaris2*): Move i386/t-sol2 in
tmake_file here from gcc/config.gcc.
Move extra_parts here from gcc/config.gcc.
* config/i386/t-sol2: Move here from gcc/config/i386.
Use gcc_srcdir instead of srcdir.
From-SVN: r142050
Paolo Carlini [Thu, 20 Nov 2008 16:00:17 +0000 (16:00 +0000)]
re PR libstdc++/38196 (num_put<>::do_put(bool) performs 'internal' padding incorrectly when boolalpha==true)
2008-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38196
* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
ios_base&, char_type, bool)): Fix.
* testsuite/22_locale/num_put/put/char/38196.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
From-SVN: r142048
Jakub Jelinek [Thu, 20 Nov 2008 15:21:12 +0000 (16:21 +0100)]
trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use gfc_index_one_node.
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use
gfc_index_one_node.
(gfc_conv_intrinsic_size): Use gfc_index_{zero,one}_node.
From-SVN: r142046
Thomas Schwinge [Thu, 20 Nov 2008 13:24:18 +0000 (14:24 +0100)]
Add PR tag forgotten in rev142043.
From-SVN: r142044
Samuel Thibault [Thu, 20 Nov 2008 13:21:51 +0000 (13:21 +0000)]
tlink.c: Include "libiberty.h".
2008-11-20 Samuel Thibault <samuel.thibault@ens-lyon.org>
* tlink.c: Include "libiberty.h".
(initial_cwd): Change type into char *.
(tlink_init): Call getpwd instead of getcwd.
From-SVN: r142043
Richard Guenther [Thu, 20 Nov 2008 12:25:26 +0000 (12:25 +0000)]
re PR tree-optimization/37868 (code that breaks TBAA is misoptimized even with -fno-strict-aliasing)
2008-11-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/37868
* gcc.dg/torture/pr37868.c: New testcase.
* gcc.c-torture/execute/pr38048-1.c: Likewise.
* gcc.c-torture/execute/pr38048-2.c: Likewise.
From-SVN: r142041
Jakub Jelinek [Thu, 20 Nov 2008 09:42:35 +0000 (10:42 +0100)]
re PR fortran/38181 (calls to SIZE not optimized out of loops)
PR fortran/38181
* trans-intrinsic.c (gfc_conv_intrinsic_size): Inline 2 argument
size if the second argument is not optional and one argument size
for rank 1 arrays.
* gfortran.dg/array_section_2.f90: Adjust pattern to match
the inlined size0 instead of a size0 call.
From-SVN: r142037
Zdenek Dvorak [Thu, 20 Nov 2008 08:05:12 +0000 (09:05 +0100)]
re PR rtl-optimization/32283 (Missed induction variable optimization)
PR rtl-optimization/32283
* tree-ssa-loop-niter.c (scev_probably_wraps_p): Use type of the base
of the induction variable to decide whether it may wrap.
* tree-ssa-loop-ivopts.c (rewrite_use_compare): Emit the initialization
of the bound before the loop.
* simplify-rtx.c (simplify_binary_operation_1): Add two simplifications
regarding AND.
(simplify_plus_minus): Only fail if no simplification is possible.
* loop-iv.c (simple_rhs_p): Consider reg + reg and reg << cst simple.
From-SVN: r142035
Jakub Jelinek [Thu, 20 Nov 2008 01:47:10 +0000 (02:47 +0100)]
re PR c++/36631 (attribute always_inline -> sorry, unimplemented: recursive inlining)
PR c++/36631
* gimplify.c (gimplify_call_expr): Defer most of the cannot inline
checking until GIMPLE lowering.
* gimple-low.c (check_call_args): New function.
(lower_stmt) <case GIMPLE_CALL>: Call it.
* g++.dg/template/call5.C: New test.
From-SVN: r142033
GCC Administrator [Thu, 20 Nov 2008 00:17:02 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r142030
Dodji Seketeli [Thu, 20 Nov 2008 00:00:39 +0000 (00:00 +0000)]
re PR c++/37142 (ICE: in dependent_type_p, at cp/pt.c:15585)
gcc/testsuite/ChangeLog:
2008-11-19 Dodji Seketeli <dodji@redhat.com>
PR c++/37142
* g++.dg/template/crash85.C: New test.
gcc/cp/ChangeLog
2008-11-19 Dodji Seketeli <dodji@redhat.com>
PR c++/37142
* pt.c (coerce_template_template_parm): Use the more robust
uses_template_parms instead of dependent_type_p.
From-SVN: r142025
Adam Nemet [Wed, 19 Nov 2008 23:13:29 +0000 (23:13 +0000)]
mips.c (mips_gimplify_va_arg_expr): Use -rsize with the same type as the first operand of the AND expression.
* config/mips/mips.c (mips_gimplify_va_arg_expr): Use -rsize
with the same type as the first operand of the AND expression.
testsuite/
* gcc.c-torture/compile/
20081119-1.c: New test.
From-SVN: r142024
Dodji Seketeli [Wed, 19 Nov 2008 22:26:56 +0000 (22:26 +0000)]
re PR c++/35405 (Internal compiler error)
gcc/cp/ChangeLog:
2008-11-19 Dodji Seketeli <dodji@redhat.com>
PR c++/35405
* pt.c (lookup_template_class): Check pointers before dereferencing
Them.
* error.c (dump_template_decl): Likewise.
gcc/testsuite/ChangeLog:
2008-11-19 Dodji Seketeli <dodji@redhat.com>
PR c++/35405
* g++.dg/template/crash84.C: New test.
From-SVN: r142022
Jakub Jelinek [Wed, 19 Nov 2008 21:52:47 +0000 (22:52 +0100)]
pr11832.c: XFAIL even on s390*-*-*.
* gcc.c-torture/compile/pr11832.c: XFAIL even on s390*-*-*.
* gcc.c-torture/compile/pr33009.c: Likewise.
From-SVN: r142021
DJ Delorie [Wed, 19 Nov 2008 21:43:16 +0000 (16:43 -0500)]
below100.S (.chip_info): Use position-independent expressions for the fillers.
* gcc.target/xstormy16/below100.S (.chip_info): Use
position-independent expressions for the fillers.
From-SVN: r142020
Jason Merrill [Wed, 19 Nov 2008 21:35:27 +0000 (16:35 -0500)]
re PR c++/36410 (ICE with transparent union)
PR c++/36410
* decl2.c (grokfield): Pass ATTR_FLAG_TYPE_IN_PLACE for a typedef
that names a class for linkage purposes.
From-SVN: r142019
Vladimir Makarov [Wed, 19 Nov 2008 21:25:00 +0000 (21:25 +0000)]
re PR bootstrap/37859 (Bootstrap failure on mips64octeon-unknown-linux-gnu)
2008-11-19 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/37859
* ira-int.h (struct ira_loop_tree_node): New member
entered_from_non_parent_p.
* ira-color.c (print_loop_title): Print loop bbs.
* ira-emit.c (entered_from_non_parent_p,
setup_entered_from_non_parent_p): New functions.
(not_modified_p): Rename to store_can_be_removed_p. Check there
is no side entries.
(generate_edge_moves): Use store_can_be_removed_p instead of
not_modified_p.
(ira_emit): Call setup_entered_from_non_parent_p.
* ira-build.c (copy_info_to_removed_store_destinations):
Accumulate CALL_FREQ, CALL_CROSSED_NUM, and
ALLOCNO_EXCESS_PRESSURE_POINTS_NUM.
(ira_flattening): Don't CHECK MEM_OPTIMIZED_DEST[_P], always
update all accumulated attributes.
From-SVN: r142018
Vladimir Makarov [Wed, 19 Nov 2008 21:20:44 +0000 (21:20 +0000)]
re PR middle-end/37790 (limits-fnargs.c takes very long time to compile at -O2)
2008-11-15 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/37790
* ira-int.h (ira_copy_allocno_live_range_list,
ira_merge_allocno_live_ranges,
ira_allocno_live_ranges_intersect_p,
ira_finish_allocno_live_range_list): New prototypes.
(ira_allocno_live_ranges_intersect_p,
ira_pseudo_live_ranges_intersect_p): Remove.
* ira-conflicts.c (ira_allocno_live_ranges_intersect_p,
ira_pseudo_live_ranges_intersect_p): Rename to
allocnos_have_intersected_live_ranges_p and
pseudos_have_intersected_live_ranges_p. Move them from here to
...
* ira-color.c: ... here
(coalesced_allocno_conflict_p): Use
allocnos_have_intersected_live_ranges_p.
(coalesced_allocnos_living_at_program_points,
coalesced_allocnos_live_at_points_p,
set_coalesced_allocnos_live_points): Remove.
(slot_coalesced_allocnos_live_ranges,
slot_coalesced_allocno_live_ranges_intersect_p,
setup_slot_coalesced_allocno_live_ranges): New.
(coalesce_spill_slots): Use ranges of coalesced allocnos.
(ira_sort_regnos_for_alter_reg): Use
allocnos_have_intersected_live_ranges_p.
(ira_reuse_stack_slot): Use
pseudos_have_intersected_live_ranges_p.
* global.c (pseudo_for_reload_consideration_p): Check
flag_ira_share_spill_slots too.
* ira-build.c (copy_allocno_live_range_list): Rename to
ira_copy_allocno_live_range_list. Make it external.
(merge_ranges): Rename to ira_merge_allocno_live_ranges. Make it
external.
(ira_allocno_live_ranges_intersect_p): New.
(ira_finish_allocno_live_range_list): New.
(finish_allocno): Use it.
(remove_unnecessary_allocnos): Use ira_merge_allocno_live_ranges.
(copy_info_to_removed_store_destinations): Ditto. Use
ira_copy_allocno_live_range_list.
(ira_flattening): Use ira_merge_allocno_live_ranges.
* ira.c (too_high_register_pressure_p): New function.
(ira): Switch off sharing spill slots if the pressure is too high.
From-SVN: r142017
Jason Merrill [Wed, 19 Nov 2008 19:36:38 +0000 (14:36 -0500)]
re PR c++/37563 (Trouble calling qualified member function)
PR c++/37563
* parser.c (cp_parser_pseudo_destructor_name): A pseudo-destructor
name is not a declaration.
From-SVN: r142015
Jason Merrill [Wed, 19 Nov 2008 19:27:29 +0000 (14:27 -0500)]
re PR c++/37256 (extern template / explicit instantiation broken in 4.4.0-pre)
PR c++/37256
* pt.c (instantiate_decl): Don't require a definition of
a template that is explicitly instantiated 'extern'.
From-SVN: r142014
Bob Wilson [Wed, 19 Nov 2008 18:26:00 +0000 (18:26 +0000)]
include/
* xtensa-config.h (XCHAL_HAVE_MUL16, XCHAL_HAVE_MUL32, XCHAL_HAVE_DIV32)
(XCHAL_HAVE_MINMAX, XCHAL_HAVE_SEXT, XCHAL_HAVE_THREADPTR)
(XCHAL_HAVE_RELEASE_SYNC, XCHAL_HAVE_S32C1I): Change to 1.
(XCHAL_NUM_AREGS): Change to 32.
(XCHAL_ICACHE_SIZE, XCHAL_DCACHE_SIZE): Change to 16K.
(XCHAL_ICACHE_LINESIZE, XCHAL_DCACHE_LINESIZE): Change to 32.
(XCHAL_ICACHE_LINEWIDTH, XCHAL_DCACHE_LINEWIDTH): Change to 5.
(XCHAL_DCACHE_IS_WRITEBACK): Change to 1.
(XCHAL_DEBUGLEVEL): Change to 6.
From-SVN: r142012
Richard Guenther [Wed, 19 Nov 2008 17:38:15 +0000 (17:38 +0000)]
tree.c (build2_stat): Allow non-POINTER_PLUS_EXPRs with non-sizetype offsets if...
2008-11-19 Richard Guenther <rguenther@suse.de>
* tree.c (build2_stat): Allow non-POINTER_PLUS_EXPRs with
non-sizetype offsets if their precision matches that of
the pointer.
* expr.c (expand_expr_real_1): Always sign-extend the offset
operand of a POINTER_PLUS_EXPR.
From-SVN: r142009
Rainer Orth [Wed, 19 Nov 2008 17:03:51 +0000 (17:03 +0000)]
config.gcc: Unobsolete mips-sgi-irix[56]*.
* config.gcc: Unobsolete mips-sgi-irix[56]*.
(mips-sgi-irix[56]*): No need to use fixproto.
From-SVN: r142008
Maxim Kuvyrkov [Wed, 19 Nov 2008 16:52:16 +0000 (16:52 +0000)]
lb1sf68.asm: Add GNU-stack annotation to avoid executable stack.
* config/m68k/lb1sf68.asm: Add GNU-stack annotation to avoid
executable stack.
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r142007
Maxim Kuvyrkov [Wed, 19 Nov 2008 16:24:10 +0000 (16:24 +0000)]
m68k.c (sched_attr_op_type): Handle all CONSTs.
* config/m68k/m68k.c (sched_attr_op_type): Handle all CONSTs.
* gcc.target/m68k/xgot-1.c (dg-options): Add -O2.
From-SVN: r142005
Razya Ladelsky [Wed, 19 Nov 2008 16:08:01 +0000 (16:08 +0000)]
re PR tree-optimization/38156 (gcc.dg/tree-ssa/update-unswitch-1.c fails when compiled with -ftree-parallelize-loops=4)
2008-11-19 Razya Ladelsky <razya@il.ibm.com>
PR target/38156
* tree-parloops.c (loop_parallel_p): NULL vect_dump.
(separate_decls_in_region): Create shared struct even when there
are only reductions.
From-SVN: r142004
Hariharan Sandanagobalane [Wed, 19 Nov 2008 14:12:03 +0000 (14:12 +0000)]
*config/picochip/picochip.c (headers): Removed an unnecessary header.
From-SVN: r142002
Jakub Jelinek [Wed, 19 Nov 2008 13:03:43 +0000 (14:03 +0100)]
re PR tree-optimization/36038 (miscompiled loop in perlbmk for -Os)
PR tree-optimization/36038
* gcc.c-torture/compile/pr36038.c: Moved to...
* gcc.c-torture/execute/pr36038.c: ... here.
From-SVN: r142000
Andrew Stubbs [Wed, 19 Nov 2008 11:23:28 +0000 (11:23 +0000)]
re PR target/36133 (GCC creates suboptimal ASM : Code includes unneeded TST instructions)
2008-11-19 Andrew Stubbs <ams@codesourcery.com>
gcc/
PR target/36133
* config/m68k/m68k.h (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY): New defines.
* config/m68k/m68k.c (notice_update_cc): Set cc_status properly for
shift instructions.
* config/m68k/m68k.md: Adjust all conditional branches that use the
carry and overflow flags so they understand CC_OVERFLOW_UNUSABLE.
gcc/testsuite/
PR target/36133
* gcc.target/m68k/pr36133.c: New test.
From-SVN: r141999
Maxim Kuvyrkov [Wed, 19 Nov 2008 11:12:07 +0000 (11:12 +0000)]
wo_prof_global_var.c: Use uninitialized integer values instead of uninitialized FP values to avoid NaNs.
* gcc.gd/struct/wo_prof_global_var.c: Use uninitialized integer
values instead of uninitialized FP values to avoid NaNs.
* gcc.dg/struct/wo_prof_local_var.c: Same.
From-SVN: r141998
Eric Botcazou [Wed, 19 Nov 2008 08:37:13 +0000 (08:37 +0000)]
f2003_io_1.f03: XFAIL for all SPARC targets.
* gfortran.dg/f2003_io_1.f03: XFAIL for all SPARC targets.
* gfortran.dg/f2003_io_4.f03: Ditto.
* gfortran.dg/f2003_io_5.f03: Ditto.
* gfortran.dg/f2003_io_6.f03: Ditto.
* gfortran.dg/f2003_io_7.f03: Ditto.
From-SVN: r141996
Paul Thomas [Wed, 19 Nov 2008 03:41:57 +0000 (03:41 +0000)]
re PR fortran/38171 (equivalence and nested modules broken)
2008-11-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38171
* ChangeLog: Correct PR number.
From-SVN: r141991
Paul Thomas [Wed, 19 Nov 2008 03:25:00 +0000 (03:25 +0000)]
re PR fortran/38119 (character ICE in gfc_trans_create_temp_array)
2008-11-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38119
* module.c (load_equiv): Regression fix; check that equivalence
members come from the same module only.
2008-11-19 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/module_equivalence_6.f90: New test.
From-SVN: r141990
GCC Administrator [Wed, 19 Nov 2008 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r141987
Jakub Jelinek [Tue, 18 Nov 2008 23:01:35 +0000 (00:01 +0100)]
re PR tree-optimization/38051 (Miscompilation of glibc's memcmp)
PR tree-optimization/38051
* gcc.c-torture/execute/pr38051.c (buf): Remove aligned attribute.
(buf2): Removed.
(main): Only run on little endian targets with
sizeof (long) == sizeof (void *). Use just one buffer, align the
pointers at runtime.
From-SVN: r141983
Thomas Koenig [Tue, 18 Nov 2008 22:43:05 +0000 (22:43 +0000)]
re PR fortran/38135 (RESHAPE gives wrong result)
2008-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/38135
* m4/reshape.m4: Correct bounds checking when PAD is present.
Treat PAD as if it were SOURCE when SOURCE is empty.
* intrinsics/reshape_generic.c: Likewise.
* generated/reshape_c10.c Regenerated.
* generated/reshape_c16.c Regenerated.
* generated/reshape_c4.c Regenerated.
* generated/reshape_c8.c Regenerated.
* generated/reshape_i16.c Regenerated.
* generated/reshape_i4.c Regenerated.
* generated/reshape_i8.c Regenerated.
* generated/reshape_r10.c Regenerated.
* generated/reshape_r16.c Regenerated.
* generated/reshape_r4.c Regenerated.
* generated/reshape_r8.c Regenerated.
2008-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/38135
* gfortran.dg/reshape_pad_1.f90: New test case.
From-SVN: r141982
Ben Elliston [Tue, 18 Nov 2008 22:00:42 +0000 (22:00 +0000)]
dg-cmp-results.sh: Do not print usage if either .sum file cannot be opened...
* dg-cmp-results.sh: Do not print usage if either .sum file cannot
be opened; print a more meaningful error instead.
From-SVN: r141979
Uros Bizjak [Tue, 18 Nov 2008 22:00:12 +0000 (23:00 +0100)]
re PR target/37362 (Bootstrap broken on mipsisa64r2-linux-gcc)
PR target/37362
* config/mips/mips.md (move_doubleword_fpr<mode>): Check that "high"
is a register or zero operand in the correct mode before generating
mtch1 insn or a register operand in the correct mode before generating
mfch1 insn.
(mtch1<mode>): Correct operand 1 predicate to reg_or_0_operand.
testsuite/ChangeLog:
PR target/37362
* gcc.target/mips/pr37362.c: New test.
From-SVN: r141978
Adam Nemet [Tue, 18 Nov 2008 21:00:28 +0000 (21:00 +0000)]
config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
gcc/
* config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add new cases to
mipsisa*-*-elf*. Handle mipsisa64r2*.
* config/mips/sde.h (LINK_SPEC): Handle -mips64r2.
* config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
mips64r2.
(MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.
* config/mips/t-sde (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
mips64r2.
(MULTILIB_EXCLUSIONS): Add mips64r2/mfp64. Add mips64r2/mips16.
Fix mips16 if mips64 or mips64r2 are multilib defaults.
* config/mips/t-sdemtk (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
mips64r2.
libgcc/
* config.host (mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*): New
case.
From-SVN: r141976
Joseph Myers [Tue, 18 Nov 2008 20:07:59 +0000 (20:07 +0000)]
* cpplib.pot: Regenerate.
From-SVN: r141974
Joseph Myers [Tue, 18 Nov 2008 20:07:00 +0000 (20:07 +0000)]
* gcc.pot: Regenerate.
From-SVN: r141973
Joseph Myers [Tue, 18 Nov 2008 18:18:22 +0000 (18:18 +0000)]
* ru.po: Update.
From-SVN: r141971
Jason Merrill [Tue, 18 Nov 2008 18:11:32 +0000 (13:11 -0500)]
re PR c++/37962 (ICE with (auto*) casts)
PR c++/37962
cp/
* parser.c (cp_parser_type_id): Complain about auto.
* decl.c (grokdeclarator): Complain about parameters and
conversion functions declared with auto.
* call.c (standard_conversion): Use CLASS_TYPE_P instead of
MAYBE_CLASS_TYPE_P.
* cp-tree.h (TYPE_NON_AGGREGATE_CLASS): Likewise.
testsuite/
* g++.dg/cpp0x/auto[38].C: Adjust expected errors.
* g++.dg/cpp0x/auto9.C: New test.
* g++.dg/cpp0x/auto10.C: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r141970
Paolo Carlini [Tue, 18 Nov 2008 17:27:10 +0000 (17:27 +0000)]
cinttypes: Remove redundant pragma system_header.
2008-11-18 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/cinttypes: Remove redundant pragma system_header.
* include/tr1_impl/cfenv: Likewise.
* include/tr1_impl/cstdint: Likewise.
From-SVN: r141968
Jakub Jelinek [Tue, 18 Nov 2008 12:33:38 +0000 (13:33 +0100)]
re PR target/38130 (__builtin_alloca (vs IRA?) testsuite failures on mingw32)
PR target/38130
* config/i386/i386.md (allocate_stack_worker_32,
allocate_stack_worker_64): Don't use match_dup between input and
output operand.
(allocate_stack): Adjust gen_stack_worker_{32,64} caller.
* config/i386/i386.c (ix86_expand_prologue): Likewise.
From-SVN: r141965
Eric Botcazou [Tue, 18 Nov 2008 12:10:18 +0000 (12:10 +0000)]
re PR ada/38127 (ACATS
cd1c04e fails on sparc, hppa)
PR ada/38127
* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Propagate
the name.
From-SVN: r141964
Kai Tietz [Tue, 18 Nov 2008 11:03:01 +0000 (11:03 +0000)]
t-cygming (SHLIB_LINK): Make sure that $(SHLIB_MAP).def is forced when trying to do a symbol link for it.
2008-11-18 Kai Tietz <kai.tietz@onevision.com>
* config/i386/t-cygming (SHLIB_LINK): Make sure that $(SHLIB_MAP).def
is forced when trying to do a symbol link for it.
From-SVN: r141963
Adam Nemet [Tue, 18 Nov 2008 02:08:24 +0000 (02:08 +0000)]
expmed.c (extract_bit_field_1): Also use a temporary and convert_extracted_bit_field when...
* expmed.c (extract_bit_field_1): Also use a temporary and
convert_extracted_bit_field when the conversion from ext_mode to
the target mode requires explicit truncation.
testsuite/
* gcc.c-torture/execute/
20081117-1.c: New test.
From-SVN: r141960
GCC Administrator [Tue, 18 Nov 2008 00:16:59 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r141958
Richard Sandiford [Mon, 17 Nov 2008 22:59:54 +0000 (22:59 +0000)]
mips.h (REG_ALLOC_ORDER): Put accumulators first.
gcc/
* config/mips/mips.h (REG_ALLOC_ORDER): Put accumulators first.
Tweak formatting.
* config/mips/mips.c (mips_ira_cover_classes): Don't use accumulator
registers when not optimizing.
gcc/testsuite/
* gcc.target/mips/dspr2-MULT.c: Just check for $ac1 and $ac2.
* gcc.target/mips/dspr2-MULTU.c: Likewise.
From-SVN: r141955
Richard Sandiford [Mon, 17 Nov 2008 22:49:05 +0000 (22:49 +0000)]
mips.md (*mul_acc_si): Remove middle alternative and its associated define_split.
gcc/
* config/mips/mips.md (*mul_acc_si): Remove middle alternative
and its associated define_split. Expose the all-d alternative
to the register allocator, but mark it with "?". Mark the first
alternative with "*?*?".
(*mul_sub_si): Likewise.
(*mul_acc_si_r3900): New pattern.
gcc/testsuite/
* gcc.target/mips/madd-5.c: New test.
* gcc.target/mips/madd-6.c: Likewise.
* gcc.target/mips/madd-7.c: Likewise.
* gcc.target/mips/madd-8.c: Likewise.
* gcc.target/mips/msub-5.c: Likewise.
* gcc.target/mips/msub-6.c: Likewise.
* gcc.target/mips/msub-7.c: Likewise.
* gcc.target/mips/msub-8.c: Likewise.
From-SVN: r141954
Richard Sandiford [Mon, 17 Nov 2008 22:23:04 +0000 (22:23 +0000)]
no-smartmips-ror-1.c: Use -march=mips32 instead of -march=mips32r2.
gcc/testsuite/
* gcc.target/mips/no-smartmips-ror-1.c: Use -march=mips32 instead
of -march=mips32r2.
From-SVN: r141953
Jack Howarth [Mon, 17 Nov 2008 21:02:28 +0000 (21:02 +0000)]
default_format_denormal_1.f90: Don't XFAIL darwin10 or later.
2008-11-17 Jack Howarth <howarth@bromo.med.uc.edu>
* gfortran.dg/default_format_denormal_1.f90: Don't XFAIL darwin10
or later.
From-SVN: r141950
Jakub Jelinek [Mon, 17 Nov 2008 20:58:52 +0000 (21:58 +0100)]
re PR middle-end/38140 (ice for C code with -O2)
PR middle-end/38140
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If
propagating x = &a into *x = b, add a cast if not useless
type conversion or don't optimize if another stmt would be
needed.
* gcc.dg/pr38140.c: New test.
From-SVN: r141949
Jack Howarth [Mon, 17 Nov 2008 19:39:54 +0000 (19:39 +0000)]
re PR testsuite/38099 (tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o-c_compat_y_tst.o execute failure)
2008-11-14 Jack Howarth <howarth@bromo.med.uc.edu>
PR testsuite/38099
* gcc.dg/compat/struct-layout-1_generate.c: Also use -no-mmx on
i?86/x86_64 darwin.
* g++.dg/compat/struct-layout-1_generate.c: Same.
From-SVN: r141948
Uros Bizjak [Mon, 17 Nov 2008 11:19:06 +0000 (12:19 +0100)]
re PR middle-end/37908 (atomic NAND op generate wrong code; __sync_nand_and_fetch, __sync_fetch_and_nand)
PR middle-end/37908
* optabs.c (expand_sync_operation): Properly handle NAND case
by calculating ~(t1 & val) instead of (~t1 & val).
* builtins.c (expand_builtin_sync_operation): Warn for changed
semantics in NAND builtins.
* c.opt (Wsync-nand): New warning option. Describe -Wsync-nand.
* doc/invoke.texi (Warning options): Add Wsync-nand.
* doc/extend.texi (Atomic Builtins) [__sync_fetch_and_nand]: Correct
__sync_fetch_and_nand builtin operation in the example. Add a note
about changed semantics in GCC 4.4.
[__sync_nand_and_fetch]: Correct __sync_nand_and_fetch builtin
operation in the example. Add a note about changed semantics in
GCC 4.4.
testsuite/ChangeLog:
PR middle-end/37908
* gcc.dg/pr37908.c: New test.
* gcc.dg/ia64-sync-1.c: Correct __sync_fetch_and_nand and
__sync_nand_and_fetch results. Add dg-message to look for the warning
about changed semantics of NAND builtin.
(init_si, init_di): Change init value for __sync_fetch_and_nand to -1.
(test_si, test_di): Change expected result of
__sync_nand_and_fetch to ~7.
* gcc.dg/ia64-sync-2.c: Correct __sync_fetch_and_nand and
__sync_nand_and_fetch results. Add dg-message to look for the warning
about changed semantics of NAND builtin.
(init_noret_si, init_noret_di): Change init value for
__sync_fetch_and_nand to -1.
(init_noret_si, init_noret_di): Change expected result of
__sync_nand_and_fetch to ~7.
* gcc.dg/sync-2.c: Correct __sync_fetch_and_nand and
__sync_nand_and_fetch results. Add dg-message to look for the warning
about changed semantics of NAND builtin.
(init_qi, init_qi): Change init value for __sync_fetch_and_nand to -1.
(init_hi, init_hi): Change expected result of
__sync_nand_and_fetch to ~7.
* gcc.dg/sync-3.c: Copy from sync-2.c instead of including
the c source file.
* gcc.c-torture/compile/sync-1.c: Add dg-message to look for the
warning about changed semantics of NAND builtin.
* gcc.c-torture/compile/sync-2.c: Ditto.
* gcc.c-torture/compile/sync-3.c: Ditto.
From-SVN: r141942
Jakub Jelinek [Mon, 17 Nov 2008 07:55:52 +0000 (08:55 +0100)]
re PR c++/36089 (Funny rejects valid with constant integral expression)
PR c++/36089
* init.c (constant_value_1): Handle TREE_LIST init.
* g++.dg/template/init8.C: New test.
From-SVN: r141941
GCC Administrator [Mon, 17 Nov 2008 00:16:53 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r141934
Mikael Morin [Sun, 16 Nov 2008 22:45:10 +0000 (23:45 +0100)]
re PR fortran/35681 (wrong result for vector subscripted array expression in MVBITS)
2008-11-16 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/35681
* dependency.c (gfc_check_argument_var_dependency): Add
elemental check flag. Issue a warning if we find a dependency
but don't generate a temporary. Add the case of an elemental
function call as actual argument to an elemental procedure.
Add the case of an operator expression as actual argument
to an elemental procedure.
(gfc_check_argument_dependency): Add elemental check flag.
Update calls to gfc_check_argument_var_dependency.
(gfc_check_fncall_dependency): Add elemental check flag.
Update call to gfc_check_argument_dependency.
* trans-stmt.c (gfc_trans_call): Make call to
gfc_conv_elemental_dependency unconditional, but with a flag
whether we should check dependencies between variables.
(gfc_conv_elemental_dependency): Add elemental check flag.
Update call to gfc_check_fncall_dependency.
* trans-expr.c (gfc_trans_arrayfunc_assign): Update call to
gfc_check_fncall_dependency.
* resolve.c (find_noncopying_intrinsics): Update call to
gfc_check_fncall_dependency.
* dependency.h (enum gfc_dep_check): New enum.
(gfc_check_fncall_dependency): Update prototype.
2008-11-16 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/35681
* gfortran.dg/elemental_dependency_1.f90: New test.
From-SVN: r141931
Jan Hubicka [Sun, 16 Nov 2008 22:31:58 +0000 (23:31 +0100)]
cgraph.c (cgraph_function_body_availability): Fix test of externally visible.
* cgraph.c (cgraph_function_body_availability): Fix test of externally
visible.
From-SVN: r141930
Joshua Kinard [Sun, 16 Nov 2008 21:00:12 +0000 (21:00 +0000)]
mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=r1[0246]000 to -mips4.
gcc/
2008-11-16 Joshua Kinard <kumba@gentoo.org>
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=r1[0246]000
to -mips4.
From-SVN: r141928
Mikael Morin [Sun, 16 Nov 2008 20:44:33 +0000 (21:44 +0100)]
re PR fortran/37992 (ICE while resolving charlen for rejected statements)
2008-11-16 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/37992
* gfortran.h (gfc_namespace): Added member old_cl_list,
backup of cl_list.
(gfc_free_charlen): Added prototype.
* symbol.c (gfc_free_charlen): New function.
(gfc_free_namespace): Use gfc_free_charlen.
* parse.c (next_statement): Backup gfc_current_ns->cl_list.
(reject_statement): Restore gfc_current_ns->cl_list.
Free cl_list's elements before dropping them.
2008-11-16 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/37992
* gfotran.dg/charlen_free_1.f90: New test.
From-SVN: r141927
Richard Sandiford [Sun, 16 Nov 2008 20:31:13 +0000 (20:31 +0000)]
re PR target/38052 (genautomata segfaults when -O2 is enabled)
gcc/
PR target/38052
* config/mips/mips.c (mips_cfun_call_saved_reg_p)
(mips_cfun_might_clobber_call_saved_reg_p): New functions,
split out from...
(mips_save_reg_p): ...here. Always consult TARGET_CALL_SAVED_GP
rather than call_really_used_regs when handling $gp.
From-SVN: r141926
Richard Sandiford [Sun, 16 Nov 2008 20:25:40 +0000 (20:25 +0000)]
re PR target/38052 (genautomata segfaults when -O2 is enabled)
gcc/
PR target/38052
* config/mips/mips.c (machine_function): Update the comment
above global_pointer.
(mips_global_pointer): Use INVALID_REGNUM rather than 0 to indicate
that a function doesn't need a global pointer.
(mips_current_loadgp_style): Update accordingly.
(mips_restore_gp): Likewise.
(mips_output_cplocal): Likewise.
(mips_expand_prologue): Likewise.
From-SVN: r141925
Eric Botcazou [Sun, 16 Nov 2008 17:05:34 +0000 (17:05 +0000)]
sparc.c (function_arg_vector_value): Remove 'base_mode' parameter.
* config/sparc/sparc.c (function_arg_vector_value): Remove 'base_mode'
parameter. Use DImode for computing the number of registers.
(function_arg): Adjust for above change.
(function_value): Likewise.
From-SVN: r141921