Commit Graph

83359 Commits

Author SHA1 Message Date
Robert Dewar
6411a62f36 g-thread.ads: Document use of "with GNAT.Threads" to ensure loading the tasking version of...
2007-09-12  Robert Dewar  <dewar@adacore.com>

	* g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
	the tasking version of the Ada run time when foreign threads are
	present and there are no explicit Ada tasks or tasking constructs.

	* gnat_rm.texi: Clarify documentation of GNAT.Threads.

From-SVN: r128428
2007-09-12 13:58:50 +02:00
Ed Schonberg
1ab9541bf8 sem_aggr.adb (Resolve_Record_Aggregate): An others association with a box need not correspond to any component.
2007-09-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate): An others association with
	a box need not correspond to any component.

From-SVN: r128427
2007-09-12 13:58:40 +02:00
Robert Dewar
2d9ea47f10 types.ads, [...]: Minor reformatting.
2007-09-12  Robert Dewar  <dewar@adacore.com>

	* types.ads, a-charac.ads, freeze.adb: Minor reformatting.

	* a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
	lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
	s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
	s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
	s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
	s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
	s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
	s-os_lib.adb, s-string.adb, s-utf_32.adb,
	a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads, 
	g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads, 
	s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb, 
	s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb, 
	snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads, 
	s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads, 
	s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads, 
	s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads, 
	s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
	pragma Compiler_Unit and adds it to relevant library units.

From-SVN: r128426
2007-09-12 13:58:21 +02:00
Olivier Hainque
09528ed9bf decl.c (gnat_to_gnu_entity): For a subtype with discriminant constraints...
2007-09-12  Olivier Hainque  <hainque@adacore.com>

	ada/
	* decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
	with discriminant constraints, generalize the code for BIT_FIELDs
	to PACKED fields of constant size and propagate DECL_PACKED.

	testsuite/
	* gnat.dg/packed_subtype.adb: New test.

From-SVN: r128425
2007-09-12 10:49:56 +00:00
Tobias Burnus
7ab8865432 re PR fortran/33297 (SIZE intrinsic crashes gfortran on invalid usage)
2007-09-12  Tobias Burnus  <burnus@net-b.de>

	PR fortran/33297
	* check.c (scalar_check): Move up in the file.
	(kind_check): Call scalar_check.
	(dim_check): If optional, do not call nonoptional_check; use
	bool for optional.
	(gfc_check_all_any,gfc_check_count,gfc_check_cshift,gfc_check_eoshift,
	gfc_check_lbound,gfc_check_minloc_maxloc,check_reduction,
	gfc_check_spread,gfc_check_ubound): Use true/false instead of 0/1
	for dim_check; honor changed meaning of optional.
	(gfc_check_int): Replace checks by kind_check.
	(gfc_check_size): Replace checks by dim_check.

2007-09-12  Tobias Burnus  <burnus@net-b.de>

	PR fortran/33297
	* gfortran.dg/intrinsic_size.f90: New.

From-SVN: r128424
2007-09-12 12:30:22 +02:00
Tobias Burnus
a1dde7d41c re PR fortran/33284 (ENTRY and INTRINSIC with same name)
2007-09-12  Tobias Burnus  <burnus@net-b.de>

	PR fortran/33284
	PR fortran/33310
	* symbol.c (check_conflict): Add conflict between INTRINSIC and ENTRY
	and between BIND(C) and PARAMETER.

2007-09-12  Tobias Burnus  <burnus@net-b.de>

	PR fortran/33284
	PR fortran/33310
	* gfortran.dg/conflicts_2.f90: New.

From-SVN: r128423
2007-09-12 12:27:27 +02:00
Tobias Burnus
dd39f7830a trans-expr.c (gfc_conv_initializer): Fix expr == NULL check.
2007-09-12  Tobias Burnus  <burnus@net-b.de>

	* trans-expr.c (gfc_conv_initializer): Fix expr == NULL check.

From-SVN: r128422
2007-09-12 11:49:04 +02:00
Jan Hubicka
750975041d c-objc-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
* c-objc-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

	* f95-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

	* treetree.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
	(treelang_expand_function): Kill.

