Commit Graph

126128 Commits

Author SHA1 Message Date
Ian Lance Taylor
134e622524 runtime: Fix typo in dup3 fallback implementation.
From Uros Bizjak.

From-SVN: r203820
2013-10-18 13:26:40 +00:00
Andrew Macleod
377d979275 tree-cfg.h: Rename from tree-flow.h.
* tree-cfg.h: Rename from tree-flow.h.  Remove #includes.
	* tree-ssa.h: Relocate required #includes from tree-cfg.h.
	* tree-ssa-operands.h: Remove prototype.
	* tree-ssa-operands.c (virtual_operand_p): Move to gimple.c.
	* gimple.c (virtual_operand_p): Relocate from gimple.c.
	* gimple.h: Add prototype.
	* gimple-ssa.h: Include tree-ssa-operands.h.
	* tree-dump.c: Add tree-cfg.h to include list.
	* tree-ssa-alias.c: Add ipa-reference.h to include list.
	* config/alpha/alpha.c: Include gimple-ssa.h instead of tree-flow.h.
	* config/i386/i386.c: Don't include tree-flow.h.
	* config/rs6000/rs6000.c: Likewise.

	* lto/lto.c: Remove tree-flow.h from include list.

	* testsuite/g++.dg/plugin/header_plugin.c: Don't include tree-flow.h.

From-SVN: r203817
2013-10-18 12:39:34 +00:00
Jan-Benedict Glaw
8ad8afaf72 frv.c (frv_init_cumulative_args): Fix wrong cast.
2013-10-18  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/frv/frv.c (frv_init_cumulative_args): Fix wrong cast.

From-SVN: r203814
2013-10-18 10:04:27 +00:00
Richard Biener
c0e081a968 stor-layout.c (layout_type): Do not change TYPE_PRECISION or TYPE_UNSIGNED of integral types.
2013-10-18  Richard Biener  <rguenther@suse.de>

	* stor-layout.c (layout_type): Do not change TYPE_PRECISION
	or TYPE_UNSIGNED of integral types.
	(set_min_and_max_values_for_integral_type): Leave TYPE_MIN/MAX_VALUE
	NULL_TREE for zero-precision integral types.

From-SVN: r203813
2013-10-18 08:36:28 +00:00
James Greenhalgh
054fceb5ee [AArch64] Fix types for vcvt<sd>_n intrinsics.
gcc/
	* config/aarch64/arm_neon.h
	(vcvt<ds>_n_<fsu><32,64>_<fsu><32,64>): Correct argument types.

From-SVN: r203812
2013-10-18 08:31:15 +00:00
Uros Bizjak
5a68bf37f5 * ChangeLog: Remove duplicate entry.
From-SVN: r203811
2013-10-18 08:51:35 +02:00
Ian Lance Taylor
6c084a5b37 elf.c (elf_add): Don't get the wrong offsets if a debug section is missing.
* elf.c (elf_add): Don't get the wrong offsets if a debug section
	is missing.

From-SVN: r203810
2013-10-18 04:24:48 +00:00
Hans-Peter Nilsson
5628781003 gen-vect-11.c: Use dynamic vector cost model.
* gcc.dg/tree-ssa/gen-vect-11.c: Use dynamic vector cost model.
        gcc.dg/tree-ssa/gen-vect-11a.c: Likewise.
        gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
        gcc.dg/tree-ssa/gen-vect-25.c: Likewise.

From-SVN: r203809
2013-10-18 03:32:38 +00:00
Sriraman Tallam
70e8b89b82 opth-gen.awk: Define target_flags_explicit.
* opth-gen.awk: Define target_flags_explicit.

From-SVN: r203808
2013-10-18 02:47:12 +00:00
GCC Administrator
11d35a1527 Daily bump.
From-SVN: r203807
2013-10-18 00:16:56 +00:00
Michael Meissner
bbeb455335 p8vector-fp.c: New test for floating point scalar operations when...
2013-10-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/p8vector-fp.c: New test for floating point
	scalar operations when using -mupper-regs-sf and -mupper-regs-df.
	* gcc.target/powerpc/ppc-target-1.c: Update tests to allow either
	VSX scalar operations or the traditional floating point form of
	the instruction.
	* gcc.target/powerpc/ppc-target-2.c: Likewise.
	* gcc.target/powerpc/recip-3.c: Likewise.
	* gcc.target/powerpc/recip-5.c: Likewise.
	* gcc.target/powerpc/pr72747.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-3.c: Likewise.

