Commit Graph

117603 Commits

Author SHA1 Message Date
Richard Earnshaw c4cc7bc1ce config.gcc (unsupported): Move obsoleted FPA-based configurations here from ...
* config.gcc (unsupported): Move obsoleted FPA-based configurations
	here from ...
	(obsolete): ... here.
	(arm*-*-freebsd*): Remove.
	(arm*-*-linux*): Only accept EABI variants.  Simplify logic.
	(arm*-*-uclinux*): Likewise.
	(arm*-*-ecos-elf): Remove.
	(arm*-*-rtems*): Remove.
	(arm*-*-elf): Remove.
	(arm*-wince-pe*): Remove.
	(arm, --with-fpu): Remove support for fpa and Maverick variants.
	* arm/ecos-elf.h: Delete.
	* arm/t-strongarm-elf: Delete.
	* arm/rtems-elf.h: Delete.
	* arm/wince-pe.h: Delete.
	* arm/pe.c: Delete.
	* arm/pe.h: Delete.
	* arm/t-wince-pe: Delete.

From-SVN: r188510
2012-06-13 12:45:27 +00:00
Bill Schmidt 7ef58a1a45 re PR tree-optimization/53647 (gcc.c-torture/compile/20011229-1.c and gcc.c-torture/compile/pr25311.c)
2012-06-13  Bill Schmidt  <wschmidt@linux.ibm.com>

	PR tree-optimization/53647
	* tree-ssa-phiopt.c (gate_hoist_loads): Skip transformation for
	targets with no defined cache line size.

From-SVN: r188509
2012-06-13 12:33:55 +00:00
Bill Schmidt a21892add3 targhooks.c (default_builtin_vectorized_conversion): Handle vec_construct, using vectype to base cost on subparts.
2012-06-13  Bill Schmidt  <wschmidt@linux.ibm.com>

	* targhooks.c (default_builtin_vectorized_conversion): Handle
	vec_construct, using vectype to base cost on subparts.
	* target.h (enum vect_cost_for_stmt): Add vec_construct.
	* tree-vect-stmts.c (vect_model_load_cost): Use vec_construct
	instead of scalar_to-vec.
	* config/spu/spu.c (spu_builtin_vectorization_cost): Handle
	vec_construct in same way as default for now.
	* config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
	Handle vec_construct, including special case for 32-bit loads.

From-SVN: r188508
2012-06-13 12:27:57 +00:00
Tobias Burnus 2be13164c1 re PR fortran/53643 ([OOP] ICE (segfault) with INTENT(OUT) CLASS array)
2012-06-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53643
        * trans-decl.c (init_intent_out_dt): Fix for polymorphic arrays.
        * trans-array.c (structure_alloc_comps): Don't loop for
        scalar coarrays.

2012-06-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53643
        * gfortran.dg/intent_out_7.f90: New.

From-SVN: r188507
2012-06-13 13:57:45 +02:00
Tobias Burnus d1f6dfe6fb re PR fortran/53597 (F95/F2003 constraint no longer triggers: un-SAVED default-initialized module variable)
2012-06-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53597
        * decl.c (match_attr_spec): Only mark module variables
        as SAVE_IMPLICIT for Fortran 2008 and later.

2012-06-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53597
        * gfortran.dg/save_4.f90: New.