From-SVN: r128421
2007-09-12 09:14:44 +00:00
Ira Rosen
f5d8ed2c51 tree-vect-analyze.c (vect_analyze_data_ref_dependence): Distinguish between positive and negative dependence distance using DDR_REVERSED_P.
* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Distinguish
	between positive and negative dependence distance using DDR_REVERSED_P.

From-SVN: r128420
2007-09-12 08:48:44 +00:00
Richard Guenther
7323b6643e re PR middle-end/33382 (internal compiler error: in get_constraint_for_component_ref, at tree-ssa-structalias.c:2454)
2007-09-12  Richard Guenther  <rguenther@suse.de>

	PR middle-end/33382
	* gcc.c-torture/compile/pr33382.c: New testcase.
	* gcc.c-torture/execute/pr33382.c: Likewise.

From-SVN: r128419
2007-09-12 08:07:12 +00:00
Christopher D. Rickett
3e708b2571 re PR fortran/33395 ([ISO_C_BINDING ?] ICE (segfault) in gfc_conv_initializer)
2007-09-12  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/33395
	* trans-expr.c (gfc_conv_initializer): Remove unnecessary test for
	intmod_sym_id and use derived symbol to set new kind of C_NULL_PTR
	and C_NULL_FUNPTR expressions.

2007-09-12  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/33395
	* gfortran.dg/c_ptr_tests_12.f03: New test case.

From-SVN: r128418
2007-09-12 09:56:07 +02:00
Christian Bruel
54a5b59be2 fix log format
From-SVN: r128416
2007-09-12 09:21:58 +02:00
Dorit Nuzman
220e82b4ef re PR tree-optimization/33373 (ICE in vectorizable_type_demotion, at tree-vect-transform.c:4098)
PR tree-optimization/33373
        * tree-vect-analyze (vect_determine_vectorization_factor): Call
        TREE_INT_CST_LOW when comparing TYPE_SIZE_UNIT.

From-SVN: r128415
2007-09-12 07:09:38 +00:00
Jan Hubicka
bf019a1f7f re PR target/33393 (floatsisf2_sse_vector_nointernunit doesn't work on 32bit)
PR target/33393
	* i386.md (floatsisf2_mixed_memory, floatsisf2_sse_memory): Disable for
	!SSE_MATH

From-SVN: r128414
2007-09-12 07:02:31 +00:00
Christian Bruel
926e663ef1 sh.h (SH_DBX_REGISTER_NUMBER): Added fpscr, fixed sr/gbr regs.
http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00945.html
2007-09-12  Christian Bruel  <christian.bruel@st.com>
	* sh.h (SH_DBX_REGISTER_NUMBER): Added fpscr, fixed sr/gbr regs.
	* linux-unwind.h (SH_DWARF_FRAME_GBR): fixed.

From-SVN: r128413
2007-09-12 08:59:06 +02:00
Ira Rosen
f8f8fee8a2 tree-vect-transform.c (vect_get_slp_defs): Don't build a vector for oprnd1 if not required.
* tree-vect-transform.c (vect_get_slp_defs): Don't build a vector
	for oprnd1 if not required.
	(vectorizable_operation): Use scalar operand in SLP in case of 
	shift with scalar argument.

From-SVN: r128412
2007-09-12 05:09:17 +00:00
Ira Rosen
8d888559bb params.def (PARAM_MIN_VECT_LOOP_BOUND): Change default and minimum to 1.
* params.def (PARAM_MIN_VECT_LOOP_BOUND): Change default and minimum
	to 1.

From-SVN: r128411
2007-09-12 05:05:04 +00:00
H.J. Lu
9f349f630e Move the entry to proper ChangeLog.
From-SVN: r128410
2007-09-11 21:44:56 -07:00
James E Wilson
a480e8269b defaults.h (DWARF2_UNWIND_INFO): Don't define if TARGET_UNWIND_INFO is defined.
2007-09-11  James E. Wilson  <wilson@specifix.com>

	* defaults.h (DWARF2_UNWIND_INFO): Don't define if
	TARGET_UNWIND_INFO is defined.
	* config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Delete undef
	after definition.

From-SVN: r128409
2007-09-11 21:34:34 -07:00
Kaz Kojima
6ac9cbc5e8 sh.c (calc_live_regs): Use current_function_saves_all_registers instead of...
* config/sh/sh.c (calc_live_regs): Use
	current_function_saves_all_registers instead of
	current_function_has_nonlocal_label.
	(sh_allocate_initial_value): Likewise.
	(sh_get_pr_initial_val): Likewise.
	* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): Likewise.
	* config/sh/sh.md (load_ra): Likewise.

