Commit Graph

95792 Commits

Author SHA1 Message Date
Joseph Myers
e10822c2dc vstring.h (to_wstring(long long), [...]): Disable for _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
* include/ext/vstring.h (to_wstring(long long),
	to_wstring(unsigned long long), to_wstring(long double)): Disable
	for _GLIBCXX_HAVE_BROKEN_VSWPRINTF.

From-SVN: r151824
2009-09-18 00:53:28 +01:00
Andrew Pinski
66be89f022 re PR c++/39365 (++ operator with volatile bool increments)
2009-09-17  Andrew Pinski  <pinskia@gcc.gnu.org>

        PR c++/39365
        * typeck.c (cp_build_unary_op): Check TREE_CODE for bools instead of
        using same_type_p.
        (convert_for_assignment): Likewise.
        * cvt.c (type_promotes_to): Likewise.

2009-09-17  Andrew Pinski  <pinskia@gcc.gnu.org>

        PR c++/39365
        * g++.dg/expr/bool3.C: New test.
        * g++.dg/expr/bool4.C: New test.

From-SVN: r151823
2009-09-17 16:03:55 -07:00
Janis Johnson
695a8e6210 dfp-dbg.h: Define EXTERN.
* gcc/testsuite/gcc.dg/dfp/dfp-dbg.h: Define EXTERN.
	* gcc/testsuite/gcc.dg/dfp/signbit-2.c: Use it.
	* gcc/testsuite/gcc.dg/dfp/func-vararg-alternate.h: Change two
	arguments to unsigned int.
	* gcc/testsuite/gcc.dg/dfp/convert-bfp-10.c: Don't include float.h.
	* gcc/testsuite/gcc.dg/dfp/convert-bfp-fold.c: Include dfp-dbg.h.
	* gcc/testsuite/gcc.dg/dfp/convert-dfp-fold.c: Ditto
	* gcc/testsuite/gcc.dg/dfp/convert-int-max-fold.c: Ditto.
	* gcc/testsuite/gcc.dg/dfp/operator-arith-fold.c: Ditto.
	* gcc/testsuite/gcc.dg/dfp/pr39986.c: Ditto.
	* gcc/testsuite/gcc.dg/dfp/usual-arith-conv-const.c: Ditto.
	* gcc/testsuite/gcc.dg/dfp/pr31385.c: Use mode in typedef, not C type.
	* gcc/testsuite/gcc.dg/dfp/pr35620.c: Define typedef for C++.
	* gcc/testsuite/gcc.dg/dfp/convert-int.c: Define BOOL for C++.
	* gcc/testsuite/gcc.dg/dfp/convert-int-fold.c: Ditto.

From-SVN: r151821
2009-09-17 21:41:38 +00:00
Loren J. Rittle
987ce5575c PR testsuite/32843 (strikes again)
2009-09-17  Loren J. Rittle  <ljrittle@acm.org>

	PR testsuite/32843 (strikes again)
	* src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
	enable proper extension on char and short.

From-SVN: r151819
2009-09-17 20:54:56 +00:00
Jakub Jelinek
591a849566 c-decl.c (finish_struct): Adjust DECL_SOURCE_LOCATION of TYPE_STUB_DECL.
* c-decl.c (finish_struct): Adjust DECL_SOURCE_LOCATION of
	TYPE_STUB_DECL.

	* gcc.dg/debug/dwarf2/struct-loc1.c: New test.

From-SVN: r151816
2009-09-17 22:31:54 +02:00
Alexandre Oliva
417b30235b dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and DW_OP_implicit_value even without dwarf_version 4.
* dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and
	DW_OP_implicit_value even without dwarf_version 4.

From-SVN: r151815
2009-09-17 22:29:56 +02:00
Jan Hubicka
e7f373fa69 dwarf2out.c: Include tree-pass.h and gimple.h.
* dwarf2out.c: Include tree-pass.h and gimple.h.
	(loc_list_plus_const): New function.
	(loc_descriptor_from_tree_1): Rename to ...
	(loc_descriptor_from_tree): ... remove original.
	(loc_list_from_tree): New function.
	(add_AT_location_description): Accept location list.
	(tls_mem_loc_descriptor): Update call of loc_descriptor_from_tree.
	(concatn_mem_loc_descriptor): Remove.
	(mem_loc_descriptor): Handle CONCAT/CONCATN and VAR_LOCATION by
	returning NULL.
	(secname_for_decl): Move up.
	(hidden_reference_p): New function; break out from ...
	(loc_by_refernece): ... here; move up.
	(dw_loc_list): New function.
	(single_element_loc_list): New function.
	(single_element_loc_list_p): New function.
	(add_loc_descr_to_each): New function.
	(add_loc_list): New function.
	(loc_descr_from_tree): Make wraper of loc_list_from_tree.
	(loc_list_from_tree): Reroganized from loc_descr_from_tree;
	add diagnostics why expansion failed.
	(add_location_or_const_value_attribute): Support location lists.
	(add_bound_info): Likewise.
	(descr_info_loc): Update call of loc_descriptor_from_tree.
	(gen_variable_die): Work on location lists.
	* final.c (pass_final): Add dump file.
	* Makefile.in (dwarf2out.o): Add new dependencies.