From-SVN: r188506
2012-06-13 13:56:08 +02:00
Uros Bizjak 9c78662a1b * ChangeLog: Fix whitespace.
From-SVN: r188505
2012-06-13 12:43:26 +02:00
Uros Bizjak a3fac3615d * ChangeLog: Fix whitespace.
From-SVN: r188504
2012-06-13 12:39:27 +02:00
Xinyu Qi 8fd0351502 arm.c (FL_IWMMXT2): New define.
* config/arm/arm.c (FL_IWMMXT2): New define.
	(arm_arch_iwmmxt2): New variable.
	(arm_option_override): Enable use of iWMMXt with VFP.
	Disable use of iWMMXt with NEON. Disable use of iWMMXt under
	Thumb mode. Set arm_arch_iwmmxt2.
	(arm_expand_binop_builtin): Accept VOIDmode op.
	(enum arm_builtins): Revise built-in fcode.
	(IWMMXT2_BUILTIN): New define.
	(IWMMXT2_BUILTIN2): Likewise.
	(iwmmx2_mbuiltin): Likewise.
	(builtin_description bdesc_2arg): Revise built in declaration.
	(builtin_description bdesc_1arg): Likewise.
	(arm_init_iwmmxt_builtins): Revise built in initialization.
	(arm_expand_builtin): Revise built in expansion.
	(arm_output_iwmmxt_shift_immediate): New function.
	(arm_output_iwmmxt_tinsr): Likewise.
	* config/arm/arm-protos.h (arm_output_iwmmxt_shift_immediate): Declare.
	(arm_output_iwmmxt_tinsr): Likewise.
	* config/arm/iwmmxt.md (WCGR0, WCGR1, WCGR2, WCGR3): New constant.
	(iwmmxt_psadbw, iwmmxt_walign, iwmmxt_tmrc, iwmmxt_tmcr): Delete.
	(rorv4hi3, rorv2si3, rordi3): Likewise.
	(rorv4hi3_di, rorv2si3_di, rordi3_di): Likewise.
	(ashrv4hi3_di, ashrv2si3_di, ashrdi3_di): Likewise.
	(lshrv4hi3_di, lshrv2si3_di, lshrdi3_di): Likewise.
	(ashlv4hi3_di, ashlv2si3_di, ashldi3_di): Likewise.
	(iwmmxt_tbcstqi, iwmmxt_tbcsthi, iwmmxt_tbcstsi): Likewise
	(*iwmmxt_clrv8qi, *iwmmxt_clrv4hi, *iwmmxt_clrv2si): Likewise.
	(tbcstv8qi, tbcstv4hi, tbsctv2si): New pattern.
	(iwmmxt_clrv8qi, iwmmxt_clrv4hi, iwmmxt_clrv2si): Likewise.
	(*and<mode>3_iwmmxt, *ior<mode>3_iwmmxt, *xor<mode>3_iwmmxt): Likewise.
	(ror<mode>3, ror<mode>3_di): Likewise.
	(ashr<mode>3_di, lshr<mode>3_di, ashl<mode>3_di): Likewise.
	(ashli<mode>3_iwmmxt, iwmmxt_waligni, iwmmxt_walignr): Likewise.
	(iwmmxt_walignr0, iwmmxt_walignr1): Likewise.
	(iwmmxt_walignr2, iwmmxt_walignr3): Likewise.
	(iwmmxt_setwcgr0, iwmmxt_setwcgr1): Likewise.
	(iwmmxt_setwcgr2, iwmmxt_setwcgr3): Likewise.
	(iwmmxt_getwcgr0, iwmmxt_getwcgr1): Likewise.
	(iwmmxt_getwcgr2, iwmmxt_getwcgr3): Likewise.
	(All instruction patterns): Add wtype attribute.
	(*iwmmxt_arm_movdi, *iwmmxt_movsi_insn): iWMMXt coexist with vfp.
	(iwmmxt_uavgrndv8qi3, iwmmxt_uavgrndv4hi3): Revise the pattern.
	(iwmmxt_uavgv8qi3, iwmmxt_uavgv4hi3): Likewise.
	(ashr<mode>3_iwmmxt, ashl<mode>3_iwmmxt, lshr<mode>3_iwmmxt): Likewise.
	(iwmmxt_tinsrb, iwmmxt_tinsrh, iwmmxt_tinsrw):Likewise.
	(eqv8qi3, eqv4hi3, eqv2si3, gtuv8qi3): Likewise.
	(gtuv4hi3, gtuv2si3, gtv8qi3, gtv4hi3, gtv2si3): Likewise.
	(iwmmxt_wunpckihh, iwmmxt_wunpckihw, iwmmxt_wunpckilh): Likewise.
	(iwmmxt_wunpckilw, iwmmxt_wunpckehub, iwmmxt_wunpckehuh): Likewise.
	(iwmmxt_wunpckehuw, iwmmxt_wunpckehsb, iwmmxt_wunpckehsh): Likewise.
	(iwmmxt_wunpckehsw, iwmmxt_wunpckelub, iwmmxt_wunpckeluh): Likewise.
	(iwmmxt_wunpckeluw, iwmmxt_wunpckelsb, iwmmxt_wunpckelsh): Likewise.
	(iwmmxt_wunpckelsw, iwmmxt_wmadds, iwmmxt_wmaddu): Likewise.
	(iwmmxt_wsadb, iwmmxt_wsadh, iwmmxt_wsadbz, iwmmxt_wsadhz): Likewise.
	(iwmmxt2.md): Include.
	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __IWMMXT2__.
	(TARGET_IWMMXT2): New define.
	(TARGET_REALLY_IWMMXT2): Likewise.
	(arm_arch_iwmmxt2): Declare.
	* config/arm/mmintrin.h: Use __IWMMXT__ to enable iWMMXt intrinsics.
	Use __IWMMXT2__ to enable iWMMXt2 intrinsics.
	Use C name-mangling for intrinsics.
	(__v8qi): Redefine.
	(_mm_cvtsi32_si64, _mm_andnot_si64, _mm_sad_pu8): Revise.
	(_mm_sad_pu16, _mm_align_si64, _mm_setwcx, _mm_getwcx): Likewise.
	(_m_from_int): Likewise.
	(_mm_sada_pu8, _mm_sada_pu16): New intrinsic.
	(_mm_alignr0_si64, _mm_alignr1_si64, _mm_alignr2_si64): Likewise.
	(_mm_alignr3_si64, _mm_tandcb, _mm_tandch, _mm_tandcw): Likewise.
	(_mm_textrcb, _mm_textrch, _mm_textrcw, _mm_torcb): Likewise.
	(_mm_torch, _mm_torcw, _mm_tbcst_pi8, _mm_tbcst_pi16): Likewise.
	(_mm_tbcst_pi32): Likewise.
	(_mm_abs_pi8, _mm_abs_pi16, _mm_abs_pi32): New iWMMXt2 intrinsic.
	(_mm_addsubhx_pi16, _mm_absdiff_pu8, _mm_absdiff_pu16): Likewise.
	(_mm_absdiff_pu32, _mm_addc_pu16, _mm_addc_pu32): Likewise.
	(_mm_avg4_pu8, _mm_avg4r_pu8, _mm_maddx_pi16, _mm_maddx_pu16): Likewise.
	(_mm_msub_pi16, _mm_msub_pu16, _mm_mulhi_pi32): Likewise.
	(_mm_mulhi_pu32, _mm_mulhir_pi16, _mm_mulhir_pi32): Likewise.
	(_mm_mulhir_pu16, _mm_mulhir_pu32, _mm_mullo_pi32): Likewise.
	(_mm_qmulm_pi16, _mm_qmulm_pi32, _mm_qmulmr_pi16): Likewise.
	(_mm_qmulmr_pi32, _mm_subaddhx_pi16, _mm_addbhusl_pu8): Likewise.
	(_mm_addbhusm_pu8, _mm_qmiabb_pi32, _mm_qmiabbn_pi32): Likewise.
	(_mm_qmiabt_pi32, _mm_qmiabtn_pi32, _mm_qmiatb_pi32): Likewise.
	(_mm_qmiatbn_pi32, _mm_qmiatt_pi32, _mm_qmiattn_pi32): Likewise.
	(_mm_wmiabb_si64, _mm_wmiabbn_si64, _mm_wmiabt_si64): Likewise.
	(_mm_wmiabtn_si64, _mm_wmiatb_si64, _mm_wmiatbn_si64): Likewise.
	(_mm_wmiatt_si64, _mm_wmiattn_si64, _mm_wmiawbb_si64): Likewise.
	(_mm_wmiawbbn_si64, _mm_wmiawbt_si64, _mm_wmiawbtn_si64): Likewise.
	(_mm_wmiawtb_si64, _mm_wmiawtbn_si64, _mm_wmiawtt_si64): Likewise.
	(_mm_wmiawttn_si64, _mm_merge_si64): Likewise.
	(_mm_torvscb, _mm_torvsch, _mm_torvscw): Likewise.
	(_m_to_int): New define.
	* config/arm/arm-cores.def (iwmmxt2): Add FL_IWMMXT2.
	* config/arm/arm-arches.def (iwmmxt2): Likewise.
	* config/arm/t-arm (MD_INCLUDES): Add marvell-f-iwmmxt.md and
	iwmmxt2.md.
	* config/arm/arm.md (marvell-f-iwmmxt.md): Include.
	(arch): Add "iwmmxt2".
	(arch_enabled): Handle "iwmmxt2".
	(wtype): New attribute.
	(UNSPEC_WMADDS, UNSPEC_WMADDU): Delete.
	(UNSPEC_WALIGNI): New unspec.
	* config/arm/predicates.md (imm_or_reg_operand): New predicate.
	* config/arm/iterators.md (VMMX2): New mode_iterator.
	* config/arm/marvell-f-iwmmxt.md: New file.
	* config/arm/iwmmxt2.md: New file.

