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.
From-SVN: r143188
2009-01-07 Sebastian Pop <sebastian.pop@amd.com>
Jan Sjodin <jan.sjodin@amd.com>
PR tree-optimization/38559
* testsuite/gcc.dg/graphite/pr38559.c: New.
* 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
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.
From-SVN: r143183
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.
From-SVN: r143167
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.
From-SVN: r143166
* 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.
From-SVN: r143165
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.
From-SVN: r143159
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.
From-SVN: r143140
2009-01-06 Andrew John Hughes <gnu_andrew@member.fsf.org>
Import GNU Classpath (libgcj-snapshot-20090102).
* libjava/classpath/lib/java/text/RuleBasedCollator$CollationSorter.class,
* libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class,
* libjava/classpath/lib/java/text/MessageFormat.class,
* libjava/classpath/lib/java/text/SimpleDateFormat.class,
* libjava/classpath/lib/java/text/NumberFormat.class,
* libjava/classpath/lib/java/text/RuleBasedCollator$CollationElement.class,
* libjava/classpath/lib/java/text/MessageFormat$Field.class,
* libjava/classpath/lib/java/text/RuleBasedCollator.class,
* libjava/classpath/lib/java/text/NumberFormat$Field.class,
* libjava/classpath/lib/gnu/xml/transform/Bindings.class,
* libjava/classpath/lib/gnu/java/locale/LocaleData.class,
* libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class,
* libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.class,
* libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h,
* libjava/java/text/MessageFormat.h,
* libjava/java/text/RuleBasedCollator$CollationSorter.h,
* libjava/java/text/RuleBasedCollator.h,
* libjava/java/text/SimpleDateFormat.h:
Regenerated.
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/javax/crypto/jce/key/SecretKeyGeneratorImpl.java:
(init(int,SecureRandom)): Improve exception message.
2008-11-06 Mark Wielaard <mark@klomp.org>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
(getKerning): Removed unused cls, method, values.
2008-11-05 Andrew Haley <aph@redhat.com>
* 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.
2008-11-05 Andrew Haley <aph@redhat.com>
* tools/Makefile.am (UPDATE_TOOLS_ZIP, CREATE_TOOLS_ZIP): Exclude
.svn direcories.
2008-10-23 David Edelsohn <edelsohn@gnu.org>
* native/fdlibm/fdlibm.h: Undef hz.
2008-10-20 Andrew John Hughes <gnu_andrew@member.fsf.org>
* m4/ac_prog_antlr.m4:
Remove redundant checks.
* tools/Makefile.am:
Use gjdoc_gendir when calling antlr.
2008-10-17 Robert Lougher <rob.lougher@gmail.com>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
(Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector):
Release 'fonts'.
2008-10-16 Tom Tromey <tromey@redhat.com>
* tools/gnu/classpath/tools/jar/WorkSet.java (initSet): Use
foreach. Change argument type.
(WorkSet): Change argument type.
* tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use
foreach.
* tools/gnu/classpath/tools/jar/Creator.java
(writeCommandLineEntries): Use foreach.
(getAllEntries): Likewise.
2008-10-15 Andrew John Hughes <gnu_andrew@member.fsf.org>
* configure.ac:
Remove superfluous AC_PROG_JAVA call.
From-SVN: r143139
2009-01-06 Thomas Schwinge <tschwinge@gnu.org>
* MAINTAINERS (OS Port Maintainers): Add myself for GNU/Hurd.
(Write After Approval): Remove myself.
From-SVN: r143138
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.
From-SVN: r143136
2009-01-06 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/38669
* gfortran.dg/elemental_dependency_3.f90:
Add the final tree dump cleanup.
From-SVN: r143134
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.
* gfortran.dg/pr38722.f90: New test.
From-SVN: r143132
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.
From-SVN: r143128
* gcc.dg/struct-ret-3.c (CHUNK_SIZE): New define. Use CHUNK_SIZE
instead of hardcoded number. Increase CHUNK_SIZE to 16384 for
large stack sizes.
From-SVN: r143123
* 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
2009-01-05 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/38583
* params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
* params.def (ira-max-conflict-table-size): New.
* doc/invoke.texi (ira-max-conflict-table-size): Decribe.
* 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.
* reload1.c (compute_use_by_pseudos, reload, count_pseudo,
count_spilled_pseudo, find_reg, alter_reg, finish_spills,
emit_input_reload_insns, delete_output_reload): Use
ira_conflicts_p.
From-SVN: r143112
PR c++/38698
* typeck2.c (process_init_constructor_union): Handle union with
no fields.
* mangle.c (write_expression): Remove mangling for zero-operand
casts.
From-SVN: r143111