1. 13 Jun, 2012 6 commits
    • * ChangeLog: Fix whitespace. · 9c78662a
      From-SVN: r188505
      Uros Bizjak committed
    • * ChangeLog: Fix whitespace. · a3fac361
      From-SVN: r188504
      Uros Bizjak committed
    • arm.c (FL_IWMMXT2): New define. · 8fd03515
      	* 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
      Xinyu Qi committed
    • os/user: Use Entersyscall. · 73b5b93a
      From-SVN: r188496
      Ian Lance Taylor committed
    • os: Use Entersyscall when reading directories. · 57d195e2
      From-SVN: r188494
      Ian Lance Taylor committed
    • Daily bump. · f1dd0d9f
      From-SVN: r188492
      GCC Administrator committed
  2. 12 Jun, 2012 34 commits
    • plugin-api.h (ld_plugin_output_file_type): Add LDPO_PIE. · b4cd65d1
      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
      Rafael Ávila de Espíndola committed
    • re PR c/53532 (function call ignored when called with argument of incompatible,… · cce50861
      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
      Jakub Jelinek committed
    • compiler, reflect: Handle package path like gc compiler. · 9690ac05
      From-SVN: r188482
      Ian Lance Taylor committed
    • stackalign.exp: Combine stack alignment torture options with usual torture options. · b29e01b7
      	* 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
      Janis Johnson committed
    • di-longlong64-sync-withhelpers.c: Add comments to checks for multiple messages… · a637d2cb
      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
      Janis Johnson committed
    • sync-1.c: Add comments to checks for multiple messages reported for one line of source code. · 300407a7
      	* gcc.c-torture/compile/sync-1.c: Add comments to checks for multiple
      	messages reported for one line of source code.
      
      From-SVN: r188479
      Janis Johnson committed
    • 20031223-1.c: Add comments to check for multiple messages reported for one line of source code. · 3eae54ca
      	* 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
      Janis Johnson committed
    • raw-string-3.c: Add comments to checks for multiple messages reported for for one line of... · 526d4b72
      	* 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
      Janis Johnson committed
    • include2a.c: Add comments to checks for multiple messages reported for one line of source code. · 9a3edfd4
      	* 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
      Janis Johnson committed
    • sync.md (fetchop_name): Change ior attribute to "or". · 69c8c01f
      	* config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
      
      From-SVN: r188475
      Uros Bizjak committed
    • pt.c (tsubst_expr): Instantiate local class. · 637f68e8
      	* 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
      Jason Merrill committed
    • re PR c++/53599 (gcc-4.7.1_rc20120606 segfaults compiling boost.karma) · fdaf2f48
      	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
      Jason Merrill committed
    • utf8 · 0089c3bb
      From-SVN: r188472
      Jason Merrill committed
    • re PR target/53511 (SH Target: Add support for fma patterns) · 0ff67613
      	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
      Oleg Endo committed
    • sync.md (atomic_load, [...]): Use INT1 mode iterator instead of INT. · 126294f4
              * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
              iterator instead of INT.
      
      From-SVN: r188463
      Richard Henderson committed
    • opts.c: Add -fhoist-adjacent-loads to -O2 and above. · 372a6eb8
      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
      Bill Schmidt committed
    • [multiple changes] · 02e4edea
      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
      Arnaud Charlet committed
    • [multiple changes] · b98e2969
      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
      Arnaud Charlet committed
    • [multiple changes] · fc7d1319
      
      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
      Arnaud Charlet committed
    • switch-c.adb, [...]: Minor reformatting. · 2137e8a6
      2012-06-12  Robert Dewar  <dewar@adacore.com>
      
      	* switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting.
      
      From-SVN: r188452
      Robert Dewar committed
    • [multiple changes] · 4c7be310
      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
      Arnaud Charlet committed
    • sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply AI05-296 if the actual is overloaded. · 33738c60
      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
      Ed Schonberg committed
    • [multiple changes] · e98668b1
      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
      Arnaud Charlet committed
    • alias.c (nonoverlapping_component_refs_p): Take two rtx arguments. · 175a7536
      	* 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
      Michael Matz committed
    • [multiple changes] · d3b00ce3
      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
      Arnaud Charlet committed
    • [multiple changes] · 9b168a8b
      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
      Arnaud Charlet committed
    • [multiple changes] · 7c4d75bf
      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
      Arnaud Charlet committed
    • sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete type is tagged, so is a subtype of it. · 967e927f
      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
      Ed Schonberg committed
    • [multiple changes] · 02f58834
      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
      Arnaud Charlet committed
    • [multiple changes] · 05a0a2ea
      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
      Arnaud Charlet committed
    • [multiple changes] · 93901a43
      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
      Arnaud Charlet committed
    • [multiple changes] · 3235dc87
      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
      Arnaud Charlet committed
    • sem_prag.adb (Analyze_Pragma, [...]): Do not crash on illegal unchecked union… · 83bb90af
      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
      Thomas Quinot committed