From-SVN: r188497
2012-06-13 07:28:51 +00:00
Ian Lance Taylor 73b5b93a59 os/user: Use Entersyscall.
From-SVN: r188496
2012-06-13 05:56:09 +00:00
Ian Lance Taylor 57d195e224 os: Use Entersyscall when reading directories.
From-SVN: r188494
2012-06-13 04:47:25 +00:00
GCC Administrator f1dd0d9f3a Daily bump.
From-SVN: r188492
2012-06-13 00:18:01 +00:00
Rafael Ávila de Espíndola b4cd65d1e8 plugin-api.h (ld_plugin_output_file_type): Add LDPO_PIE.
2012-06-12  Rafael Ávila de Espíndola <respindola@mozilla.com>

	* plugin-api.h (ld_plugin_output_file_type): Add LDPO_PIE.

From-SVN: r188484
2012-06-12 21:35:42 +00:00
Jakub Jelinek cce5086157 re PR c/53532 (function call ignored when called with argument of incompatible, undefined structure)
PR c/53532
	PR c/51034
	PR c/53196
	* c-decl.c (build_compound_literal): Call c_incomplete_type_error
	if type isn't complete.

	* gcc.dg/pr53532.c: New test.
	* gcc.dg/c99-complit-2.c: Add two new dg-error directives,
	adjust line numbers.
	* gcc.dg/noncompile/950825-1.c: Expect incomplete type error message.
	* gcc.dg/Wcxx-compat-8.c: Likewise.
	* gcc.dg/pr51034.c: New test.
	* gcc.dg/pr53196-1.c: New test.
	* gcc.dg/pr53196-2.c: New test.