From-SVN: r128408
2007-09-12 03:46:53 +00:00
Hans-Peter Nilsson
367985140f * config/cris/t-linux (LIMITS_H_TEST): Only define if not inhibit_libc.
From-SVN: r128407
2007-09-12 02:38:10 +00:00
Hans-Peter Nilsson
31af2dca8c re PR target/33360 (cris build failure)
PR target/33360
	* config/cris/cris.c (cris_expand_pic_call_address): Fix typo in
	GET_CODE (x) == CONST_INT to CONST_INT_P (x) transformation.

From-SVN: r128406
2007-09-12 01:56:20 +00:00
Ben Elliston
8657bdee03 target-supports.exp (check_effective_target_vect_no_double): Remove unused proc.
* lib/target-supports.exp (check_effective_target_vect_no_double):
	Remove unused proc.

From-SVN: r128405
2007-09-12 11:03:10 +10:00
Ben Elliston
9943eb0be3 spu.c (spu_emit_branch_or_set): Handle NaN values as operands to DFmode GE or LE compares.
* config/spu/spu.c (spu_emit_branch_or_set): Handle NaN values as
	operands to DFmode GE or LE compares.

testsuite/
	* gcc.target/spu/dfcgt-nan.c: New test.

From-SVN: r128404
2007-09-12 10:48:49 +10:00
GCC Administrator
c592621442 Daily bump.
From-SVN: r128402
2007-09-12 00:17:01 +00:00
Janis Johnson
2b53935da9 * Makefile.in (dfp-filenames): Add bid128_noncomp.
From-SVN: r128399
2007-09-12 00:00:06 +00:00
John David Anglin
f3195fd461 Add missing '>' from last commit.
From-SVN: r128398
2007-09-11 23:22:07 +00:00
Bernd Schmidt
03848bd0e1 bfin.h (enum reg_class, [...]): Add P0REGS.
* config/bfin/bfin.h (enum reg_class, REG_CLASS_CONTENTS,
	REG_CLASS_NAMES): Add P0REGS.
	(REGNO_REG_CLASS): Return it where appropriate.
	(REG_CLASS_FROM_CONSTRAINT): Add 'qA'.
	(CLASS_LIKELY_SPILLED_P): P0REGS is likely_spilled.
	* doc/md.texi (Blackfin family): Document 'q' constraints.

From-SVN: r128397
2007-09-11 23:20:10 +00:00
Steve Kenton
d4c56bd764 linux-unwind.h: Guard with inhibit_libc.
* pa/linux-unwind.h: Guard with inhibit_libc.
	* pa/hpux-unwind.h: Likewise.

