Alexandre Oliva [Wed, 13 Jun 2012 21:43:51 +0000 (21:43 +0000)]
re PR debug/49888 (VTA: -O2 -g variable value changes, it does not change in the source)
gcc/ChangeLog:
PR debug/49888
* var-tracking.c: Include alias.h.
(overlapping_mems): New struct.
(drop_overlapping_mem_locs): New.
(clobber_overlapping_mems): New.
(var_mem_delete_and_set, var_mem_delete): Call it.
(val_bind): Likewise, but only if modified.
(compute_bb_dataflow, emit_notes_in_bb): Call it on MEMs.
* Makefile.in (var-tracking.o): Depend in $(ALIAS_H).
gcc/testsuite/ChangeLog:
PR debug/49888
* gcc.dg/guality/pr49888.c: New.
From-SVN: r188531
Alexandre Oliva [Wed, 13 Jun 2012 21:43:19 +0000 (21:43 +0000)]
re PR debug/47624 (FAIL: gcc.dg/guality/pr43077-1.c -O1 line 42 c == 3)
PR debug/47624
* var-tracking.c (loc_exp_dep_pool): New.
(vt_emit_notes): Create and release the pool.
(compute_bb_dataflow): Use value-based locations in MO_VAL_SET.
(emit_notes_in_bb): Likewise.
(loc_exp_dep_insert): Deal with NOT_ONEPART vars.
(notify_dependents_of_changed_value): Likewise.
(notify_dependents_of_resolved_value): Check that NOT_ONEPART
variables don't have a VAR_LOC_DEP_LST.
(emit_note_insn_var_location): Expand NOT_ONEPART locs that are
VALUEs or MEMs of VALUEs.
From-SVN: r188530
Joseph Myers [Wed, 13 Jun 2012 21:39:19 +0000 (22:39 +0100)]
* sr.po: New.
From-SVN: r188528
Alexandre Oliva [Wed, 13 Jun 2012 20:41:55 +0000 (20:41 +0000)]
re PR debug/52983 (internal compiler error: in df_uses_record, at df-scan.c:3243)
PR debug/52983
PR debug/48866
* dce.c (word_dce_process_block): Insert debug temps only if the
insn is not marked.
(dce_process_block): Likewise, and if debug.used is not empty,
and only after iterating over all DEFs that might mark the insn.
From-SVN: r188527
Alexandre Oliva [Wed, 13 Jun 2012 20:41:41 +0000 (20:41 +0000)]
common.opt (ftree-coalesce-inlined-vars): New.
gcc/ChangeLog:
* common.opt (ftree-coalesce-inlined-vars): New.
(ftree-coalesce-vars): New.
* doc/invoke.texi: Document them.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
Implement them.
gcc/testsuite/ChangeLog:
* g++.dg/tree-ssa/ivopts-2.C: Adjust for coalescing.
* gcc.dg/tree-ssa/forwprop-11.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
From-SVN: r188526
Richard Sandiford [Wed, 13 Jun 2012 19:38:11 +0000 (19:38 +0000)]
read-rtl.c (mapping): Remove index field.
gcc/
* read-rtl.c (mapping): Remove index field. Add current_value field.
Define heap vectors.
(iterator_group): Fix long line. Remove num_builtins field and
uses_iterator fields. Make apply_iterator take a void * parameter.
(iterator_use, atttribute_use): New structures.
(iterator_traverse_data, BELLWETHER_CODE, bellwether_codes): Delete.
(current_iterators, iterator_uses, attribute_uses): New variables.
(uses_mode_iterator_p, uses_code_iterator_p): Delete.
(apply_mode_iterator, apply_code_iterator): Take a void * parameter.
(map_attr_string, apply_iterator_to_string): Remove iterator
and value parameters. Look through all current iterator values
for a matching attribute.
(mode_attr_index, apply_mode_maps): Delete.
(apply_iterator_to_rtx): Replace with...
(copy_rtx_for_iterators): ...this new function.
(uses_iterator_p, apply_iterator_traverse): Delete.
(apply_attribute_uses, add_current_iterators, apply_iterators): New
functions.
(add_mapping): Remove index field. Set current_value field.
(initialize_iterators): Don't set num_builtins and uses_iterator_p
fields.
(find_iterator): Delete.
(record_iterator_use, record_attribute_use): New functions.
(record_potential_iterator_use): New function.
(check_code_iterator): Remove handling of bellwether codes.
(read_rtx): Remove mode maps. Truncate iterator and attribute uses.
(read_rtx_code, read_nested_rtx, read_rtx_variadic): Remove mode_maps
parameter. Use the first code iterator value instead of the
bellwether_codes array. Use record_potential_iterator_use
for modes.
From-SVN: r188525
Oleg Endo [Wed, 13 Jun 2012 18:45:17 +0000 (18:45 +0000)]
re PR target/53568 (SH Target: Add support for bswap built-ins)
PR target/53568
* config/sh/sh.md (bswapsi2): New expander.
(swapbsi2): New insn.
From-SVN: r188524
H.J. Lu [Wed, 13 Jun 2012 17:46:59 +0000 (17:46 +0000)]
Set cache values from -mtune
PR target/53647
* config/i386/i386.c (ix86_tune_cost): New variable.
(ix86_option_override_internal): Set ix86_tune_cost. Use
ix86_tune_cost for simultaneous_prefetches, prefetch_block,
l1_cache_size and l2_cache_size.
From-SVN: r188523
Uros Bizjak [Wed, 13 Jun 2012 15:59:15 +0000 (17:59 +0200)]
* ChangeLog: Fix whitespace.
From-SVN: r188521
Uros Bizjak [Wed, 13 Jun 2012 15:56:55 +0000 (17:56 +0200)]
sfp-machine.h (__sfp_handle_exceptions): New function declaration.
* config/ia64/sfp-machine.h (__sfp_handle_exceptions): New
function declaration.
(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
(FP_RND_MASK): New.
* config/ia64/sfp-exceptions.c: New.
* config/ia64/t-softfp (LIB2ADD): Add sfp-exceptions.c.
From-SVN: r188520
Uros Bizjak [Wed, 13 Jun 2012 15:23:12 +0000 (17:23 +0200)]
sfp-machine.h (_FP_NANSIGN_S, [...]): Move ...
* config/i386/32/sfp-machine.h (_FP_NANSIGN_S, _FP_NANSIGN_D,
_FP_NANSIGN_E, _FP_NANSIGN_Q): Move ...
* config/i386/64/sfp-machine: ... (delete here) ...
* config/i386/sfp-machine.h: ... to here.
(FP_EX_MASK): Remove.
(FP_RND_MASK): New.
(FP_INIT_ROUNDMODE): Declare asm as volatile.
From-SVN: r188518
Richard Guenther [Wed, 13 Jun 2012 15:12:02 +0000 (15:12 +0000)]
tree-vrp.c (vrp_meet): Properly meet equivalent ranges.
2012-06-13 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (vrp_meet): Properly meet equivalent ranges.
Handle meeting two VR_RANGE to an VR_ANTI_RANGE. Implement
all possible meetings of VR_RANGE with VR_ANTI_RANGE and
VR_ANTI_RANGE with VR_ANTI_RANGE.
From-SVN: r188517
Eric Botcazou [Wed, 13 Jun 2012 13:30:29 +0000 (13:30 +0000)]
Revert
2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
calling convention
(get_minimal_subprog_decl): Likewise.
(gnat_first_param_is_class): New predicate.
From-SVN: r188512
Richard Earnshaw [Wed, 13 Jun 2012 12:45:27 +0000 (12:45 +0000)]
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
Bill Schmidt [Wed, 13 Jun 2012 12:33:55 +0000 (12:33 +0000)]
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
Bill Schmidt [Wed, 13 Jun 2012 12:27:57 +0000 (12:27 +0000)]
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
Tobias Burnus [Wed, 13 Jun 2012 11:57:45 +0000 (13:57 +0200)]
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
Tobias Burnus [Wed, 13 Jun 2012 11:56:08 +0000 (13:56 +0200)]
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
Uros Bizjak [Wed, 13 Jun 2012 10:43:26 +0000 (12:43 +0200)]
* ChangeLog: Fix whitespace.
From-SVN: r188505
Uros Bizjak [Wed, 13 Jun 2012 10:39:27 +0000 (12:39 +0200)]
* ChangeLog: Fix whitespace.
From-SVN: r188504
Xinyu Qi [Wed, 13 Jun 2012 07:28:51 +0000 (07:28 +0000)]
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
Ian Lance Taylor [Wed, 13 Jun 2012 05:56:09 +0000 (05:56 +0000)]
os/user: Use Entersyscall.
From-SVN: r188496
Ian Lance Taylor [Wed, 13 Jun 2012 04:47:25 +0000 (04:47 +0000)]
os: Use Entersyscall when reading directories.
From-SVN: r188494
GCC Administrator [Wed, 13 Jun 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r188492
Rafael Ávila de Espíndola [Tue, 12 Jun 2012 21:35:42 +0000 (21:35 +0000)]
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
Jakub Jelinek [Tue, 12 Jun 2012 21:16:20 +0000 (23:16 +0200)]
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
Ian Lance Taylor [Tue, 12 Jun 2012 20:33:22 +0000 (20:33 +0000)]
compiler, reflect: Handle package path like gc compiler.
From-SVN: r188482
Janis Johnson [Tue, 12 Jun 2012 20:27:49 +0000 (20:27 +0000)]
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
Janis Johnson [Tue, 12 Jun 2012 20:27:13 +0000 (20:27 +0000)]
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 [Tue, 12 Jun 2012 20:25:48 +0000 (20:25 +0000)]
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
Janis Johnson [Tue, 12 Jun 2012 20:25:16 +0000 (20:25 +0000)]
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
Janis Johnson [Tue, 12 Jun 2012 20:24:28 +0000 (20:24 +0000)]
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
Janis Johnson [Tue, 12 Jun 2012 20:23:36 +0000 (20:23 +0000)]
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
Uros Bizjak [Tue, 12 Jun 2012 19:02:09 +0000 (21:02 +0200)]
sync.md (fetchop_name): Change ior attribute to "or".
* config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
From-SVN: r188475
Jason Merrill [Tue, 12 Jun 2012 18:32:13 +0000 (14:32 -0400)]
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
Jason Merrill [Tue, 12 Jun 2012 18:32:04 +0000 (14:32 -0400)]
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
Jason Merrill [Tue, 12 Jun 2012 18:31:54 +0000 (14:31 -0400)]
utf8
From-SVN: r188472
Oleg Endo [Tue, 12 Jun 2012 18:25:40 +0000 (18:25 +0000)]
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
Richard Henderson [Tue, 12 Jun 2012 15:38:21 +0000 (08:38 -0700)]
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
Olivier Hainque [Tue, 12 Jun 2012 15:09:11 +0000 (15:09 +0000)]
Move Ada specific ChangeLog entry to Ada specific ChangeLog file.
From-SVN: r188461
Bill Schmidt [Tue, 12 Jun 2012 13:38:16 +0000 (13:38 +0000)]
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
Arnaud Charlet [Tue, 12 Jun 2012 13:16:38 +0000 (15:16 +0200)]
[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
Arnaud Charlet [Tue, 12 Jun 2012 13:01:22 +0000 (15:01 +0200)]
[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
Arnaud Charlet [Tue, 12 Jun 2012 12:32:29 +0000 (14:32 +0200)]
[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
Robert Dewar [Tue, 12 Jun 2012 12:19:14 +0000 (12:19 +0000)]
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
Arnaud Charlet [Tue, 12 Jun 2012 12:11:50 +0000 (14:11 +0200)]
[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
Ed Schonberg [Tue, 12 Jun 2012 12:07:11 +0000 (12:07 +0000)]
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
Arnaud Charlet [Tue, 12 Jun 2012 11:59:32 +0000 (13:59 +0200)]
[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
Michael Matz [Tue, 12 Jun 2012 11:52:41 +0000 (11:52 +0000)]
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
Arnaud Charlet [Tue, 12 Jun 2012 11:09:10 +0000 (13:09 +0200)]
[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
Arnaud Charlet [Tue, 12 Jun 2012 11:02:08 +0000 (13:02 +0200)]
[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
Arnaud Charlet [Tue, 12 Jun 2012 10:36:09 +0000 (12:36 +0200)]
[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
Ed Schonberg [Tue, 12 Jun 2012 10:34:33 +0000 (10:34 +0000)]
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
Arnaud Charlet [Tue, 12 Jun 2012 10:33:06 +0000 (12:33 +0200)]
[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
Arnaud Charlet [Tue, 12 Jun 2012 10:16:11 +0000 (12:16 +0200)]
[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
Arnaud Charlet [Tue, 12 Jun 2012 10:14:44 +0000 (12:14 +0200)]
[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
Arnaud Charlet [Tue, 12 Jun 2012 10:12:40 +0000 (12:12 +0200)]
[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
Thomas Quinot [Tue, 12 Jun 2012 10:07:29 +0000 (10:07 +0000)]
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
Arnaud Charlet [Tue, 12 Jun 2012 10:05:20 +0000 (12:05 +0200)]
[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
Arnaud Charlet [Tue, 12 Jun 2012 10:03:26 +0000 (12:03 +0200)]
[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
Arnaud Charlet [Tue, 12 Jun 2012 09:56:58 +0000 (11:56 +0200)]
[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
Arnaud Charlet [Tue, 12 Jun 2012 09:01:03 +0000 (11:01 +0200)]
[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
Richard Guenther [Tue, 12 Jun 2012 08:43:55 +0000 (08:43 +0000)]
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
Jakub Jelinek [Tue, 12 Jun 2012 07:52:47 +0000 (09:52 +0200)]
re PR rtl-optimization/53589 (ICE in maybe_record_trace_start with asm goto)
PR rtl-optimization/53589
* cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
discovery even when e->dest != target. If any LABEL_REF points
to e->dest label, redirect it to target's label.
* gcc.dg/torture/pr53589.c: New test.
From-SVN: r188428
Oleg Endo [Tue, 12 Jun 2012 07:09:52 +0000 (07:09 +0000)]
re PR rtl-optimization/50749 (Auto-inc-dec does not find subsequent contiguous mem accesses)
PR target/50749
* gcc.target/sh/pr50749-sf-postinc-2.c: New.
* gcc.target/sh/pr50749-sf-postinc-4.c: New.
* gcc.target/sh/pr50749-qihisi-postinc-2.c: New.
* gcc.target/sh/pr50749-qihisi-postinc-4.c: New.
* gcc.target/sh/pr50749-sf-predec-2.c: New.
* gcc.target/sh/pr50749-sf-predec-4.c: New.
* gcc.target/sh/pr50749-qihisi-predec-1.c: New.
* gcc.target/sh/pr50749-qihisi-predec-3.c: New.
* gcc.target/sh/pr50749-sf-postinc-1.c: New.
* gcc.target/sh/pr50749-sf-postinc-3.c: New.
* gcc.target/sh/pr50749-qihisi-postinc-1.c: New.
* gcc.target/sh/pr50749-qihisi-postinc-3.c: New.
* gcc.target/sh/pr50749-sf-predec-1.c: New.
* gcc.target/sh/pr50749-sf-predec-3.c: New.
* gcc.target/sh/pr50749-qihisi-predec-2.c: New.
* gcc.target/sh/pr50749-qihisi-predec-4.c: New.
From-SVN: r188426
Chung-Lin Tang [Tue, 12 Jun 2012 06:11:09 +0000 (06:11 +0000)]
sh.c (output_stack_adjust): Remove !epilogue_p condition for generating REG_FRAME_RELATED_EXPR note.
2012-06-12 Chung-Lin Tang <cltang@codesourcery.com>
* config/sh/sh.c (output_stack_adjust): Remove !epilogue_p
condition for generating REG_FRAME_RELATED_EXPR note.
(pop): Add code for generating REG_CFA_RESTORE,
REG_CFA_ADJUST_CFA notes. Set RTX_FRAME_RELATED_P to 1.
(sh_expand_epilogue): Use frame_insn() for FP to SP move.
Set 'frame_p' of calls to output_stack_adjust() to 'true'.
From-SVN: r188424
Sriraman Tallam [Tue, 12 Jun 2012 02:55:20 +0000 (02:55 +0000)]
libgcc-bsd.ver: Version symbol __cpu_indicator_init.
2012-06-11 Sriraman Tallam <tmsriram@google.com>
* config/i386/libgcc-bsd.ver: Version symbol __cpu_indicator_init.
* config/i386/libgcc-sol2.ver: Ditto.
* config/i386/libgcc-glibc.ver: Ditto.
* gcc.target/i386/builtin_target.c (vendor_signatures): New enum.
(check_intel_cpu_model): New function.
(check_amd_cpu_model): New function.
(check_features): New function.
(__get_cpuid_output): New function.
(check_detailed): New function.
(fn1): Rename to quick_check.
(main): Update to call quick_check and call check_detailed.
From-SVN: r188417
Richard Henderson [Tue, 12 Jun 2012 01:00:39 +0000 (18:00 -0700)]
alpha.c (HWI_HEX2): Add missing shift.
* config/alpha/alpha.c (HWI_HEX2): Add missing shift.
* vmsdbgout.c (VMS_EPOCH_OFFSET): Add LL suffix.
From-SVN: r188413
GCC Administrator [Tue, 12 Jun 2012 00:19:26 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r188409
Richard Henderson [Mon, 11 Jun 2012 23:03:14 +0000 (16:03 -0700)]
* config/alpha/alpha.c (alpha_trampoline_init): Split large constants.
From-SVN: r188405
Hans-Peter Nilsson [Mon, 11 Jun 2012 22:46:45 +0000 (22:46 +0000)]
tm.texi.in (Addressing Modes): Mention that this hook needs to be defined for native TLS.
* doc/tm.texi.in (Addressing Modes) <TARGET_LEGITIMIZE_ADDRESS>:
Mention that this hook needs to be defined for native TLS.
* doc/tm.texi: Regenerate.
From-SVN: r188404
Mike Stump [Mon, 11 Jun 2012 21:46:55 +0000 (21:46 +0000)]
emit-rtl.c (init_emit_once): Iterate through the MODE_PARTIAL_INT modes with MIN_MODE_PARTIAL_INT and...
* emit-rtl.c (init_emit_once): Iterate through the
MODE_PARTIAL_INT modes with MIN_MODE_PARTIAL_INT and
MAX_MODE_PARTIAL_INT, as GET_MODE_WIDER_MODE doesn't step through
all the MIN_MODE_PARTIAL_INT modes anymore.
From-SVN: r188402
Maxim Kuvyrkov [Mon, 11 Jun 2012 21:42:02 +0000 (21:42 +0000)]
* gcc/config/mips/mips-tables.opt (xlp): Fix merge typo.
From-SVN: r188401
Roland McGrath [Mon, 11 Jun 2012 21:15:38 +0000 (21:15 +0000)]
gthr-posix.h [...] (__gthread_active_p): If __GLIBC__ is defined, refer to __pthread_key_create instead of pthread_cancel.
* gthr-posix.h [neither FreeBSD nor Solaris] (__gthread_active_p):
If __GLIBC__ is defined, refer to __pthread_key_create instead of
pthread_cancel.
From-SVN: r188400
Richard Henderson [Mon, 11 Jun 2012 20:48:30 +0000 (13:48 -0700)]
* lib/target-supports.exp
(check_effective_target_sync_long_long_runtime): Use
check_effective_target_lp64 instead of
check_effective_target_powerpc64 for powerpc targets.
From-SVN: r188399
Roland McGrath [Mon, 11 Jun 2012 20:42:20 +0000 (20:42 +0000)]
Roland McGrath <mcgrathr@google.com>
* dwarf2out.c (const_ok_for_output_1): Detect a TLS UNSPEC using
SYMBOL_REF_TLS_MODEL rather than DECL_THREAD_LOCAL_P, in case it's
not a VAR_DECL. Also don't limit it to UNSPECs with exactly one
operand.
From-SVN: r188398
Oleg Endo [Mon, 11 Jun 2012 19:33:14 +0000 (19:33 +0000)]
Fix ChangeLog formatting.
From-SVN: r188397
Oleg Endo [Mon, 11 Jun 2012 19:24:20 +0000 (19:24 +0000)]
re PR target/53511 (SH Target: Add support for fma patterns)
PR target/53511
* config/sh/sh.md (fmasf4): New expander.
(*macsf3): Rename to fmasf4_i. Adapt to fma pattern.
(mac_media): Rename to fmasf4_media. Adapt to fma pattern.
* config/sh/sh.opt (mfused-madd): Remove.
* config/sh/sh.c (sh_option_override): Remove mfused-madd handling.
(builtin_description bdesc): Remove __builtin_sh_media_FMAC_S.
* config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add fused-madd.opt
as extra options.
* doc/invoke.texi (SH Options): Update mfused-madd and mno-fused-madd
descriptions.
PR target/53511
* gcc.target/sh/pr53511-1.c: New.
From-SVN: r188396
Richard Henderson [Mon, 11 Jun 2012 18:04:25 +0000 (11:04 -0700)]
* dwarf2cfi.c (scan_trace): Handle annulled branch-taken delay slots.
From-SVN: r188391
Olivier Hainque [Mon, 11 Jun 2012 15:24:12 +0000 (15:24 +0000)]
Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET).
* Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET).
(gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
GNATLIBCFLAGS_FOR_C passed to gnatlib.
(gnatlib-shared-win32): Likewise.
(gnatlib-shared-darwin): Likewise.
(gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
gnatlib-shared-win32.
libada/
* Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PICFLAG).
From-SVN: r188390
Richard Biener [Mon, 11 Jun 2012 14:22:01 +0000 (14:22 +0000)]
Fixup ChangeLog
From-SVN: r188388
Richard Guenther [Mon, 11 Jun 2012 14:14:09 +0000 (14:14 +0000)]
re PR debug/53470 (ICE when linking with -g in splice_child_die, at dwarf2out.c:4264)
2012-06-11 Richard Guenther <rguenther@suse.de>
PR middle-end/53470
* tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
replace it with the first non-BLOCK context.
* g++.dg/lto/pr53470_0.C: New testcase.
* gcc.dg/lto/pr53470_0.c: Likewise.
From-SVN: r188387
Richard Guenther [Mon, 11 Jun 2012 13:58:29 +0000 (13:58 +0000)]
re PR c++/53605 (Compiler ICEs in size_binop_loc)
2012-06-11 Richard Guenther <rguenther@suse.de>
PR c++/53616
* mangle.c (write_array_type): Use double-ints for array domain
arithmetic.
* g++.dg/ext/pr53605.C: New testcase.
From-SVN: r188386
Richard Guenther [Mon, 11 Jun 2012 10:04:23 +0000 (10:04 +0000)]
alias.c (aliases_everything_p): Remove.
2012-06-11 Richard Guenther <rguenther@suse.de>
* alias.c (aliases_everything_p): Remove.
(DIFFERENT_ALIAS_SETS_P): Likewise.
(true_dependence_1): Use mems_in_disjoint_alias_sets_p directly.
Do not use aliases_everything_p or special-case ANDs. Do not
special-case BLKmode moves.
(may_alias_p): Likewise. Handle BLKmode similar like everywhere
- for SCATCH only.
From-SVN: r188384
Eric Botcazou [Mon, 11 Jun 2012 09:14:20 +0000 (09:14 +0000)]
decl.c (gnat_to_gnu_entity): Convert GNU_SIZE to units before invoking allocatable_size_p on it.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
to units before invoking allocatable_size_p on it.
Remove orphaned comment. Do not use ssize_int.
<E_Record_Subtype>: Traverse list in original order. Minor tweak.
(allocatable_size_p): Adjust and simplify.
(build_subst_list): Use consistent terminology throughout.
(build_variant_list): Likewise. Traverse list in original order.
(create_field_decl_from): Likewise.
(copy_and_substitute_in_size): Likewise.
(create_variant_part_from): Add comment about field list order.
* gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
* gcc-interface/utils2.c (build_allocator): Likewise.
From-SVN: r188382
Eric Botcazou [Mon, 11 Jun 2012 08:54:32 +0000 (08:54 +0000)]
trans.c (Identifier_to_gnu): Test Is_Elementary_Type instead of Is_Scalar_Type for a constant with an...
* gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
instead of Is_Scalar_Type for a constant with an address clause.
Do not return the underlying constant for a constant used by reference
if it holds the address of a constant and an lvalue is required.
From-SVN: r188380
Eric Botcazou [Mon, 11 Jun 2012 08:34:44 +0000 (08:34 +0000)]
decl.c (gnat_to_gnu_entity): Do not specifically deal with external constants wrt force_global here...
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
with external constants wrt force_global here...
<E_Constant>: ...but here instead.
* gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
the list of global DECLs.
From-SVN: r188379
Eric Botcazou [Mon, 11 Jun 2012 08:02:35 +0000 (08:02 +0000)]
decl.c (gnat_to_gnu_entity): Translate the Esize on entry only for elementary types and abort if it is too large.
* gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
entry only for elementary types and abort if it is too large.
<E_Record_Type>: Make sure the Esize is known before using it.
From-SVN: r188378
GCC Administrator [Mon, 11 Jun 2012 00:17:34 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r188375
GCC Administrator [Sun, 10 Jun 2012 00:17:20 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r188370
Hans-Peter Nilsson [Sat, 9 Jun 2012 20:53:39 +0000 (20:53 +0000)]
Fix CRIS build errors with --enable-build-with-cxx.
* config/cris/cris.c (cris_emit_trap_for_misalignment): Rename
variable "and" to "andop".
* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>"): Use
temporary variable for memory model, passing C++-type-correct
parameter type to expand_mem_thread_fence.
("atomic_compare_and_swap<mode>"): Ditto.
From-SVN: r188362
Uros Bizjak [Sat, 9 Jun 2012 17:32:27 +0000 (19:32 +0200)]
sfp-machine.h (__gcc_CMPtype, [...]): Move ...
* config/i386/32/sfp-machine.h (__gcc_CMPtype, CMPtype,
_FP_KEEPNANFRACP, _FP_CHOOSENAN, FP_EX_INVALID, FP_EX_DENORM,
FP_EX_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT,
FP_HANDLE_EXCEPTIONS, FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
FP_RND_MINF, _FP_DEXL_EX, FP_INIT_ROUNDMODE, FP_ROUNDMODE,
__LITTLE_ENDIAN, __BIG_ENDIAN, strong_alias): Move ...
* config/i386/64/sfp-machine: ... (delete here) ...
* config/i386/sfp-machine.h: ... to here.
(FP_EX_MASK): New.
(__sfp_handle_exceptions): New function declaration.
(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
* config/i386/sfp-exceptions.c: New.
* config/i386/t-softfp: New.
* config.host (i[34567]86-*-* and x86_64-*-* soft-fp targets): Add
i386/t-softfp to tmake_file.
From-SVN: r188361
Richard Henderson [Sat, 9 Jun 2012 16:27:52 +0000 (09:27 -0700)]
re PR c++/53602 (Libre Office causes an internal compiler error)
PR c++/53602
* cfgcleanup.c (execute_jump): Rename from rest_of_handle_jump2.
(pass_jump): Rename from pass_jump2.
(execute_jump2, pass_jump2): New.
* combine-stack-adj.c (rest_of_handle_stack_adjustments): Don't
perform cfg cleanup here. Move the test of PUSH_ROUNDING
and ACCUMULATE_OUTGOING_ARGS test...
(gate_handle_stack_adjustments): ... here.
* passes.c (init_optimization_passes): Update for pass_jump2 rename.
Place new pass_jump2 after pass_stack_adjustments.
* tree-pass.h (pass_jump): Declare.
From-SVN: r188360
Kenneth Zadeck [Sat, 9 Jun 2012 12:40:40 +0000 (12:40 +0000)]
simplify-rtx.c (simplify_const_binary_operation): Fixed shift count trucation.
2012-06-09 Kenneth Zadeck <zadeck@naturalbridge.com>
* simplify-rtx.c (simplify_const_binary_operation): Fixed shift
count trucation.
From-SVN: r188359
Richard Henderson [Sat, 9 Jun 2012 06:18:38 +0000 (23:18 -0700)]
re PR c++/53602 (Libre Office causes an internal compiler error)
PR c++/53602
From-SVN: r188358
Richard Henderson [Sat, 9 Jun 2012 06:17:12 +0000 (23:17 -0700)]
re PR c++/53602 (Libre Office causes an internal compiler error)
PR c++/53602
* combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
note to a clobber insn when no other insn is available.
From-SVN: r188357
GCC Administrator [Sat, 9 Jun 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r188354
Jakub Jelinek [Fri, 8 Jun 2012 18:52:32 +0000 (20:52 +0200)]
Adjust last commit.
From-SVN: r188338
Jakub Jelinek [Fri, 8 Jun 2012 18:48:46 +0000 (20:48 +0200)]
dwarf2.def (DW_FORM_GNU_ref_alt, [...]): New forms.
* dwarf2.def (DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt): New
forms.
* dwarf2.h (enum dwarf_macro_record_type): Add
DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt
and DW_MACRO_GNU_transparent_include_alt.
From-SVN: r188337
Georg-Johann Lay [Fri, 8 Jun 2012 18:32:25 +0000 (18:32 +0000)]
avr.c (avr_case_values_threshold): Return 7.
* config/avr/avr.c (avr_case_values_threshold): Return 7.
From-SVN: r188336