From-SVN: r203800
2013-10-17 21:20:46 +00:00
Charles Baylis
92fd70fbd1 builtin-apply2.c: Skip test on arm hardfloat ABI targets.
2013-10-17  Charles Bayis  <charles.baylis@linaro.org>

	* gcc.dg/builtin-apply2.c: Skip test on arm hardfloat ABI targets.
	* gcc.dg/tls/pr42894.c: Remove dg-options for arm*-*-* targets.
	* gcc.target/arm/thumb-ltu.c: Remove dg-skip-if and require
	effective target arm_thumb1_ok.
	* lib/target-supports.exp
	(check_effective_target_arm_fp16_ok_nocache): Don't force
	-mfloat-abi=soft when building for hardfloat target.

From-SVN: r203799
2013-10-17 22:57:21 +02:00
Tim Shen
ab1c993b94 regex.h (regex_token_iterator<>::regex_token_iterator): Fix initialization orders in initialization list and add explicit braces for...
2013-10-17  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
	Fix initialization orders in initialization list and add explicit braces
	for potentially ambiguous(actually not) `else` branch to eliminate
	warnings.
	* include/bits/regex_automaton.h (_NFA<>::_NFA): Likewise.
	* include/bits/regex_compiler.h (_CharMatcher<>::_CharMatcher,
	_BracketMatcher<>::_BracketMatcher): Likewise.
	* include/bits/regex_compiler.tcc (_Compiler<>::_Compiler,
	_Compiler<>::_M_atom): Likewise.
	* include/bits/regex_executor.h (_Executor<>::_Executor): Likewise.
	* include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs,
	_Executor<>::_M_word_boundry): Likewise.
	* include/bits/regex_scanner.tcc (_Scanner<>::_Scanner,
	_Scanner<>::_M_eat_class): Likewise.
	* include/bits/regex.tcc (__regex_algo_impl<>,
	regex_iterator<>::operator++): Likewise, and remove unused typedef.

From-SVN: r203798
2013-10-17 20:46:50 +00:00
Michael Meissner
358e1993d0 Fix typo in ChangeLog
From-SVN: r203797
2013-10-17 20:30:34 +00:00
Ian Lance Taylor
18acfbe18f compiler: Rework handling of imported anonymous builtin types again.
From-SVN: r203795
2013-10-17 20:08:42 +00:00
Michael Meissner
3170766c28 rs6000.c (enum rs6000_reload_reg_type): Add new fields to the reg_addr array that describes the valid addressing mode...
2013-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (enum rs6000_reload_reg_type): Add new
	fields to the reg_addr array that describes the valid addressing
	mode for any register, general purpose registers, floating point
	registers, and Altivec registers.
	(FIRST_RELOAD_REG_CLASS): Likewise.
	(LAST_RELOAD_REG_CLASS): Likewise.
	(struct reload_reg_map_type): Likewise.
	(reload_reg_map_type): Likewise.
	(RELOAD_REG_VALID): Likewise.
	(RELOAD_REG_MULTIPLE): Likewise.
	(RELOAD_REG_INDEXED): Likewise.
	(RELOAD_REG_OFFSET): Likewise.
	(RELOAD_REG_PRE_INCDEC): Likewise.
	(RELOAD_REG_PRE_MODIFY): Likewise.
	(reg_addr): Likewise.
	(mode_supports_pre_incdec_p): New helper functions to say whether
	a given mode supports PRE_INC, PRE_DEC, and PRE_MODIFY.
	(mode_supports_pre_modify_p): Likewise.
	(rs6000_debug_vector_unit): Rearrange the -mdebug=reg output to
	print the valid address mode bits for each mode.
	(rs6000_debug_print_mode): Likewise.
	(rs6000_debug_reg_global): Likewise.
	(rs6000_setup_reg_addr_masks): New function to set up the address
	mask bits for each type.
	(rs6000_init_hard_regno_mode_ok): Use memset to clear arrays.
	Call rs6000_setup_reg_addr_masks to set up the address mask bits.
	(rs6000_legitimate_address_p): Use mode_supports_pre_incdec_p and
	mode_supports_pre_modify_p to determine if PRE_INC, PRE_DEC, and
	PRE_MODIFY are supported.
	(rs6000_output_move_128bit): Change to use {src,dest}_vmx_p for altivec
	registers, instead of {src,dest}_av_p.
	(rs6000_print_options_internal): Tweak the debug output slightly.

