Commit Graph

115973 Commits

Author SHA1 Message Date
Richard Guenther
b758f60250 tree-vect-stmts.c (vect_get_vec_def_for_operand): Use VIEW_CONVERT_EXPR to convert constants.
2012-03-16  Richard Guenther  <rguenther@suse.de>

	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
	VIEW_CONVERT_EXPR to convert constants.
	(vect_is_simple_use): Treat all constants as vec_constant_def.

From-SVN: r185466
2012-03-16 13:20:55 +00:00
Richard Guenther
cf1867a027 re PR middle-end/48814 (Incorrect scalar increment result)
2012-03-16  Richard Guenther  <rguenther@suse.de>
	Kai Tietz  <ktietz@redhat.com>

	PR middle-end/48814
	* gimplify.c (gimplify_self_mod_expr): Evaluate postfix
	side-effects completely in the pre-queue and use a temporary
	for the result.

	* gcc.c-torture/execute/pr48814-1.c: New test.
	* gcc.c-torture/execute/pr48814-2.c: New test.
	* gcc.dg/tree-ssa/assign-1.c: New test.
	* gcc.dg/tree-ssa/assign-2.c: New test.
	* gcc.dg/tree-ssa/assign-3.c: New test.

Co-Authored-By: Kai Tietz <ktietz@redhat.com>

From-SVN: r185465
2012-03-16 11:48:48 +00:00
Richard Guenther
2447776cc9 stor-layout.c (finish_bitfield_representative): Fall back to the conservative maximum size if...
2012-03-16  Richard Guenther  <rguenther@suse.de>

	* stor-layout.c (finish_bitfield_representative): Fall back
	to the conservative maximum size if we cannot compute the
	size of the tail padding.

	* gnat.dg/specs/pack7.ads: New testcase.

From-SVN: r185464
2012-03-16 11:47:26 +00:00
Tristan Gingold
86286a8a96 vms-unwind.h: Remove ulong (and replace it by unw_reg where used).
2012-03-16  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/vms-unwind.h: Remove ulong (and replace
	it by unw_reg where used).  Define unw_reg with __int64.

From-SVN: r185463
2012-03-16 10:58:28 +00:00
Tristan Gingold
6ceb677f26 vms.h (TARGET_OS_CPP_BUILTINS): Define __CRTL_VER and __VMS_VER.
2012-03-16  Tristan Gingold  <gingold@adacore.com>

	* config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
	__CRTL_VER and __VMS_VER.
	* config/vms/vms-protos.h: Declare vms_c_get_crtl_ver
	and vms_c_get_vms_ver.
	* config/vms/vms-c.c (vms_c_get_crtl_ver, vms_c_get_vms_ver): New
	functions.
	* config/alpha/vms.h (VMS_DEFAULT_CRTL_VER)
	(VMS_DEFAULT_VMS_VER): Define.
	* config/ia64/vms.h (VMS_DEFAULT_CRTL_VER)
	(VMS_DEFAULT_VMS_VER): Define.

From-SVN: r185462
2012-03-16 09:55:56 +00:00
Richard Guenther
50a763ab47 tree-vect-loop.c (get_initial_def_for_induction): Use build_constructor directly.
2012-03-16  Richard Guenther  <rguenther@suse.de>

	* tree-vect-loop.c (get_initial_def_for_induction): Use
	build_constructor directly.
	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
	build_vector_from_val.
	* tree.c (build_vector_from_val): Avoid creating a constructor
	first when we want a constant vector.

From-SVN: r185461
2012-03-16 09:54:36 +00:00
Bernhard Reutner-Fischer
6a26a74d8e lib{gomp,itm}/testsuite: load missing fortran-modules.exp
libgomp/ChangeLog
2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* testsuite/lib/libgomp.exp: load fortran-modules.exp

libitm/ChangeLog
2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* testsuite/lib/libitm.exp: load fortran-modules.exp