From-SVN: r188483
2012-06-12 23:16:20 +02:00
Ian Lance Taylor 9690ac05c9 compiler, reflect: Handle package path like gc compiler.
From-SVN: r188482
2012-06-12 20:33:22 +00:00
Janis Johnson b29e01b77b stackalign.exp: Combine stack alignment torture options with usual torture options.
* gcc.dg/torture/stackalign/stackalign.exp: Combine stack
	alignment torture options with usual torture options.
	* gcc.dg/torture/stackalign/alloca-2.c: Use dg-additional-options
	instead of dg-options.
	* gcc.dg/torture/stackalign/alloca-3.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-4.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-5.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-6.c: Likewise.
	* gcc.dg/torture/stackalign/push-1.c: Likewise.
	* gcc.dg/torture/stackalign/vararg-3.c: Likewise.

From-SVN: r188481
2012-06-12 20:27:49 +00:00
Janis Johnson a637d2cb48 di-longlong64-sync-withhelpers.c: Add comments to checks for multiple messages reported for one line of source code.
* gcc.target/arm/di-longlong64-sync-withhelpers.c: Add comments
	to checks for multiple messages reported for one line of source code.
	* gcc.target/arm/di-longlong64-sync-withldrexd.c: Likewise.

From-SVN: r188480
2012-06-12 20:27:13 +00:00
Janis Johnson 300407a773 sync-1.c: Add comments to checks for multiple messages reported for one line of source code.
* gcc.c-torture/compile/sync-1.c: Add comments to checks for multiple
	messages reported for one line of source code.

From-SVN: r188479
2012-06-12 20:25:48 +00:00
Janis Johnson 3eae54ca6e 20031223-1.c: Add comments to check for multiple messages reported for one line of source code.
* gcc.dg/20031223-1.c: Add comments to check for multiple
	messages reported for one line of source code.
	* gcc.dg/Wconversion-integer.c: Likewise.
	* gcc.dg/Wfatal-2.c: Likewise.
	* gcc.dg/Wfatal.c: Likewise.
	* gcc.dg/Wobjsize-1.c: Likewise.
	* gcc.dg/c99-vla-jump-1.c: Likewise.
	* gcc.dg/c99-vla-jump-2.c: Likewise.
	* gcc.dg/c99-vla-jump-3.c: Likewise.
	* gcc.dg/c99-vla-jump-4.c: Likewise.
	* gcc.dg/c99-vla-jump-5.c: Likewise.
	* gcc.dg/decl-9.c: Likewise.
	* gcc.dg/declspec-10.c: Likewise.
	* gcc.dg/declspec-18.c: Likewise.
	* gcc.dg/mtune.c: Likewise.
	* gcc.dg/parser-pr28152-2.c: Likewise.
	* gcc.dg/parser-pr28152.c: Likewise.
	* gcc.dg/pr14475.c: Likewise.
	* gcc.dg/pr27953.c: Likewise.
	* gcc.dg/pr28322-3.c: Likewise.
	* gcc.dg/pr30457.c: Likewise.
	* gcc.dg/pr30551-2.c: Likewise.
	* gcc.dg/pr30551-3.c: Likewise.
	* gcc.dg/pr30551-4.c: Likewise.
	* gcc.dg/pr30551-5.c: Likewise.
	* gcc.dg/pr30551-6.c: Likewise.
	* gcc.dg/pr30551.c: Likewise.
	* gcc.dg/pr45461.c: Likewise.
	* gcc.dg/pr48552-1.c: Likewise.
	* gcc.dg/pr48552-2.c: Likewise.
	* gcc.dg/redecl-1.c: Likewise.
	* gcc.dg/transparent-union-3.c: Likewise.
	* gcc.dg/utf-dflt.c: Likewise.
	* gcc.dg/utf-dflt2.c: Likewise.
	* gcc.dg/vla-8.c: Likewise.
	* gcc.dg/vla-init-1.c: Likewise.
	* gcc.dg/wtr-int-type-1.c: Likewise.

From-SVN: r188478
2012-06-12 20:25:16 +00:00
Janis Johnson 526d4b7279 raw-string-3.c: Add comments to checks for multiple messages reported for for one line of...
* c-c++-common/raw-string-3.c: Add comments to checks for multiple
	messages reported for for one line of source code.
	* c-c++-common/raw-string-5.c: Likewise.
	* c-c++-common/raw-string-4.c: Likewise.
	* c-c++-common/raw-string-6.c: Likewise.
	* c-c++-common/pr20000.c: Likewise.

