Jonathan Wakely [Sun, 11 Jan 2009 17:25:23 +0000 (17:25 +0000)]
regex (basic_regex::basic_regex): Use range constructor for _M_pattern.
* include/tr1_impl/regex (basic_regex::basic_regex): Use range
constructor for _M_pattern.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
string.cc: Test construction from different basic_string type.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
string.cc: Likewise.
Eric Botcazou [Sun, 11 Jan 2009 12:24:02 +0000 (12:24 +0000)]
decl.c (gnat_to_gnu_entity): Put the _Tag field before any discriminants in the field list.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
the _Tag field before any discriminants in the field list.
(components_to_record): Remove obsolete comment.
Andrew Pinski [Sat, 10 Jan 2009 11:48:06 +0000 (03:48 -0800)]
re PR c++/36695 (Value-initialization of reference type is allowed.)
PR c++/36695
* typeck2.c (build_functional_cast): Check for reference type and NULL
PARMS.
* g++.dg/ext/complex4.C: New test.
* g++.dg/ext/complex5.C: New test.
* g++.dg/init/reference1.C: New test.
* g++.dg/init/reference2.C: New test.
* g++.dg/init/reference3.C: New test.
Paul Thomas [Sat, 10 Jan 2009 00:11:18 +0000 (00:11 +0000)]
re PR fortran/38765 (ICE in check_host_association)
2009-01-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38765
* resolve.c (check_host_association): Use the symtree name to
search for a potential contained procedure, since this is the
name by which it would be referenced.
2009-01-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38765
* gfortran.dg/host_assoc_function_6.f90: New test.
Jakub Jelinek [Fri, 9 Jan 2009 17:12:40 +0000 (18:12 +0100)]
re PR target/38686 (Bootstrap fails on i686-pc-linux-gnu with --with-arch=pentium-m)
PR target/38686
PR target/38708
* config/i386/i386.c (override_options): Reject
-mstringop-strategy=rep_8byte with -m32.
(ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
to 1. Do count comparison against epilogue_size_needed at compile
time even when count_exp was constant forced into register. For
size_needed don't jump to epilogue, instead just avoid aligning
and invoke the body algorithm. If need_zero_guard, add zero guard
even if count is non-zero, but smaller than size_needed + number of
bytes that could be stored for alignment.
(ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
to 1. If need_zero_guard, add zero guard even if count is non-zero,
but smaller than size_needed + number of bytes that could be stored
for alignment. Compare size_needed with epilogue_size_needed instead
of desired_align - align, don't adjust size_needed, pass
epilogue_size_needed to the epilogue expanders.
* pa.c (last_address): Change to unsigned.
(update_total_code_bytes): Change argument to unsigned. Don't
check if insn addresses are set.
(pa_output_function_epilogue): Set last_address to UINT_MAX if insn
addresses are not set.
(pa_asm_output_mi_thunk): Handle wrap when updating last_address.
Jakub Jelinek [Thu, 8 Jan 2009 16:01:42 +0000 (17:01 +0100)]
re PR tree-optimization/37031 (ICE for h264ref in gather_interchange_stats with -ftree-loop-linear)
PR tree-optimization/37031
* lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
on parameter_set.
(build_access_matrix): Reserve correct size for AM_MATRIX vector,
allocate it using gc instead of heap, use VEC_quick_push instead of
VEC_safe_push.
* graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
instead of heap, use VEC_quick_push instead of VEC_safe_push.
* tree-data-ref.h (struct access_matrix): Change matrix to gc
allocated vector from heap allocated.
* lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
* tree-loop-linear.c (linear_transform_loops): Allocate nest
vector only after perfect_loop_nest_depth call.
* graphite.c (debug_value, copy_constraint,
swap_constraint_variables, scale_constraint_variable, ): New.
(get_lower_bound, get_upper_bound): Removed.
(graphite_trans_bb_strip_mine): Clean up this code that works
only for constant number of iterations. Fully copy upper and
lower bound constraints, not only the constant part of them.
* graphite.h (debug_value): Declared.
Co-Authored-By: Jan Sjodin <jan.sjodin@amd.com>
From-SVN: r143187
Ira Rosen [Thu, 8 Jan 2009 07:59:40 +0000 (07:59 +0000)]
re PR tree-optimization/37194 (Autovectorization of small constant iteration loop degrades performance)
PR tree-optimization/37194
* tree-vect-transform.c (vect_estimate_min_profitable_iters):
Don't add the cost of cost model guard in prologue to scalar
outside cost in case of known number of iterations.
Jakub Jelinek [Wed, 7 Jan 2009 22:49:29 +0000 (23:49 +0100)]
re PR libstdc++/38092 (libstdc++ doesn't build with GNU ld 2.19 and Sun as: no .symver support)
PR libstdc++/38092
* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New test.
* src/compatibility.cc: Don't use .symver directives if
_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE is not defined.
* config.h.in: Regenerated.
* configure: Likewise.
Uros Bizjak [Wed, 7 Jan 2009 21:56:32 +0000 (22:56 +0100)]
re PR target/38706 (../../../../src/libstdc++-v3/src/strstream.cc:419: internal compiler error: Segmentation fault)
PR target/38706
* config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
free_after_compilation when outputting a thunk.
(alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
Do not call free_after_compilation here.
testsuite/ChangeLog:
PR target/38706
* g++.dg/other/pr38706.C: New test.
Jason Merrill [Wed, 7 Jan 2009 20:43:01 +0000 (15:43 -0500)]
re PR c++/35297 (Compiling error with variadic template with fixed parameter with default type.)
PR c++/35297
PR c++/35477
PR c++/35784
PR c++/36846
PR c++/38276
* pt.c (check_default_tmpl_args): Don't complain about
out-of-order parameter packs in the enclosing class
or parameter packs after default args.
(coerce_template_parms): If we have more than one
parameter pack, don't flatten argument packs.
(template_args_equal): Handle argument packs.
(comp_template_args): Don't flatten argument packs.
(check_instantiated_arg): Split out from...
(check_instantiated_args): Here. Handle arg packs.
(convert_template_argument): Just check that nontype argument
packs have the right type.
* lib/target-supports-dg.exp (current_compiler_flags): New.
(check-flags): Use it; do not access dg-test local variables.
(dg-skip-if): Do not access dg-test local variables.
(dg-xfail-run-if): Ditto.
(dg-shouldfail): Ditto.
* gcc.test-framework/test-framework.exp
(check_effective_target_def_nocache): New.
* gcc.test-framework/test-framework.awk: Handle scan tests.
* gcc.test-framework/dg-do-run-xrif-nocache-exp-XF.c: New test.
* gcc.test-framework/dg-error-nocache-exp-P.c: New test.
* gcc.test-framework/dg-nocache-scanasm-exp-XF.c: New test.
* gcc.test-framework/dg-warning-nocache-exp-P.c: New test.
* gcc.test-framework/dg-nocache-sif-exp-P.c: New test.
* gcc.test-framework/dg-nocache-sif-exp-U.c: New test.
* gcc.test-framework/dg-nocache-xif-exp-P.c: New test.
* gcc.test-framework/dg-do-run-sft-nocache-exp-P.c: New test.
* gcc.test-framework/dg-nocache-xif-exp-XP.c: New test.
Jan Sjodin [Wed, 7 Jan 2009 15:53:03 +0000 (15:53 +0000)]
re PR middle-end/38492 ([graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity)
2009-01-07 Jan Sjodin <jan.sjodin@amd.com>
PR tree-optimization/38492
PR tree-optimization/38498
* tree-check.c (operator_is_linear, scev_is_linear_expression): New.
* tree-chrec.h (scev_is_linear_expression): Declared.
* graphite.c (graphite_cannot_represent_loop_niter): New.
(scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
(graphite_loop_normal_form): Use gcc_assert.
(scan_tree_for_params): Use CASE_CONVERT.
(phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
(build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
Use gcc_assert. Discard scops that contain unhandled cases.
(build_scop_conditions): Return a boolean status for unhandled cases.
(strip_mine_profitable_p): Print the loop number, not its depth.
(is_interchange_valid): Pass the depth of the loop nest, don't
recompute it wrongly.
(graphite_trans_bb_block): Same.
(graphite_trans_bb_block): Print tentative of loop blocking.
(graphite_trans_scop_block): Do not print that the loop has been
blocked.
(graphite_transform_loops): Do not handle scops that contain condition
scalar phi nodes.
* testsuite/gcc.dg/graphite/pr38500.c: Fixed warning as committed
in trunk.
* testsuite/gcc.dg/graphite/block-0.c: Update test.
* testsuite/gcc.dg/graphite/block-1.c: Same.
* testsuite/gcc.dg/graphite/block-2.c: Remove xfail and test for blocking.
* testsuite/gcc.dg/graphite/block-4.c: Remove test for strip mine.
* testsuite/gcc.dg/graphite/block-3.c: New.
* testsuite/gcc.dg/graphite/pr38498.c: New.
Thomas Koenig [Tue, 6 Jan 2009 23:03:18 +0000 (23:03 +0000)]
re PR fortran/38220 (C_LOC intrinsic non-pure and without explicit interface)
2009-01-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/38220
* interface.c (gfc_procedure_use): Don't warn about functions
from ISO_C_BINDING.
* symbol.c (generate_isocbinding_symbol): Mark c_loc and
c_funloc as pure.
2009-01-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/38220
* gfortran.dg/c_loc_pure_1.f90: New test.
2009-01-02 Andrew John Hughes <gnu_andrew@member.fsf.org>
* ChangeLog-2008: New file.
2009-01-02 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/text/MessageFormat.java:
(setLocale(Locale)): Integer format should use
NumberFormat.getIntegerInstance.
libjava/classpath/ChangeLog-2008
2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/text/MessageFormat.java:
(parse(String,ParsePosition)): Emulate behaviour
of Vector's setSize() which was being implicitly relied on.
2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/text/SimpleDateFormat.java:
Remove superfluous empty line introduced
in last commit.
2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/text/MessageFormat.java:
Convert variables to use generic types, use
CPStringBuilder in place of StringBuilder.
(Field()): Suppress warning due to only being used by
deserialization.
(scanFormat(String,int,CPStringBuilder,List,Locale)):
Use ArrayList instead of Vector as no synchronisation needed.
(parse(String,ParsePosition)): Likewise.
* java/text/NumberFormat.java:
(Field()): Suppress warning due to only being used by
deserialization.
* java/text/RuleBasedCollator.java:
Convert variables to use generic types.
(CollationElement): Make fields final.
(CollationSorter): Likewise.
(CollationSorter(int,String,int,boolean)): New constructor.
* java/text/SimpleDateFormat.java,
Convert variables to use generic types.
(applyPattern(String)): Clear list rather than creating a new instance.
2008-12-30 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/text/SimpleDateFormat.java:
(standardChars): Use standard characters from CLDR.
(RFC822_TIMEZONE_FIELD): Fixed to match new standard
characters.
2008-12-22 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/lang/String.java:
(byte[],int,int,String): Call new Charset method.
(stringToCharset(String)): Private method added to
handle exception conversion.
(byte[],int,int,Charset): Implemented.
(byte[], Charset): Likewise.
(getBytes(String)): Call new Charset method.
(getBytes(Charset)): Implemented.
2008-12-18 Andrew John Hughes <gnu_andrew@member.fsf.org>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c:
Include '\0' in the string.
2008-12-09 Andrew John Hughes <gnu_andrew@member.fsf.org>
PR classpath/38473:
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c:
(Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative):
Check that the glyph is an outline before calling
FT_Outline_Decompose.
2008-11-16 Andrew John Hughes <gnu_andrew@member.fsf.org>
* gnu/xml/transform/Bindings.java:
Add generics to collections.
2008-11-16 Andrew John Hughes <gnu_andrew@member.fsf.org>
* gnu/java/awt/peer/gtk/FreetypeGlyphVector.java (getKerning):
Return result in a float[], not a Point2D.
(performDefaultLayout): Call getKerning with a float[].
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
(getKerning): Return result in a float[], not a Point2D.
function.h (rtl_data): Add a dbr_scheduled_p field.
gcc/
* function.h (rtl_data): Add a dbr_scheduled_p field.
* reorg.c (dbr_schedule): Set it.
(gate_handle_delay_slots): Check it.
* config/mips/mips.c (mips_base_delayed_branch): Delete.
(mips_reorg): Check flag_delayed_branch instead of
mips_base_delayed_branch.
(mips_override_options): Don't set mips_base_delayed_branch
or flag_delayed_branch.
Jakub Jelinek [Tue, 6 Jan 2009 20:41:52 +0000 (21:41 +0100)]
re PR rtl-optimization/38722 (Revision 143027 causes ICE in find_decomposable_subregs)
PR rtl-optimization/38722
* combine.c (try_combine): Don't modify PATTERN (i3) and notes
too early, only set a flag and modify after last possible
undo_all point.
Janis Johnson [Tue, 6 Jan 2009 19:02:41 +0000 (19:02 +0000)]
re PR c/34252 (DEC32_MIN_EXP, DEC32_MAX_EXP don't match TR 24732)
gcc/
PR c/34252
* ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
* real.c (decimal_single_format): Correct values of emin and emax.
(decimal_double_format): Ditto.
(decimal_quad_format): Ditto.
* c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
computation of DECnn_MIN and DECnn_MAX for corrected values of
emin and emax. Define __DECnn_SUBNORMAL_MIN__ instead of
__DECnn_MIN__, and adjust its computation for the corrected value
of emin.
gcc/testsuite/
PR c/34252
* gcc.dg/dfp/decfloat-constants.c: Check for DECnn_SUBNORMAL_MIN
instead of DECnn_DEN. Support -DDBG to list lines that fail.
Jan Hubicka [Tue, 6 Jan 2009 15:08:44 +0000 (16:08 +0100)]
i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used for w64 ABI.
* i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used for w64 ABI.
* i386.c (struct ix86_frame): Add padding0 and nsseregs.
(ix86_nsaved_regs): Count only general purpose regs.
(ix86_nsaved_sseregs): New.
(ix86_compute_frame_layout): Update nsseregs; set preferred alignment
to 16 for w64; compute padding and size of sse reg save area.
(ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only general
purpose regs.
(ix86_emit_save_sse_regs_using_mov): New.
(ix86_expand_prologue): Save SSE regs if needed.
(ix86_emit_restore_regs_using_mov): Use only general purpose regs.
(ix86_emit_restore_sse_regs_using_mov): New.
(ix86_expand_epilogue): Save SSE regs if needed.
Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>
From-SVN: r143119
Jan Hubicka [Tue, 6 Jan 2009 15:04:25 +0000 (16:04 +0100)]
i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
* i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
* i386.c (init_cumulative_args): Disallow calls of MSABI functions when
accumulate outgoing args is off.
Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>
From-SVN: r143118
* ira.h (ira_conflicts_p): New external definition.
* ira-conflicts.c (build_conflict_bit_table): Do not build too big
table. Report this. Return result of building.
(ira_build_conflicts): Use ira_conflicts_p. Check result of
building conflict table.
* ira-color.c (fast_allocation): Use num instead of
ira_allocnos_num.
(ira_color): Use ira_conflicts_p.
* global.c: Include ira.h.
(pseudo_for_reload_consideration_p, build_insn_chain): Use
ira_conflicts_p.
* Makefile.in (global.o): Add ira.h.
* ira-build.c (mark_all_loops_for_removal,
propagate_some_info_from_allocno): New.
(remove_unnecessary_allocnos): Call
propagate_some_info_from_allocno.
(remove_low_level_allocnos): New.
(remove_unnecessary_regions): Add parameter. Call
mark_all_loops_for_removal and remove_low_level_allocnos. Pass
parameter to remove_unnecessary_regions.
(ira_build): Remove all regions but root if the conflict table was
not built. Update conflict hard regs for allocnos crossing calls.
* ira.c (ira_conflicts_p): New global.
(ira): Define and use ira_conflicts_p.