From-SVN: r185460
2012-03-16 10:51:06 +01:00
Rainer Orth
172465160a Improve wording in GCC 4.7 Solaris update to install.texi
* doc/install.texi (Specific, *-*-solaris2*): Improve wording.

From-SVN: r185459
2012-03-16 09:50:29 +00:00
Richard Guenther
d2a12ae77f tree.h (TREE_VECTOR_CST_ELTS): Remove.
2012-03-16  Richard Guenther  <rguenther@suse.de>

	* tree.h (TREE_VECTOR_CST_ELTS): Remove.
	(VECTOR_CST_NELTS, VECTOR_CST_ELTS, VECTOR_CST_ELT): New defines.
	(struct tree_vector): Remove elements member, add variable size
	elts array member.
	(build_vector_stat): Declare.
	(build_vector): Define in terms of build_vector_stat.
	* tree.c (build_vector): Rename to ...
	(build_vector_stat): ... this.  Take array of trees as parameter.
	(build_vector_from_ctor): Adjust.
	(integer_zerop, integer_onep, integer_all_onesp, iterative_hash_expr,
	initializer_zerop): Adjust.
	* cfgexpand.c (expand_debug_expr): Likewise.
	* expr.c (categorize_ctor_elements_1, expand_expr_real_1,
	const_vector_from_tree): Likewise.
	* fold-const.c (const_binop, operand_equal_p, native_encode_vector,
	native_interpret_vector, fold_unary_loc, vec_cst_ctor_to_array,
	fold_vec_perm, fold_binary_loc, fold_ternary_loc): Likewise.
	* tree-streamer-in.c (streamer_alloc_tree): Handle TS_VECTOR.
	(lto_input_ts_vector_tree_pointers): Adjust.
	* tree-streamer-out.c (streamer_write_tree_header): Handle TS_VECTOR.
	(write_ts_vector_tree_pointers): Adjust.
	* varasm.c (const_hash_1, compare_constant, copy_constant,
	output_constant): Adjust.
	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Adjust.
	* print-tree.c (print_node): Adjust.
	* tree-pretty-print.c (dump_generic_node): Adjust.
	* tree-vect-generic.c (uniform_vector_p, vector_element,
	lower_vec_perm): Adjust.
	* tree-vect-loop.c (get_initial_def_for_reduction): Adjust.
	* tree-vect-slp.c (vect_get_constant_vectors,
	vect_transform_slp_perm_load): Adjust.
	* tree-vect-stmts.c (vect_gen_perm_mask): Adjust.
	* expmed.c (make_tree): Adjust.

	* config/i386/i386.c (ix86_expand_builtin): Adjust.
	* config/sparc/sparc.c (sparc_handle_vis_mul8x16): Adjust interface
	and implementation.
	(sparc_fold_builtin): Adjust.

	c-family/
	* c-pretty-print.c (pp_c_initializer_list): Adjust.

From-SVN: r185458
2012-03-16 09:47:09 +00:00
Tristan Gingold
20bfad56eb config.gcc (*-*-*vms*): Define use_gcc_stdint and tm_file.
2012-03-16  Tristan Gingold  <gingold@adacore.com>

	* config.gcc (*-*-*vms*): Define use_gcc_stdint and tm_file.
	* config/vms/vms-stdint.h: New file.

From-SVN: r185456
2012-03-16 09:29:56 +00:00
Tristan Gingold
305576a5b0 2012-03-16 Tristan Gingold <gingold@adacore.com>
* config.host (alpha64-dec-*vms*, alpha*-dec-*vms*)
	(ia64-hp-*vms*): Replaced by ...
	(*-*-*vms*): ... This new entry.

From-SVN: r185455
2012-03-16 09:18:57 +00:00
Janne Blomqvist
33959d1d3c Share vtables instead of replicating them for each unit.
2012-03-16  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/unix.h (struct stream): Rename to stream_vtable.
	(struct stream): New struct definition.
	(sread): Dereference vtable pointer.
	(swrite): Likewise.
	(sseek): Likewise.
	(struncate): Likewise.
	(sflush): Likewise.
	(sclose): Likewise.
	* io/unix.c (raw_vtable): New variable.
	(buf_vtable): Likewise.
	(mem_vtable): Likewise.
	(mem4_vtable): Likewise.
	(raw_init): Assign vtable pointer.
	(buf_init): Likewise.
	(open_internal): Likewise.
	(open_internal4): Likewise.