From-SVN: r203791
2013-10-17 19:12:57 +00:00
Michael Meissner
5845f602f0 rs6000.c (enum rs6000_reload_reg_type): Add new fields to the reg_addr array that describes the valid addressing mode...
2013-10-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (enum rs6000_reload_reg_type): Add new
	fields to the reg_addr array that describes the valid addressing
	mode for any register, general purpose registers, floating point
	registers, and Altivec registers.
	(FIRST_RELOAD_REG_CLASS): Likewise.
	(LAST_RELOAD_REG_CLASS): Likewise.
	(struct reload_reg_map_type): Likewise.
	(reload_reg_map_type): Likewise.
	(RELOAD_REG_VALID): Likewise.
	(RELOAD_REG_MULTIPLE): Likewise.
	(RELOAD_REG_INDEXED): Likewise.
	(RELOAD_REG_OFFSET): Likewise.
	(RELOAD_REG_PRE_INCDEC): Likewise.
	(RELOAD_REG_PRE_MODIFY): Likewise.
	(reg_addr): Likewise.
	(mode_supports_pre_incdec_p): New helper functions to say whether
	a given mode supports PRE_INC, PRE_DEC, and PRE_MODIFY.
	(mode_supports_pre_modify_p): Likewise.
	(rs6000_debug_vector_unit): Rearrange the -mdebug=reg output to
	print the valid address mode bits for each mode.
	(rs6000_debug_print_mode): Likewise.
	(rs6000_debug_reg_global): Likewise.
	(rs6000_setup_reg_addr_masks): New function to set up the address
	mask bits for each type.
	(rs6000_init_hard_regno_mode_ok): Use memset to clear arrays.
	Call rs6000_setup_reg_addr_masks to set up the address mask bits.
	(rs6000_legitimate_address_p): Use mode_supports_pre_incdec_p and
	mode_supports_pre_modify_p to determine if PRE_INC, PRE_DEC, and
	PRE_MODIFY are supported.
	(rs6000_print_options_internal): Tweak the debug output slightly.

From-SVN: r203790
2013-10-17 19:04:37 +00:00
Ian Lance Taylor
d5b18b0b13 syscall: Add Dup3, {Get,List,Remove,Set}xattr, {Get,Set}priority.
From-SVN: r203788
2013-10-17 18:41:12 +00:00
Uros Bizjak
82e3389090 sse.md (*vec_widen_smult_even_v8si): Remove isa attribute.
* config/i386/sse.md (*vec_widen_smult_even_v8si): Remove
	isa attribute.

From-SVN: r203787
2013-10-17 19:44:11 +02:00
Andrew MacLeod
0645c1a22d tree-flow.h (struct omp_region): Move to omp-low.c.
* tree-flow.h (struct omp_region): Move to omp-low.c.
	Remove omp_ prototypes and variables.
	* gimple.h (omp_reduction_init): Move prototype to omp-low.h.
	(copy_var_decl): Relocate prototype from tree-flow.h.
	* gimple.c (copy_var_decl): Relocate from omp-low.c.
	* tree.h: Move prototype to omp-low.h.
	* omp-low.h: New File.  Relocate prototypes here.
	* omp-low.c (struct omp_region): Make local here.
	(root_omp_region): Make static.
	(copy_var_decl) Move to gimple.c.
	(new_omp_region): Make static.
	(make_gimple_omp_edges): New.  Refactored from tree-cfg.c make_edges.
	* tree-cfg.c: Include omp-low.h.
	(make_edges): Factor out OMP specific bits to make_gimple_omp_edges.
	* gimplify.c: Include omp-low.h.
	* tree-parloops.c: Likewise.

	c
	* c-parser.c: Include omp-low.h.
	* c-typeck.c: Likewise.

	cp
	* parser.c: Include omp-low.h.
	* semantics.c: Likewise.

	fortran
	* trans-openmp.c: Include omp-low.h.

From-SVN: r203786
2013-10-17 17:41:07 +00:00
Uros Bizjak
6f1abb5507 i386.c (ix86_fixup_binary_operands): When both source operands are in memory...
* config/i386/i386.c (ix86_fixup_binary_operands): When both source
	operands are in memory, prefer to force non-matched operand 1 to
	the register.

From-SVN: r203785
2013-10-17 19:30:31 +02:00
Bernd Edlinger
5ce6ee81f9 re PR libmudflap/58230 (multiple test fail in german language version)
2013-10-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR libmudflap/58230
        * testsuite/lib/mfdg.exp: Use C locale.

From-SVN: r203783
2013-10-17 17:11:52 +00:00
Michael Meissner
74fee7e9db re PR target/58673 (ICE in final_scan_insn for movti_ppc64 with base+offset address)
[gcc]
2013-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/58673
	* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Only
	restrict TImode addresses to single indirect registers if both
	-mquad-memory and -mvsx-timode are used.
	(rs6000_output_move_128bit): Use quad_load_store_p to determine if
	we should emit load/store quad.  Remove using %y for quad memory
	addresses.

	* config/rs6000/rs6000.md (mov<mode>_ppc64, TI/PTImode): Add
	constraints to allow load/store quad on machines where TImode is
	not allowed in VSX registers.  Use 'n' instead of 'F' constraint
	for TImode to load integer constants.

