Commit Graph

95567 Commits

Author SHA1 Message Date
Paolo Bonzini
c390c36118 re PR ada/41122 (libada multilib string parsing error)
2009-08-30  Paolo Bonzini  <bonzini@gnu.org>

	PR ada/41122
	* configure.ac: Add AC_PROG_AWK.  Remove useless duplicate
	call to AC_PROG_CC.
	* configure: Regenerate.
	* Makefile.in: Substitute AWK.

From-SVN: r151227
2009-08-30 14:26:37 +00:00
Richard Guenther
a778c4e721 re PR tree-optimization/41186 (VN doesn't look through non-aliasing by offset memcpy)
2009-08-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/41186
	* tree-ssa-alias.c (ptr_deref_may_alias_ref_p): Remove.
	(ao_ref_init_from_ptr_and_size): New function.
	(ref_maybe_used_by_call_p_1): Be more precise tracking
	used ranges for builtin functions.
	(ref_maybe_used_by_call_p): Adjust.
	(call_may_clobber_ref_p_1): Be more precise tracking clobbered
	ranges for builtin functions.
	* tree-ssa-alias.h (ao_ref_init_from_ptr_and_size): Declare.

	* g++.dg/torture/pr41186.C: New testcase.
	* g++.dg/tree-ssa/pr41186.C: Likewise.

From-SVN: r151226
2009-08-30 11:52:13 +00:00
Thomas Koenig
01d93568e8 pack.m4 (pack_'rtype_code`): Use count_0 for counting true values in a logical array.
2009-08-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* m4/pack.m4 (pack_'rtype_code`): Use count_0 for counting true
	values in a logical array.  Mark bounds checking tests as
	unlikely.
	* intrinsics/pack_generic.c (pack_internal): Likewise.
	* runtime/bounds.c (count_0):  Fix off-by-one error in detecting
	empty arrays.
	* generated/pack_c4.c: Regenerated.
	* generated/pack_c8.c: Regenerated.
	* generated/pack_c10.c: Regenerated.
	* generated/pack_c16.c: Regenerated.
	* generated/pack_i1.c: Regenerated.
	* generated/pack_i16.c: Regenerated.
	* generated/pack_i2.c: Regenerated.
	* generated/pack_i4.c: Regenerated.
	* generated/pack_i8.c: Regenerated.
	* generated/pack_r4.c: Regenerated.
	* generated/pack_r8.c: Regenerated.
	* generated/pack_r10.c: Regenerated.
	* generated/pack_r16.c: Regenerated.

From-SVN: r151225
2009-08-30 09:02:01 +00:00
Daniel Kraft
26ef2b4293 re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)
2009-08-30  Daniel Kraft  <d@domob.eu>

	PR fortran/37425
	* dump-parse-tree.c (show_typebound_proc): Renamed from `show_typebound'
	and accept gfc_typebound_proc and name instead of the symtree, needed
	for intrinsic operator output.
	(show_typebound_symtree): New method calling `show_typebound_proc'.
	(show_f2k_derived): Output type-bound operators also.
	(show_symbol): Moved output of `Procedure bindings:' label to
	`show_f2k_derived'.
	* gfortran.texi (Fortran 2003 status): Mention support of
	array-constructors with explicit type specification, type-bound
	procedures/operators, type extension, ABSTRACT types and DEFERRED.
	Link to Fortran 2003 wiki page.
	(Fortran 2008 status): Fix typo.  Link to Fortran 2008 wiki page.
	* gfc-internals.texi (Type-bound Procedures): Document the new
	members/attributes of gfc_expr.value.compcall used for type-bound
	operators.
	(Type-bound Operators): New section documenting their internals.

From-SVN: r151224
2009-08-30 10:26:38 +02:00
Dodji Seketeli
79f60dbcda Fix c++/41187
gcc/testsuite/ChangeLog:
	PR c++/41187
	* g++.dg/debug/dwarf2/namespace-1.C: Use a loosier regexp to
	take ia64 assembly comments syntax in account.

From-SVN: r151223
2009-08-30 09:26:29 +02:00
Uros Bizjak
8a067ce4dd funcspec-5.c: Remove fused-add test.
* gcc.target/i386/funcspec-5.c: Remove fused-add test.

From-SVN: r151222
2009-08-30 08:44:20 +02:00
Alan Modra
e85122be92 re PR target/41081 (redundant ZERO_EXTENDs)
PR target/41081
	* fwprop.c (get_reg_use_in): Delete.
	(free_load_extend): New function.
	(forward_propagate_subreg): Use it.

From-SVN: r151221
2009-08-30 15:39:42 +09:30
H.J. Lu
d1eda1365c Fix ChangeLog entries for PR debug/41170.
From-SVN: r151217
2009-08-29 18:52:18 -07:00
GCC Administrator
f86e9c4608 Daily bump.
From-SVN: r151216
2009-08-30 00:16:54 +00:00
Kaz Kojima
2d606e03bf config.gcc (sh*-*-elf): Add superh stuff only for sh*-superh-elf.
* config.gcc (sh*-*-elf): Add superh stuff only for sh*-superh-elf.

From-SVN: r151213
2009-08-29 23:50:31 +00:00
Kaveh R. Ghazi
8c53cbed4f whole_file_5.f90: Add -fpie when pic, fix scan pattern.
* gfortran.dg/whole_file_5.f90: Add -fpie when pic, fix scan
	pattern.
	* gfortran.dg/whole_file_6.f90: Likewise.

From-SVN: r151211
2009-08-29 20:28:59 +00:00
Paolo Carlini
6401164d19 stl_construct.h: Include <bits/move.h>.
2009-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_construct.h: Include <bits/move.h>.

From-SVN: r151208
2009-08-29 19:35:21 +00:00
Chris Jefferson
55dd844556 move.h (_GLIBCXX_FORWARD): Add.
2009-08-29  Chris Jefferson  <chris@bubblescope.net>

	* include/bits/move.h (_GLIBCXX_FORWARD): Add.
	* include/bits/stl_uninitialized.h (__uninitialized_construct_range):
	Add.
	* include/bits/stl_tempbuf.h (_Temporary_buffer::
	_Temporary_buffer(_ForwardIterator, _ForwardIterator)): Use the latter.
	* include/bits/stl_construct.h (_Construct(_T1*, _T2&&)): Add in
	C++0x mode.
	* testsuite/util/testsuite_hooks.h (operator<(const copy_tracker&,
    	const copy_tracker&)): Add.
	* testsuite/25_algorithms/stable_partition/mem_check.cc: New.
	* testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.

From-SVN: r151207
2009-08-29 19:27:05 +00:00
Steven G. Kargl
f1588ca052 trans-expr.c (gfc_trans_assignment_1): Correct a comment.
2009-08-29  Steven G. Kargl  <kargl@gcc.gnu.org>

	* trans-expr.c(gfc_trans_assignment_1): Correct a comment.

From-SVN: r151205
2009-08-29 19:06:11 +00:00
Kai Tietz
ce557b7481 re PR c/41184 (wrong optimise code, epilogue code adjust wrong rsp before pop)
2009-08-29  Kai Tietz<kai.tietz@onevision.com>

        PR/41184
        * config/i386.c (ix86_expand_epilogue): Correct stack adjustment for
        padding.

From-SVN: r151204
2009-08-29 19:58:52 +02:00
Douglas B Rupp
6d83cb32b9 crtstuff.c (__do_global_dtors_aux): Use atexit if no fini or fini_array section.
* crtstuff.c (__do_global_dtors_aux): Use atexit if no
	fini or fini_array section.

From-SVN: r151202
2009-08-29 15:37:48 +00:00
GCC Administrator
9087048af9 Daily bump.
From-SVN: r151199
2009-08-29 00:16:53 +00:00
Sebastian Pop
211694b6da graphite-dependences.c (graphite_legal_transform_bb): Call pbb_remove_duplicate_pdrs.
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (graphite_legal_transform_bb): Call
	pbb_remove_duplicate_pdrs.
	* graphite-poly.c (can_collapse_pdr): Removed.
	(pdr_find_duplicate): Removed.
	(can_collapse_pdrs): New.
	(pbb_remove_duplicate_pdrs): New.
	(new_poly_dr): Do not look for duplicates.
	* graphite-poly.h (struct poly_bb): New field pdr_duplicates_removed.
	(PBB_PDR_DUPLICATES_REMOVED): New.
	(pbb_remove_duplicate_pdrs): Declared.

From-SVN: r151192
2009-08-28 20:41:53 +00:00
Sebastian Pop
7bd2a8a7ef graphite-interchange.c (pbb_interchange_profitable_p): Adjust the strides by multiplying by PDR_NB_REFS.
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-interchange.c (pbb_interchange_profitable_p): Adjust
	the strides by multiplying by PDR_NB_REFS.
	* graphite-poly.c (can_collapse_pdr): New.
	(pdr_find_duplicate): New.
	(new_poly_dr): Call pdr_find_duplicate.  Collapse duplicate PDRs.
	Initialize PDR_NB_REFS.
	* graphite-poly.h (struct poly_dr): Add field nb_refs.
	(PDR_NB_REFS): New.
	(new_poly_dr): Number of subscripts is a graphite_dim_t.

From-SVN: r151191
2009-08-28 20:40:59 +00:00
Sebastian Pop
93b2db87bb re PR middle-end/40965 ([graphite] slow compilation)
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/40965
	* graphite-poly.c (apply_poly_transforms): Remove legality test before
	any transform.

From-SVN: r151190
2009-08-28 20:39:43 +00:00
Sebastian Pop
d8eeb07816 graphite-dependences.c (pddr_original_scattering): Return NULL for read-read dependence relations.
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (pddr_original_scattering): Return NULL
	for read-read dependence relations.
	* graphite-poly.h (enum poly_dr_type): Fix comment.
	(pdr_read_p): New.
	(pdr_write_p): New.
	(pdr_may_write_p): New.

From-SVN: r151189
2009-08-28 20:37:56 +00:00
Sebastian Pop
e6dec0fbff graphite-poly.h (enum POLY_DR_TYPE): Renamed poly_dr_type.
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.h (enum POLY_DR_TYPE): Renamed poly_dr_type.
	(struct poly_dr): Same.
	(new_poly_dr): Same.
	* graphite-poly.c (new_poly_dr): Same.
	* graphite-dependences.c (dot_deps): Disable call to system.

From-SVN: r151188
2009-08-28 20:37:06 +00:00
Cary Coutant
3ff4c25d7f re PR debug/41063 (ICE in output_die)
gcc/ChangeLog:

	PR debug/41063
	* dwarf2out.c (gen_type_die_with_usage): Use proper context for
	struct/union/enum types local to a function.

gcc/testsuite/ChangeLog:

	PR debug/41063
	* g++.dg/debug/dwarf2/pr41063.C: New test.

From-SVN: r151187
2009-08-28 13:35:16 -07:00
Konrad Trifunovic
baf4b88182 graphite-blocking.c (pbb_strip_mine_loop_depth): Renamed pbb_strip_mine_time_depth.
2009-08-28  Konrad Trifunovic  <konrad.trifunovic@gmail.com>
	    Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-blocking.c (pbb_strip_mine_loop_depth): Renamed
	pbb_strip_mine_time_depth.  Changed the implementation so that
	transformation is expressed as a transformation on
	time (scatttering) dimensions.  Also, ensures that the 2d+1
	scheduling format is preserved.
	(pbb_strip_mine_profitable_p): Profitability is based on the
	iteration number of a given time (scattering) dimension,
	and not on a original loop depth dimension.
	(pbb_strip_mine): Call pbb_number_of_iterations_at_time.
	(pbb_do_strip_mine): Call psct_dynamic_dim.
	* graphite-poly.c (pbb_number_of_iterations_at_time): New.
	* graphite-poly.h (pbb_number_of_iterations_at_time): Declared.
	(pbb_nb_dynamic_scattering_transform): New.
	(psct_dynamic_dim): New.



Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>

From-SVN: r151186
2009-08-28 20:33:10 +00:00
Cary Coutant
e6a83a8e9e re PR debug/41063 (ICE in output_die)
gcc/ChangeLog:

	PR debug/41063
	* dwarf2out.c (gen_type_die_with_usage): Use proper context for
	struct/union/enum types local to a function.

gcc/testsuite/ChangeLog:

	PR debug/41063
	* g++.dg/debug/dwarf2/pr41063.C: New test.

From-SVN: r151185
2009-08-28 13:32:29 -07:00
Konrad Trifunovic
059a5f9f1c graphite-ppl.c (ppl_max_for_le): Renamed ppl_max_for_le_pointset.
2009-08-28  Konrad Trifunovic  <konrad.trifunovic@gmail.com>

	* graphite-ppl.c (ppl_max_for_le): Renamed ppl_max_for_le_pointset.
	* graphite-ppl.h (ppl_max_for_le): Renamed ppl_max_for_le_pointset.
	* graphite-poly.c (pbb_number_of_iterations): Rename ppl_max_for_le.
	* graphite-interchange.c (build_linearized_memory_access): Same.
	(memory_stride_in_loop): Same.

From-SVN: r151184
2009-08-28 20:32:20 +00:00
Sebastian Pop
afae02072c graphite-dependences.c (pddr_original_scattering): New.
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (pddr_original_scattering): New.
	(graphite_legal_transform_dr): Call pddr_original_scattering.
	(dot_deps_1): New.
	(dot_deps): New.
	* graphite-dependences.h (dot_deps): Declared.
	* graphite-poly.c (new_poly_dr): Initialize PDR_ID.
	(print_pdr): Print PDR_ID.
	* graphite-poly.h (struct poly_dr): Add field id.
	(PDR_ID): New.
	(pbb_index): New.
	* graphite-scop-detection.c (dot_all_scops_1): Cleanup comment.

From-SVN: r151183
2009-08-28 20:31:28 +00:00
Sebastian Pop
f8e0bb8b37 graphite-dependences.c (graphite_carried_dependence_level_k): Do not delete the original dependence relation.
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (graphite_carried_dependence_level_k): Do
	not delete the original dependence relation.

From-SVN: r151182
2009-08-28 20:30:09 +00:00
Sebastian Pop
e37f165fb7 graphite-dependences.c (new_poly_dr_pair): Renamed new_poly_ddr.
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (new_poly_dr_pair): Renamed new_poly_ddr.
	(eq_poly_dr_pair_p): Renamed eq_poly_ddr_p.
	(hash_poly_dr_pair_p): Renamed hash_poly_ddr_p.
	(free_poly_ddr): New.
	(pddr_is_empty): New.
	(dependence_polyhedron_1): Now returns a poly_ddr_p.
	(dependence_polyhedron): Same.  Remove useless gcc_assert.
	Remove fprintfs.
	(graphite_legal_transform_dr): Call pddr_is_empty and free_poly_ddr.
	(graphite_carried_dependence_level_k): Call pddr_is_empty.
	* graphite-dependences.h (enum poly_dependence_kind): New.
	(poly_dr_pair): Renamed poly_ddr.  Added a field kind.
	(PDRP_SOURCE): Renamed PDDR_SOURCE.
	(PDRP_SINK): Renamed PDDR_SINK.
	(PDRP_DDP): Renamed PDDR_DDP.
	(PDDR_KIND): New.
	(free_poly_ddr): Declared.
	* graphite-poly.c (new_scop): Use the new hash function names.
	* graphite-poly.h (struct scop): Renamed field original_pdr_pairs
	into original_pddrs.
	(SCOP_ORIGINAL_PDR_PAIRS): Renamed SCOP_ORIGINAL_PDDRS.

From-SVN: r151181
2009-08-28 20:27:56 +00:00
Sebastian Pop
45e76e9f39 cfgloopmanip.c (create_empty_loop_on_edge): Generate upper bounds with LT_EXPR to make niter analysis more precise on code...
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

	* cfgloopmanip.c (create_empty_loop_on_edge): Generate upper
	bounds with LT_EXPR to make niter analysis more precise on code
	generated by Graphite.

From-SVN: r151180
2009-08-28 20:24:51 +00:00
Sebastian Pop
66b466c309 graphite-dependences.c (graphite_legal_transform_dr): Fix formatting.
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (graphite_legal_transform_dr): Fix formatting.
	(graphite_legal_transform_bb): Same.
	(poly_drs_may_alias_p): Same.

From-SVN: r151179
2009-08-28 20:23:46 +00:00
Bruce Korb
0b7da9ce03 README (files): Describe files entry.
2009-08-28   Bruce Korb <bkorb@gnu.org>
	     Steve Ellcey  <sje@cup.hp.com>
	    

	* README (files): Describe files entry.
	* inclhack.def (hpux_stdint_least): Remove.
	(hpux_stdint_fast): Remove.
	(hpux_stdint_fast): Remove.
	(hpux_stdint_least_fast): New.
	(hpux_inttype_int_least8_t): Remove.
	(hpux_inttype_int8_t): Modify.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: Update.
	* tests/base/sys/_inttypes.h: Update.

Co-Authored-By: Steve Ellcey <sje@cup.hp.com>

From-SVN: r151178
2009-08-28 19:42:41 +00:00
Richard Guenther
81fa17dad1 tree.def: Remove note about obsolete TYPE_NONCOPIED_PARTS.
2009-08-28  Richard Guenther  <rguenther@suse.de>

	* tree.def: Remove note about obsolete TYPE_NONCOPIED_PARTS.

From-SVN: r151177
2009-08-28 19:37:37 +00:00
Richard Guenther
0b95297232 re PR lto/41058 (FAIL: ext/pb_ds/regression/hash_data_map_rand.cc)
2009-08-28  Richard Guenther  <rguenther@suse.de>

	PR lto/41058
	* cp-gimplify.c (cp_genericize_r): Do not leak zero-sized stores
	into the generic IL.

From-SVN: r151176
2009-08-28 19:36:05 +00:00
Steve Ellcey
629fff4bf2 inclhack.def (hpux_imaginary_i): Remove spaces.
2009-08-28  Steve Ellcey  <sje@cup.hp.com>

	* inclhack.def (hpux_imaginary_i): Remove spaces.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: Update AIX fixes. 
	* tests/base/complex.h: Change HPUX_IMAGINARY_I_CHECK fix.

From-SVN: r151171
2009-08-28 17:53:46 +00:00
Jan Beulich
a858e91226 netware.c: Include langhooks.h.
2009-08-28  Jan Beulich  <jbeulich@novell.com>

	* config/i386/netware.c: Include langhooks.h.
	(i386_nlm_encode_section_info): Simplify.
	(netware_override_options): Delete.
	* config/i386/netware.h (netware_override_options): Delete
	declaration.
	(OVERRIDE_OPTIONS): Delete definition.
	(SUBTARGET_OVERRIDE_OPTIONS): Define.
	(ASM_COMMENT_START): Define.
	* config/i386/nwld.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.

From-SVN: r151164
2009-08-28 15:28:11 +00:00
Jan Beulich
39ba7b7db1 configure.ac: For in-tree ld...
2009-08-28  Jan Beulich  <jbeulich@novell.com>

	* configure.ac: For in-tree ld, do a plain version check to
	determine whether comdat groups are supported.
	* configure: Regenerate.

From-SVN: r151162
2009-08-28 15:22:18 +00:00
Olivier Hainque
7e49a4b396 collect2.c (DO_COLLECT_EXPORT_LIST): New internal macro, always defined.
* collect2.c (DO_COLLECT_EXPORT_LIST): New internal macro,
        always defined.  Reflect definition or absence of such for
        COLLECT_EXPORT_LIST.  Readability helper.
        (scanfilter): New enum, to help control what symbols
        are to be considered or ignored by scan_prog_file.
        (enum pass): Rename as "scanpass", moved together with scanfilter
        prior to scan_prog_file's prototype.
        (scan_prog_file): Accept and honor scanpass and scanfilter arguments.
        Group prototype with the scanpass/scanfilter definitions, factorize
        head comments for the several implementations at the prototype.
        (main): Reorganize the first pass link control to let AIX
        drag only the needed frame tables in executables.  Prevent
        frame tables collection during the scan aimed at static ctors.
        Pre-link and scan for frame tables later to compensate.
        * doc/tm.texi (ASM_OUTPUT_DWARF_TABLE_REF): New macro.
        A C statement to issue assembly directives that create a reference
        to the given DWARF table identifier label from the current function
        section.
        * dwarf2out.c (switch_to_eh_frame_section): Add a BACK argument
        to differentiate first time section entry.  Only emit a .data
        tables start identifier label the first time around.
        (switch_to_frame_table_section): New function.  Helper for
        output_call_frame_info to switch possibly BACK into the eh_frame
        or the debug_frame section depending on FOR_EH.
        (output_call_frame_info): Use helper to first enter the proper
        frame section.
        (output_fde): Use ASM_OUTPUT_DWARF_TABLE_REF when defined to
        emit a link to the frame table start label from each function
        section.
        * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_table_ref):
        New function.  Implementation of ASM_OUTPUT_DWARF_TABLE_REF.
        * config/rs6000/rs6000-protos.h: Declare it.
        * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Define.

From-SVN: r151157
2009-08-28 09:04:52 +00:00
GCC Administrator
72129a2509 Daily bump.
From-SVN: r151156
2009-08-28 00:16:48 +00:00
Kaz Kojima
a7d6f30643 sh.c (split_branches): Check the result of next_active_insn.
* config/sh/sh.c (split_branches): Check the result of
	next_active_insn.

From-SVN: r151152
2009-08-27 22:56:41 +00:00
Steve Ellcey
715fda9936 hpux.h (LIB_SPEC): Add -lrt for when using -pthread -fopenmp
2009-08-27  Steve Ellcey  <sje@cup.hp.com>

	* config/ia64/hpux.h (LIB_SPEC): Add -lrt for when
	using -pthread -fopenmp

From-SVN: r151151
2009-08-27 22:35:16 +00:00
Gerald Pfeifer
2711df1855 * doc/service.texi (service directory): Update URL.
From-SVN: r151150
2009-08-27 21:21:18 +00:00
Uros Bizjak
2b3b22d35e re PR rtl-optimization/40861 (ICE in simplify_subreg, at simplify-rtx.c:4981)
PR rtl-optimization/40861
	* simplify-rtx.c (simplify_subreg): Do not call simplify_gen_subreg to
	extract word from a multi-word subreg for negative byte positions.

testsuite/ChangeLog:

	PR rtl-optimization/40861
	* gcc.dg/pr40861.c: New test.

From-SVN: r151149
2009-08-27 22:54:28 +02:00
Tristan Gingold
30ed9d3dbe ia64.c (ia64_attribute_table): Add "common_object" entry.
* config/ia64/ia64.c (ia64_attribute_table): Add "common_object"
	entry.
	(SECTION_VMS_OVERLAY): Define.
	(ia64_vms_common_object_attribute): Added.  Handle the "common_object"
	attribute.
	(ia64_vms_elf_asm_named_section): Added.  Generate .section pseudo-op
	for common_object.
	(ia64_vms_output_aligned_decl_common): Added.  Generate pseudo-op for
	common_object declarations.
	(ia64_section_type_flags): Set section flag for common_object.
	* config/ia64/ia64-protos.h
	(ia64_vms_output_aligned_decl_common): Declare.
	(ia64_vms_elf_asm_named_section): Declare.


Co-Authored-By: Douglas B Rupp <rupp@gnat.com>

From-SVN: r151148
2009-08-27 20:08:49 +00:00
Janus Weil
889dc03581 re PR fortran/40869 ([F03] PPC assignment checking)
2009-08-27  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40869
	* expr.c (gfc_check_pointer_assign): Enable interface check for
	pointer assignments involving procedure pointer components.
	* gfortran.h (gfc_compare_interfaces): Modified prototype.
	* interface.c (gfc_compare_interfaces): Add argument 'name2', to be
	used instead of s2->name. Don't rely on the proc_pointer attribute,
	but instead on the flags handed to this function.
	(check_interface1,compare_parameter): Add argument for
	gfc_compare_interfaces.
	* resolve.c (check_generic_tbp_ambiguity): Ditto.

2009-08-27  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40869
	* gfortran.dg/proc_ptr_comp_20.f90: New.

From-SVN: r151147
2009-08-27 21:48:46 +02:00
Ralf Wildenhues
0930984ef0 Let test_summary invoke, not parse config.status contents.
contrib/*
	PR testsuite/41166
	* test_summary: Invoke config.status, rather than trying to
	parse it.  Adjust awk script.

From-SVN: r151145
2009-08-27 18:59:32 +00:00
Janne Blomqvist
20d1cba13b PR libfortran/39667 Fix testcases to not need fd_truncate.
From-SVN: r151144
2009-08-27 20:40:55 +03:00
Michael Matz
f994f296e1 expr.c (expand_expr_real_2): New function taking exploded unary or binary expression, split out from ...
* expr.c (expand_expr_real_2): New function taking exploded
        unary or binary expression, split out from ...
        (expand_expr_real_1): ... here.  Move over all unary/binary
        switch parts to above function, in particular these codes:
        PAREN_EXPR, NOP_EXPR, CONVERT_EXPR, POINTER_PLUS_EXPR, PLUS_EXPR,
        MINUS_EXPR, MULT_EXPR, TRUNC_DIV_EXPR, FLOOR_DIV_EXPR, CEIL_DIV_EXPR,
        ROUND_DIV_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, TRUNC_MOD_EXPR,
        FLOOR_MOD_EXPR, CEIL_MOD_EXPR, ROUND_MOD_EXPR, FIXED_CONVERT_EXPR,
        FIX_TRUNC_EXPR, FLOAT_EXPR, NEGATE_EXPR, ABS_EXPR, MAX_EXPR, MIN_EXPR,
        BIT_NOT_EXPR, TRUTH_AND_EXPR, BIT_AND_EXPR, TRUTH_OR_EXPR,
        BIT_IOR_EXPR, TRUTH_XOR_EXPR, BIT_XOR_EXPR, LROTATE_EXPR, RROTATE_EXPR,
        LSHIFT_EXPR, RSHIFT_EXPR, LT_EXPR, LE_EXPR, GT_EXPR, GE_EXPR, EQ_EXPR,
        NE_EXPR, UNORDERED_EXPR, ORDERED_EXPR, UNLT_EXPR, UNLE_EXPR, UNGT_EXPR,
        UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR, TRUTH_NOT_EXPR, COMPLEX_EXPR,
        WIDEN_SUM_EXPR, REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR,
        VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR,
        VEC_INTERLEAVE_LOW_EXPR, VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR,
        VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR, VEC_UNPACK_FLOAT_HI_EXPR,
        VEC_UNPACK_FLOAT_LO_EXPR, VEC_WIDEN_MULT_HI_EXPR,
        VEC_WIDEN_MULT_LO_EXPR, VEC_PACK_TRUNC_EXPR, VEC_PACK_SAT_EXPR,
        VEC_PACK_FIX_TRUNC_EXPR.
        (<case PAREN_EXPR>): Call set_mem_attributes() with type, not the
        full expression.

From-SVN: r151142
2009-08-27 12:42:18 +00:00
Tobias Burnus
7765789968 re PR fortran/28039 (Warn when ignoring extra characters in the format specification)
2009-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/28039
        * gfortran.dg/fmt_with_extra.f: xfail testcase as patch was
        * reverted.

From-SVN: r151141
2009-08-27 13:59:51 +02:00
Daniel Kraft
4a44a72d23 re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)
2009-08-27  Daniel Kraft  <d@domob.eu>

	PR fortran/37425
	* gfortran.h (gfc_expr): Optionally store base-object in compcall value
	and add a new flag to distinguish assign-calls generated.
	(gfc_find_typebound_proc): Add locus argument.
	(gfc_find_typebound_user_op), (gfc_find_typebound_intrinsic_op): Ditto.
	(gfc_extend_expr): Return if failure was by a real error.
	* interface.c (matching_typebound_op): New routine.
	(build_compcall_for_operator): New routine.
	(gfc_extend_expr): Handle type-bound operators, some clean-up and
	return if failure was by a real error or just by not finding an
	appropriate operator definition.
	(gfc_extend_assign): Handle type-bound assignments.
	* module.c (MOD_VERSION): Incremented.
	(mio_intrinsic_op): New routine.
	(mio_full_typebound_tree): New routine to make typebound-procedures IO
	code reusable for type-bound user operators.
	(mio_f2k_derived): IO of type-bound operators.
	* primary.c (gfc_match_varspec): Initialize new fields in gfc_expr and
	pass locus to gfc_find_typebound_proc.
	* resolve.c (resolve_operator): Only output error about no matching
	interface if gfc_extend_expr did not already fail with an error.
	(extract_compcall_passed_object): Use specified base-object if present.
	(update_compcall_arglist): Handle ignore_pass field.
	(resolve_ordinary_assign): Update to handle extended code for
	type-bound assignments, too.
	(resolve_code): Handle EXEC_ASSIGN_CALL statement code.
	(resolve_tb_generic_targets): Pass locus to gfc_find_typebound_proc.
	(resolve_typebound_generic), (resolve_typebound_procedure): Ditto.
	(resolve_typebound_intrinsic_op), (resolve_typebound_user_op): Ditto.
	(ensure_not_abstract_walker), (resolve_fl_derived): Ditto.
	(resolve_typebound_procedures): Remove not-implemented error.
	(resolve_typebound_call): Handle assign-call flag.
	* symbol.c (find_typebound_proc_uop): New argument to pass locus for
	error message about PRIVATE, verify that a found procedure is not marked
	as erraneous.
	(gfc_find_typebound_intrinsic_op): Ditto.
	(gfc_find_typebound_proc), (gfc_find_typebound_user_op): New locus arg.

2009-08-27  Daniel Kraft  <d@domob.eu>

	PR fortran/37425
	* gfortran.dg/impure_assignment_1.f90: Change expected error message.
	* gfortran.dg/typebound_operator_1.f03: Remove check for not-implemented
	error and fix problem with recursive assignment.
	* gfortran.dg/typebound_operator_2.f03: No not-implemented check.
	* gfortran.dg/typebound_operator_3.f03: New test.
	* gfortran.dg/typebound_operator_4.f03: New test.

From-SVN: r151140
2009-08-27 13:42:56 +02:00