Commit Graph

115994 Commits

Author SHA1 Message Date
Kaz Kojima
6c5bfec01b PR/target 52642
PR/target 52642
	* config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
	prologue for unwinder and profiler.

From-SVN: r185616
2012-03-21 20:19:31 +00:00
Andreas Tobler
a26f86dcb1 configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
2012-03-21  Andreas Tobler  <andreast@fgznet.ch>

        * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
        Introduce emul_name to select the right linker emulation for
        powerpc64-*-freebsd*.
        * configure: Regenerate.
        * config.gcc: Add bits to support powerpc64-*-freebsd*.
        * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
        * config/rs6000/freebsd64.h: New file.
        * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
        POWERPC_FREEBSD.
        (rs6000_savres_strategy): Likewise.
        (rs6000_savres_routine_name): Likewise.
        (rs6000_elf_file_end): Likewise.
        * config/rs6000/t-freebsd64: New file.
        * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
        rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.

From-SVN: r185615
2012-03-21 21:13:50 +01:00
Andreas Tobler
d82ad50db3 config.host: Add bits to support powerpc64-*-freebsd*.
2012-03-21  Andreas Tobler  <andreast@fgznet.ch>

        * config.host: Add bits to support powerpc64-*-freebsd*.
        * config/rs6000/freebsd-unwind.h: New file.
        * config/rs6000/t-freebsd64: New file.

From-SVN: r185614
2012-03-21 21:12:16 +01:00
Andreas Tobler
f4e017c4b1 31370.cc: Skip this test on powerpc64-*-freebsd*.
2013-03-21  Andreas Tobler  <andreast@fgznet.ch>

        * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
        Skip this test on powerpc64-*-freebsd*.