[gcc/testsuite]
2013-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/58673
	* gcc.target/powerpc/pr58673-1.c: New file to test whether
	-mquad-word + -mno-vsx-timode causes errors.
	* gcc.target/powerpc/pr58673-2.c: Likewise.

From-SVN: r203782
2013-10-17 17:07:49 +00:00
Michael Meissner
1ddbbbc0a8 re PR target/58673 (ICE in final_scan_insn for movti_ppc64 with base+offset address)
[gcc]
2013-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/58673
	* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Only
	restrict TImode addresses to single indirect registers if both
	-mquad-memory and -mvsx-timode are used.
	(rs6000_output_move_128bit): Use quad_load_store_p to determine if
	we should emit load/store quad.  Remove using %y for quad memory
	addresses.

	* config/rs6000/rs6000.md (mov<mode>_ppc64, TI/PTImode): Add
	constraints to allow load/store quad on machines where TImode is
	not allowed in VSX registers.  Use 'n' instead of 'F' constraint
	for TImode to load integer constants.

[gcc/testsuite]
2013-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/58673
	* gcc.target/powerpc/pr58673-1.c: New file to test whether
	-mquad-word + -mno-vsx-timode causes errors.
	* gcc.target/powerpc/pr58673-2.c: Likewise.

From-SVN: r203781
2013-10-17 17:06:24 +00:00
Paolo Carlini
206b48e4e7 re PR c++/58596 ([c++11] ICE with decltype in non-static data member initializer)
/cp
2013-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58596
	* lambda.c (lambda_expr_this_capture): Handle NSDMIs in the
	cp_unevaluated_operand case.

/testsuite
2013-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58596
	* g++.dg/cpp0x/lambda/lambda-nsdmi5.C: New

From-SVN: r203780
2013-10-17 16:58:45 +00:00
Kyrylo Tkachov
f541a48127 aarch64.c (aarch64_print_operand): Handle 'c'.
[gcc/]
2013-10-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/aarch64.c (aarch64_print_operand): Handle 'c'.

[gcc/testsuite/]
2013-10-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* gcc.target/aarch64/c-output-template.c: New testcase.
	* gcc.target/aarch64/c-output-template-2.c: Likewise.
	* gcc.target/aarch64/c-output-template-3.c: Likewise.

From-SVN: r203779
2013-10-17 16:49:49 +00:00
Marcus Shawcroft
51bb310d15 [AArch64] Fix preferred_reload_class for regclass STACK_REG.
From-SVN: r203778
2013-10-17 16:31:47 +00:00
Michael Hudson-Doyle
a115cf9c95 [AArch64] Enable building libatomic on AArch64.
From-SVN: r203774
2013-10-17 15:49:27 +00:00
Michael Hudson-Doyle
fbb1d5dc51 [AArch64] Enable effective_target_sync_long_long*
From-SVN: r203773
2013-10-17 15:46:39 +00:00
Ian Lance Taylor
e952450aab compiler: Don't warn for unknown type when importing anonymous field.
From-SVN: r203772
2013-10-17 15:44:04 +00:00
Arnaud Charlet
2ed3eba129 [multiple changes]
2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Dependency_Clause):
	Recognize the scenario where successful clause matching has
	depleted the available refinement items and the clause to match
	technically refines to null => null.

2013-10-17  Tristan Gingold  <gingold@adacore.com>

	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Specify
	External_Name instead of Link_Name for the RTTI declaration.

From-SVN: r203769
2013-10-17 16:09:14 +02:00
Arnaud Charlet
a7d08a3844 [multiple changes]
2013-10-17  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Resolve_Short_Circuit): Only
	generate expression-with-action when full expansion is set.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* debug.adb Remove obsolete comment.

2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Process_Transient_Object.Find_Enclosing_Contexts):
	Avoid late insertion when expanding an expression with action
	nested within a transient block; Do not inconditionally generate
	a finalization call if the generated object is from a specific
	branch of a conditional expression.

2013-10-17  Pascal Obry  <obry@adacore.com>

	* g-arrspl.adb: Ensure Finalize call is idempotent.
	* g-arrspl.adb (Finalize): Makes the call idempotent.