From-SVN: r185454
2012-03-16 10:30:26 +02:00
Janne Blomqvist
c4256b35bf Don't use BUILT_IN_IROUND for __float128.
2012-03-16  Janne Blomqvist  <jb@gcc.gnu.org>

       * trans-intrinsic.c (build_round_expr): Don't use BUILT_IN_IROUND
       for __float128.

From-SVN: r185453
2012-03-16 10:14:01 +02:00
GCC Administrator
b074387553 Daily bump.
From-SVN: r185451
2012-03-16 00:18:55 +00:00
Jakub Jelinek
81de8b03e0 re PR target/52568 (suboptimal __builtin_shuffle on cycles with AVX)
PR target/52568
	* config/i386/i386.c (expand_vec_perm_vperm2f128_vblend): New
	function.
	(ix86_expand_vec_perm_const_1): Use it.

	* gcc.dg/torture/vshuf-4.inc: Add two new tests.
	* gcc.dg/torture/vshuf-8.inc: Likewise.
	* gcc.dg/torture/vshuf-16.inc: Likewise.
	* gcc.dg/torture/vshuf-32.inc: Likewise.

From-SVN: r185447
2012-03-16 00:46:34 +01:00
Jakub Jelinek
b82277395e re PR target/52568 (suboptimal __builtin_shuffle on cycles with AVX)
PR target/52568
	* config/i386/sse.md (UNSPEC_VPERMDF): Remove.
	(avx2_permv4df): Remove.
	(avx2_permv4di): Macroize into...
	(avx2_perm<mode>): ... this using VI8F_256 iterator.
	(avx2_permv4di_1): Macroize into...
	(avx2_perm<mode>_1): ... this using VI8F_256 iterator.

From-SVN: r185446
2012-03-16 00:45:45 +01:00
Janne Blomqvist
192b716b10 Remove commented out debug printf:s
From-SVN: r185444
2012-03-15 23:56:13 +02:00
Jason Merrill
92caa91a0d re PR c++/52582 (g++ ICE when compiling qt-4.8.0 with -O2 on PPC (32bit))
PR c++/52582
	* method.c (implicitly_declare_fn): Set DECL_EXTERNAL.

From-SVN: r185443
2012-03-15 17:22:38 -04:00
Janne Blomqvist
6715d47bba Enable BUILT_IN_IROUND.
2012-03-15  Janne Blomqvist  <jb@gcc.gnu.org>

	* f95-lang.c (gfc_init_builtin_functions): Initialize
	BUILT_IN_IROUND.
	* mathbuiltins.def: Add IROUND.
	* trans-intrinsic.c (build_round_expr): Use BUILT_IN_IROUND if
	type size matches.
	(gfc_build_intrinsic_lib_fndecls): Build iround functions.

From-SVN: r185442
2012-03-15 22:27:07 +02:00
Bernhard Reutner-Fischer
28eccf2d94 fortran-modules.exp: New file which was forgotten in r185430.
2012-03-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

        * lib/fortran-modules.exp: New file which was forgotten in r185430.

From-SVN: r185439
2012-03-15 17:55:12 +01:00
Ulrich Weigand
df7965e414 * combine.c (apply_distributive_law): Do not distribute SUBREG.
From-SVN: r185438
2012-03-15 16:43:08 +00:00
Ira Rosen
bc4fb35543 tree-vect-patterns.c (widened_name_p): Rename to ...
ChangeLog:

	* tree-vect-patterns.c (widened_name_p): Rename to ...
	(type_conversion_p): ... this.  Add new argument to determine
	if it's a promotion or demotion operation.  Check for
	CONVERT_EXPR_CODE_P instead of NOP_EXPR.
	(vect_recog_dot_prod_pattern): Call type_conversion_p instead
	widened_name_p.
	(vect_recog_widen_mult_pattern, vect_recog_widen_sum_pattern,
	vect_operation_fits_smaller_type, vect_recog_widen_shift_pattern):
	Likewise.
	(vect_recog_mixed_size_cond_pattern): Likewise and allow
	non-constant then and else clauses.

