Commit Graph

116873 Commits

Author SHA1 Message Date
Paolo Carlini f330f5991e re PR c++/44516 (improve error message when no matching operator)
gcc/cp
2012-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44516
	* typeck.c (build_x_array_ref, build_x_conditional_expr,
	build_x_compound_expr, build_x_modify_expr): Add location_t parameter.
	(finish_class_member_access_expr, build_x_indirect_ref,
	build_x_binary_op, build_x_compound_expr_from_list,
	build_x_compound_expr_from_vec): Adjust callers.
	* tree.c (build_min_nt_loc): New.
	(build_min_nt): Remove.
	* typeck2.c (build_x_arrow): Adjust callers.
	* pt.c (tsubst_qualified_id, tsubst_omp_for_iterator,
	tsubst_copy_and_build): Likewise.
	* semantics.c (finish_mem_initializers, handle_omp_for_class_iterator,
	 finish_omp_atomic): Likewise.
	* decl2.c (grok_array_decl, build_anon_union_vars): Adjust.
	* parser.c (cp_parser_question_colon_clause,
	cp_parser_assignment_expression, cp_parser_expression,
	cp_parser_template_id, cp_parser_omp_for_loop): Likewise.
	* cp-tree.h: Update.

gcc/testsuite
2012-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44516
	* g++.dg/parse/error48.C: New.
	* g++.dg/template/crash89.C: Adjust dg-error line numbers.
	* g++.old-deja/g++.robertl/eb109.C: Add column info to dg-error string.

libstdc++
2012-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44516
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
	dg-error line number.

From-SVN: r187627
2012-05-17 10:29:46 +00:00
Jan Hubicka 5264f487f0 ipa-reference.c (is_proper_for_analysis): Do not check flags that might change as result of global optimization.
* ipa-reference.c (is_proper_for_analysis): Do not check flags
	that might change as result of global optimization.
	(analyze_function): Do not check analyzed and externally_visible
	flags; be happy about address dereferences.
	(propagate): Prune all_module_statics so it really contains just
	statics; prune all the local summaries.
	(ipa_reference_write_optimization_summary): Simplify.

From-SVN: r187626
2012-05-17 09:22:02 +00:00
Kwok Cheung Yeung de7ee1e98d m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm.
* config/m68k/m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm,
	51qm.
	* config/m68k/m68k-tables.opt: Regenerated.
	* doc/invoke.texi (M680x0 Options): Document.

From-SVN: r187625
2012-05-17 09:13:35 +00:00
Ian Lance Taylor d7b8f2b781 runtime: Print stack trace on panic or signal.
From-SVN: r187623
2012-05-17 05:30:25 +00:00
Patrick Marlier 8730965e42 [multiple changes]
2012-05-16  Dave Boutcher  <daveboutcher@gmail.com>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	* trans-mem.c (ipa_tm_transform_clone): Transform functions with
	indirect calls.

testsuite/
2012-05-16  Patrick Marlier  <patrick.marlier@gmail.com>

	* gcc.dg/tm/indirect-2.c: New test.

From-SVN: r187621
2012-05-17 02:57:56 +00:00
GCC Administrator e2f7d9f4ad Daily bump.
From-SVN: r187620
2012-05-17 00:17:42 +00:00
H.J. Lu e6d5f8c9c4 Regenerate configure files for libtool.m4 change
boehm-gc/

	* configure: Regenerated.

gcc/

	* configure: Regenerated.

libatomic/

	* configure: Regenerated.

libffi/

	* configure: Regenerated.

libgfortran/

	* configure: Regenerated.

libgomp/

	* configure: Regenerated.

libitm/

	* configure: Regenerated.

libjava/classpath/

	* configure: Regenerated.

libjava/

	* configure: Regenerated.

libmudflap/

	* configure: Regenerated.

libobjc/

	* configure: Regenerated.

libquadmath/

	* configure: Regenerated.

libssp/

	* configure: Regenerated.

libstdc++-v3/

	* configure: Regenerated.

lto-plugin/

	* configure: Regenerated.

zlib/

	* configure: Regenerated.

From-SVN: r187616
2012-05-16 15:11:18 -07:00
Andrew Pinski 763dc99dd3 gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under GIMPLE_ASSIGN.
2012-05-16  Andrew Pinski  <apinski@cavium.com>

	* gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
	GIMPLE_ASSIGN.