From-SVN: r203768
2013-10-17 16:07:57 +02:00
Arnaud Charlet
a9895094b3 [multiple changes]
2013-10-17  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Record_Possible_Body_Reference): Fix test for
	being in body.
	(Add_Constituent): Merged into Check_Refined_Global_Item.
	(Check_Matching_Constituent): A constituent that has the proper Part_Of
	option and comes from a private child or a sibling is now collected.
	(Check_Matching_Modes): Merged into Check_Refined_Global_Item.
	(Check_Refined_Global_Item): Code cleanup.
	(Collect_Constituent): New routine.
	(Inconsistent_Mode_Error): Moved out from Check_Matching_Modes.

2013-10-17  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Check_Current_Instance, Process): Add RM reference
	and mention immutably limited types, when the current instance
	is illegal in Ada 2012.

2013-10-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb (Check_Unused_Withs): If the main unit is a
	subunit, apply the check to the units mentioned in its context
	only. This provides additional warnings on with_clauses that
	are superfluous.

2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): Emit an
	error message concerning state refinement when the spec defines at
	least one non-null abstract state and the body's SPARK mode is On.
	(Requires_State_Refinement): New routine.

2013-10-17  Robert Dewar  <dewar@adacore.com>

	* sem_ch7.ads: Comment fixes.

2013-10-17  Robert Dewar  <dewar@adacore.com>

	* sem_ch7.adb (Analyze_Package_Specification): Remove circuit
	for ensuring that a package spec requires a body for some other
	reason than that it contains the declaration of an abstract state.

2013-10-17  Tristan Gingold  <gingold@adacore.com>

	* exp_ch11.adb (Expand_N_Raise_Expression): Fix call of
	Possible_Local_Raise.

2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Unchecked
	conversion of Or_Rhs to Etype of New_Rhs is required only when
	the latter is the result of a byte swap operation.

2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb (Build_To_Any_Function): For a type with opaque
	representation that is not transmitted as an unconstrained value,
	use 'Write, not 'Output, to generate the opaque representation.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Resolve_Short_Circuit): Only
	generate expression-with-action when full expansion is set.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* debug.adb Remove obsolete comment.

2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Process_Transient_Object.Find_Enclosing_Contexts):
	Avoid late insertion when expanding an expression with action
	nested within a transient block; Do not inconditionally generate
	a finalization call if the generated object is from a specific
	branch of a conditional expression.

2013-10-17  Pascal Obry  <obry@adacore.com>

	* g-arrspl.adb: Ensure Finalize call is idempotent.
	* g-arrspl.adb (Finalize): Makes the call idempotent.

From-SVN: r203767
2013-10-17 16:06:56 +02:00
Arnaud Charlet
72d1b27a2a [multiple changes]
2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Is_Matching_Input): Account
	for the case where a state with a null refinement appears as
	the last input of a refinement clause.

2013-10-17  Robert Dewar  <dewar@adacore.com>

	* sem_aux.ads, sem_aux.adb: Minor reformatting.

From-SVN: r203766
2013-10-17 16:02:49 +02:00
Hristian Kirtchev
8b58a06044 aspects.adb, [...]: Remove all entries for Refined_Pre from the various tables.
2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb, aspects.ads, sem_prag.ads: Remove all entries
	for Refined_Pre from the various tables.
	* par-prag.adb: Remove the entry for Refined_Pre from the list
	of pragmas not needing special processing by the parser.
	* sem_ch13.adb (Analyze_Aspect_Specifications):
	Remove the processing for aspect Refined_Pre.
	(Check_Aspect_At_Freeze_Point): Remove the entry for aspect
	Refined_Pre.
	* sem_prag.adb (Analyze_Pragma): Refined_Pre is no longer a
	valid assertion kind. Remove the analysis of pragma Refined_Pre.
	(Analyze_Refined_Pragma): Update the comment on usage.
	(Find_Related_Subprogram_Or_Body): Update the comment on
	usage. Pragma Refined_Pre is no longer processed by this routine.
	(Is_Valid_Assertion_Kind): Refined_Pre is no longer a valid
	assertion kind.
	* snames.ads-tmpl: Remove predefined name Refined_Pre. Remove
	the pragma id for Refined_Pre.

From-SVN: r203765
2013-10-17 16:01:39 +02:00
Hristian Kirtchev
275d8313ba exp_util.adb, [...] (Entity_Of): Moved to Sem_Util.
2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb, exp_util.ads (Entity_Of): Moved to Sem_Util.
	* sem_prag.adb (Analyze_Global_In_Decl_List): Mark a null
	item list as being analyzed.
	(Analyze_Global_List): Mark a
	null global list and multiple global items as being analyzed.
	(Analyze_Input_Item): Check the unit that defines the input
	variable or state, not the reference to it.
	* sem_util.ads, sem_util.adb (Entity_Of): Moved from Exp_Util. Ensure
	that the input has an entity.