From-SVN: r128396
2007-09-11 23:16:01 +00:00
Johannes Singler
c2ba97097b Add parallel mode.
2007-09-11  Johannes Singler  <singler@ira.uka.de>
	    Leonor Frias Moya  <lfrias@lsi.upc.edu>
            Felix Putze  <kontakt@felix-putze.de>
            Marius Elvert  <marius.elvert@ira.uka.de>
	    Felix Bondarenko  <f.bondarenko@web.de>
	    Robert Geisberger  <robert.geisberger@stud.uni-karlsruhe.de>
	    Robin Dapp  <r.dapp@freenet.de>
  	    Benjamin Kosnik  <bkoz@redhat.com>

	Add parallel mode.
	* include/parallel: New.
	* include/parallel/iterator.h: New.
	* include/parallel/multiway_merge.h: New.
	* include/parallel/parallel.h: New.
	* include/parallel/algorithm
	* include/parallel/find_selectors.h: New.
	* include/parallel/losertree.h: New.
	* include/parallel/list_partition.h: New.
	* include/parallel/types.h: New.
	* include/parallel/for_each.h: New.
	* include/parallel/multiseq_selection.h: New.
	* include/parallel/workstealing.h: New.
	* include/parallel/base.h: New.
	* include/parallel/par_loop.h: New.
	* include/parallel/numeric
	* include/parallel/features.h: New.
	* include/parallel/quicksort.h: New.
	* include/parallel/algorithmfwd.h: New.
	* include/parallel/equally_split.h: New.
	* include/parallel/compiletime_settings.h: New.
	* include/parallel/for_each_selectors.h: New.
	* include/parallel/basic_iterator.h: New.
	* include/parallel/omp_loop_static.h: New.
	* include/parallel/random_shuffle.h: New.
	* include/parallel/balanced_quicksort.h: New.
	* include/parallel/set_operations.h: New.
	* include/parallel/tags.h: New.
	* include/parallel/merge.h: New.
	* include/parallel/tree.h: New.
	* include/parallel/settings.h: New.
	* include/parallel/unique_copy.h: New.
	* include/parallel/multiway_mergesort.h: New.
	* include/parallel/numericfwd.h: New.
	* include/parallel/search.h: New.
	* include/parallel/partition.h: New.
	* include/parallel/compatibility.h: New.
	* include/parallel/algobase.h: New.
	* include/parallel/find.h: New.
	* include/parallel/partial_sum.h: New.
	* include/parallel/algo.h: New.
	* include/parallel/omp_loop.h: New.
	* include/parallel/queue.h: New.
	* include/parallel/timing.h: New.
	* include/parallel/sort.h: New.
	* include/parallel/checkers.h: New.
	* include/parallel/random_number.h: New.
	* include/bits/algorithmfwd.h: New.

	* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): New.
	* configure.host: Add atomic_flags.
	* configure.ac: Export ATOMIC_FLAGS, call GLIBCXX_ENABLE_PARALLEL.
	* src/Makefile.am: Add parallel_list rules.
	* include/Makefile.am: Add parallel files.
	* testsuite/Makefile.am (check-parallel): Add.
	(check-performance-parallel): Add.
	* config.h.in: Regenerate.
	* configure: Same.
	* libsupc++/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* include/Makefile.in: Same.
	* src/Makefile.in: Same.
	* po/Makefile.in: Same.
	
	* config/abi/pre/gnu.ver: Export parallel list bits.

	* docs/html/parallel_mode.html: New.
	* docs/html/documentation.html: Add link.
	* docs/doxygen/user.cfg.in: Adjust for new files and directory.
	* docs/doxygen/doxygroups.cc: Adjust namespace markup.

	* include/debug/set.h: Adjust for _GLIBCXX_STD_D or _P change.
	* include/debug/bitset: Same.
	* include/debug/multiset.h: Same.
	* include/debug/vector: Same.
	* include/debug/map.h: Same.
	* include/debug/deque: Same.
	* include/debug/list: Same.
	* include/debug/debug.h: Same.
	* include/debug/multimap.h: Same.
	* include/std/algorithm: Same.
	* include/std/numeric: Same.
	* include/std/bitset: Same.
	* include/std/string: Same.
	* include/ext/hash_map: Same.
	* include/ext/hash_set: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/c++config: Same.
	* include/bits/vector.tcc: Same.
	* include/bits/deque.tcc: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/list.tcc: Same.
	* src/list.cc: Same.
	* src/parallel_list.cc: New.

	* testsuite/lib/libstdc++.exp (check_v3_target_parallel_mode): New.
	* testsuite/lib/dg-options.exp (dg-require-parallel-mode): New.
	* scripts/testsuite_flags.in (--cxxparallelflags): New.
	* scripts/check_performance: Adjust.
	* testsuite/25_algorithms/headers/parallel_algorithm.cc: New.
	* testsuite/25_algorithms/headers/algorithm_parallel_mode.cc: New.
	* testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc: New.
	* testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc: New.
	* testsuite/26_numerics/headers/numeric/parallel_numeric.cc: New.
	* testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc: New.
	* testsuite/26_numerics/headers/numeric/
	parallel_numeric_mixed1.cc: New.
	* testsuite/26_numerics/headers/numeric/
	parallel_numeric_mixed2.cc: New.
	

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
Co-Authored-By: Felix Bondarenko <f.bondarenko@web.de>
Co-Authored-By: Felix Putze <kontakt@felix-putze.de>
Co-Authored-By: Leonor Frias Moya <lfrias@lsi.upc.edu>
Co-Authored-By: Marius Elvert <marius.elvert@ira.uka.de>
Co-Authored-By: Robert Geisberger <robert.geisberger@stud.uni-karlsruhe.de>
Co-Authored-By: Robin Dapp <r.dapp@freenet.de>