From-SVN: r151807
2009-09-17 17:27:00 +00:00
Janis Johnson
d2da4af2c7 re PR c/41049 (conversion from integer to decimal float loses trailing zeros)
gcc/
	PR c/41049
	* real.c decimal_from_integer, decimal_integer_string): New.
	(real_from_integer): Use them as special case for decimal float.
	* config/dfp-bit.c (_si_to_sd, _usi_to_sd): Use default rounding.
	(_di_to_sd, _di_to_dd, _di_to_td, _udi_to_sd, _udi_to_dd, _udi_to_td):
	Do not append zero after the decimal point in string to convert.
gcc/testsuite/
	PR c/41049
	* dfp/pr41049.c: New test.

From-SVN: r151806
2009-09-17 17:07:24 +00:00
H.J. Lu
51a0d6aa77 re PR testsuite/41385 (Many regressions on trunk)
2009-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/41385
	* gcc.dg/dfp/dfp.exp: Properly save DEFAULT_CFLAGS.

From-SVN: r151803
2009-09-17 06:36:06 -07:00
Alexander Monakov
98f3eb1f98 graphite-sese-to-poly.c (pdr_add_data_dimensions): Add bounds only for ARRAY_REFs.
2009-09-17  Alexander Monakov  <amonakov@ispras.ru>

gcc:
	* graphite-sese-to-poly.c (pdr_add_data_dimensions): Add bounds only
	for ARRAY_REFs.  Use array_ref_{low,up}_bound to determine bounds.

libgomp:
	* testsuite/libgomp.graphite/bounds.c: New test.

From-SVN: r151802
2009-09-17 17:33:37 +04:00
Martin Jambor
07ffa034dd common.opt (fipa-sra): New switch.
2009-09-17  Martin Jambor  <mjambor@suse.cz>

	* common.opt (fipa-sra): New switch.
	* opts.c (decode_options): Turn flag_ipa_sra on for opt2.
	* timevar.def (TV_IPA_SRA): New timevar.
	* params.def (ipa-sra-ptr-growth-factor): New parameter.
	* doc/invoke.texi: Document -fipa-sra and ipa-sra-ptr-growth-factor.
	* tree-sra.c: Include cgraph.c.
	(enum sra_mode): Added SRA_MODE_EARLY_IPA.
	(struct access): Added fields stmt, grp_maybe_modified, grp_scalar_ptr
	and grp_not_necessarilly_dereferenced.
	(func_param_count): New variable.
	(encountered_apply_args): New variable.
	(bb_dereferences): New variable.
	(final_bbs): New variable.
	(no_accesses_representant): New variable.
	(no_accesses_p): New function.
	(dump_access): Dump the new fields.
	(sra_initialize): Set encountered_apply_args to false.
	(get_ssa_base_param): New function.
	(mark_parm_dereference): New function.
	(create_access): Caring for INIDRECT_REFs and different handling of
	varialble length accesses in early IPA SRA.  Store the stmt - a new
	parameter - to the new access.
	(build_access_from_expr_1): New parameter stmt, passed to
	create_access.  Handle INDIRECT_REFs.
	(build_access_from_expr): Pass the current statement to
	build_access_from_expr_1.
	(disqualify_ops_if_throwing_stmt): Trigger only in intraprocedural
	passes.
	(build_accesses_from_assign): Pass the current statement to
	build_access_from_expr_1.  Do not create assign links in IPA-SRA.
	(scan_function): Call handle_ssa_defs on phi nodes.  Set bits in
	final_bbs when necessary.  Check for calls to __builtin_apply_args.
	Fixup EH info if anythng was changed.
	(is_unused_scalar_param): New function.
	(ptr_parm_has_direct_uses): New function.
	(find_param_candidates): New function.
	(mark_maybe_modified): New function.
	(analyze_modified_params): New function.
	(propagate_dereference_distances): New function.
	(dump_dereferences_table): New function.
	(analyze_caller_dereference_legality): New function.
	(unmodified_by_ref_scalar_representative): New function.
	(splice_param_accesses): New function.
	(decide_one_param_reduction): New function.
	(enum ipa_splicing_result): New type.
	(splice_all_param_accesses): New function.
	(get_param_index): New function.
	(turn_representatives_into_adjustments): New function.
	(analyze_all_param_acesses): New function.
	(get_replaced_param_substitute): New function.
	(get_adjustment_for_base): New function.
	(replace_removed_params_ssa_names): New function.
	(sra_ipa_reset_debug_stmts): New function.
	(sra_ipa_modify_expr): New function.
	(sra_ipa_modify_assign): New function.
	(convert_callers): New function.
	(modify_function): New function.
	(ipa_sra_preliminary_function_checks): New function.
	(ipa_early_sra): New function.
	(ipa_early_sra_gate): New function.
	(pass_early_ipa_sra): New variable.
	* Makefile.in (tree-sra.o): Add cgraph.h to dependencies.
	
	Testsuite:

	* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not run IPA-SRA.
	* gcc.dg/ipa/ipa-sra-1.c: New test.
	* gcc.dg/ipa/ipa-sra-2.c: New test.
	* gcc.dg/ipa/ipa-sra-3.c: New test.
	* gcc.dg/ipa/ipa-sra-4.c: New test.
	* gcc.dg/ipa/ipa-sra-5.c: New test.
	* gcc.c-torture/execute/ipa-sra-1.c: New test.
	* gcc.c-torture/execute/ipa-sra-2.c: New test.