From-SVN: r185613
2012-03-21 21:11:14 +01:00
Georg-Johann Lay
03b29b0ae4 re PR rtl-optimization/52543 (lower-subreg.c: code bloat of 300%-400% for multi-word memory splits)
PR rtl-optimization/52543
	PR target/52461
	* config/avr/avr-protos.h (avr_load_lpm): New prototype.
	* config/avr/avr.c (avr_mode_dependent_address_p): New function.
	(TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
	(avr_load_libgcc_p): Restrict to __flash loads.
	(avr_out_lpm): Only handle 1-byte loads from __flash.
	(avr_load_lpm): New function.
	(avr_find_unused_d_reg): Remove.
	(avr_out_lpm_no_lpmx): Remove.
	(adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
	* config/avr/avr.md (unspec): Add UNSPEC_LPM.
	(load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
	(load_<mode>, load_<mode>_clobber): New insns.
	(mov<mode>): For multi-byte move from non-generic
	16-bit address spaces: Expand to load_<mode> resp.
	load_<mode>_clobber.
	(load<mode>_libgcc): Remove expander.
	(split-lpmx): Remove split.

From-SVN: r185605
2012-03-21 13:20:20 +00:00
Richard Earnshaw
baeecefcd2 neon.md (neon_vget_lanev2di): Use gen_lowpart and gen_highpart.
* neon.md (neon_vget_lanev2di): Use gen_lowpart and gen_highpart.
* config/arm/neon.ml (Fixed_return_reg): Renamed to fixed_vector_reg.
All callers changed.
(Fixed_core_reg): New feature.
(Vget_lane [sizes S64 and U64]): Add Fixed_core_reg.  Allow fmrrd in
disassembly.
* neon-testgen.ml: Handle Fixed_core_reg.

* gcc.target/arm/neon/vgetQ_laneu64.c: Regenerated.
* gcc.target/arm/neon/vgetQ_lanes64.c: Likewise.

From-SVN: r185603
2012-03-21 11:19:23 +00:00
Martin Jambor
216c92c984 re PR testsuite/52641 (Test cases fail for 16-bit int targets)
PR testsuite/52641
	* gcc.dg/misaligned-expand-1.c (cst): Cast to int.
	* gcc.dg/misaligned-expand-2.c (cst): Likewise.

From-SVN: r185602
2012-03-21 10:48:08 +00:00
Andrew Stubbs
021afdb4bb arm.c (thumb2_reorg): Add complete support for 16-bit instructions.
2012-03-21  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/arm/arm.c (thumb2_reorg): Add complete support
	for 16-bit instructions.
	* config/arm/thumb2.md: Delete obsolete flag-clobbering peepholes.

	gcc/testsuite/
	* gcc.target/arm/thumb-16bit-ops.c: New file.
	* gcc.target/arm/thumb-ifcvt.c: New file.

From-SVN: r185601
2012-03-21 10:41:46 +00:00
Richard Guenther
50eeef0975 re PR tree-optimization/52636 (ICE: tree check: expected integer_cst, have string_cst in tree_to_double_int, at tree.h:4324)
2012-03-21  Richard Guenther  <rguenther@suse.de>

	PR tree-optimizer/52636
	* tree-vect-slp.c (vect_get_constant_vectors): Convert constants
	to the appropriate type.

From-SVN: r185599
2012-03-21 08:05:51 +00:00
Richard Guenther
be147e848b Makefile.in (cfgexpand.o): Add $(REGS_H) and $(INTEGRATE_H) dependencies.
2012-03-21  Richard Guenther  <rguenther@suse.de>

	* Makefile.in (cfgexpand.o): Add $(REGS_H) and $(INTEGRATE_H)
	dependencies.
	* cfgexpand.c (gimple_expand_cfg): Fold in pass_init_function,
	pass_jump, pass_initial_value_sets and pass_unshare_all_rtl.
	* passes.c (init_optimization_passes): Remove pass_init_function,
	pass_jump, pass_initial_value_sets and pass_unshare_all_rtl.
	* tree-pass.h (pass_init_function): Remove.
	(pass_jump): Remove.
	(pass_initial_value_sets): Remove.
	(pass_unshare_all_rtl): Remove.
	* integrate.c (pass_initial_value_sets): Remove.
	* emit-rtl.c (pass_unshare_all_rtl): Remove.
	* tree.h (init_function_for_compilation): Remove.
	* function.c (init_function_for_compilation): Remove.
	(pass_init_function): Remove.
	* cfgcleanup.c (rest_of_handle_jump): Remove.
	(pass_jump): Remove.

From-SVN: r185598
2012-03-21 08:02:21 +00:00
Jason Merrill
552b8185be c-common.h (enum cxx_dialect): Add cxx1y.
* c-common.h (enum cxx_dialect): Add cxx1y.
	* c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
	test.
	* c-cppbuiltin.c (c_cpp_builtins): Likewise.
	* c-opts.c (c_common_post_options): Likewise.
	(set_std_cxx1y): New.
	(c_common_handle_option): Call it.
	* c.opt (-std=c++1y, -std=gnu++1y): New flags.
cp/
	* lex.c (init_reswords): Use >= for cxx_dialect test.
	* parser.c (cp_parser_exception_specification_opt): Likewise.
testsuite/
	* lib/target-supports.exp: Add { target c++1y }.

From-SVN: r185596
2012-03-21 01:09:41 -04:00
Jason Merrill
c19267cbaf mangle.c (write_type): Handle 'auto'.
gcc/cp/
	* mangle.c (write_type): Handle 'auto'.
	* init.c (build_new): Don't do auto deduction where it might
	affect template mangling.
libiberty/
	* cp-demangle.c (cplus_demangle_type): Handle 'auto'.

From-SVN: r185595
2012-03-21 00:04:39 -04:00
GCC Administrator
f17dd5dad3 Daily bump.
From-SVN: r185593
2012-03-21 00:17:50 +00:00
Georg-Johann Lay
1c7a6d48b5 re PR testsuite/52641 (Test cases fail for 16-bit int targets)
PR testsuite/52641
	* gcc.dg/torture/pr48124-1.c: Add dg-require-effective-target
	int32plus.
	* gcc.dg/torture/pr48124-4.c: Ditto:
	* gcc.dg/torture/pr52530.c: Use long instead of int if int=16.

From-SVN: r185588
2012-03-20 19:38:51 +00:00
Jason Merrill
9e291a01a2 re PR c++/52510 (libitm/config/posix/rwlock.cc doesn't compile)
PR c++/52510
	* decl.c (reshape_init_class): Handle repeated reshaping.
	* search.c (lookup_field_1): Add sanity check.

From-SVN: r185587
2012-03-20 15:14:29 -04:00
Jason Merrill
f78f047346 tree-streamer-in.c (streamer_alloc_tree): Call ggc_alloc_zone_cleared_tree_node instead of...
* tree-streamer-in.c (streamer_alloc_tree): Call
	ggc_alloc_zone_cleared_tree_node instead of
	ggc_alloc_zone_cleared_tree_node_stat.

From-SVN: r185586
2012-03-20 15:14:16 -04:00
Jonathan Wakely
513d051988 * doc/extend.texi (Template Instantiation): Remove anachronisms.
From-SVN: r185584
2012-03-20 17:47:07 +00:00
Georg-Johann Lay
73f46872b4 progmem.h (pgm_read_char): Define depending on __AVR_HAVE_LPMX__
* gcc.target/avr/progmem.h (pgm_read_char): Define depending on
	__AVR_HAVE_LPMX__

From-SVN: r185583
2012-03-20 17:38:29 +00:00
Jonathan Wakely
1056a3604b Correct date in ChangeLog.
From-SVN: r185582
2012-03-20 17:10:10 +00:00
Jonathan Wakely
b4db974a6b stl_list.h (list::_M_size): Use NSDMI.
* include/bits/stl_list.h (list::_M_size): Use NSDMI.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r185580
2012-03-20 17:01:19 +00:00
Jakub Jelinek
ee289e4594 re PR target/52607 (v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2})
PR target/52607
	* config/i386/i386.c (expand_vec_perm_vperm2f128): New function.
	(ix86_expand_vec_perm_const_1): Call it.

From-SVN: r185579
2012-03-20 17:51:41 +01:00
Jakub Jelinek
e5069d626e i386.c (vselect_insn): New variable.
* config/i386/i386.c (vselect_insn): New variable.
	(init_vselect_insn): New function.
	(expand_vselect, expand_vselect_insn): Add testing_p argument.
	Call init_vselect_insn if vselect_insn is NULL.  Adjust
	PATTERN (vselect_insn), instead of creating a new insn each time,
	only emit a copy of it if not testing and recog has been successful.
	(expand_vec_perm_pshufb, expand_vec_perm_1,
	expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_broadcast_1): Adjust
	callers.

From-SVN: r185578
2012-03-20 17:27:05 +01:00
Jakub Jelinek
6945a32ec3 re PR target/52607 (v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2})
PR target/52607
	* config/i386/i386.md ("isa" attribute): Add avx2 and noavx2.
	("enabled" attribute): Handle avx2 and noavx2 isas.
	* config/i386/sse.md (avx2_vec_dupv8sf_1, avx2_pbroadcast<mode>_1):
	New insns.
	(vec_dup<mode>): Add avx2 =x,x alternative.
	(vec_dup<mode> splitter): Don't split if TARGET_AVX2.
	(*avx_vperm_broadcast_<mode>): Don't split V4DFmode if TARGET_AVX2.
	For TARGET_AVX2, V8SFmode and elt == 0 split into vbroadcastss.
	* config/i386/i386.c (expand_vec_perm_pshufb): Emit also vpermps
	for V8SFmode.
	(expand_vec_perm_1): For broadcasts, use avx2_pbroadcast<mode>_1
	if possible, handle also V8SFmode.

From-SVN: r185577
2012-03-20 17:25:54 +01:00
Richard Earnshaw
681676df51 predicates.md (zero_operand, [...]): New predicates.
* arm/predicates.md (zero_operand, reg_or_zero_operand): New predicates.
* arm/neon.md (neon_vceq<mode>, neon_vcge<mode>): Use
reg_or_zero_operand predicate.
(neon_vcle<mode>, neon_vclt<mode>): Use zero_operand predicate.

From-SVN: r185573
2012-03-20 14:11:05 +00:00
Georg-Johann Lay
7dc3263c69 re PR target/49868 (Implement named address space to place/access data in flash memory)
PR target/49868
	* gcc.target/avr/torture/addr-space-2.h: New file.
	* gcc.target/avr/torture/addr-space-2-g.h: New test.
	* gcc.target/avr/torture/addr-space-2-0.h: New test.
	* gcc.target/avr/torture/addr-space-2-1.h: New test.
	* gcc.target/avr/torture/addr-space-2-x.h: New test.

From-SVN: r185570
2012-03-20 11:32:54 +00:00
Richard Guenther
b260a8c034 re PR gcov-profile/52627 (Build of libgcc fails w/o __GTHREAD_MUTEX_INIT: error: 'mx' undeclared)
2012-03-20  Richard Guenther  <rguenther@suse.de>

	PR gcov-profile/52627
	* libgcov.c (init_mx): Fix mutex name.

From-SVN: r185569
2012-03-20 11:18:57 +00:00
Jakub Jelinek
999a099ca2 i386.c (ix86_decompose_address): If operand isn't UNSPEC, return 0.
* config/i386/i386.c (ix86_decompose_address) <case ZERO_EXTEND>:
	If operand isn't UNSPEC, return 0.

From-SVN: r185568
2012-03-20 12:18:06 +01:00
Arnaud Charlet
3419a445f1 Minor reformatting.
From-SVN: r185567
2012-03-20 11:01:05 +01:00
Arnaud Charlet
ce40d1cea7 hlo.ads, hlo.adb: Removed, no longer used.
2012-03-20  Arnaud Charlet  <charlet@adacore.com>

	* hlo.ads, hlo.adb: Removed, no longer used.
	* gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
	* gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
	and compute it from EXTRA_LIBGNAT_OBJS.
	Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.

From-SVN: r185565
2012-03-20 11:00:00 +01:00
Richard Guenther
dac1fbf86e tree-pass.h (pass_rtl_eh): Remove.
2012-03-20  Richard Guenther  <rguenther@suse.de>

	* tree-pass.h (pass_rtl_eh): Remove.
	* except.c (gate_handle_eh): Likewise.
	(rest_of_handle_eh): Likewise.
	(pass_rtl_eh): Likewise.
	(finish_eh_generation): Export.
	* except.h (finish_eh_generation): Declare.
	* passes.c (init_optimization_passes): Remove pass_rtl_eh.
	* cfgexpand.c (gimple_expand_cfg): Call finish_eh_generation
	after expanding stack alignment.  Instead of compacting blocks
	call cleanup_cfg.

From-SVN: r185564
2012-03-20 09:52:02 +00:00
Richard Guenther
7ebf9677e5 stor-layout.c (finish_bitfield_representative): Fallback to conservative maximum size if the padding up to the next field...
2012-03-20  Richard Guenther  <rguenther@suse.de>

	* stor-layout.c (finish_bitfield_representative): Fallback
	to conservative maximum size if the padding up to the next
	field cannot be computed as a constant.
	(finish_bitfield_layout): If we cannot compute the distance
	between the start of the bitfield representative and the
	bitfield member start a new representative.
	* expr.c (get_bit_range): The distance between the start of
	the bitfield representative and the bitfield member is zero
	if the field offsets are not constants.

	* gnat.dg/pack16.adb: New testcase.
	* gnat.dg/pack16_pkg.ads: Likewise.
	* gnat.dg/specs/pack8.ads: Likewise.
	* gnat.dg/specs/pack8_pkg.ads: Likewise.

From-SVN: r185563
2012-03-20 09:31:40 +00:00
Yannick Moy
9b96cf92a4 gnat_rm.texi, [...]: Update documentation.
2012-03-20  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi, sem_attr.ads: Update documentation.

From-SVN: r185562
2012-03-20 10:23:26 +01:00
Tristan Gingold
18dae0162f tree.h (enum size_type_kind): Add stk_ prefix to constants, convert in lowercase.
2012-03-20  Tristan Gingold  <gingold@adacore.com>

	* tree.h (enum size_type_kind): Add stk_ prefix to constants,
	convert in lowercase.
	(sizetype_tab, sizetype, bitsizetype, ssizetype, sbitsizetype)
	(size_int, ssize_int, bitsize_int, sbitsize_int): Adjust.
	* stor-layout.c (sizetype_tab): Adjust.
	(initialize_sizetypes): Use SIZETYPE instead of SIZE_TYPE.
	* tree-streamer.c (preload_common_nodes): Use stk_type_kind_last
	instead of type_kind_last.
	* tree-scalar-evolution.c (interpret_rhs_expr): Use size_int
	instead of size_int_kind.
	* doc/tm.texi.in (Type Layout): Document SIZETYPE.
	* doc/tm.texi: Regenerate.
	* defaults.h (SIZETYPE): Provide a default value.
	* config/vms/vms.h (SIZE_TYPE): Define as "unsigned int".
	(SIZETYPE): Define.

From-SVN: r185561
2012-03-20 08:47:27 +00:00
Oleg Endo
d924186175 sh.md: Use braced string notation where applicable.
* config/sh/sh.md: Use braced string notation where applicable.

From-SVN: r185555
2012-03-20 00:37:19 +00:00
GCC Administrator
0b26c08450 Daily bump.
From-SVN: r185552
2012-03-20 00:19:20 +00:00
Paolo Carlini
871c1034db [multiple changes]
2012-03-19  Paweł Sikora  <pawel.sikora@agmk.net>

	PR libstdc++/52540
	* include/Makefile.am (c++config.h): Fix sed rule to not break
	the _GLIBCXX_EXTERN_TEMPLATE redefinition.
	* include/Makefile.in: Regenerate.

2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/Makefile.in: Regenerate.

From-SVN: r185548
2012-03-19 23:48:16 +00:00
Uros Bizjak
5ef4f6095e i386.md (allocate_stack): Simplify.
* config/i386/i386.md (allocate_stack): Simplify.

From-SVN: r185545
2012-03-19 23:16:45 +01:00
Benjamin Kosnik
fa7548481a allocator.h (std::allocator): Base class is __allocator_base.
2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/allocator.h (std::allocator): Base class is
	__allocator_base.
	(uses_allocator): Add to sub-grouping.
	* include/ext/new_allocator.h: Doxygen markup for tparm.

	* config/allocator/bitmap_allocator_base.h: Use __allocator_base
	template alias in C++11.
	* config/allocator/malloc_allocator_base.h: Same.
	* config/allocator/mt_allocator_base.h: Same.
	* config/allocator/new_allocator_base.h: Same.
	* config/allocator/pool_allocator_base.h: Same.

From-SVN: r185544
2012-03-19 21:41:15 +00:00
Benjamin Kosnik
b234b0ca04 constructors_destructor_fn_imps.hpp: Increment after recursion.
2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/detail/pat_trie_/
	constructors_destructor_fn_imps.hpp: Increment after recursion.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert
	node_type markup from brief.

From-SVN: r185542
2012-03-19 20:43:30 +00:00
Uros Bizjak
18ae1560d1 builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of copy_to_mode_reg (Pmode, ...).
* builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of
	copy_to_mode_reg (Pmode, ...).
	(expand_builtin_frame_address): Ditto.
	* expr.c (emit_block_move_via_libcall): Ditto.
	(set_storage_via_libcall): Ditto.

	* config/i386/i386.c (ix86_expand_movmem): Ditto.
	(ix86_expand_setmem): Ditto.
	(ix86_trampoline_init): DItto.
	* config/i386/i386.md (cmpstrnsi): Ditto.
	(allocate_stack): Ditto.

From-SVN: r185541
2012-03-19 21:35:59 +01:00
Sandra Loosemore
3e4907f4fb sh.opt (madjust-unroll): Mark as ignored/obsolete.
2012-03-19  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/sh/sh.opt (madjust-unroll): Mark as ignored/obsolete.
	* config/sh/sh.h (TARGET_OPT_DEFAULT): Don't use MASK_ADJUST_UNROLL.
	* doc/invoke.texi (Option Summary): Remove -madjust-unroll.
	(SH Options): Likewise.

From-SVN: r185540
2012-03-19 16:34:29 -04:00
Uros Bizjak
edd8bb126d i386.c (get_thread_pointer): Add tp_mode argument.
* config/i386/i386.c (get_thread_pointer): Add tp_mode argument.
	Generate ZERO_EXTEND in place if GET_MODE (tp) != tp_mode.
	(legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>: Always generate
	DImode UNSPEC_GOTNTPOFF references on TARGET_64BIT.
	(ix86_decompose_address): Allow zero extended UNSPEC_TP references.

	Revert:
	2012-03-13  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
	* config/i386/i386.c (ix86_decompose_address): Use
	TARGET_TLS_INDIRECT_SEG_REFS to prevent %fs:(%reg) addresses.
	(legitimize_tls_address): Use TARGET_TLS_INDIRECT_SEG_REFS to load
	thread pointer to a register.

	Revert:
	2012-03-10  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
	if Pmode != word_mode.
	(legitimize_tls_address): Call gen_tls_initial_exec_x32 if
	Pmode == SImode for TARGET_X32.

	* config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
	(tls_initial_exec_x32): Likewise.

From-SVN: r185536
2012-03-19 20:11:03 +01:00
Oleg Endo
ae5a8549b5 Fix ChangeLog formatting.
From-SVN: r185535
2012-03-19 19:04:20 +00:00
Oleg Endo
344332e87b re PR target/50751 (SH Target: Displacement addressing does not work for QImode and HImode)
PR target/50751
	* config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12, DISP_ADDR_P,
	DISP_ADDR_OFFSET): New macros.
	* config/sh/sh.c (sh_address_cost): Add SH2A special case.
	(sh_legitimate_index_p): Allow QImode displacements for non-SH2A.
	(sh_legitimize_address): Add QImode displacement handling.
	(sh_cannot_change_mode_class): Disallow GENERAL_REGS for SFmode 
	vector subregs.
	(sh_secondary_reload): Add QImode displacement handling.
	* config/sh/predicates.md (movsrc_no_disp_mem_operand): New predicate.
	* config/sh/constraints.md (K04, Snd, Sdd): New constraints.
	* config/sh/sh.md (extendqisi2): Remove constraints from expander.
	(*extendqisi2_compact): Rename to *extendqisi2_compact_reg, restrict
	to register operands only.
	(*extendqisi2_compact_mem_disp, *extendqisi2_compact_snd): New insns.
	(extendqihi2): Change insn to expander.
	(*extendqihi2_compact_reg): New insn.
	(movqi_i, movqi): Replace with ... 
	(movqi, *movqi_reg_reg, *movqi_store_mem_disp12,
	*movqi_load_mem_disp, *movqi_load_mem_disp): ... these.
	Add new peepholes for QImode displacement addressing.

From-SVN: r185534
2012-03-19 18:59:16 +00:00
Paolo Carlini
26b808448f Wuseless-cast.C: Extend.
2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/warn/Wuseless-cast.C: Extend.

From-SVN: r185531
2012-03-19 17:55:11 +00:00
Paolo Carlini
81de33b541 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
Complete previous commit.

From-SVN: r185529
2012-03-19 17:23:40 +00:00
Arnaud Charlet
2a1f6a1f90 [multiple changes]
2012-03-19  Yannick Moy  <moy@adacore.com>

	* sem_ch6.adb: Minor code clean up.

2012-03-19  Vincent Celier  <celier@adacore.com>

	* make.adb (Scan_Make_Arg): Make sure all significant -m switches
	on the command line are counted.

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

	* sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
	reference case

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

	* par-ch4.adb (Check_Bad_Exp): New procedure

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

	* exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
	initial framework for Valid_Scalars attribute.

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

	* scng.adb (Scan): Recognize incorrect preprocessor directive

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

	* atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
	* atree.ads (Num_Extension_Nodes): New variable
	* debug.adb: New debug flag -gnatd.N
	* gnat1drv.adb (Adjust_Global_Switches): Adjust
	Num_Extension_Nodes if -gnatd.N set

2012-03-19  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
	descriptions.

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

	* opt.ads: Remove HLO_Active flag.
	* sem.adb: Remove call of high level optimizer.
	* sem.ads (New_Nodes_OK): Removed.
	* sem_ch10.adb: Remove references to New_Nodes_OK.
	* switch-c.adb: Remove handling of -gnatH switch.

From-SVN: r185528
2012-03-19 17:41:25 +01:00
Arnaud Charlet
119e3be6ca [multiple changes]
2012-03-19  Yannick Moy  <moy@adacore.com>

	* sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
	on trivially True or False postconditions and Ensures components
	of contract-cases.

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

	* gnat_ugn.texi: Fix index entry for -gnatei (now we have
	ug_words entry).

From-SVN: r185527
2012-03-19 17:31:20 +01:00
Arnaud Charlet
78c0f01606 [multiple changes]
2012-03-19  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb (Get_Discriminant_Value): Instead of looking
	at the immediate correcponsing discriminant, traverse a
	potential chain of discriminants produced by type derivations.
	(Root_Corresponding_Discriminant): Traverse a chain of inherited
	discriminants and return the topmost discriminant.

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

	* debug.adb: Minor comment change.
	* gnat_ugn.texi: Update documentation for elaboration regarding
	indirect calls.

2012-03-19  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): In
	the case of an object of a class-wide interface type, where the
	declaration is rewritten as a renaming, call Set_Debug_Info_Needed
	on the renaming entity so that Materialize_Entity will be
	set. Also, change existing call (for other than interface cases)
	to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
	(as specified for that flag).

From-SVN: r185526
2012-03-19 17:29:27 +01:00
Arnaud Charlet
a495651582 [multiple changes]
2012-03-19  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
	by the build-in-place machinery where the designated type is
	indefinite, but the underlying type is not. Do not emit errors
	related to missing initialization in this case.

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

	* gnat_ugn.texi: Add documentation for -gnateinnn switch.
	* sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
	* sem_prag.adb: Minor comment update.

From-SVN: r185525
2012-03-19 17:27:18 +01:00