From-SVN: r188477
2012-06-12 20:24:28 +00:00
Janis Johnson 9a3edfd46b include2a.c: Add comments to checks for multiple messages reported for one line of source code.
* gcc.dg/cpp/include2a.c: Add comments to checks for multiple
	messages reported for one line of source code.
	* gcc.dg/cpp/pr30786.c: Likewise.
	* gcc.dg/cpp/pr28709.c: Likewise.
	* gcc.dg/cpp/missing-header-MD.c: Likewise.
	* gcc.dg/cpp/macspace2.c: Likewise.
	* gcc.dg/cpp/missing-header-1.c: Likewise.
	* gcc.dg/cpp/missing-header-MMD.c: Likewise.
	* gcc.dg/cpp/missing-sysheader-MD.c: Likewise.
	* gcc.dg/cpp/missing-sysheader-MMD.c: Likewise.

From-SVN: r188476
2012-06-12 20:23:36 +00:00
Uros Bizjak 69c8c01f15 sync.md (fetchop_name): Change ior attribute to "or".
* config/ia64/sync.md (fetchop_name): Change ior attribute to "or".

From-SVN: r188475
2012-06-12 21:02:09 +02:00
Jason Merrill 637f68e8d2 pt.c (tsubst_expr): Instantiate local class.
* pt.c (tsubst_expr) [TAG_DEFN]: Instantiate local class.
	* class.c (finish_struct): Don't add a TAG_DEFN for a lambda.
	* decl2.c (finish_static_data_member_decl): Avoid redundant error.

From-SVN: r188474
2012-06-12 14:32:13 -04:00
Jason Merrill fdaf2f48c0 re PR c++/53599 (gcc-4.7.1_rc20120606 segfaults compiling boost.karma)
PR c++/53599
	* name-lookup.c (pushtag_1): Add a DECL_EXPR for a local class.
	* semantics.c (finish_cond): Build a COMPOUND_EXPR.
	* pt.c (tsubst_expr) [COMPOUND_EXPR]: Handle.
	[DECL_EXPR]: Don't call cp_finish_decl for an implicit typedef.
	Don't return the decl.

From-SVN: r188473
2012-06-12 14:32:04 -04:00
Jason Merrill 0089c3bb1e utf8
From-SVN: r188472
2012-06-12 14:31:54 -04:00
Oleg Endo 0ff6761375 re PR target/53511 (SH Target: Add support for fma patterns)
PR target/53511
	* gcc.target/sh/pr51340-1.c: Delete obsolete test case.
	* gcc.target/sh/pr51340-2.c: Likewise.
	* gcc.target/sh/pr51340-3.c: Likewise.

From-SVN: r188471
2012-06-12 18:25:40 +00:00
Richard Henderson 126294f40c sync.md (atomic_load, [...]): Use INT1 mode iterator instead of INT.
* config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
        iterator instead of INT.

From-SVN: r188463
2012-06-12 08:38:21 -07:00
Olivier Hainque f75912e013 Move Ada specific ChangeLog entry to Ada specific ChangeLog file.
From-SVN: r188461
2012-06-12 15:09:11 +00:00
Bill Schmidt 372a6eb8d9 opts.c: Add -fhoist-adjacent-loads to -O2 and above.
2012-06-12  Bill Schmidt  <wschmidt@linux.ibm.com>

	* opts.c: Add -fhoist-adjacent-loads to -O2 and above.
	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Add argument to forward
	declaration.
	(hoist_adjacent_loads, gate_hoist_loads): New forward declarations.
	(tree_ssa_phiopt): Call gate_hoist_loads.
	(tree_ssa_cs_elim): Add parm to tree_ssa_phiopt_worker call.
	(tree_ssa_phiopt_worker): Add do_hoist_loads to formal arg list; call
	hoist_adjacent_loads.
	(local_mem_dependence): New function.
	(hoist_adjacent_loads): Likewise.
	(gate_hoist_loads): Likewise.
	* common.opt (fhoist-adjacent-loads): New switch.
	* Makefile.in (tree-ssa-phiopt.o): Added dependencies.

From-SVN: r188457
2012-06-12 13:38:16 +00:00
Arnaud Charlet 02e4edeaf4 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

        * gcc-interface/Make-lang.in: Update dependencies.
	* sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb,
	sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments.
	Minor reformatting.

2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that
	implements AI05-0296, because the actual may be overloaded.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here,
	to be applied once the actual subprogram is properly resolved.

From-SVN: r188456
2012-06-12 15:16:38 +02:00
Arnaud Charlet b98e296954 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* switch-c.adb, a-exexpr-gcc.adb: Minor reformatting.