testsuite/ChangeLog:

	* gcc.dg/vect/slp-cond-3.c: New test.
	* gcc.dg/vect/slp-cond-4.c: New test.

Co-Authored-By: Ulrich Weigand <ulrich.weigand@linaro.org>

From-SVN: r185437
2012-03-15 16:38:14 +00:00
Ira Rosen
f570918365 tree-vectorizer.h (vect_pattern_recog): Add new argument.
ChangeLog:

	* tree-vectorizer.h (vect_pattern_recog): Add new argument.
	* tree-vect-loop.c (vect_analyze_loop_2): Update call to
	vect_pattern_recog.
	* tree-vect-patterns.c (widened_name_p): Pass basic block
	info to vect_is_simple_use.
	(vect_recog_dot_prod_pattern): Fail for basic blocks.
	(vect_recog_widen_sum_pattern): Likewise.
	(vect_handle_widen_op_by_const): Support basic blocks.
	(vect_operation_fits_smaller_type,
	vect_recog_over_widening_pattern): Likewise.
	(vect_recog_vector_vector_shift_pattern): Support basic blocks.
	Update call to vect_is_simple_use.
	(vect_recog_mixed_size_cond_pattern): Support basic blocks.
	Add printing.
	(check_bool_pattern): Add an argument, update call to
	vect_is_simple_use and the recursive calls.
	(vect_recog_bool_pattern): Update relevant function calls.
	Add printing.
	(vect_mark_pattern_stmts): Update calls to new_stmt_vec_info.
	(vect_pattern_recog_1): Check for reduction only in loops.
	(vect_pattern_recog): Add new argument.  Support basic blocks.
	* tree-vect-stmts.c (vectorizable_conversion): Pass basic block
	info to vect_is_simple_use_1.
	* tree-vect-slp.c (vect_get_and_check_slp_defs): Support basic
	blocks.
	(vect_slp_analyze_bb_1): Call vect_pattern_recog.

testsuite/ChangeLog:

	* gcc.dg/vect/bb-slp-pattern-1.c: New test.
	* gcc.dg/vect/bb-slp-pattern-2.c: New test.

Co-Authored-By: Ulrich Weigand <ulrich.weigand@linaro.org>

From-SVN: r185436
2012-03-15 16:36:48 +00:00
Janne Blomqvist
37b659dd29 re PR libfortran/52434 (Insufficient number of digits in floating point formatting)
2012-03-15  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/52434
        PR libfortran/48878
        PR libfortran/38199
        * io/unit.c (get_internal_unit): Default to ROUND_UNSPECIFIED.
        (init_units): Likewise.
        * io/write_float.def (determine_precision): New function.
        (output_float): Take into account buffer with %f format, no need
        for our own rounding if unspecified or processor specified
        rounding.
        (DTOA): Simplify format string, add parameters.
        (FDTOA): New macros similar to DTOA, but using %f format.
        (OUTPUT_FLOAT_FMT_G): Stack allocate newf, determine correct
        precision and fill buffer.
        (EN_PREC): New macro.
        (determine_en_precision): New function.
        (WRITE_FLOAT): For G format, move buffer filling into
        output_float_FMT_G, use FDTOA for F format.
        (write_float): Increase buffer due to F format.

testsuite ChangeLog:

2012-03-15  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/52434
        PR libfortran/48878
        PR libfortran/38199
        * gfortran.dg/edit_real_1.f90: Don't assume roundTiesToAway.
        * gfortran.dg/round_1.f03: Likewise.