From-SVN: r151800
2009-09-17 13:35:38 +02:00
Michael Matz
040c6d51da re PR middle-end/41347 (ICE with -O3 or '-O2 -finline-functions')
PR middle-end/41347
	* tree.c (build_type_attribute_qual_variant): Export.
	* tree.h (build_type_attribute_qual_variant): Declare.
	* tree-inline.c (remap_type_1): Use it to build variants with
	the original qualifiers and attributes.

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

From-SVN: r151799
2009-09-17 11:11:58 +00:00
Bob Duff
0714aafa1f g-socket.ads: Document the fact that Close_Selector has no effect on a closed selector.
2009-09-17  Bob Duff  <duff@adacore.com>

	* g-socket.ads: Document the fact that Close_Selector has no effect on
	a closed selector.
	* g-socket.adb: Raise an exception when a Selector that should be open
	is closed.
	(Check_Selector): Declare RSig as a constant rather than a renames,
	less confusing.

From-SVN: r151798
2009-09-17 12:58:39 +02:00
Arnaud Charlet
67efd80a55 Minor reformatting.
From-SVN: r151797
2009-09-17 12:54:32 +02:00
Robert Dewar
3fc5d116bc exp_ch9.adb, [...]: Minor reformatting
2009-09-17  Robert Dewar  <dewar@adacore.com>

	* exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
	prj-ext.adb: Minor reformatting

From-SVN: r151796
2009-09-17 12:54:01 +02:00
Arnaud Charlet
1c6b973ab5 [multiple changes]
2009-09-17  Emmanuel Briot  <briot@adacore.com>

	* prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
	spec.
	(Do_Autoconf): If the object directory does not exists, create auto.cgpr
	in a temporary directory instead

2009-09-17  Bob Duff  <duff@adacore.com>

	* a-dynpri.adb (Set_Priority): Don't do anything if the task is already
	terminated.
	(Get_Priority): Correct message for "terminated" case -- it said "null".

2009-09-17  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb: Minor reformatting

From-SVN: r151795
2009-09-17 12:50:49 +02:00
Emmanuel Briot
52545f22b4 2009-09-17 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
	switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
	(Project_Node_Tree_Data.Project_Path): New field.

	* prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message

From-SVN: r151794
2009-09-17 12:46:35 +02:00
Emmanuel Briot
d9b4a5d344 prj-ext.adb, [...] (Is_External_Assignment): Remove duplicate code.
2009-09-17  Emmanuel Briot  <briot@adacore.com>

	* prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
	Remove duplicate code.
	(Prj.Ext): Fix memory leak
	(Check): Now allow the syntax "-Xfoo=" to set an empty value to the
	variable. This was previously allowed in the code in
	Is_External_Assignment, and some tests rely on it

From-SVN: r151793
2009-09-17 12:41:33 +02:00
Arnaud Charlet
daa7242135 [multiple changes]
2009-09-17  Bob Duff  <duff@adacore.com>

	* gnat_rm.texi, s-oscons-tmplt.c: Minor typo

2009-09-17  Emmanuel Briot  <briot@adacore.com>

	* gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
	makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
	prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
	prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
	Scenario variables are now specific to each project tree loaded in
	memory.
	Code clean ups.

2009-09-17  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_DT): Remove wrong line of code that was
	undocumented and probably added by mistake.

From-SVN: r151792
2009-09-17 12:38:31 +02:00
Johannes Singler
15ac3c72db algobase.h: Replace tabs by spaces; correct line breaks.
2009-09-17  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algobase.h: Replace tabs by spaces;
        correct line breaks.
        * include/parallel/algorithmfwd.h: Likewise.
        * include/parallel/balanced_quicksort.h: Likewise.
        * include/parallel/base.h: Likewise.
        * include/parallel/checkers.h: Likewise.
        * include/parallel/compatibility.h: Likewise.
        * include/parallel/equally_split.h: Likewise.
        * include/parallel/find.h: Likewise.
        * include/parallel/for_each.h: Likewise.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/iterator.h: Likewise.
        * include/parallel/list_partition.h: Likewise.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/merge.h: Likewise.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/numeric: Likewise.
        * include/parallel/numericfwd.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/omp_loop_static.h: Likewise.
        * include/parallel/par_loop.h: Likewise.
        * include/parallel/partial_sum.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/queue.h: Likewise.
        * include/parallel/quicksort.h: Likewise.
        * include/parallel/random_number.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/search.h: Likewise.
        * include/parallel/set_operations.h: Likewise.
        * include/parallel/settings.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/types.h: Likewise.
        * include/parallel/unique_copy.h: Likewise.
        * include/parallel/workstealing.h: Likewise.
        * include/parallel/algo.h: Likewise;
        shorten _ForwardIterator to _FIterator.
        * include/parallel/find_selectors.h: Likewise.

From-SVN: r151791
2009-09-17 08:42:39 +00:00
Andreas Krebbel
10e154dfd7 cfglayout.c (fixup_reorder_chain): Accept conditional jumps without a fallthrough edge.
2009-09-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* cfglayout.c (fixup_reorder_chain): Accept conditional jumps
	without a fallthrough edge.