2012-06-12  Vincent Pucci  <pucci@adacore.com>

	* checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check.
	* einfo.adb (Universal_Aliasing): Apply to the implementation
	base type instead of the base type.
	(Get_Rep_Item_For_Entity):
	Return a pragma if the pragma node is not present in the Rep
	Item chain of the parent.
	(Kill_Tag_Checks): Removed (unused flag).
	(Set_Kill_Tag_Checks): Removed.
	(Get_First_Rep_Item): New routine.
	(Get_Rep_Pragma_For_Entity): New routine.
	(Has_Rep_Item): New routine.
	(Has_Rep_Pragma_For_Entity): New routine.
	(Present_In_Rep_Item): New routine.
	* einfo.ads (Kill_Tag_Checks): Removed.
	(Set_Kill_Tag_Checks): Removed.
	(Get_First_Rep_Item): New routine.
	(Get_Rep_Pragma_For_Entity): New routine.
	(Has_Rep_Item): New routine.
	(Has_Rep_Pragma_For_Entity): New routine.
	(Present_In_Rep_Item): New routine.
	* exp_attr.adb, sem_attr.adb: Attribute_CPU,
	Attribute_Dispatching_Domain and Attribute_Interrupt_Priority
	case added.
	* exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For
	attribute Storage_Size, insert the new assignement statement
	after the Size variable declaration.
	* exp_ch3.adb (Build_Init_Statements): Fill the CPU,
	Dispatching_Domain, Priority and Size components with the Rep
	Item expression (if any).
	* exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU,
	_Priority, _Domain fields are always present in the
	corresponding record type.
	(Find_Task_Or_Protected_Pragma): Removed.
	(Get_Relative_Deadline_Pragma): New routine.
	(Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed.
	(Make_Task_Create_Call): Check CPU, Size or
	Dispatching_Domain Rep Item is present using new routine Has_Rep_Item.
	* freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants
	and Uninstall_Discriminants_And_Pop_Scope calls added.
	(Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added.
	* sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor
	for private derived types.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up
	and reordering. Delay analysis for all aspects (except some
	peculiar cases).
	(Analyze_Attribute_Definition_Clause):
	Attribute_CPU, Attribute_Dispatching_Domain,
	Interrupt_Priority and Attribute_Priority cases added.
	(Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants
	and Uninstall_Discriminants_And_Pop_Scope calls added.
	(Check_Aspect_At_Freeze_Point): Reordering and clean-up.
	(Duplicate_Clause): Issue an explicit error msg when the current
	clause duplicates an aspect specification, an attribute definition
	clause or a pragma.
	(Evaluate_Aspects_At_Freeze_Point): New routine.
	* sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine.
	* sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine.
	(Push_Scope_And_Install_Discriminants): New routine.
	(Uninstall_Discriminants): New routine.
	(Uninstall_Discriminants_And_Pop_Scope): New routine.
	* sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error
	msg when the current pragma duplicates an aspect specification,
	an attribute definition clause or a pragma.
	(Analyze_Pragma): Remove use of flags Has_Pragma_CPU,
	Has_Pragma_Priority and Has_Pragma_Dispatching_Domain.
	* sem_util.adb (Compile_Time_Constraint_Error): Don't complain
	about the type if the corresponding concurrent type doesn't come
	from source.
	* sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed.
	(Has_Pragma_Dispatching_Domain): Removed.
	(Has_Pragma_Priority): Removed.
	(Has_Task_Info_Pragma): Removed.
	(Has_Task_Name_Pragma): Removed.
	(Set_Has_Pragma_CPU): Removed.
	(Set_Has_Pragma_Dispatching_Domain): Removed.
	(Set_Has_Pragma_Priority): Removed.
	(Set_Has_Task_Info_Pragma): Removed.
	(Set_Has_Task_Name_Pragma): Removed.
	* snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU,
	Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added.
	(Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and
	Name_Interrupt_Priority added.
	* snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU
	and Name_Interrupt_Priority moved to the list of
	Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and
	Attribute_Interrupt_Priority added.  Pragma_Dispatching_Domain,
	Pragma_CPU and Pragma_Interrupt_Priority moved to the end of
	the Pragma_Name list.

From-SVN: r188455
2012-06-12 15:01:22 +02:00
Arnaud Charlet fc7d1319f5 [multiple changes]
2012-06-12  Arnaud Charlet  <charlet@adacore.com>

	* xref_lib.adb (Get_Full_Type): Add support for 'G'.

2012-06-12  Tristan Gingold  <gingold@adacore.com>

	* a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields.

2012-06-12  Fedor Rybin  <frybin@adacore.com>

	* gnat_ugn.texi: Update doc on gnattest.

2012-06-12  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb: Add comments.

From-SVN: r188453
2012-06-12 14:32:29 +02:00
Robert Dewar 2137e8a657 switch-c.adb, [...]: Minor reformatting.
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting.

From-SVN: r188452
2012-06-12 14:19:14 +02:00
Arnaud Charlet 4c7be31052 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb: Minor reformatting.

2012-06-12  Eric Botcazou  <ebotcazou@adacore.com>

	* opt.ads (Inline_Level): New variable.
	* gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization
	level if it has not been set by the user.
	* switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2
	and set Inline_Level accordingly.
	* inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type.
	(Must_Inline): Return Inline_Level_T instead of Boolean to indicate
	whether the package of the inlined subprogram must be compiled.
	If Inline_Level is set to 1, only compile packages of subprograms
	directly called from the main unit.
	* usage.adb (Usage): Adjust line for -gnatn switch.
	* gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2.

From-SVN: r188451
2012-06-12 14:11:50 +02:00
Ed Schonberg 33738c606d sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply AI05-296 if the actual is overloaded.
2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply
	AI05-296 if the actual is overloaded. In this case The rule must
	be applied after resolution, in Analyze_Subprogram_Renaming.

From-SVN: r188450
2012-06-12 14:07:11 +02:00
Arnaud Charlet e98668b178 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* stringt.adb: Minor reformatting.

2012-06-12  Robert Dewar  <dewar@adacore.com>

	* ali-util.adb, stringt.ads: Minor reformatting.

2012-06-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Process_Declarations): Handle the case where
	the original context has been wrapped in a block to avoid
	interference between exception handlers and At_End handlers.
	(Wrap_HSS_In_Block): Mark the block which contains the original
	statements of the context as being a finalization wrapper.
	* sinfo.adb (Is_Finalization_Wrapper): New routine.
	(Set_Is_Finalization_Wrapper): New routine.

	* sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable
	to block statemnts.
	(Is_Finalization_Wrapper): New routine with corresponding pragma Inline.
	(Set_Is_Finalization_Wrapper): New routine with corresponding pragma
	Inline.

2012-06-12  Steve Baird  <baird@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): No longer need to set
	Exception_Extra_Info in CodePeer_Mode.

From-SVN: r188449
2012-06-12 13:59:32 +02:00
Michael Matz 175a7536b1 alias.c (nonoverlapping_component_refs_p): Take two rtx arguments.
* alias.c (nonoverlapping_component_refs_p): Take two rtx arguments.
	(nonoverlapping_memrefs_p): Don't call it here ...
	(true_dependence_1): ... but here.

testsuite/
	* gcc.dg/torture/alias-1.c: New test.

From-SVN: r188448
2012-06-12 11:52:41 +00:00
Arnaud Charlet d3b00ce368 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb,
	sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb,
	sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb,
	sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code
	reorganization.

2012-06-12  Eric Botcazou  <ebotcazou@adacore.com>

	* s-tasini.ads: Minor fix in comment.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb (Freeze_Record_Type): Warn on record with
	Scalar_Storage_Order if there is no placed component.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb: Minor comment fix.

2012-06-12  Vincent Celier  <celier@adacore.com>

	* ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation
	mode, use Stringt Mark and Release to avoid growing the Stringt
	internal tables uselessly.
	* stringt.adb (Strings_Last): New global variable
	(String_Chars_Last): New global variable.
	(Mark, Release): New procedures.
	* stringt.ads (Mark, Release) New procedures.

From-SVN: r188445
2012-06-12 13:09:10 +02:00
Arnaud Charlet 9b168a8bd3 [multiple changes]
2012-06-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Process_Transient_Objects): Renamed constant
	Requires_Hooking to Must_Hook and replace all occurrences of the name.
	(Requires_Hooking): New routine. Detect all contexts that require
	transient variable export to the outer finalizer due to a potential
	exception.

2012-06-12  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads: Minor correction in comment.

From-SVN: r188444
2012-06-12 13:02:08 +02:00
Arnaud Charlet 7c4d75bfb5 [multiple changes]
2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Small adjustment.

2012-06-12  Vincent Celier  <celier@adacore.com>

	* vms_cmds.ads (Command_Type): New enumeration value Test
	* vms_conv.adb (Initialize): Add component at index Test in
	Command_List
	* vms_data.ads (Test_Switches): New global variable for the
	switches of gnattest, currently empty.

From-SVN: r188443
2012-06-12 12:36:09 +02:00
Ed Schonberg 967e927f1b sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete type is tagged, so is a subtype of it.
2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete
	type is tagged, so is a subtype of it.
	* sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296,
	concerning freeze rules in the presence of formal incomplete
	types: a formal abstract subprogram cannot have an incomplete
	controlling type, and the profile of the actual subprogram does
	not freeze if it includes an incomplete untagged type.

From-SVN: r188442
2012-06-12 12:34:33 +02:00
Arnaud Charlet 02f5883431 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* a-direct.adb: Minor reformatting.

2012-06-12  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Add missing documentation for -gnatw.v and
	-gnatw.V.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb,
	sem_ch13.adb: Minor rewording of error messages for unchecked unions.

From-SVN: r188441
2012-06-12 12:33:06 +02:00
Arnaud Charlet 05a0a2ead1 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* lib-xref.ads: Minor reformatting.

2012-06-12  Pascal Obry  <obry@adacore.com>

	* a-direct.adb (Delete_File): Delete symbolic links silently
	instead of raising the Name_Error exception when the symbolic
	link is pointing to a non existent file.

From-SVN: r188440
2012-06-12 12:16:11 +02:00
Arnaud Charlet 93901a431f [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.

2012-06-12  Javier Miranda  <miranda@adacore.com>

	* lib-xref.ads Adding missing documentation.

From-SVN: r188439
2012-06-12 12:14:44 +02:00
Arnaud Charlet 3235dc87bf [multiple changes]
2012-06-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Create_Finalizer): Add the
	exception reraise mechanism at the very end of the finalizer
	statements. This placement ensures that all objects are finalized,
	the secondary stack mark released and aborts undeferred before
	propagating an exception.

2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a
	wrapper package. remove from visibility the original subprogram
	instance.

2012-06-12  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb (Process_Convention): Generate reference to entity
	exported to foreign language. Needed for GPS navigation.
	* xref_lib.adb (Parse_Identifier_Info): Parse exported entities.
	* lib-xref (Output_References): Output exported entities.

2012-06-12  Pascal Obry  <obry@adacore.com>

	* prj-attr.adb: Add install package and corresponding attributes.
	* snames.ads-tmpl (Name_Active): New constant.
	(Name_Exec_Subdir): Likewise.
	(Name_Install): Likewise.
	(Name_Lib_Subdir): Likewise.
	(Name_Project_Subdir): Likewise.
	(Name_Sources_Subdir): Likewise.

2012-06-12  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Check_Infinite_Recursion):
	Suppress spurious warning on recursion after "raise with ...".