From-SVN: r128395
2007-09-11 22:32:51 +00:00
Hans-Peter Nilsson
f6ee8d7b73 * gcc.dg/cpp/trad/include.c: Don't run for newlib targets.
From-SVN: r128394
2007-09-11 21:15:24 +00:00
David Daney
66471b4708 invoke.texi: Document new MIPS -mllsc and -mno-llsc options.
* doc/invoke.texi: Document new MIPS -mllsc and -mno-llsc options.
	* doc/install.texi: Document new --with-llsc and --without-llsc
	options.
	* config.gcc: Handle --with-llsc and --without-llsc configure options.
	* config/mips/mips.md (sync, memory_barrier): Wrap sync instrunction
	in %| and %- operand codes.  Depend on GENERATE_SYNC instead of
	ISA_HAS_SYNC.
	(sync_compare_and_swap<mode>, sync_add<mode>, sync_sub<mode>,
	sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
	sync_new_sub<mode>, sync_<optab><mode>, sync_old_<optab><mode>,
	sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
	sync_new_nand<mode>, sync_lock_test_and_set<mode>): Depend on
	GENERATE_LL_SC instead of ISA_HAS_LL_SC.
	* config/mips/mips.opt (mllsc): New option.
	* config/mips/mips.c (mips_llsc): Define variable.
	(mips_handle_option): Handle mllsc option.
	(override_options): Set mips_print_operand_punct for '|' and '-'.
	(print_operand): Add new %| and %- operand codes.
	* config/mips/mips.h (mips_llsc_setting): New enum type.
	(mips_llsc): Declare.
	(OPTION_DEFAULT_SPECS): Add llsc handling.
	(GENERATE_SYNC): New macro.
	(GENERATE_LL_SC): New macro.
	(MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP, MIPS_SYNC_OLD_OP,
	MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND,
	MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): Wrap instructions
	in %| and %- operand codes.

From-SVN: r128392
2007-09-11 20:14:51 +00:00
Eric Botcazou
fa89b6ecba tree-ssa-structalias.c (push_fields_onto_fieldstack): Deal with TYPE_NONALIASED_COMPONENT like with DECL_NONADDRESSABLE_P.
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Deal with
	TYPE_NONALIASED_COMPONENT like with DECL_NONADDRESSABLE_P.