From-SVN: r203764
2013-10-17 16:00:46 +02:00
Thomas Quinot
064f4527c4 exp_util.adb (Get_Current_Value_Condition, [...]): Handle the case of expressions with actions * exp_util.adb (Insert_Actions):...
2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_util.adb (Get_Current_Value_Condition,
	Set_Current_Value_Condition): Handle the case of expressions
	with actions * exp_util.adb (Insert_Actions): Handle the case
	of an expression with actions whose Actions list is empty.
	* exp_util.adb (Remove_Side_Effects.Side_Effect_Free): An
	expression with actions that has no Actions and whose Expression
	is side effect free is itself side effect free.
	* exp_util.adb (Remove_Side_Effects): Do not set an incorrect etype on
	temporary 'R' (Def_Id), which is in general an access to Exp_Type, not
	an Exp_Type.
	* sem_res.adb (Resolve): For an expression with
	actions, resolve the expression early.	* sem_res.adb
	(Resolve_Expression_With_Actions): Rewrite an expression with
	actions whose value is compile time known and which has no
	actions into just its expression, so that its constant value is
	available downstream.
	* sem_res.adb (Resolve_Short_Circuit):
	Wrap the left operand in an expression with actions to contain
	any required finalization actions.
	* exp_ch4.adb (Expand_Expression_With_Actions): For an
	expression with actions returning a Boolean expression, ensure
	any finalization action is kept within the Actions list.
	* sem_warn.adb (Check_References, Check_Unset_Reference): add
	missing circuitry to handle expressions with actions.
	* checks.adb (Ensure_Valid): For an expression with actions,
	insert the validity check on the Expression.
	* sem_ch13.adb (Build_Static_Predicate.Get_RList): An expression
	with actions that has a non-empty Actions list is not static. An
	expression with actions that has an empty Actions list has the
	static ranges of its Expression.
	* sem_util.adb (Has_No_Obvious_Side_Effects): An expression with
	actions with an empty Actions list has no obvious side effects
	if its Expression itsekf has no obvious side effects.

From-SVN: r203763
2013-10-17 15:58:39 +02:00
Ed Schonberg
51245e2db0 sem_aux.ads, [...] (Is_Immutably_Limited_Type): Make predicate compatible with Ada 2012 definition
2013-10-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_aux.ads, sem_aux.adb (Is_Immutably_Limited_Type): Make
	predicate compatible with Ada 2012 definition
	(Is_Limited_View): New name for previous version of
	Is_Immutably_Limited_Type.  Predicate is true for an untagged
	record type with a limited component.
	* exp_ch7.adb, exp_ch6.adb, exp_ch4.adb, exp_ch3.adb, exp_aggr.adb,
	sem_util.adb, sem_res.adb, sem_prag.adb, sem_attr.adb, sem_ch8.adb,
	sem_ch6.adb, sem_ch3.adb, exp_util.adb: Use Is_Limited_View
	* freeze.adb Use Is_Immutably_Limited_Type to check the legality
	of references to the current instance, Is_Limited_View otherwise.

From-SVN: r203762
2013-10-17 15:54:29 +02:00
Hristian Kirtchev
9072f0698d sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect Refined_Pre as not supported.
2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect
	Refined_Pre as not supported.
	* sem_prag.adb (Analyze_Pragma): Ignore pragma Refined_Pre.

From-SVN: r203761
2013-10-17 15:52:37 +02:00
Arnaud Charlet
7c821effc4 [multiple changes]
2013-10-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Validated_Access_Subprogram_Instance): According
	to AI05-288, actuals for access_to_subprograms must be subtype
	conformant with the generic formal.  Previous to AI05-288
	only mode conformance was required, but the AI is a binding
	interpretation that applies to previous versions of the language,

2013-10-17  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Minor text correction.
	* ug_words: Add entry for -gnateu /IGNORE_UNRECOGNIZED.
	* vms_data.ads: Add /IGNORE_UNRECOGNIZED for -gnateu.

2013-10-17  Tristan Gingold  <gingold@adacore.com>

	* impunit.adb (Non_Imp_File_Names_95): Add g-cppexc.

2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Constituent): Move the check
	concerning option Part_Of to routine Check_Matching_Constituent.
	(Check_Matching_Constituent): Verify that an abstract state
	that acts as a constituent has the prope Part_Op option in
	its aspect/pragma Abstract_State.  Account for the case when a
	constituent comes from a private child or private sibling.
	* sem_util.ads, sem_util.adb (Is_Child_Or_Sibling): New routine.