From-SVN: r187608
2012-05-16 13:22:03 -07:00
David S. Miller 0e2b0f75cc Fix var tracking ICE due to reorg.
If during reorg we delete a code label, and as a result we decide to
delete all the code following that label, we hit this condition in
jump.c:delete_related_insns():

  if (was_code_label && prev && BARRIER_P (prev))                                

which passes and then we proceed to delete insns until we hit a
non-deleted code label.

During this traversal, we can end up deleting a CALL, but in doing so
we will leave the var tracking note for the call arguments around.

Later in dwarf2_var_location() we will ICE, because we can't find the
CALL when we search backwards for it.

The note searching scheme in the fix below is cribbed from code in
try_split() which has to handle a similar problem.

gcc/

	* jump.c (delete_related_insns): If we remove a CALL, make sure
	we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.

From-SVN: r187606
2012-05-16 13:11:46 -07:00
Tobias Burnus e10f759e19 unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
2012-05-16  Tobias Burnus  <burnus@net-b.de>

        * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.

From-SVN: r187604
2012-05-16 20:39:34 +02:00
Olivier Hainque 4677d2eb61 Makefile.in (install-unwind_h): Rename into ...
libgcc/
        * Makefile.in (install-unwind_h): Rename into ...
        (install-unwind_h-forbuild): New target.
        (all): Use it instead of the former install-unwind_h.
        (install-unwind_h): Reinstate, copy to user install destination
        for include files, not to the internal gcc object directory one.
        (install-leaf): Depend on it.

From-SVN: r187599
2012-05-16 15:36:08 +00:00
Ian Lance Taylor eaca667ecf log/syslog: Fix name of C function syslog_c.
From Rainer Orth.

From-SVN: r187596
2012-05-16 14:52:03 +00:00
Bill Schmidt f002c19630 re PR tree-optimization/53217 (internal compiler error: verify_ssa failed)
gcc:

2012-05-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/53217
	* tree-ssa-reassoc.c (bip_map): New static variable.
	(possibly_move_powi): Move feeding multiplies with __builtin_powi call.
	(attempt_builtin_powi): Save feeding multiplies on a stack.
	(reassociate_bb): Create and destroy bip_map.

gcc/testsuite:

2012-05-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/53217
	* gfortran.dg/pr53217.f90: New test.