ada/
	* decl.c (array_type_has_nonaliased_component): New predicate.
	(gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
	set the TYPE_NONALIASED_COMPONENT flag on the type.
	<E_Array_Subtype>: Likewise.
	* gigi.h (type_for_nonaliased_component_p): Declare.
	* utils.c (type_for_nonaliased_component_p): New predicate.
	(create_field_decl): Invoke the above predicate to set the
	DECL_NONADDRESSABLE_P flag on the field.

From-SVN: r128391
2007-09-11 19:43:02 +00:00
Arnaud Charlet
868eaa1f42 Removed, noever used.
From-SVN: r128386
2007-09-11 18:17:13 +02:00
Christopher D. Rickett
9dc3595654 re PR fortran/33040 ([ISO_C_BINDING] ICE in gfc_trans_structure_assign)
2007-09-11  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/33040
	* trans-expr.c (gfc_trans_structure_assign): Convert component
	C_NULL_PTR and C_NULL_FUNPTR component initializers to (void *).
	* trans-types.c (gfc_get_derived_type): Create a backend_decl for
	the c_address field of C_PTR and C_FUNPTR and ensure initializer
	is of proper type/kind for (void *).

2007-09-11  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/33040
	* gfortran.dg/c_ptr_tests_11.f03: New test case.

From-SVN: r128385
2007-09-11 17:53:22 +02:00
Daniel Jacobowitz
fa6763a6fc libstdc++.exp (libstdc++_init): Revert part of 2007-09-06 change.
* testsuite/lib/libstdc++.exp (libstdc++_init): Revert part of
	2007-09-06 change.

From-SVN: r128384
2007-09-11 15:48:15 +00:00
Jason Merrill
5a69d1207d add pr number
From-SVN: r128381
2007-09-11 11:08:57 -04:00
Jason Merrill
7e4aeb3297 re PR middle-end/27945 (Packed struct of variable length has wrong size)
PR middle-end/27945
        * stor-layout.c (layout_decl): Do pack variable size fields.

From-SVN: r128380
2007-09-11 11:07:59 -04:00
Francois-Xavier Coudert
257fafe0c9 re PR libfortran/33386 (Fortran SELECT statement miscompiles)
PR libfortran/33386
	* runtime/select.c (select_string): Initialize default_jump.

From-SVN: r128379
2007-09-11 14:53:02 +00:00
Maxim Kuvyrkov
c47b0cb466 predicates.md (movsi_const0_operand, [...]): New predicates.
* config/m68k/predicates.md (movsi_const0_operand,
	non_symbolic_call_operand): New predicates.

	* config/m68k/constraints.md: (Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap, Ac):
	New constraints.
	* doc/md.texi (Constraints for Particular Machines: Motorola 680x0):
	Document constraints N, O, P, R, S, T, Q, U, W, Cs, Ci, C0, Cj, CQ,
	CW, CZ, CS, Ap and Ac.

	* config/m68k/m68k.md (UNSPEC_IB): New constant.
	(constraints.md): New include.
	(cpu, type, type1, opx, opy, opx_type, opy_type, size, opx_access,
	opx_mem, opy_mem, op_mem, guess, split): New attributes.
	(movdf_internal): Name pattern.  Fix to use alternatives.  Add split.
	Specify attributes.
	(pushdi): Add split.
	(tstsi_internal): Name pattern.  Fix to use alternatives.  Specify
	attributes.  Split tstsi_internal_68020_cf from it.
	(tstsi_internal_68020_cf): New pattern.
	(tsthi_internal, tstqi_internal): Name pattern.  Specify attributes.
	(tst<mode>_cf): Specify attributea.
	(cmpsi_cf): Name pattern.  Specify attributes.
	(cmp<mode>_68881, cmp<mode>_cf): Specify type attribute.
	(pushexthisi_const): Fix to use alternatives.  Specify
	attributes.
	(movsi_const0): Split movsi_const0_68000_10 and movsi_const0_68040_60
	from it.  Fix to use alternatives.  Specify attributes.
	(movsi_const0_68040_10, movsi_const0_68040_60): New patterns.
	(movsi_cf, movstrictqi_cf): Fix to use alternatives.  Specify
	attributes.
	(movsf_cf_soft): Specify attributes.
	(movdf_cf_soft): Add split.
	(pushasi, zero_extendhisi2_cf, zero_extendqisi2_cfv4,
	cfv4_extendhisi2, 68k_extendhisi2, extendqihi2, cfv4_extendqisi2,
	68k_extendqisi2, truncdfsf2_cf): Specify attributes.
	(truncdfsf2_68881): Name pattern.  Specify attributes.
	(floatsi<mode>2_cf, floathi<mode>2_68881, floathi<mode>2_cf,
	floatqi<mode>2_68881, floatqi<mode>2_cf, ftrunc<mode>2_cf,
	fix<mode>qi2_cf, fix<mode>hi2_cf, fix<mode>si2_cf, adddi_dishl32):
	Specify attributes.
	(addsi3_5200): Fix to use alternatives.  Specify attributes.
	Add splits.
	(add<mode>3_cf, subdi_dishl32): Specify attributes.
	(subsi3): Add alternative for subq.l.  Specify attributes.
	(sub<mode>3_cf, mulhi3, mulhisi3): Specify attributes.
	(mulhisisi3_s, mulsi3_68020, mulsi3_cf): Name pattern.  Specify
	attributes.
	(umulhisi3): Specify attributes.
	(mulhisisi3_z): Name pattern.  Specify attributes.
	(fmul<mode>3_cf, div<mode>3_cf, negsi2_internal, negsi2_5200,
	sqrt<mode>2_68881, clzsi2, one_cmplsi2_5200, subreghi1ashrdi_const32,
	subregsi1ashrdi_const32, ashrsi3, subreg1lshrdi_const32, lshrsi3,
	bsetmemqi): Specify attributes.
	(bsetmemqi_ext): Name pattern.  Specify attributes.
	(bclrmemqi): Specify attributes.
	(bclrmemqi_ext, scc, sls): Name pattern.  Specify attributes.
	(beq, bne, bgt, bgtu, blt, bltu, bge, bgeu, ble, bleu): Specify
	attributes.
	(beq2, bne2, bgt2, bgtu2, blt2, bltu2, bge2, bgeu2, ble2, bleu2): Name
	pattern.  Specify attributes.
	(jump): Specify attributes.
	(tablejump_internal): Name pattern.  Specify attributes.
	(call_value): Split into non_symbolic_call_value,
	symbolic_call_value_jsr, symbolic_call_value_bsr.  Fix to use
	alternatives.  Specify attributes.
	(non_symbolic_call_value, symbolic_call_value_jsr,
	symbolic_call_value_bsr): New patterns.
	(nop, return, unlink, indirect_jump): Specify attributes.
	(trap): Fix condition.  Specify attributes.
	(ib): New pattern.

	* config/m68k/m68k.c (m68k_symbolic_call_var): New variable.
	(override_options): Initialize it.  Initialize m68k_sched_cpu.
	(CONST_METHOD): Rename to M68K_CONST_METHOD, move to m68k.h.
	(const_method): Make global, rename to m68k_const_method.
	(const_int_cost, output_move_const_into_data_reg): Update.
	(output_move_double): Parametrize to emit rtl code, rename to
	handle_move_double.
	(output_reg_adjust, emit_reg_adjust, output_compadr, output_movsi,
	emit_movsi): New static functions.
	(output_move_double): New function with semantics of old
	output_move_double.
	(m68k_emit_move_double): New function.
	(m68k_sched_cpu): New variable.
	(attr_op_type): New enum.
	(sched_guess_p): New variable.
	(sched_address_type, sched_operand_type, sched_attr_op_type):
	New static functions.
	(m68k_sched_attr_opx_type, m68k_sched_attr_opy_type,
	m68k_sched_attr_size, m68k_sched_attr_op_mem): New functions.
	(sched_branch_type): New static variable.
	(m68k_sched_branch_type): New function.
	* config/m68k/m68k.h (M68K_SYMBOLIC_CALL): New enum.
	(m68k_symbolic_call_var): Declare.
	(M68K_CONST_METHOD): Rename from CONST_METHOD.  Move here from m68k.c.
	(m68k_const_method, m68k_emit_move_double, m68k_sched_cpu,
	m68k_sched_attr_opx_type, m68k_sched_attr_opy_type,
	m68k_sched_attr_size, m68k_sched_attr_op_mem, m68k_sched_branch_type):
	Declare.

From-SVN: r128377
2007-09-11 13:56:30 +00:00
Jakub Jelinek
ab0e176c5b builtins.def (BUILT_IN_VA_ARG_PACK_LEN): New builtin.
* builtins.def (BUILT_IN_VA_ARG_PACK_LEN): New builtin.
	* builtins.c (expand_builtin) <case BUILT_IN_VA_ARG_PACK_LEN>: Issue
	error if __builtin_va_arg_pack_len () wasn't optimized out during
	inlining.
	* tree-inline.c (copy_bb): Replace __builtin_va_arg_pack_len ()
	with the number of inline's anonymous arguments.
	* doc/extend.texi: Document __builtin_va_arg_pack_len ().

	* gcc.dg/va-arg-pack-len-1.c: New test.
	* g++.dg/va-arg-pack-len-1.C: New test.

From-SVN: r128376
2007-09-11 15:40:14 +02:00
Zdenek Dvorak
e6ebd07f47 fold-const.c (extract_muldiv_1): Do not simplify var * c * c to var.
* fold-const.c (extract_muldiv_1): Do not simplify
	var * c * c to var.

From-SVN: r128375
2007-09-11 13:38:08 +00:00
Javier Miranda
e18d6a151c Put back previous change, the random failure was caused by a makefile bug,
causing the Ada run-time not to be recompiled by the new compiler.

From-SVN: r128374
2007-09-11 15:31:51 +02:00
Arnaud Charlet
0f4cb75c68 Temporarily undo previous change, which seems to be causing random
failures.

From-SVN: r128372
2007-09-11 14:13:12 +02:00
Javier Miranda
97695e47b8 Resync.
From-SVN: r128371
2007-09-11 13:56:01 +02:00
Michael Matz
6e3a2cda33 * gcc.dg/tree-ssa/loadpre11.c: Add -fno-tree-cselim to flags.
From-SVN: r128370
2007-09-11 11:45:05 +00:00
Jan Hubicka
630ecd8d10 i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
* i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
	(TARGET_INTER_UNIT_CONVERSIONS): New.
	* i386.md (floatsi expanders): Remove redundant check for SImode
	source; offload to memory when asked for.
	(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse
	floatdisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
	Update conditions;
	(floatsisf2_mixed_memory, floatsisf2_sse_memory,
	floatsidf2_mixed_memory, floatsidf2_sse_memory
	floatdisf2_mixed_memory, floatsisf2_sse_memory,
	floatsidf2_mixed_memory, floatsidf2_sse_memory): New.

From-SVN: r128369
2007-09-11 11:38:05 +00:00
Javier Miranda
7986e000a9 einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute.
2007-09-11  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
	in library level record type entities if we are generating statically
	allocated dispatch tables.

	* exp_disp.adb (Make_Tags/Make_DT): Replace previous code
	importing/exporting the _tag declaration by new code
	importing/exporting the dispatch table wrapper. This change allows us
	to statically allocate of the TSD.
	(Make_DT.Export_DT): New procedure.
	(Build_Static_DT): New function.
	(Has_DT): New function.

	* freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
	True_Constant and Current_Value. Required to statically
	allocate the dispatch tables.
	(Check_Allocator): Make function iterative instead of recursive.
 	Also return inner allocator node, when present, so that we do not have
 	to look for that node again in the caller.

From-SVN: r128368
2007-09-11 13:03:53 +02:00
Jan Hubicka
e89d601008 decl.c (java_expand_body): Kill.
* decl.c (java_expand_body): Kill.
	(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

	* toplev.c (process_options): all frontends now do unit-at-a-time.
	* cgraphunit.c: update comments.
	(cgraph_expand_function): call passmanager dirrectly; emit thunks.
	* c-decl.c (finish_function): use cgraph_add_new_function.

	* method.c (use_thunk): Use tree_rest_of_compilation
	* cp-objecp-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
	(LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Define.
	* cp-tree.h (expand_body): Kill.
	(emit_associated_thunks): Declare.
	* semantics.c (emit_associated_thunks): Export.
	(expand_body): Kill.

	* misc.c (gnat_expand_body): Kill.
	(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

	* f95-lang.c (gfc_expand_function): Kill.
	(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

	* function.c (expand_function_end): We are always unit-at-a-time.

From-SVN: r128367
2007-09-11 10:39:53 +00:00
Richard Sandiford
8ce4afa36d mips.c (mips_set_mips16_mode): Use separate anchor settings for MIPS16.
gcc/
	* config/mips/mips.c (mips_set_mips16_mode): Use separate anchor
	settings for MIPS16.
	(mips_use_anchors_for_symbol_p): Use default_use_anchors_for_symbol_p.

From-SVN: r128366
2007-09-11 10:18:35 +00:00