From-SVN: r203760
2013-10-17 15:50:34 +02:00
Tristan Gingold
c2cd3032e6 g-cppexc.adb, [...]: New files.
2013-10-17  Tristan Gingold  <gingold@adacore.com>

	* g-cppexc.adb, g-cppexc.ads: New files.
	* gcc-interface/Makefile.in: Add g-cppexc when building zcx runtimes.

From-SVN: r203757
2013-10-17 15:47:37 +02:00
Christian Bruel
ee6decab8f fix typo comment
From-SVN: r203756
2013-10-17 15:46:48 +02:00
Arnaud Charlet
7b56a91b90 [multiple changes]
2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_ch7.adb: Minor reformatting.

2013-10-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_dim.adb (Process_Minus, Process_Divide): Label dimension
	expression with standard operator and type, for pretty-printing
	use.

2013-10-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Document --pp-new and --pp-old switches.

2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Flag 159 is now known as From_Limited_With. Replace
	all references to attribute From_With_Type with From_Limited_With.
	(From_With_Type): Renamed to From_Limited_With.
	(Set_From_With_Type): Renamd to Set_From_Limited_With.
	* einfo.ads: Remove attribute From_With_Type and occurrences in
	nodes.	Add attribute From_Limited_With along with occurrences
	in nodes.
	(From_With_Type): Renamed to From_Limited_With along with pragma Inline.
	(Set_From_With_Type): Renamed to
	Set_From_Limited_With along with pragma Inline.
	* sem_ch7.adb, sem_ch8.adb, sem_ch12.adb, sem_ch13.adb, sem_disp.adb,
	sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb,
	exp_attr.adb, exp_disp.adb, freeze.adb, itypes.adb, layout.adb,
	lib-writ.adb, rtsfind.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb,
	sem_ch4.adb: Replace all references to attribute From_With_Type
	with From_Limited_With.
	* sem_ch6.adb: Replace all references to attribute From_With_Type
	with From_Limited_With.
	(Designates_From_With_Type): Renamed to Designates_From_Limited_With.
	(Process_Formals): Update the call to Designates_From_With_Type.
	* sem_ch10.adb: Replace all references to attribute From_With_Type
	with From_Limited_With.
	(Build_Limited_Views): Reimplemented.
	* gcc-interface/decl.c Replace all references to attribute
	From_With_Type with From_Limited_With.
	(finalize_from_with_types): Renamed to finalize_from_limited_with.
	* gcc-interface/gigi.h (finalize_from_with_types): Renamed to
	finalize_from_limited_with.
	* gcc-interface/trans.c: Replace all references to attribute
	From_With_Type with From_Limited_With.
	(Compilation_Unit_to_gnu): Update the call to finalize_from_with_types.

2013-10-17  Pascal Obry  <obry@adacore.com>

	* projects.texi: Update VCS_Kind documentation.

2013-10-17  Matthew Heaney  <heaney@adacore.com>

	* a-convec.adb, a-coinve.adb, a-cobove.adb (Insert, Insert_Space):
	Inspect value range before converting type.

2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Flag the use of pragma Refined_Pre as
	illegal.

From-SVN: r203755
2013-10-17 15:46:14 +02:00
Arnaud Charlet
8a7c040046 [multiple changes]
2013-10-17  Vincent Celier  <celier@adacore.com>

	* gnat_ugn.texi: Remove VMS conversion of -gnatet and -gnateT,
	now that they are both in ug_words.
	* ug_words: Update qualifier for -gnatet Add qualifier for -gnateT
	* vms_data.ads: Update qualifier for -gnatet Add qualifier
	for -gnateT
	* projects.texi: Continue to update the project documentation
	for VMS.

2013-10-17  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (Has_Body_References): New flag.
	(Body_References): New field.
	* sem_prag.adb (Record_Possible_Body_Reference): New procedure
	(Analyze_Input_Output): Call Record_Possible_Body_Reference
	(Analyze_Global_Item): Call Record_Possible_Body_Reference
	(Analyze_Refinement_Clause): Output messages if illegal global refs.

2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb (Check_Component_Storage_Order): Reject a record or
	array type that does not have an explicit Scalar_Storage_Order
	attribute definition if a component of the record, or the
	elements of the array, have one.
	* gnat_rm.texi (attribute Scalar_Storage_Order): Document the above
	rule.

From-SVN: r203750
2013-10-17 12:42:38 +02:00
Arnaud Charlet
455f333611 [multiple changes]
2013-10-17  Vincent Celier  <celier@adacore.com>

	* gnat_ugn.texi: Add examples of switches -gnateD, including
	one where the value is a string.
	* projects.texi: Do not convert switches in project files to
	VMS qualifiers.