2009-09-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.c-torture/compile/20090917-1.c: New testcase.

From-SVN: r151790
2009-09-17 07:52:40 +00:00
GCC Administrator
bbc1e3ba53 Daily bump.
From-SVN: r151785
2009-09-17 00:16:57 +00:00
DJ Delorie
402f2db8e6 m32c.c (m32c_emit_epilogue): Check for R8C or M16C chip and ignore the "fast_interrupt" attribute if so.
* config/m32c/m32c.c (m32c_emit_epilogue): Check for R8C or M16C
chip and ignore the "fast_interrupt" attribute if so.

From-SVN: r151780
2009-09-16 18:18:30 -04:00
Jonathan Yong
ee3422cf45 natVMSecureRandomWin32.cc: Correct UnsupportedOperationException namespace.
2009-09-16  Jonathan Yong  <jon_y@users.sourceforge.net>

	* gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: Correct
	UnsupportedOperationException namespace.

From-SVN: r151775
2009-09-16 21:38:46 +00:00
Richard Henderson
27b4689f0c re PR middle-end/41360 (Revision 151696 breaks gcc.c-torture/compile/builtin_unreachable-1.c)
PR middle-end/41360
        * cfgbuild.c (find_bb_boundaries): Really re-instate 2009-09-02
        barrier fix.

From-SVN: r151771
2009-09-16 13:12:35 -07:00
Uros Bizjak
85a97acc59 default_format_denormal_2.f90: Add ieee options.
* gfortran.dg/default_format_denormal_2.f90: Add ieee options.
	* gfortran.dg/default_format_denormal_1.f90: Ditto.  Remove
	alpha*-*-* target from XFAIL list.