From-SVN: r188438
2012-06-12 12:12:40 +02:00
Thomas Quinot 83bb90af7a sem_prag.adb (Analyze_Pragma, [...]): Do not crash on illegal unchecked union that is a null record.
2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do
	not crash on illegal unchecked union that is a null record.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to
	treat implicit dereferences with a constrained unchecked union
	nominal subtype as having inferable discriminants.

From-SVN: r188437
2012-06-12 12:07:29 +02:00
Arnaud Charlet 586ecbf363 [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb: Minor reformatting.

2012-06-12  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi: Couple of minor corrections.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* sem_prag.adb (Check_Variant): An empty component list is not
	illegal in an unchecked union variant.

From-SVN: r188436
2012-06-12 12:05:20 +02:00
Arnaud Charlet 70f4ad204d [multiple changes]
2012-06-12  Gary Dismukes  <dismukes@adacore.com>

	* projects.texi: Remove comments.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as
	synonym of -gnateS.
	(gnat_post_options): Disable gimple-based SCO generator.
	* gnat_ugn.texi: Document that -gnateS is an obsolete synonym
	of -fdump-scos.

2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Different_Generic_Profile): new predicate for
	Find_Corresponding_Spec, to handle a rare case of accidental
	overloading in an instance, when the profile of a subprogram body
	that depends on a formal type becomes compatible with that of
	a homonym whose profile in the generic mentions the actual type.

