Commit Graph

117064 Commits

Author SHA1 Message Date
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
Arnaud Charlet 053cf9940a [multiple changes]
2012-05-15  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
	expression, use correct node for test on the subtype denoted by
	the subtype mark.

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

	* inline.adb (Scope_In_Main_Unit): Rename into...
	(In_Main_Unit_Or_Subunit): ...this.  Also return
	true if the subprogram is within a subunit of the
	main unit.
	(Add_Inlined_Body): Adjust for above renaming.
	(Add_Inlined_Subprogram): Likewise.  Pass the subprogram directly.
	(Analyze_Inlined_Bodies): Really set aside inlined subprograms
	not handled by Add_Inlined_Body.

From-SVN: r187528
2012-05-15 14:04:02 +02:00
Arnaud Charlet 8a49a499a5 [multiple changes]
2012-05-15  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Expand_With_Clause): In the context of a generic
	package declaration, a private with-clause on a child unit implies
	that the implicit with clauses on its parents are private as well.

2012-05-15  Javier Miranda  <miranda@adacore.com>

	* sem_ch6.adb (Is_Interface_Conformant): Add missing call to
	Base_Type to handle subtypes.
	* exp_ch6.adb (Expand_Call): For calls located in thunks handle
	unchecked conversions of access types found in actuals.
	* exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
	conversion to actuals whose type is an access type. Done to
	avoid reporting spurious errors.

2012-05-15  Vincent Celier  <celier@adacore.com>

	* prj-env.adb (Create_Mapping): Ignore sources that are
	suppressed (Create_Mapping_File.Process): Ditto
	* prj-nmsc.adb (Add_Source): Update to take into
	account suppressed files that may hide inherited sources.
	(Mark_Excluded_Sources): Mark excluded sources of the current
	project as suppressed.
	* prj.ads (Source_Data): New Boolean component Suppressed,
	defaulted to False

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

	* exp_intr.adb: Minor reformatting.

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

	* gnat_rm.texi: Document attribute Scalar_Storage_Order.

2012-05-15  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb (Build_Offset_To_Top): Modify the
	expansion of the offset_to_top functions to ensure that their
	profile is conformant with the profile specified in Ada.Tags. No
	change in functionality.

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

	* inline.adb (Subp_Info): Remove Count and Next_Nopred
	components, add Processed component and move around Next component.
	(Add_Call): Reverse meaning of Successors table to the natural one.
	(Add_Inlined_Body): Do not inline a package if it is in the main unit.
	(Add_Inlined_Subprogram): Do not add the subprogram to the list if the
	package is in the main unit. Do not recurse on the successors.
	(Add_Subp): Adjust to new contents of Subp_Info.
	(Analyze_Inlined_Bodies): Do not attempt
	to compute a topological order on the list of inlined subprograms,
	but compute the transitive closure from the main unit instead.
	(Get_Code_Unit_Entity): Always return the spec for a package.

From-SVN: r187526
2012-05-15 13:07:26 +02:00
Arnaud Charlet 8c5b2819fa [multiple changes]
2012-05-15  Yannick Moy  <moy@adacore.com>

	* aspects.ads: Minor addition of comments to provide info on
	how to add new aspects.

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

	* osint.ads: Minor reformatting.

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

	* exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
	(Expand_Assign_Array): Handle the case of a packed bit array within a
	record with reverse storage order (assign element by element in that
	case).
	(In_Reverse_Storage_Order_Record): New subprogram,
	code extracted from Exp_Pakd.

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

	* a-ngelfu.ads: Add postconditions using Ada 2012
	aspect syntax, reflecting some of the RM requirements for these
	functions, from Annex A.5.1 or G.2.4.

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

	* adaint.c: Minor fix: move misplaced comment.

2012-05-15  Doug Rupp  <rupp@adacore.com>

	* vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
	use by customers.

From-SVN: r187525
2012-05-15 13:02:25 +02:00
Arnaud Charlet 3ee8dde59c gnat1drv.adb: Enable Exception_Extra_Info in CodePeer_Mode.
2012-05-15  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb: Enable Exception_Extra_Info in CodePeer_Mode.

2012-05-15  Sergey Rybin  <rybin@adacore.com frybin>

	* gnat_ugn.texi (Complexity Metrics Control section): Fix
	reference to McCabe's book defining complexity metrics.

From-SVN: r187524
2012-05-15 12:54:04 +02:00
Arnaud Charlet 4169b895e8 [multiple changes]
2012-05-15  Tristan Gingold  <gingold@adacore.com>

	* a-exextr.adb: Add comment.

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

	* sem_ch3.adb: Minor reformatting (remove long dead code).

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

	* aspects.adb, aspects.ads: Add aspects for Convention, Export,
	External_Name, Import, and Link_Name.
	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
	pragma comes from an aspect specification, the entity is the
	first argument.
	* sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
	Pragma_Import): if the pragma comes from an aspect specification,
	the entity is the first argument, and the second has the value
	True by default.
	* sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
	for aspect Convention. Add placeholders for Link_Name and
	External_Name.

From-SVN: r187523
2012-05-15 12:52:24 +02:00
Bernd Schmidt d1ede5f4d0 Fix up changelogs.
From-SVN: r187522
2012-05-15 10:51:02 +00:00
Bernhard Reutner-Fischer 2d858ed91f Remove now redundant manual cleanup-modules directive.
2012-05-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* gfortran.dg/*.f90: Remove now redundant manual
	cleanup-modules directive.

From-SVN: r187521
2012-05-15 12:42:32 +02:00
Arnaud Charlet c8957aae63 [multiple changes]
2012-05-15  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
	of the abortable part and triggering alternative after being processed
	for controlled objects.
	(Expand_N_Timed_Entry_Call): Code and comment reformatting.

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

	* sem_util.adb: Minor code reorganization.

From-SVN: r187520
2012-05-15 12:41:15 +02:00
Arnaud Charlet 799d0e05c7 [multiple changes]
2012-05-15  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.

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

	* sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
	'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
	even in those cases, a remote access type may only designate a
	remote subprogram.

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

	* sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
	(Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.

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

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
	checks on nested inlined subprograms.

2012-05-15  Tristan Gingold  <gingold@adacore.com>

	* fe.h (Get_RT_Exception_Name): Declare.

2012-05-15  Tristan Gingold  <gingold@adacore.com>

	* raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
	(get_region_description_for): Likewise.
	(db_action_for): Likewise.
	(get_call_site_action_for): Likewise.
	(get_ttype_entry_for): Remove useless 'const'.
	(PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.

2012-05-15  Tristan Gingold  <gingold@adacore.com>

	* a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
	on the stack to avoid a dynamic memory allocation.

2012-05-15  Bob Duff  <duff@adacore.com>

	* exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
	E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
	because those calls can destroy the Statements list.

From-SVN: r187518
2012-05-15 12:22:07 +02:00