From-SVN: r151767
2009-09-16 19:42:01 +02:00
Richard Henderson
430d10f4aa Fix out-of-date comment.
From-SVN: r151765
2009-09-16 09:39:17 -07:00
Janis Johnson
1d5ba98c2a dfp.exp: Use appropriate default options.
* gcc.dg/dfp/dfp.exp: Use appropriate default options.
	* gcc.dg/dfp/dfp-dbg.h: New; define FAILURE, FINISH.
	* gcc.dg/dfp/cast-bad.c: Use default options.
	* gcc.dg/dfp/compare-rel-const.c: Ditto.
	* gcc.dg/dfp/composite-type.c: Ditto.
	* gcc.dg/dfp/constants.c: Ditto.
	* gcc.dg/dfp/constants-hex.c: Ditto.
	* gcc.dg/dfp/constants-pedantic.c: Ditto.
	* gcc.dg/dfp/convert-bfp-fold.c: Ditto.
	* gcc.dg/dfp/convert-dfp-fold.c: Ditto.
	* gcc.dg/dfp/convert-int-max-fold.c: Ditto.
	* gcc.dg/dfp/ctypes.c: Ditto.
	* gcc.dg/dfp/ddmode-ice.c: Ditto.
	* gcc.dg/dfp/dec-eval-method-2.c: Ditto.
	* gcc.dg/dfp/float-constant-double.c: Ditto.
	* gcc.dg/dfp/keywords-pedantic.c: Ditto.
	* gcc.dg/dfp/keywords-reserved.c: Ditto.
	* gcc.dg/dfp/modes.c: Ditto.
	* gcc.dg/dfp/operator-bitwise.c: Ditto.
	* gcc.dg/dfp/pr31344.c: Ditto.
	* gcc.dg/dfp/pr31385.c: Ditto.
	* gcc.dg/dfp/pr33466.c: Ditto.
	* gcc.dg/dfp/pr35620.c: Ditto.
	* gcc.dg/dfp/pr37435.c: Ditto.
	* gcc.dg/dfp/pr39986.c: Ditto.
	* gcc.dg/dfp/pragma-float-const-decimal64-1.c: Ditto.
	* gcc.dg/dfp/pragma-float-const-decimal64-2.c: Ditto.
	* gcc.dg/dfp/pragma-float-const-decimal64-3.c: Ditto.
	* gcc.dg/dfp/pragma-float-const-decimal64-4.c: Ditto.
	* gcc.dg/dfp/pragma-float-const-decimal64-7.c: Ditto.
	* gcc.dg/dfp/pragma-float-const-decimal64-8.c: Ditto.
	* gcc.dg/dfp/typespec.c: Ditto.
	* gcc.dg/dfp/usual-arith-conv-bad.c: Ditto.
	* gcc.dg/dfp/usual-arith-conv-bad-2.c: Ditto.
	* gcc.dg/dfp/usual-arith-conv-const.c: Ditto.
	* gcc.dg/dfp/Wbad-function-cast-1.c: Ditto.
	* gcc.dg/dfp/Wtraditional-conversion-2.c: Ditto.
	* gcc.dg/dfp/wtr-conversion-1.c: Ditto.
	* gcc.dg/dfp/compare-eq.h: Define custom debug macros.
	* gcc.dg/dfp/compare-rel.h: Ditto.
	* gcc.dg/dfp/compare-special.h: Ditto.
	* gcc.dg/dfp/convert.h: Ditto.
	* gcc.dg/dfp/fe-check.h: Ditto.
	* gcc.dg/dfp/call-by-value.c: Use default options and
	  debug macros.
	* gcc.dg/dfp/cast.c: Ditto.
	* gcc.dg/dfp/compare-eq-const.c: Ditto.
	* gcc.dg/dfp/compare-eq-d32.c: Ditto.
	* gcc.dg/dfp/compare-eq-d64.c: Ditto.
	* gcc.dg/dfp/compare-eq-d128.c: Ditto.
	* gcc.dg/dfp/compare-eq-dfp.c: Ditto.
	* gcc.dg/dfp/compare-rel-d32.c: Ditto.
	* gcc.dg/dfp/compare-rel-d64.c: Ditto.
	* gcc.dg/dfp/compare-rel-d128.c: Ditto.
	* gcc.dg/dfp/compare-rel-dfp.c: Ditto.
	* gcc.dg/dfp/compare-special-d32.c: Ditto.
	* gcc.dg/dfp/compare-special-d64.c: Ditto.
	* gcc.dg/dfp/compare-special-d128.c: Ditto.
	* gcc.dg/dfp/constants-zero.c: Ditto.
	* gcc.dg/dfp/convert-bfp-2.c: Ditto.
	* gcc.dg/dfp/convert-bfp-3.c: Ditto.
	* gcc.dg/dfp/convert-bfp-4.c: Ditto.
	* gcc.dg/dfp/convert-bfp-5.c: Ditto.
	* gcc.dg/dfp/convert-bfp-6.c: Ditto.
	* gcc.dg/dfp/convert-bfp-7.c: Ditto.
	* gcc.dg/dfp/convert-bfp-8.c: Ditto.
	* gcc.dg/dfp/convert-bfp-9.c: Ditto.
	* gcc.dg/dfp/convert-bfp-10.c: Ditto.
	* gcc.dg/dfp/convert-bfp-11.c: Ditto.
	* gcc.dg/dfp/convert-bfp-12.c: Ditto.
	* gcc.dg/dfp/convert-bfp-13.c: Ditto.
	* gcc.dg/dfp/convert-bfp-14.c: Ditto.
	* gcc.dg/dfp/convert-bfp.c: Ditto.
	* gcc.dg/dfp/convert-complex.c: Ditto.
	* gcc.dg/dfp/convert-dfp.c: Ditto.
	* gcc.dg/dfp/convert-dfp-fold-2.c: Ditto.
	* gcc.dg/dfp/convert-dfp-round.c: Ditto.
	* gcc.dg/dfp/convert-int.c: Ditto.
	* gcc.dg/dfp/convert-int-fold.c: Ditto.
	* gcc.dg/dfp/convert-int-max.c: Ditto.
	* gcc.dg/dfp/convert-int-saturate.c: Ditto.
	* gcc.dg/dfp/decfloat-constants.c: Ditto.
	* gcc.dg/dfp/fe-binop.c: Ditto.
	* gcc.dg/dfp/fe-convert-1.c: Ditto.
	* gcc.dg/dfp/fe-convert-2.c: Ditto.
	* gcc.dg/dfp/fe-convert-3.c: Ditto.
	* gcc.dg/dfp/func-array.c: Ditto.
	* gcc.dg/dfp/func-deref.c: Ditto.
	* gcc.dg/dfp/func-mixed.c: Ditto.
	* gcc.dg/dfp/func-pointer.c: Ditto.
	* gcc.dg/dfp/func-scalar.c: Ditto.
	* gcc.dg/dfp/func-struct.c: Ditto.
	* gcc.dg/dfp/func-vararg-alternate.h: Ditto.
	* gcc.dg/dfp/func-vararg-alternate-d32.c: Ditto.
	* gcc.dg/dfp/func-vararg-alternate-d64.c: Ditto.
	* gcc.dg/dfp/func-vararg-alternate-d128.c: Ditto.
	* gcc.dg/dfp/func-vararg-alternate-d128-2.c: Ditto.
	* gcc.dg/dfp/func-vararg-dfp.c: Ditto.
	* gcc.dg/dfp/func-vararg-mixed.c: Ditto.
	* gcc.dg/dfp/func-vararg-mixed-2.c: Ditto.
	* gcc.dg/dfp/func-vararg-size0.c: Ditto.
	* gcc.dg/dfp/inf-1.c: Ditto.
	* gcc.dg/dfp/loop-index.c: Ditto.
	* gcc.dg/dfp/nan-1.c: Ditto.
	* gcc.dg/dfp/nan-2.c: Ditto.
	* gcc.dg/dfp/operator-arith-fold.c: Ditto.
	* gcc.dg/dfp/operator-assignment.c: Ditto.
	* gcc.dg/dfp/operator-comma.c: Ditto.
	* gcc.dg/dfp/operator-cond.c: Ditto.
	* gcc.dg/dfp/operator-logical.c: Ditto.
	* gcc.dg/dfp/operator-unary.c: Ditto.
	* gcc.dg/dfp/pr36800.c: Ditto.
	* gcc.dg/dfp/pr39034.c: Ditto.
	* gcc.dg/dfp/pr39035.c: Ditto.
	* gcc.dg/dfp/pr39902.c: Ditto.
	* gcc.dg/dfp/signbit-1.c: Ditto.
	* gcc.dg/dfp/signbit-2.c: Ditto.
	* gcc.dg/dfp/struct-layout-1.c: Ditto.
	* gcc.dg/dfp/union-init.c: Ditto.
	* gcc.dg/dfp/usual-arith-conv.c: Ditto.