From-SVN: r185433
2012-03-15 17:14:43 +02:00
Jakub Jelinek
ff63ac4d66 re PR middle-end/52592 (compilation failure with undefined reference to `__builtin_iround')
PR middle-end/52592
	* builtins.c (expand_builtin_int_roundingfn_2): If expanding
	BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
	calls instead of __builtin_ir{int,ound}*.

	* gcc.dg/pr52592.c: New test.

Co-Authored-By: Andrew Pinski <apinski@cavium.com>

From-SVN: r185431
2012-03-15 14:30:04 +01:00
Bernhard Reutner-Fischer
b3781fcb26 gfortran testsuite: implicitly cleanup-modules
gcc/ChangeLog:
2012-03-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* doc/sourcebuild.texi (cleanup-modules, keep-modules): Update
	documentation.

gcc/testsuite/ChangeLog:

2012-03-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* gfortran.fortran-torture/compile/compile.exp: Simplify.
	* gfortran.fortran-torture/execute/execute.exp: Likewise.
	* lib/gcc-dg.exp (cleanup-modules): Move to ..
	* lib/fortran-modules.exp: .. this new file. Adjust users.
	* lib/gfortran-dg.exp (gfortran-dg-runtest,
	gfortran-dg-debug-runtest): Call cleanup-modules.
	* lib/fortran-torture.exp (fortran-torture-execute,
	fortran-torture): Likewise.
	* gfortran.dg/coarray/caf.exp: Likewise.
	* lib/lto.exp: Likewise.
	* gfortran.dg/class_4a.f03: Adjust cleanup-modules and keep-modules.
	* gfortran.dg/class_4b.f03: Likewise.
	* gfortran.dg/class_4c.f03: Likewise.
	* gfortran.dg/class_45a.f03: Likewise.
	* gfortran.dg/binding_label_tests_10.f03: Likewise.
	* gfortran.dg/binding_label_tests_10_main.f03: Likewise.
	* gfortran.dg/binding_label_tests_11.f03: Likewise.
	* gfortran.dg/binding_label_tests_11_main.f03: Likewise.
	* gfortran.dg/binding_label_tests_13.f03: Likewise.
	* gfortran.dg/binding_label_tests_13_main.f03: Likewise.
	* gfortran.dg/test_common_binding_labels_2.f03: Likewise.
	* gfortran.dg/test_common_binding_labels_2_main.f03: Likewise.
	* gfortran.dg/test_common_binding_labels_3.f03: Likewise.
	* gfortran.dg/test_common_binding_labels_3_main.f03: Likewise.
	* gfortran.dg/whole_file_28.f90: Likewise.
	* gfortran.dg/whole_file_29.f90: Likewise.
	* gfortran.dg/whole_file_30.f90: Likewise.
	* gfortran.dg/whole_file_31.f90: Likewise.

From-SVN: r185430
2012-03-15 13:25:47 +01:00
Ramana Radhakrishnan
421836855b Fix date from last commit.
From-SVN: r185429
2012-03-15 10:53:30 +00:00
Ramana Radhakrishnan
5ab228501e Fix gnu_unique_object handling for arm-linux-gnueabi
2012-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* config.gcc (target_type_format_char): New. Document it. Set it for
        arm*-*-* .
	* configure.ac (gnu_unique_option): Use target_type_format_char in test.
        Comment rationale.
	* configure: Regenerate .

From-SVN: r185428
2012-03-15 10:50:58 +00:00
Jakub Jelinek
ad193f32c8 re PR tree-optimization/52267 (a&~N where N has all the bits set up till a specific point can be folded to ((unsigned)a) < N)
PR tree-optimization/52267
	* tree-vrp.c (masked_increment): New function.
	(register_edge_assert_for_2): Derive ASSERT_EXPRs
	from (X & CST1) cmp CST2 tests.

	* gcc.dg/pr52267.c: New test.
	* gcc.dg/tree-ssa/vrp65.c: New test.
	* gcc.dg/tree-ssa/vrp66.c: New test.

From-SVN: r185427
2012-03-15 11:37:27 +01:00
Richard Guenther
9b00587cc2 re PR middle-end/52580 (171.swim performance drop on x86 – vectorization doesn’t happen anymore)
2012-03-15  Richard Guenther  <rguenther@suse.de>

	PR middle-end/52580
	* tree-data-ref.c (subscript_dependence_tester_1): Check
	all dimensions for non-conflicting access functions.

	* gfortran.dg/vect/pr52580.f: New testcase.

From-SVN: r185426
2012-03-15 10:04:55 +00:00
Manuel López-Ibáñez
a12bf40281 re PR c++/44783 (implement -ftemplate-backtrace-limit=)
/c-family
2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/44783
	* c.opt (ftemplate-backtrace-limit) Add.

/cp
2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/44783
	* error.c (print_instantiation_partial_context): Use
	template_backtrace_limit.

/doc
2012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/44783
	* doc/invoke.texi [C++ Language Options]: Document
	-ftemplate-backtrace-limit.

From-SVN: r185424
2012-03-15 09:57:29 +00:00
Arnaud Charlet
1f163ef7ac [multiple changes]
2012-03-15  Robert Dewar  <dewar@adacore.com>

	* errout.ads: Add entry for translating -gnateinn to
	/MAX_INSTANTIATIONS for VMS.
	* hostparm.ads (Max_Instantiations): Moved to Opt.
	* opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
	* sem_ch12.adb (Maximum_Instantiations): New name of
	Max_Instantiations (Analyze_Package_Instantiation): Change error
	msg for too many instantiations (mention -gnateinn switch).
	* switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
	* switch.ads: Minor comment update.
	* usage.adb (Usage): Output line for -maxeinn switch.
	* vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).

2012-03-15  Yannick Moy  <moy@adacore.com>

	* alfa.ads Update the decription of ALI sections.
	(Alfa_File_Record): Add a component Unit_File_Name to store the
	unit file name for subunits.
	* get_alfa.adb, put_alfa.adb Adapt to the possible presence of
	a unit file name.
	* lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
	file name of the unit.

2012-03-15  Yannick Moy  <moy@adacore.com>

	* sem_ch6.adb (Check_Subprogram_Contract): Do
	not issue warning on missing 'Result in postcondition if all
	postconditions and contract-cases already get a warning for only
	referring to pre-state.

2012-03-15  Bob Duff  <duff@adacore.com>

	* debug.adb: Add new debug switch -gnatd.U, which disables the
	support added below, in case someone trips over a cycle, and needs
	to disable this.
	* sem_attr.adb (Analyze_Access_Attribute):
	Treat Subp'Access as a call for elaboration purposes.
	* sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
	for Subp'Access.

From-SVN: r185422
2012-03-15 10:15:49 +01:00
Vincent Pucci
b3e42de5be sem.ads, sem.adb (Preanalyze): New routine.
2012-03-15  Vincent Pucci  <pucci@adacore.com>

	* sem.ads, sem.adb (Preanalyze): New routine.
	* sem_ch4.adb (Analyze_Quantified_Expression): Call to the
	Preanalyze routine in Sem added.  Renaming of Needs_Expansion
	into Need_Preanalysis.
	* sem_ch6.adb (Preanalyze): Removed.

From-SVN: r185421
2012-03-15 10:11:57 +01:00
Robert Dewar
2a1b208c0c sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
2012-03-15  Robert Dewar  <dewar@adacore.com>

	* sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
	* sem_prag.adb: Minor comment additions.
	* sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
	is frozen.

From-SVN: r185420
2012-03-15 10:10:42 +01:00
Arnaud Charlet
ce6002ece2 [multiple changes]
2012-03-15  Vincent Pucci  <pucci@adacore.com>

	* sem_ch4.adb (Analyze_Quantified_Expression):
	Preanalyze the condition when the quantified expression will be
	further expanded.

2012-03-15  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
	sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
	to refer to both Test_Case pragma and Contract_Case pragma (same
	acronym as in Spec_CTC_List).

From-SVN: r185419
2012-03-15 10:09:31 +01:00
Robert Dewar
b285815ef5 sem_prag.adb, [...]: Minor reformatting.
2012-03-15  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
	sem_warn.adb: Minor reformatting.

From-SVN: r185418
2012-03-15 10:07:53 +01:00
Arnaud Charlet
22f46473c7 [multiple changes]
2012-03-15  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
	selector names as the function call always appears at the top selected
	component.

2012-03-15  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
	Mode_Conformance check for older versions of the language.

2012-03-15  Yannick Moy  <moy@adacore.com>

	* gnat_ugn.texi Document the extension of option -gnatw.t.
	* sem_ch3.adb (Analyze_Declaration): Check for suspicious
	contracts only after contract cases have been semantically
	analyzed.
	* sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
	components of contract cases for detecting suspicious contracts.

From-SVN: r185417
2012-03-15 10:05:07 +01:00
Tristan Gingold
a59205fa16 README (EXAMPLES OF FIXES): Update.
2012-03-15  Tristan Gingold  <gingold@adacore.com>

	* README (EXAMPLES OF FIXES): Update.

From-SVN: r185416
2012-03-15 08:50:41 +00:00
Yannick Moy
90e8523311 aspects.adb, [...] (Aspect_Id): New GNAT aspect Aspect_Contract_Case.
2012-03-15  Yannick Moy  <moy@adacore.com>

	* aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
	Aspect_Contract_Case.
	* gnat_rm.texi Document the new pragma/aspect
	Contract_Case. Correct the documentation of the existing
	pragma/aspect Test_Case with the new semantics.
	* sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
	Ensures component of a Contract_Case pragma.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
	and translate it into a pragma.
	(Check_Aspect_At_Freeze_Point): Take into account the new aspect.
	* sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
	into CTC (for contract and test case).
	* sem_ch6.adb (Process_PPCs): Generate Check pragmas from
	Contract_Case pragmas, similarly to what is done already for
	postconditions.
	* sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
	Renaming of Check_Test_Case.
	(Analyze_Pragma, Sig_Flags): Take into account the new pragma.
	* sem_util.adb, sem_util.ads Renaming to take into account the
	new pragma, so that functions which applied only to Test_Case
	now apply to both Test_Case and Contract_Case.
	* par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
	the new pragma.

From-SVN: r185415
2012-03-15 09:48:36 +01:00
Tristan Gingold
51a1aacf86 c-parser.c (c_parser_parameter_declaration): Handle #pragma before a parameter.
2012-03-15  Tristan Gingold  <gingold@adacore.com>

	* c-parser.c (c_parser_parameter_declaration): Handle #pragma
	before a parameter.

From-SVN: r185413
2012-03-15 08:47:20 +00:00
Robert Dewar
4fa04e5c03 sem_ch6.ads: Minor comment updates.
2012-03-15  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.ads: Minor comment updates.
	* sem_ch12.adb: Minor comment clarification.

From-SVN: r185412
2012-03-15 09:46:38 +01:00
Tristan Gingold
b763dcaaec dwarf2out.c (gen_subprogram_die): Require dwarf unwinding to use DW_OP_call_frame_cfa.
2012-03-15  Tristan Gingold  <gingold@adacore.com>

        * dwarf2out.c (gen_subprogram_die): Require dwarf unwinding to
        use DW_OP_call_frame_cfa.

From-SVN: r185411
2012-03-15 08:44:42 +00:00
Arnaud Charlet
f307415a69 [multiple changes]
2012-03-15  Ed Falis  <falis@adacore.com>

	* s-vxwork-ppc.ads: Update copyright.

2012-03-15  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb: Minor reformatting.

2012-03-15  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
	declaration of a class-wide object, retain the Ekind to prevent
	subsequent misuse of constants.

2012-03-15  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
	terminology.

2012-03-15  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Initialized_By_Ctrl_Function): Add code to
	process the case when a function call appears in object.operation
	format.

2012-03-15  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
	Get_Inst formal, so that conformance within an instantiation
	follows renamings of formals. This is similar to what is already
	done in Check_Mode_conformant.
	* sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
	formal and actual are subtype conformant. Previously only mode
	conformance was required.

From-SVN: r185410
2012-03-15 09:44:33 +01:00
Arnaud Charlet
011f9d5d67 [multiple changes]
2012-03-15  Robert Dewar  <dewar@adacore.com>

	* par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
	sem_case.adb: Minor reformatting.

2012-03-15  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Add handling
	of First_Valid/Last_Valid.
	* sem_attr.adb (Check_First_Last_Valid): New procedure
	(Analyze_Attribute): Add handling of First_Valid and Last_Valid
	(Eval_Attribute): ditto.
	* snames.ads-tmpl: Add entries for First_Valid and Last_Valid.

2012-03-15  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
	loop variable, for the unusual case where the range has a single
	element and the loop variable has no visible assignment to it.

2012-03-15  Vincent Pucci  <pucci@adacore.com>

	* exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
	original quantified expression node.
	* sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
	the quantified expression and preserve the original non-analyzed
	quantified expression when an expansion is needed.
	* sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
	for quantified expressions.
	(Analyze_Iterator_Specification): Special treatment for quantified
	expressions.

2012-03-15  Ed Falis  <falis@adacore.com>

	* s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
	field matches VxWorks headers.

From-SVN: r185409
2012-03-15 09:39:05 +01:00
Oleg Endo
5457d860af fpul-usage-1.c: New.
* gcc.target/sh/fpul-usage-1.c: New.

From-SVN: r185406
2012-03-15 01:18:04 +00:00
Joseph Myers
1eb74c79d6 * sv.po: Update.
From-SVN: r185404
2012-03-15 00:28:23 +00:00
GCC Administrator
fd8f422394 Daily bump.
From-SVN: r185403
2012-03-15 00:18:42 +00:00
Oleg Endo
5ff377fdff re PR target/49468 (SH Target: inefficient integer abs code)
PR target/49468
	* gcc.target/sh/pr49468-si.c: Make dg-skip-if not the first directive.
	* gcc.target/sh/pr49468-di.c: Likewise.

From-SVN: r185397
2012-03-14 22:57:58 +00:00
H.J. Lu
28968d912e Add -maddress-mode=short|long for x86
2012-03-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/50797
	* config/i386/i386-opts.h (pmode): New.

	* config/i386/i386.c (ix86_option_override_internal): Properly
	check and set ix86_pmode.

	* config/i386/i386.h (Pmode): Check ix86_pmode instead of
	TARGET_64BIT.

	* config/i386/i386.opt (maddress-mode=): New.

	* doc/invoke.texi: Document -maddress-mode=short|long for x86.

From-SVN: r185396
2012-03-14 15:20:17 -07:00
Rainer Orth
7c17f33540 Remove MIPS_DEBUGGING_INFO support
* dwarf2cfi.c (def_cfa_0): Remove MIPS_DEBUGGING_INFO handling.
	(dwarf2out_do_cfi_asm): Likewise.
	* dwarf2out.c (output_call_frame_info): Remove MIPS_DEBUGGING_INFO
	handling.
	(add_data_member_location_attribute): Likewise.
	(gen_array_type_die): Likewise.
	(gen_subprogram_die): Likewise.
	(gen_producer_string): Likewise.
	* sdbout.c (sdbout_begin_prologue): Declare unconditionally.
	Remove MIPS_DEBUGGING_INFO handling.
	(sdb_debug_hooks): Likewise.
	(sdbout_begin_block): Likewise.
	(sdbout_end_block): Likewise.
	(sdbout_begin_prologue): Likewise.
	(sdbout_start_source_file): Likewise.
	(sdbout_end_source_file): Likewise.
	(sdbout_init): Likewise.
	* system.h (MIPS_DEBUGGING_INFO): Poison.

From-SVN: r185395
2012-03-14 18:01:06 +00:00