2013-10-17  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Report_Extra_Clauses): Don't complain about
	refinements with null input since null should be considered to
	always match.

From-SVN: r203749
2013-10-17 12:37:17 +02:00
Robert Dewar
9877936160 gnat_ugn.texi: Document -gnatw.y/-gnatw.Y.
2013-10-17  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document -gnatw.y/-gnatw.Y.
	* opt.ads (List_Body_Required_Info): New flag.
	* prep.adb: Minor reformatting.
	* sem_ch7.adb (Unit_Requires_Body_Info): New
	procedure (Analyze_Package_Specification): Add call to
	Unit_Requires_Body_Info.
	* ug_words: Add entries for -gnatw.y and -gnatw.Y.
	* usage.adb: Add line for new warning switch -gnatw.y/.Y.
	* vms_data.ads: Add entry for [NO_]WHY_SPEC_NEEDS_BODY warning
	qualifier.
	* warnsw.ads, warnsw.adb: Implement new warning switch -gnatw.y/.Y.

From-SVN: r203748
2013-10-17 12:36:08 +02:00
Arnaud Charlet
5114f3ff9a [multiple changes]
2013-10-17  Yannick Moy  <moy@adacore.com>

	* sem_ch8.adb (Find_Direct_Name): Keep track of assignments for
	renamings in SPARK mode.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* exp_spark.adb (Expand_SPARK): Remove special case for NOT IN
	operation.
	* sinfo.ads: Add special comment section to describe SPARK mode
	effect on tree.
	* exp_spark.ads: Remove comments, moved to sinfo.ads.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* exp_ch3.adb (Expand_Freeze_Class_Wide_Type,
	Expand_Freeze_Class_Wide_Type, Expand_Freeze_Class_Wide_Type):
	Remove useless special cases.
	* exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Allocator,
	Expand_N_Op_Expon): Remove useless special cases.
	* exp_ch6.adb (Is_Build_In_Place_Function_Call): Disable build-in-place
	in SPARK mode by testing Full_Expander_Active instead of
	Expander_Active.
	(Make_Build_In_Place_Call_In_Allocator): Remove useless special case.
	* exp_util.adb (Build_Allocate_Deallocate_Proc): Remove
	useless special case.
	* sem_eval.adb (Compile_Time_Known_Value): Remove special handling of
	deferred constant.

2013-10-17  Yannick Moy  <moy@adacore.com>

	* gnat_ugn.texi: Document -gnateT and target file format.

2013-10-17  Vincent Celier  <celier@adacore.com>

	* prep.adb (Check_Command_Line_Symbol_Definition): Is_A_String is
	always False, even when the value starts and ends with double quotes.

From-SVN: r203747
2013-10-17 12:32:09 +02:00
Arnaud Charlet
13b2f7fd63 [multiple changes]
2013-10-17  Tristan Gingold  <gingold@adacore.com>

	* a-exexpr-gcc.adb: Synchronize declarations of other/all others.

2013-10-17  Thomas Quinot  <quinot@adacore.com>

	* exp_pakd.adb: Add missing guard protecting Reverse_Storage_Order
	call.
	* sem_res.adb: Minor code cleanup: use named parameter association
	(not positional) for Boolean parameter Sec_Stack in calls to
	Establish_Transient_Scope.

From-SVN: r203746
2013-10-17 12:28:53 +02:00
Richard Biener
f4bed77be4 re PR tree-optimization/58143 (wrong code at -O3)
2013-10-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58143
	* tree-ssa-loop-im.c (arith_code_with_undefined_signed_overflow):
	New function.
	(rewrite_to_defined_overflow): Likewise.
	(move_computations_dom_walker::before_dom): Rewrite stmts
	with undefined signed overflow that are not always executed
	into unsigned arithmetic.

	* gcc.dg/torture/pr58143-1.c: New testcase.
	* gcc.dg/torture/pr58143-2.c: Likewise.
	* gcc.dg/torture/pr58143-3.c: Likewise.

From-SVN: r203745
2013-10-17 09:59:47 +00:00
Marek Polacek
568a31f2f6 re PR c/58267 (Alignment specifier allowed within array declarator;)
PR c/58267
c/
	* c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
	Document syntax of the array-declarator.
	(c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
	are not permitted.
	(c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
	(c_parser_struct_declaration): Likewise.
	(c_parser_declarator): Likewise.
	(c_parser_direct_declarator_inner): Likewise.
	(c_parser_parameter_declaration): Likewise.
	(c_parser_type_name): Likewise.
testsuite/
	* gcc.dg/c1x-align-5.c: New test.

From-SVN: r203742
2013-10-17 08:14:23 +00:00