From-SVN: r151764
2009-09-16 16:38:49 +00:00
Richard Henderson
fe663f4e45 re PR target/41246 (should "sorry" when regparm=3 and nested functions are encountered)
PR target/41246
        * tree-cfg.c (verify_gimple_call): Validate that
        * gimple_call_chain
        is set only if DECL_NO_STATIC_CHAIN is unset.
        * tree-nested.c (iter_nestinfo_start, iter_nestinfo_next): New.
        (FOR_EACH_NEST_INFO): New.
        (walk_all_functions): Use it.
        (finalize_nesting_tree): Likewise.
        (unnest_nesting_tree): Likewise.
        (free_nesting_tree): Use iter_nestinfo_start, iter_nestinfo_next.
        (get_chain_decl, get_chain_field): Reset DECL_NO_STATIC_CHAIN.
        (convert_gimple_call): Early out if gimple_call_chain already set.
        (convert_all_function_calls): Iterate until no new functions
        require a static chain.
        (finalize_nesting_tree_1): Assert DECL_NO_STATIC_CHAIN is unset
        when building a trampoline.  Use dump_function_to_file instead
        of dump_function.
        (lower_nested_functions): Open dump_file.  Validate that decls
        that have DECL_NO_STATIC_CHAIN from the front end don't have that
        bit reset by this pass.

From-SVN: r151762
2009-09-16 09:26:55 -07:00
Michael Matz
9b87db3c0f re PR fortran/41212 (miscompilation at -O2)
PR fortran/41212
	* tree.h (struct tree_decl_common): Add decl_restricted_flag,
	shorten decl_common_unused.
	(DECL_RESTRICTED_P): New accessor.
	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use it
	to disambiguate marked decls and restrict pointers.

fortran/
	* trans.h (struct lang_type): Remove nontarget_type member.
	* trans.c (gfc_add_modify): Don't access it.
	* trans-decl.c (gfc_finish_var_decl): Don't allocate and set it,
	instead set DECL_RESTRICTED_P on affected decls.

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

From-SVN: r151761
2009-09-16 16:12:18 +00:00
Richard Henderson
798763075f re PR middle-end/41360 (Revision 151696 breaks gcc.c-torture/compile/builtin_unreachable-1.c)
PR middle-end/41360
        * cfgbuild.c (find_bb_boundaries): Re-instate 2009-09-02 barrier fix.

From-SVN: r151759
2009-09-16 08:04:06 -07:00
Eric Botcazou
20faffe76f trans.c (Attribute_to_gnu): Strip conversions between original and packable version of types from the...
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
	conversions between original and packable version of types from
	the expression.

From-SVN: r151757
2009-09-16 15:02:25 +00:00
Johannes Singler
721641c415 base.h: Correct some comments accidentally changed during uglification.
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h: Correct some comments accidentally changed
        during uglification.
        * include/parallel/find.h: Likewise.
        * include/parallel/find_selectors.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/partial_sum.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/queue.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/settings.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/tags.h: Likewise.
        * include/parallel/workstealing.h: Likewise.