2012-06-12  Thomas Quinot  <quinot@adacore.com>

	* gnat1drv.adb: Minor reformatting.

From-SVN: r188435
2012-06-12 12:03:26 +02:00
Arnaud Charlet 15a5de9966 [multiple changes]
2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Build_Explicit_Dereference): If the expression
	is an entity, ensure that the type of the expression is the same
	as that of the entity.

2012-06-12  Pat Rogers  <rogers@adacore.com>

	* projects.texi: Corrected instances of the word "build" that
	should be "built" instead. Other similar changes and minor
	punctuation changes.

From-SVN: r188434
2012-06-12 11:56:58 +02:00
Arnaud Charlet 9d6e41574c [multiple changes]
2012-06-12  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Is_Atomic_Object): Return true for an atomic
	component as well as a prefix which is an atomic component.

2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous
	patch. The processing of interfacing aspects now generates a
	proper Ada 2005 pragma.
	* sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
	Pragma_Import): revert previous patch.	The processing of
	interfacing aspects now generates a proper Ada 2005 pragma.
	* sem_ch13.adb (Analyze_Aspect_Specifications): generate proper
	pragam for aspects Convention, Import and Export. Scan list
	of aspects to collect link name and external name if present,
	and verify that a complete pragma can be generated.

From-SVN: r188430
2012-06-12 11:01:03 +02:00
Richard Guenther f68396a1e0 emit-rtl.c (set_mem_attributes_minus_bitpos): Remove dead code.
2012-06-12  Richard Guenther  <rguenther@suse.de>

	* emit-rtl.c (set_mem_attributes_minus_bitpos): Remove dead code.
	* alias.c (ao_ref_from_mem): MEM_EXPR is conservative, MEM_OFFSET
	and MEM_SIZE only refines it.  Reflect that and be less conservative
	if either of the latter is not known.

From-SVN: r188429
2012-06-12 08:43:55 +00:00