From-SVN: r187595
2012-05-16 14:39:32 +00:00
Olivier Hainque 8294b6fe4d Makefile.tpl (gcc-no-fixedincludes): Rename into ...
toplevel/
	* Makefile.tpl (gcc-no-fixedincludes): Rename into ...
	(gcc-install-no-fixedincludes): Now forwarder to local target in gcc/
	(install-no-fixedincludes): Adjust accordingly.
	* Makefile.in: Regenerate.

	gcc/
	* Makefile.in (install-no-fixedincludes): New target, former toplevel
	gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
	Add comments and improve stamp preservation across the whole sequence.
	(stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.

From-SVN: r187594
2012-05-16 13:37:14 +00:00
Richard Guenther 6b18b1a37a tree-inline.c (insert_init_stmt): Do not call mark_symbols_for_renaming.
2012-05-16  Richard Guenther  <rguenther@suse.de>

	* tree-inline.c (insert_init_stmt): Do not call
	mark_symbols_for_renaming.
	(setup_one_parameter): Avoid initializing unused parameters.
	(declare_return_variable): Properly handle DECL_BY_REFERENCE
	return vars in SSA form.

From-SVN: r187593
2012-05-16 13:36:07 +00:00
Richard Guenther 00d9266fad tree-flow.h (get_virtual_var): Remove.
2012-05-16  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (get_virtual_var): Remove.
	* tree-dfa.c (get_virtual_var): Likewise.

From-SVN: r187592
2012-05-16 13:31:39 +00:00
Richard Guenther c334023f37 tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only bitmap of new names.
2012-05-16  Richard Guenther  <rguenther@suse.de>

	* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
	Remove set-only bitmap of new names.
	(slpeel_tree_peel_loop_to_edge): Likewise.  Do not set
	CFG hooks.
	* tree-flow.h (ssa_names_to_replace): Remove.
	* tree-into-ssa.c (ssa_names_to_replace): Likewise.

From-SVN: r187591
2012-05-16 13:21:38 +00:00
Richard Guenther a952cc068c re PR tree-optimization/53364 (Wrong code generation)
2012-05-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53364
	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
	detect a view-conversion of the decl.

	* g++.dg/torture/pr53364.C: New testcase.

From-SVN: r187590
2012-05-16 13:11:01 +00:00
Georg-Johann Lay 219d42f11a re PR testsuite/52641 (Test cases fail for 16-bit int targets)
PR testsuite/52641
	* gcc.dg/pr52549.c: Fix test for long != void*
	* gcc.c-torture/execute/pr52979-1.x: New file.
	* gcc.c-torture/execute/pr52979-2.x: New file.

From-SVN: r187588
2012-05-16 12:46:36 +00:00
Dodji Seketeli 0b2c4be5fd PR preprocessor/7263 - Avoid pedantic warnings on system headers macro tokens
Now that we track token locations accross macro expansions, it would
be cool to be able to fix PR preprocessor/7263 for real.  That is,
consider this example where we have a system header named header.h
like this:

	#define _Complex __complex__ #define _Complex_I 1.0iF

and then a normal C file like this:

    #include "header.h"

    static _Complex float c = _Complex_I;

If we compile the file with -pedantic, the usages of _Complex or
_Complex_I should not trigger any warning, even though __complex__ and
the complex literal are extensions to the standard C.

They shouldn't trigger any warning because _Complex and _Complex_I are
defined in a system header (and expanded in normal user code).

To be able to handle this, we must address two separate concerns.

First, warnings about non-standard usage of numerical literals are emitted
directly from within libcpp.  So we must teach libcpp's parser for numerical
literals to use virtual locations, instead of the spelling
location it uses today.  Once we have that, as the diagnostics machinery
already knows how to avoid emitting errors happening on tokens that come from
system headers, we win.

Second, there is the issue of tracking locations for declaration
specifiers, like the "_Complex" in the declaration:

	static _Complex float c;

For that, we need to arrange for each possible declaration specifier
to have its own location, because otherwise, we'd warn on e.g, on:

    _Complex float c;

but not on:

    static _Complex float c;

So this patch addresses the two concerns above.  It's actually a
follow-up on an earlier patch[1] I wrote as part of my initial work on
virtual locations.  We then agreed[2] that the second concern was
important to address before the patch could get a chance to go in.

[1]: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00957.html
[2]: http://gcc.gnu.org/ml/gcc-patches/2011-10/msg00264.html

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

libcpp/

	PR preprocessor/7263
	* include/cpplib.h (cpp_classify_number): Take a location
	parameter.
	* expr.c (SYNTAX_ERROR_AT, SYNTAX_ERROR2_AT): New diagnostic
	macros that take a location parameter.
	(cpp_classify_number): Take a (virtual) location parameter.  Use
	it for diagnostics.  Adjust comments.
	(eval_token): Take a location parameter.  Pass it to
	cpp_classify_number and to diagnostic routines.
	(_cpp_parse_expr): Use virtual locations of tokens when parsing
	expressions.  Pass a virtual location to eval_token and to
	diagnostic routines.

gcc/c-family/

	PR preprocessor/7263
	* c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
	to cpp_classify_number.  For diagnostics, use the precise location
	instead of the global input_location.

gcc/
	PR preprocessor/7263
	* c-tree.h (enum c_declspec_word): Declare new enum.
	(struct c_declspecs::locations): New member.
	(declspecs_add_qual, declspecs_add_scspec)
	(declspecs_add_addrspace, declspecs_add_alignas): Take a new
	location parameter.
	* c-decl.c (build_null_declspecs): Initialize the new struct
	c_declspecs::locations member.
	(declspecs_add_addrspace): Take a location parameter for the
	address space.  Store it onto declaration specifiers.
	(declspecs_add_qual): Likewise, take a location parameter for the
	qualifier.
	(declspecs_add_type): Likewise, take a location parameter for the
	type specifier.
	(declspecs_add_scspec): Likewise, take a location parameter for
	the storage class specifier.
	(declspecs_add_attrs): Likewise, take a location parameter for the
	first attribute.
	(declspecs_add_alignas): Likewise, take a location parameter for
	the alignas token.
	(finish_declspecs): For diagnostics, use the location of the
	relevant declspec, instead of the global input_location.
	* c-parser.c (c_parser_parameter_declaration): Pass the precise
	virtual location of the declspec to the declspecs-setters.
	(c_parser_declspecs): Likewise.  Avoid calling c_parser_peek_token
	repeatedly.

gcc/cp/

	PR preprocessor/7263
	* cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all
	the possible declarator specifiers so far.
	(struct cp_decl_specifier_seq::locations): Declare new member.
	(cp_decl_specifier_seq::{specs, type_location}): Remove.
	(decl_spec_seq_has_spec_p): Declare new function.
	* parser.c (cp_parser_check_decl_spec): Remove.
	(set_and_check_decl_spec_loc): Define new static function.
	(decl_spec_seq_has_spec_p): Define new public function.
	(cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt)
	(cp_parser_type_specifier, cp_parser_simple_type_specifier)
	(cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
	(cp_parser_alias_declaration): Set the locations for each
	declspec, using set_and_check_decl_spec_loc.
	(cp_parser_explicit_instantiation, cp_parser_init_declarator)
	(cp_parser_member_declaration, cp_parser_init_declarator): Use the
	new declspec location for specifiers.  Use the new
	decl_spec_seq_has_spec_p.
	(cp_parser_type_specifier_seq): Use the new
	set_and_check_decl_spec_loc.  Stop using
	cp_parser_check_decl_spec.  Use the new decl_spec_seq_has_spec_p.
	(, cp_parser_init_declarator): Use the new
	set_and_check_decl_spec_loc.
	(cp_parser_single_declaration, cp_parser_friend_p)
	(cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration):
	Use the new decl_spec_seq_has_spec_p.
	* decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p.  Use
	the more precise ds_redefined_builtin_type_spec location for
	diagnostics about re-declaring C++ built-in types.
	(start_decl, grokvardecl, grokdeclarator): Use the new
	decl_spec_seq_has_spec_p.

gcc/testsuite/

	PR preprocessor/7263
	* gcc.dg/binary-constants-2.c: Run without tracking locations
	accross macro expansion.
	* gcc.dg/binary-constants-3.c: Likewise.
	* gcc.dg/cpp/sysmac2.c: Likewise.
	* testsuite/gcc.dg/nofixed-point-2.c: Adjust for more precise
	location.
	* gcc.dg/cpp/syshdr3.c: New test.
	* gcc.dg/cpp/syshdr3.h: New header for the new test above.
	* gcc.dg/system-binary-constants-1.c: New test.
	* gcc.dg/system-binary-constants-1.h: New header for the new test
	above.
	* g++.dg/cpp/syshdr3.C: New test.
	* g++.dg/cpp/syshdr3.h: New header the new test above.
	* g++.dg/system-binary-constants-1.C: New test.
	* g++.dg/system-binary-constants-1.h: New header the new test
	above.

From-SVN: r187587
2012-05-16 12:51:15 +02:00
Igor Zamyatin 40295cc722 configure.ac: Stack protector enabling for Android targets.
* configure.ac: Stack protector enabling for Android targets.
        * configure: Regenerate.

From-SVN: r187586
2012-05-16 09:59:04 +00:00
Olivier Hainque a224c14871 e500-double.h: Really remove.
* config/rs6000/e500-double.h: Really remove.

From-SVN: r187585
2012-05-16 09:21:27 +00:00
Richard Sandiford a36b270612 ira.c (pseudo_move_insn): Delete.
gcc/
	* ira.c (pseudo_move_insn): Delete.
	(find_moveable_pseudos): Don't set it.
	(move_unallocated_pseudos): Use DF_REG_DEF_CHAIN to find
	the definitions of the original pseudo.  Delete all of them.

From-SVN: r187582
2012-05-16 09:01:54 +00:00
Olivier Hainque a7c6c6d64d rs6000-opts.h (enum processor_type): Add PROCESSOR_PPC8548.
* config/rs6000/rs6000-opts.h (enum processor_type): Add
        PROCESSOR_PPC8548.
        * config/rs6000/rs6000-cpus.def: Reference it for cpu="8548".
        * config/rs6000/rs6000.md (cpu attribute definition): Add ppc8548.
        * config/rs6000/8540.md: indicate that the units/patterns apply to
        ppc8548 as well.

        * config/rs6000/rs6000.c (rs6000_option_override_internal): Rename
        default_cpu into implicit_cpu, conveying what --with-cpu was passed at
        configure time. Treat implicit_cpu as have_CPU. Pick defaults for SPE
        related flags,  check that what is queried is supported by the selected
        configuration. Rework the single/double_float and MASK_STRING resets to
        hit for all the E500 cores (854x + E500MC variants). Select the ppc8540
        costs for PROCESSOR_PPC8548 as well.
        (rs6000_issue_rate): case CPU_PPC8548 together with CPU_PPC8540.
        (rs6000_use_sched_lookahead): Likewise, rewriting function as a case
        statement instead of a sequence of ifs.

        * config/rs6000/rs6000.h (TARGET_E500): Remove.
        (TARGET_NO_LWSYNC): Adjust accordingly.
        * config/rs6000/e500.h (TARGET_E500): Remove.
        (CHECK_E500_OPTIONS): Adjust accordingly.
        * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove.
        (TARGET_DEFAULT): Reformat definition to match the one in linuxspe.h.
        * config/rs6000/linuxspe.h: Likewise.
        * config/rs6000/vxworks.h: Remove bogus TARGET_E500 overrides and
        superfluous comments.
        * config/rs6000/e500-double.h: Remove.

        * config.gcc (pick a default with_cpu): For powerpc*-*-*spe*,
        default to with_cpu=8548 if --enable-e500-double, and to 8540
        otherwise.
        (set misc flags section): For powerpc*|rs6000*, remove inclusion
        of e500-double.h for --enable-e500-double.

From-SVN: r187581
2012-05-16 08:43:41 +00:00
Olivier Hainque af0a7a9227 Makefile.in (s-header-vars): Resort to -n instead of trailing -e d in sed invocation.
* Makefile.in (s-header-vars): Resort to -n instead of trailing
       -e d in sed invocation.

From-SVN: r187580
2012-05-16 08:23:58 +00:00
Ian Lance Taylor c39cbb22b0 debug/dwarf: Fix handling of LineSetFile.
From-SVN: r187578
2012-05-16 05:36:31 +00:00
Ian Lance Taylor 2c686dfe81 compiler: Fix assembler names of types defined in functions.
From-SVN: r187574
2012-05-16 00:26:32 +00:00
GCC Administrator 240f6a1d79 Daily bump.
From-SVN: r187573
2012-05-16 00:17:41 +00:00
Hans-Peter Nilsson 176a96de46 tm.texi.in (Type Layout): Update reference to source-code.
* doc/tm.texi.in (Type Layout) <SIZE_TYPE>: Update reference to
	source-code.
	* doc/tm.texi: Regenerate.

From-SVN: r187568
2012-05-15 23:43:51 +00:00
Ian Lance Taylor df4ddb118a compiler: Fix taking address of constant outside of function.
From-SVN: r187565
2012-05-15 22:54:28 +00:00
Eric Botcazou 8345ae9343 Fix date
From-SVN: r187563
2012-05-15 22:34:36 +00:00
Andris Pavenis 57c9dc678f re PR ada/52494 (s-taprop-dummy.adb does not define subpackage Specific used in s-tpoaal.sdb)
PR ada/52494
	* s-taprop-dummy.adb (Specific): New package.

From-SVN: r187562
2012-05-15 22:33:58 +00:00
Ian Lance Taylor 87fd4bbf20 compiler: Sort array constructors by index.
From-SVN: r187560
2012-05-15 22:30:37 +00:00
Paolo Carlini efc704cb03 re PR c/11586 (after call sigaction, system() return wrong status)
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

    	* g++.old-deja/g++.pt/crash10.C: Adjust post PR11586.

From-SVN: r187559
2012-05-15 22:19:08 +00:00
Ian Lance Taylor ae10b57473 compiler: Don't try to take the address of a constant.
From-SVN: r187553
2012-05-15 20:00:39 +00:00
Paolo Carlini f243739951 tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P.
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

    	* tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P.

From-SVN: r187552
2012-05-15 19:44:49 +00:00
François Dumont 8d37dc9364 Add name of the functions impacted by the patch.
From-SVN: r187551
2012-05-15 19:34:45 +00:00
Ian Lance Taylor fe725c000b runtime: Make all variables used across getcontext volatile.
From-SVN: r187549
2012-05-15 18:56:48 +00:00
H.J. Lu eb60659578 Add x32 support to libtool.m4
Merge upstream change
	* libtool.m4 (_LT_ENABLE_LOCK): Support x32.

From-SVN: r187546
2012-05-15 09:07:28 -07:00
Jakub Jelinek 64137a35b5 re PR target/53358 (ICE due to TARGET_READ_MODIFY_WRITE peephole2)
PR target/53358
	* config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
	that operands[2] is either immediate, or q_regs_operand.

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

From-SVN: r187544
2012-05-15 17:19:10 +02:00
Paolo Carlini d02924ef49 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
* Fix PR number in ChangeLog entries (11586 -> 11856).

From-SVN: r187543
2012-05-15 15:18:05 +00:00
Paolo Carlini a1bde5afcf re PR c++/11856 (unsigned warning in template)
/cp
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/11586
	* pt.c (tsubst_copy_and_build): Increase / decrease
	c_inhibit_evaluation_warnings around build_x_binary_op call.

/c-family
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/11586
	* c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.

/testsuite
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/11586
	* g++.dg/warn/Wtype-limits.C: Don't warn in templates.
	* g++.dg/warn/Wtype-limits-Wextra.C: Likewise.

From-SVN: r187542
2012-05-15 15:14:49 +00:00
Olivier Hainque 7d67c380fa aix-unwind.h (*_REGNO): New, set of useful register numbers.
libgcc/
	* config/rs6000/aix-unwind.h (*_REGNO): New, set of useful
	register numbers. LR_REGNO replaces R_LR.
	(ucontext_for): New, helper for ...
	(ppc_aix_fallback_frame_state): New, implementation for aix 5.2
	and 5.3 of ...
	(MD_FALLBACK_FRAME_STATE_FOR): Define for 32bit configurations.

	testsuite/
	* g++.dg/eh/sighandle.C: New testcase.

From-SVN: r187540
2012-05-15 14:03:04 +00:00
Richard Guenther 7d80ca1f43 cgraphunit.c (thunk_adjust): Use make_rename_temp.
2012-05-15  Richard Guenther  <rguenther@suse.de>

	* cgraphunit.c (thunk_adjust): Use make_rename_temp.
	(assemble_thunk): Likewise.  Manually rename and register
	function arguments.

From-SVN: r187538
2012-05-15 13:49:19 +00:00
Richard Guenther 8c1f1d428f re PR tree-optimization/53355 (Autovectorization of a simple loop could be improved.)
2012-05-15  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53355
	* tree-vrp.c (extract_range_from_binary_expr_1): Handle LSHIFT_EXPRs
	by constants.

	* gcc.dg/tree-ssa/vrp67.c: New testcase.

From-SVN: r187535
2012-05-15 13:18:32 +00:00
Olivier Hainque 1ce499ae1a Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS instead of trying to mimic it.
2012-05-15  Olivier Hainque  <hainque@adacore.com>

	* gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS    
	instead of trying to mimic it.

From-SVN: r187533
2012-05-15 14:20:03 +02:00
Arnaud Charlet 8777c5a68a [multiple changes]
2012-05-15  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
	reformatting.

2012-05-15  Geert Bosch  <bosch@adacore.com>

	* uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
	not needed.
	(Sum_Digits): Remove, no longer used.
	(Sum_Double_Digits): Likewise.

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

	* aspects.ads: Minor typo.

2012-05-15  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
	* sem_ch13.adb: Minor comment fix: incorrect RM reference.

2012-05-15  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
	atomicity from an object to its underlying type only if it
	is composite.

From-SVN: r187532
2012-05-15 14:16:20 +02:00
Ed Schonberg b25ce290ca sem_ch5.adb (Analyze_Iterator_Specification): Set kind of loop variable after pre-analysis of iterator name...
2012-05-15  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
	loop variable after pre-analysis of iterator name, to prevent
	premature usage of loop variable.

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

	* sem_util.adb (Is_Variable): In Ada 2012, an explicit
	dereference that is a rewriting of an expression whose type has
	a declared Implicit_Derenference aspect is a variable.

From-SVN: r187531
2012-05-15 14:11:10 +02:00
Hristian Kirtchev b0d7135584 exp_ch4.adb (Insert_Dereference_Action): Reimplemented.
2012-05-15  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
	routine performs address and size adjustments for dereferences
	of heap-allocated controlled objects. This manipulation is needed
	in order to restore the original state of the memory at the time
	it was allocated by the finalization machinery.
	* rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
	RE_Id and RE_Unit_Table.
	* sinfo.adb (Has_Dereference_Action): New routine.
	(Set_Has_Dereference_Action): New routine.
	* sinfo.ads: Add new semantic flag Has_Dereference_Action along
	its association in nodes.
	(Has_Dereference_Action): New routine and pragma Inline.
	(Set_Has_Dereference_Action): New routine and pragma Inline.
	* s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
	routine.

From-SVN: r187530
2012-05-15 14:09:44 +02:00
Arnaud Charlet 5b5b27adff [multiple changes]
2012-05-15  Thomas Quinot  <quinot@adacore.com>

	* uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
	remainder of U / Base in a single operation.

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

	* exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
	a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
	vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.

From-SVN: r187529
2012-05-15 14:06:55 +02:00