From-SVN: r151756
2009-09-16 14:53:58 +00:00
Eric Botcazou
839f286453 decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
* gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
	If a padding type was made for the field, declare it.
	(components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
	to gnat_to_gnu_field and call to self.
	(gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
	<E_Array_Subtype>: Likewise.
	Adjust calls to gnat_to_gnu_field and components_to_record.

From-SVN: r151755
2009-09-16 14:05:47 +00:00
Johannes Singler
54384f7f0a base.h (_EqualFromLess): Correct uglification of member variables and method arguments.
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h (_EqualFromLess):
        Correct uglification of member variables and method arguments.
        * include/parallel/balanced_quicksort.h (_QSBThreadLocal): Likewise.
        * include/parallel/find_selectors.h (__find_first_of_selector):
        Likewise.
        * include/parallel/iterator.h (_IteratorTriple): Likewise.
        * include/parallel/multiseq_selection.h
        (_Lexicographic, _LexicographicReverse): Likewise.
        * include/parallel/multiway_mergesort.h (_Piece, _PMWMSSortingData):
        Likewise.
        * include/parallel/random_number.h (_RandomNumber): Likewise.
        * include/parallel/random_shuffle.h (_DRandomShufflingGlobalData):
        Likewise.
        * include/parallel/set_operations.h (__symmetric_difference_func,
        __difference_func, __intersection_func, __union_func,
        parallel_set_union, parallel_set_intersection, parallel_set_difference,
        parallel_set_symmetric_difference): Likewise.
        * include/parallel/tags.h (parallel_tag): Likewise.
        * include/parallel/workstealing.h (_Job): Likewise.
        * include/parallel/multiway_merge.h
        (__multiway_merge_k_variant_sentinel_switch:operator())
        correct uglification of _*LoserTree*.
        * include/parallel/losertree.h (_*LoserTree*): Likewise; correct
        uglification of member variables and method arguments.
        * include/parallel/par_loop.h: Correct uglification of finish_iterator.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/algo.h: Likewise; uglify c_rand_number.

From-SVN: r151754
2009-09-16 13:50:17 +00:00
Jakub Jelinek
e038c37bb9 integrate.c (set_block_abstract_flags): Call set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs.
* integrate.c (set_block_abstract_flags): Call
	set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs.

From-SVN: r151753
2009-09-16 15:35:23 +02:00
Arnaud Charlet
4928d38f15 Minor reformatting.
From-SVN: r151751
2009-09-16 14:41:04 +02:00
Arnaud Charlet
c471e2dada [multiple changes]
2009-09-16  Robert Dewar  <dewar@adacore.com>

	* prj-nmsc.adb: Minor reformatting

2009-09-16  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
	expression is a by-reference type (tagged or inherently limited)
	introduce an access type to capture references to the values of each
	branch of the conditional.

2009-09-16  Emmanuel Briot  <briot@adacore.com>

	* prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
	(Project_Name_And_Node.Display_Name): new field
	The display name of a project (as written in the .gpr file) is now
	computed when the project file itself is parsed, not when it is
	processed.

From-SVN: r151750
2009-09-16 14:40:23 +02:00
Arnaud Charlet
75a6483398 [multiple changes]
2009-09-16  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
	intrinsics untouched (to be expanded later on by gigi) if an external
	name has been specified.
	(Freeze_Entity): Do not generate a default external name for
	imported subprograms with convention Intrinsic (so that the above code
	can identify the case where an external name has been explicitly
	provided).

	* s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
	replaced by something else due to an existing #define clause.

2009-09-16  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
	Parameter_Association node, created for the extra actual generated for
	an access parameter of a function that dispatches on result, to prevent
	double generation of such actuals when the call is rewritten is a
	dispatching call.
	* exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
	* exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
	that carry this flag when rewriting the original call as a dispatching
	call, after propagating the controlling tag.

2009-09-16  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
	in the source data.
	(Check_File): New parameter Source_Dir_Rank, to check if a duplicate
	source is allowed.
	(Find_Source_Dirs): New parameter Rank to be recorded with the source
	directories.
	(Search_Directories): Call Check_File with the rank of the directory
	* prj.adb (Project_Empty): Add new component Source_Dir_Ranks
	(Free): Free also Number_Lists
	(Reset): Init also Number_Lists
	* prj.ads (Number_List_Table): New dynamic table for lists of numbers
	(Source_Data): New component Source_Dir_Rank. Remove component
	Known_Order_Of_Source_Dirs, no longer needed.
	(Project_Data): New component Source_Dir_Ranks
	(Project_Tree_Data): New components Number_Lists

From-SVN: r151749
2009-09-16 14:30:39 +02:00
Arnaud Charlet
bac7206de0 [multiple changes]
2009-09-16  Vincent Celier  <celier@adacore.com>

	* gprep.adb (Yes_No): New global constant
	Unix_Line_Terminators: New global Boolean variable
	(Process_One_File): Create the out file with a "Text_Translation=" form
	that depends on the use of option -T.
	(Scan_Command_Line): Add option -T
	(Usage): Add line for option -T

2009-09-16  Ed Schonberg  <schonberg@adacore.com>

	* exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
	predicate that describes a proper subset of
	Is_Predefined_Dispatching_Operation and excludes stream operations,
	which can be overridden by the user.
	* sem_ch6.adb (Create_Extra_Formals): use
	Is_Predefined_Internal_Operation, so that stream operations get extra
	formals.
	* exp_ch6.adb (Prevent double generation of extra actuals in calls to
	'Input, which may be expanded twice, first as a function call and then
	as a dispatching call.

From-SVN: r151748
2009-09-16 14:25:44 +02:00
Thomas Quinot
f5bb1134c9 s-oscons-tmplt.c (Target_OS, [...]): New constants.
2009-09-16  Thomas Quinot  <quinot@adacore.com>

	* s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
	* g-expect.adb (Set_Up_Child_Communications): Use
	System.OS_Constants.Target_OS to determine whether running on Windows.

From-SVN: r151747
2009-09-16 14:21:10 +02:00
Johannes Singler
11b9c936bf base.h (_PseudoSequenceIterator, [...]): Replace redundant _Self.
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h (_PseudoSequenceIterator, _PseudoSequence):
        Replace redundant _Self.
        * include/parallel/iterator.h (_IteratorPair, _IteratorTriple):
        Replace redundant _Self.
        * include/parallel/algo.h: Correct accidental _Self in comments.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.

From-SVN: r151743
2009-09-16 11:02:15 +00:00
Andrew Haley
9da4af8c07 libgcj_bc.c (__data_start, [...]): Add dummy usage.
2009-09-16  Andrew Haley  <aph@redhat.com>

	* libgcj_bc.c (__data_start, data_start, _end): Add dummy usage.

From-SVN: r151742
2009-09-16 10:43:29 +00:00
Johannes Singler
1acba85b37 algobase.h: Uglify internal identifiers.
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algobase.h: Uglify internal identifiers.
        * include/parallel/algo.h: Likewise.
        * include/parallel/algorithmfwd.h: Likewise.
        * include/parallel/balanced_quicksort.h: Likewise.
        * include/parallel/base.h: Likewise.
        * include/parallel/checkers.h: Likewise.
        * include/parallel/compatibility.h: Likewise.
        * include/parallel/compiletime_settings.: Likewise.
        * include/parallel/equally_split.h: Likewise.
        * include/parallel/features.h: Likewise.
        * include/parallel/find.h: Likewise.
        * include/parallel/find_selectors.h: Likewise.
        * include/parallel/for_each.h: Likewise.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/iterator.h: Likewise.
        * include/parallel/list_partition.h: Likewise.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/merge.h: Likewise.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/numeric: Likewise.
        * include/parallel/numericfwd.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/omp_loop_static.h: Likewise.
        * include/parallel/par_loop.h: Likewise.
        * include/parallel/partial_sum.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/queue.h: Likewise.
        * include/parallel/quicksort.h: Likewise.
        * include/parallel/random_number.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/search.h: Likewise.
        * include/parallel/set_operations.h: Likewise.
        * include/parallel/settings.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/tags.h: Likewise.
        * include/parallel/types.h: Likewise.
        * include/parallel/unique_copy.h: Likewise.
        * include/parallel/workstealing.h: Likewise.

From-SVN: r151741
2009-09-16 09:47:25 +00:00
Richard Guenther
4075e7e8dc re PR tree-optimization/34011 (Memory load is not eliminated from tight vectorized loop)
2009-09-16  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34011
	* tree-flow-inline.h (may_be_aliased): Compute readonly variables
	as non-aliased.

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

From-SVN: r151740
2009-09-16 08:50:46 +00:00
Rainer Orth
50cb834f7b * hashtab.c [HAVE_INTTYPES_H]: Include <inttypes.h>.
From-SVN: r151739
2009-09-16 08:38:46 +00:00
DJ Delorie
21d0569488 sh.c (output_stack_adjust): Add new argument frame_p.
* config/sh/sh.c (output_stack_adjust): Add new argument frame_p.
	(sh_expand_prologue): Update calls to output_stack_adjust.
	(sh_expand_epilogue): Likewise.	

	* gcc.target/sh/struct-arg-dw2.c: New test.


Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>

From-SVN: r151735
2009-09-16 01:12:16 +00:00
GCC Administrator
41b7d41764 Daily bump.
From-SVN: r151734
2009-09-16 00:16:50 +00:00
Adam Nemet
e484d1f0a4 re PR bootstrap/41349 (bootstrap comparison failure on sparc-linux)
PR bootstrap/41349
	* reorg.c (redundant_insn): Don't count notes or DEBUG_INSNs when
	trying to limit the extent of searches in the insn stream.

From-SVN: r151731
2009-09-15 22:18:34 +00:00
Nathan Froyd
d7a9e7c50c re PR target/41175 (-Os generates significantly larger code)
PR target/41175
	PR target/40677
	* config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
	problem.
	(SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
	SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): New strategy bits.
	(rs6000_savres_strategy): Always save FP registers inline if the
	target doesn't support hardware double-precision.  Set the above
	bits in return value when needed.
	(rs6000_savres_routine_sym): Fix computation for cache selector.
	Mark the generated symbol as a function.  Rename exitp argument to
	lr.  Move code for determining the name of the symbol...
	(rs6000_savres_routine_name): ...here.  New function.  Add cases for
	getting the names right on AIX and 64-bit Linux.
	(savres_routine_name): New variable.
	(rs6000_make_savres_rtx): Rename exitp argument to lr.  Don't assert
	lr isn't set when savep.  Use r12 resp. r1 instead of r11 depending
	on what the target routine uses as a base register.  If savep && lr
	describe saving of r0 into memory slot.
	(rs6000_emit_prologue): Correct use of call_used_regs.  Fix out of
	line calls for AIX ABI.
	(rs6000_output_function_prologue): Use rs6000_savres_routine_name to
	determine FP save/restore functions.
	(rs6000_emit_stack_reset): Handle savres if sp_offset != 0 and
	frame_reg_rtx != sp_reg_rtx.  Use gen_add3_insn instead of
	gen_addsi3.
	(rs6000_emit_epilogue): Adjust computation of restore_lr.
	Duplicate restoration of LR and execute the appropriate one
	depending on whether GPRs are being restored inline.  Set r11 from
	offsetted frame_reg_rtx instead of sp_reg_rtx; if frame_reg_rtx is
	r11, adjust sp_offset.  Use gen_add3_insn instead of gen_addsi3.
	Fix out of line calls for AIX ABI.
	* config/rs6000/rs6000.md (*return_and_restore_fpregs_aix_<mode>):
	New insn.
	* config/rs6000/spe.md (*save_gpregs_spe): Use explicit match for
	register 11.
	(*restore_gpregs_spe): Likewise.
	(*return_and_restore_gpregs_spe): Likewise.
	* config/rs6000/linux64.h (SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX):
	Define to empty string unconditionally.
	* config/rs6000/sysv4.h (SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX):
	Define to empty string unconditionally.
	(GP_SAVE_INLINE, FP_SAVE_INLINE): Handle TARGET_64BIT the same as
	!TARGET_64BIT.

	* gcc.target/powerpc/pr41175.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r151729
2009-09-15 22:12:18 +02:00