platform/upstream/linaro-gcc.git
10 years agoCorrect usage of dg-require-fork in gcc.dg/torture/ftrapv-1.c
ktkachov [Tue, 5 Aug 2014 09:54:14 +0000 (09:54 +0000)]
Correct usage of dg-require-fork in gcc.dg/torture/ftrapv-1.c

* gcc.dg/torture/ftrapv-1.c: Correct usage of dg-require-fork.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213629 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[convert.c] PR 61876: Guard transformation to lrint by -fno-math-errno.
ktkachov [Tue, 5 Aug 2014 09:52:21 +0000 (09:52 +0000)]
[convert.c] PR 61876: Guard transformation to lrint by -fno-math-errno.

* convert.c (convert_to_integer): Guard transformation to lrint by
-fno-math-errno.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213628 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[AArch64] Some aarch64-builtins.c cleanup.
jgreenhalgh [Tue, 5 Aug 2014 09:49:05 +0000 (09:49 +0000)]
[AArch64] Some aarch64-builtins.c cleanup.

gcc/

* config/aarch64/aarch64-builtins.c
(aarch64_simd_builtin_type_mode): Delete.
(v8qi_UP): Remap to V8QImode.
(v4hi_UP): Remap to V4HImode.
(v2si_UP): Remap to V2SImode.
(v2sf_UP): Remap to V2SFmode.
(v1df_UP): Remap to V1DFmode.
(di_UP): Remap to DImode.
(df_UP): Remap to DFmode.
(v16qi_UP):V16QImode.
(v8hi_UP): Remap to V8HImode.
(v4si_UP): Remap to V4SImode.
(v4sf_UP): Remap to V4SFmode.
(v2di_UP): Remap to V2DImode.
(v2df_UP): Remap to V2DFmode.
(ti_UP): Remap to TImode.
(ei_UP): Remap to EImode.
(oi_UP): Remap to OImode.
(ci_UP): Map to CImode.
(xi_UP): Remap to XImode.
(si_UP): Remap to SImode.
(sf_UP): Remap to SFmode.
(hi_UP): Remap to HImode.
(qi_UP): Remap to QImode.
(aarch64_simd_builtin_datum): Make mode a machine_mode.
(VAR1): Build builtin name.
(aarch64_init_simd_builtins): Remove dead code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213627 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[gcc/]
romangareev [Tue, 5 Aug 2014 08:42:09 +0000 (08:42 +0000)]
[gcc/]

* graphite-isl-ast-to-gimple.c:
(set_options): New function.
(scop_to_isl_ast): Add calling of set_options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213623 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
jakub [Tue, 5 Aug 2014 08:09:00 +0000 (08:09 +0000)]
* loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
(analyze_iv_to_split_insn): Don't initialize them.
(get_ivts_expr): Removed.
(allocate_basic_variable, insert_base_initialization): Use
SET_SRC instead of *get_ivts_expr.
(split_iv): Use &SET_SRC instead of get_ivts_expr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213621 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[gcc/]
romangareev [Tue, 5 Aug 2014 03:41:29 +0000 (03:41 +0000)]
[gcc/]

* graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info.
(translate_isl_ast_for_loop): Add checking of the
flag_loop_parallelize_all.
(ast_build_before_for): New function.
(scop_to_isl_ast): Add checking of the
flag_loop_parallelize_all.
* graphite-dependences.c: Move the defenition of the
scop_get_dependences from graphite-optimize-isl.c to this file.
(apply_schedule_on_deps): Add checking of the ux's emptiness.
(carries_deps): Add checking of the x's value.
* graphite-optimize-isl.c: Move the defenition of the
scop_get_dependences to graphite-dependences.c.
* graphite-poly.h: Add declarations of scop_get_dependences
and carries_deps.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213619 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR go/61308
ian [Tue, 5 Aug 2014 03:11:17 +0000 (03:11 +0000)]
PR go/61308

compiler: Handle enclosing vars for function type in function lit.

This fixes a dumb bug in which the enclosing vars were
incorrectly cleared when a function literal contains a
reference to a function type.  The test for this will go into
the master repository in the change at
http://codereview.appspot.com/121200043 .

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213618 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR go/61308
ian [Tue, 5 Aug 2014 02:58:15 +0000 (02:58 +0000)]
PR go/61308
PR go/61866

compiler: Don't cast index expr to int before bounds check.

This fixes http://gcc.gnu.org/PR61866 : on a 32-bit system,
casting an int64 index to int drops the upper 32 bits of the
value, and thus can cause an out-of-range index to appear to
be in range.

This undoes part of change 1318:fa6e0c716dba
(https://codereview.appspot.com/104610044) and therefore
breaks http://gcc.gnu.org/PR61308 again.  I have a separate
patch for that (http://codereview.appspot.com/122020043).  In
addition to undoing part of that change, this patch adds code
to avoid a compiler crash.  This changes PR61308 from a
compiler crash to an incorrect error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213616 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Tue, 5 Aug 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213615 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoruntime: Add casts to mincore call to compile on Solaris.
ian [Mon, 4 Aug 2014 17:54:09 +0000 (17:54 +0000)]
runtime: Add casts to mincore call to compile on Solaris.

Based on patch from Rainer Orth.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213599 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[gcc/testsuite]
edmarwjr [Mon, 4 Aug 2014 16:55:07 +0000 (16:55 +0000)]
[gcc/testsuite]
2014-08-04  Rohit  <rohitarulraj@freescale.com>

PR target/60102
* gcc.target/powerpc/pr60102.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213598 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/60102
edmarwjr [Mon, 4 Aug 2014 16:34:34 +0000 (16:34 +0000)]
PR target/60102

[libgcc]
2014-07-31  Rohit  <rohitarulraj@freescale.com>
* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Update
  based on change in SPE high register numbers and 3 HTM registers.

[gcc]
2014-07-31  Rohit  <rohitarulraj@freescale.com>
* config/rs6000/rs6000.c
  (rs6000_reg_names) : Add SPE high register names.
  (alt_reg_names) : Likewise.
  (rs6000_dwarf_register_span) : For SPE high registers, replace
  dwarf register numbers with GCC hard register numbers.
  (rs6000_init_dwarf_reg_sizes_extra) : Likewise.
  (rs6000_dbx_register_number): For SPE high registers, return dwarf
  register number for the corresponding GCC hard register number.

* config/rs6000/rs6000.h
  (FIRST_PSEUDO_REGISTER) : Update based on 32 newly added GCC hard
  register numbers for SPE high registers.
  (DWARF_FRAME_REGISTERS) :  Likewise.
  (DWARF_REG_TO_UNWIND_COLUMN) : Likewise.
  (DWARF_FRAME_REGNUM) : Likewise.
  (FIXED_REGISTERS) : Likewise.
  (CALL_USED_REGISTERS) : Likewise.
  (CALL_REALLY_USED_REGISTERS) : Likewise.
  (REG_ALLOC_ORDER) : Likewise.
  (enum reg_class) : Likewise.
  (REG_CLASS_NAMES) : Likewise.
  (REG_CLASS_CONTENTS) : Likewise.
  (SPE_HIGH_REGNO_P) : New macro to identify SPE high registers.

* gcc.target/powerpc/pr60102.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213596 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * runtime/memory.c (xmallocarray): Avoid division for the common case.
jakub [Mon, 4 Aug 2014 15:46:33 +0000 (15:46 +0000)]
* runtime/memory.c (xmallocarray): Avoid division for the common case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213593 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * task.c (GOMP_taskgroup_end): If taskgroup->num_children
jakub [Mon, 4 Aug 2014 15:45:50 +0000 (15:45 +0000)]
* task.c (GOMP_taskgroup_end): If taskgroup->num_children
is not zero, but taskgroup->children is NULL and there are
any task->children, schedule those instead of waiting.
* testsuite/libgomp.c/depend-6.c: New test.
* testsuite/libgomp.c/depend-7.c: New test.
* testsuite/libgomp.c/depend-8.c: New test.
* testsuite/libgomp.c/depend-9.c: New test.
* testsuite/libgomp.c/depend-10.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213592 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemove trailing blanks.
charlet [Mon, 4 Aug 2014 13:39:17 +0000 (13:39 +0000)]
Remove trailing blanks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213591 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Claire Dross <dross@adacore.com>
charlet [Mon, 4 Aug 2014 13:20:30 +0000 (13:20 +0000)]
2014-08-04  Claire Dross  <dross@adacore.com>

* exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity):
For an instance, look at the scope before the generic parent.

2014-08-04  Yannick Moy  <moy@adacore.com>

* lib-writ.ads: Update comments.
* sem_disp.ads, sem_disp.adb (Inherited_Subprograms): Add
parameters to filter inherited subprograms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213590 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 13:19:06 +0000 (13:19 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Add section on use of address clause for memory
mapped I/O.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Subtype_Declaration): A subtype, in
particular the subtype created for a generic actual, inherits
invariant information from the base type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213589 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 13:17:46 +0000 (13:17 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* aspects.ads, aspects.adb: Add entries for aspect Obsolescent.
* gnat_rm.texi: Add documentation for aspect Obsolescent.
* sem_ch13.adb (Analyze_Aspect_Specifications): Implement aspect
Obsolescent.
(Check_Aspect_At_Freeze_Point): Add dummy entry for pragma Obsolescent.
* s-osprim-mingw.adb: Minor reformatting.
* sem_res.adb (Is_Atomic_Ref_With_Address): New function
(Resolve_Indexed_Component): Rework warnings for non-atomic access
(Resolve_Selected_Component): Add warnings for non-atomic access.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213588 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Doug Rupp <rupp@adacore.com>
charlet [Mon, 4 Aug 2014 13:16:24 +0000 (13:16 +0000)]
2014-08-04  Doug Rupp  <rupp@adacore.com>

* g-calend.adb (timeval_to_duration, duration_to_timeval): Change sec
formal to long_long.
* g-calend.ads (timeval): Bump up size to accomodate sec type.
* s-taprop-linux.adb (timeval_to_duration): Change sec formal to
long_long
* s-osprim-posix.adb (timeval): Bump up size to accomodate
new sec type.
(timeval_to_duration): Change sec formal to Long_Long_Integer
* s-osinte-darwin.adb (timeval): Bump up
size to accomodate new sec type.
(timeval_to_duration): Change sec formal to long_long
* s-osinte-android.adb: Likewise.
* cal.c (__gnat_timeal_to_duration, __gnat_duration_to_timeval): Change
sec formal from long to long long.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_res.adb (Resolve_Qualified_Expression): Make sure
Do_Range_Check flag gets set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213587 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 13:09:07 +0000 (13:09 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* einfo.ads, einfo.adb (Is_Standard_String_Type): New function.
* exp_ch3.adb (Build_Array_Init_Proc): Use
Is_Standard_String_Type.
(Expand_Freeze_Array_Type): ditto.
(Get_Simple_Init_Val): ditto.
(Needs_Simple_Initialization): ditto.
* sem_eval.adb (Eval_String_Literal): Use Is_Standard_String_Type.
* sem_warn.adb (Is_Suspicious_Type): Use Is_Standard_String_Type.

2014-08-04  Pascal Obry  <obry@adacore.com>

* adaint.c (__gnat_try_lock): Use _tcscpy and _tcscat instead of
_stprintf which insert garbage into the wfull_path buffer.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* cal.c: Remove old VMS/nucleus code. Remove obsolete vxworks
code.
* fe.h: Minor reformatting.

2014-08-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

* cstreams.c: (_LARGEFILE_SOURCE): Guard definition.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* par-ch13.adb (Get_Aspect_Specifications): Improve error
recovery, fixing a -gnatQ bomb.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213586 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Richard Biener <rguenther@suse.de>
rguenth [Mon, 4 Aug 2014 13:08:34 +0000 (13:08 +0000)]
2014-08-04  Richard Biener  <rguenther@suse.de>

* gimple-fold.h (gimple_fold_builtin): Remove.
* gimple-fold.c (gimple_fold_builtin): Make static.
* tree-ssa-ccp.c (pass_fold_builtins::execute): Use
fold_stmt, not gimple_fold_builtin.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213585 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Yannick Moy <moy@adacore.com>
charlet [Mon, 4 Aug 2014 13:02:44 +0000 (13:02 +0000)]
2014-08-04  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): In GNATprove mode,
do not generate two Itypes with the same name for an array
definition.
* sinfo.ads: Expand doc on GNATprove mode.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Expand_Freeze_Record_Type): Set the finalization
master and storage pool attributes on the root type of an
anonymous access type.
* exp_ch4.adb (Expand_N_Allocator): Set the finalization master
and storage pool attributes on the root type of an anonymous
access type.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* exp_ch3.adb: Minor reformatting.
* tb-alvms.c, tb-alvxw.c, tb-ivms.c: Removed.
* tracebak.c: Remove use of above files.
* gcc-interface/Makefile.in: Update dependencies.

2014-08-04  Pierre-Marie Derodat  <derodat@adacore.com>

* gcc-interface/utils.c (gnat_set_type_context): Also set the
context for parallel types' TYPE_STUB_DECL.  Do not change
anything if the context is already set for them.
(gnat_pushdecl): Update the comment for calls to
gnat_set_type_context to mention parallel types.
(add_parallel_type): When adding a context-less parallel type to
a type that has a context, propagate the context from the latter
type to the former.
(process_deferred_decl_context): Call gnat_set_type_context
rather than manually setting the type context.
(build_unc_object_type): Call gnat_set_type_context on the
template type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213584 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 4 Aug 2014 12:58:06 +0000 (12:58 +0000)]
2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_N_Case_Statement): If a choice is a
subtype indication and the case statement has only two choices,
replace subtype indication with its range, because the resulting
membership test cannot have a subtype indication as an operand.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* exp_ch3.adb: Update comments, minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213583 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 4 Aug 2014 12:55:46 +0000 (12:55 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Analyze_Declarations): Explain why the bodies of
the default initial condition procedures are build here.
* sem_util.adb (Build_Default_Init_Cond_Procedure): Wrap the
analyzed argument of pragma Default_Initial_Condition in some
dummy code as GNATprove mode disables assertions, but still
needs to see the argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213582 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 12:54:59 +0000 (12:54 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* exp_ch6.adb, sem_util.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213581 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Olivier Hainque <hainque@adacore.com>
charlet [Mon, 4 Aug 2014 12:53:23 +0000 (12:53 +0000)]
2014-08-04  Olivier Hainque  <hainque@adacore.com>

* a-comutr.ads: Set Root_Node_Type'Alignment to
Standard'Maximum_Alignment, so that it is at least as large as
the max default for Tree_Node_Type'Alignment.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Freeze_Type): Remove the generation and inheritance
of the default initial condition procedure [body].
* sem_ch3.adb (Analyze_Declarations): Create the bodies of
all default initial condition procedures at the end of private
declaration analysis.
* sem_util.adb (Build_Default_Init_Cond_Procedure_Bodies): New
routine.
(Build_Default_Init_Cond_Procedure_Body): Merged in the
processing of routine Build_Default_Init_Cond_Procedure_Bodies.
* sem_util.ads (Build_Default_Init_Cond_Procedure_Bodies):
New routine.
(Build_Default_Init_Cond_Procedure_Body): Removed.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_elab.adb (Check_Elab_Call): Do not check a call to a
postcondtion.
* exp_ch6.adb (Expand_Call): Clarify handling of inserted
postcondition call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213580 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 4 Aug 2014 12:51:00 +0000 (12:51 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Ensure that an
internally generated spec for a stand alone body is recognized
as a proper context for pragma SPARK_Mode.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* erroutc.adb (Delete_Msg): Do not decrement Warnings_Treated_As_Errors.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* adabkend.adb (Scan_Back_End_Switches): Ignore extra -o
when -gnatO has already been specified, for compatibility
with gcc driver.
(Scan_Compiler_Args): Do not call Set_Output_Object_File_Name in
codepeer mode.
* g-expect.ads: Fix typo.

2014-08-04  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb (Insert_Dereference_Action): the actual Size
must account for the bounds template if the designated type is
an unconstrained array.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213579 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 4 Aug 2014 12:49:23 +0000 (12:49 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb Add
SPARK_Mode in the body.
* sem_ch7.adb (Analyze_Package_Body_Helper): Restore the original
way to verify the consistency of SPARK_Mode between a spec and
a body.
* sem_ch12.adb (Analyze_Package_Instantiation): Remove the call
to Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode
manually.
(Analyze_Subprogram_Instantiation): Remove the call to
Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode
manually.
* sem_prag.adb (Analyze_Pragma): Remove local variable
Inst_Id. SPARK_Mode can no longer be applied to a package or
subprogram instantiation.
* sem_util.adb, sem_util.ads (Set_Ignore_Pragma_SPARK_Mode):
Removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213578 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 12:47:56 +0000 (12:47 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb, osint.adb, osint.ads: Minor reformatting.

2014-08-04  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb (Derive_Type_Declaration,
Process_Discriminants): Remove SPARK-specific legality checks.

2014-08-04  Thomas Quinot  <quinot@adacore.com>

* g-sechas.ads, g-sechas.adb (HMAC_Initial_Context): New subprogram.
* gnat_rm.texi (GNAT.MD5/SHA1/SHA224/SHA256/SHA512): Document support
for HMAC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213577 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 4 Aug 2014 12:45:12 +0000 (12:45 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch7.adb (Analyze_Package_Body_Helper): When verifying the
compatibility of SPARK_Mode between a spec and a body, use the
SPARK_Mode of the public part.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Use
the already available routine to exchange the aspects between
the template and its copy. Analyze the aspects of copy to
ensure that the corresponding pragmas perform their semantic
effects.  The partial analysis of aspects is no longer needed.
(Analyze_Package_Instantiation): Save and restore the SPARK_Mode
of the context.
(Analyze_Subprogram_Instantiation): Save and restore the SPARK_Mode of
the context.
* sem_prag.adb (Analyze_Pragma): Do not bypass a subprogram
instantiation which does not come from source.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213576 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 4 Aug 2014 12:42:52 +0000 (12:42 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* a-cfhama.ads, a-cfhase.ads, a-cforma.ads, a-cforse.ads Add
SPARK_Mode pragmas to the public and private part of the unit.
* sem_ch3.adb (Derive_Type_Declaration): Ensure that a derived
type cannot have discriminants if the parent type already has
discriminants.
(Process_Discriminants): Ensure that the type of a discriminant is
discrete.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The check on
SPARK_Mode compatibility between a spec and a body can now be
safely performed while processing a generic.
* sem_ch7.adb (Analyze_Package_Body_Helper): The check on
SPARK_Mode compatibility between a spec and a body can now be
safely performed while processing a generic.
* sem_prag.adb (Analyze_Pragma): Pragma SPARK_Mode can now be
safely analyzed when processing a generic.

2014-08-04  Nicolas Roche  <roche@adacore.com>

* g-dirope.adb: Minor reformating.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213575 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoIPA C++ refactoring 3/N
marxin [Mon, 4 Aug 2014 11:56:50 +0000 (11:56 +0000)]
IPA C++ refactoring 3/N

* cgraph.h (csi_end_p): Removed.
(csi_next): Likewise.
(csi_node): Likewise.
(csi_start): Likewise.
(cgraph_node_in_set_p): Likewise.
(cgraph_node_set_size): Likewise.
(vsi_end_p): Likewise.
(vsi_next): Likewise.
(vsi_node): Likewise.
(vsi_start): Likewise.
(varpool_node_set_size): Likewise.
(cgraph_node_set_nonempty_p): Likewise.
(varpool_node_set_nonempty_p): Likewise.
* cgraphunit.c (cgraph_process_new_functions): vec replaces
cgraph_node_set.
* ipa-inline-transform.c: Likewise.
* ipa-utils.c (cgraph_node_set_new): Removed.
(cgraph_node_set_add): Likewise.
(cgraph_node_set_remove): Likewise.
(cgraph_node_set_find): Likewise.
(dump_cgraph_node_set): Likewise.
(debug_cgraph_node_set): Likewise.
(free_cgraph_node_set): Likewise.
(varpool_node_set_new): Likewise.
(varpool_node_set_add): Likewise.
(varpool_node_set_remove): Likewise.
(varpool_node_set_find): Likewise.
(dump_varpool_node_set): Likewise.
(free_varpool_node_set): Likewise.
(debug_varpool_node_set): Likewise.
* tree-emutls.c (struct tls_var_data):
(emutls_index): Removed.
(emutls_decl): Likewise.
(gen_emutls_addr): Function implementation uses newly added
hash_map<varpool_node *, tls_var_data>.
(clear_access_vars): Likewise.
(create_emultls_var): Likewise.
(ipa_lower_emutls): Likewise.
(reset_access): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213573 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd MOVBE and RDRND for AMD bdver4
gganesh [Mon, 4 Aug 2014 11:25:04 +0000 (11:25 +0000)]
Add MOVBE and RDRND for AMD bdver4

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213572 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 10:57:32 +0000 (10:57 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb: Minor reformatting.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Assert and related pragmas):
Before normalizing these pragmas into a pragma Check, preanalyze
the optional Message argument, (which is subsequently copied)
so that it has the proper semantic information for ASIS use.
* sem_case.adb: Initialize flag earlier.
* osint.adb, osint.ads (Find_File): Add parameter Full_Name, used when
the full source path of a configuration file is requested.
(Read_Source_File): Use Full_Name parameter..

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213571 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 4 Aug 2014 10:55:30 +0000 (10:55 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* opt.ads Alphabetize various global flags. New flag
Ignore_Pragma_SPARK_Mode along with a comment on usage.
* sem_ch6.adb (Analyze_Generic_Subprogram_Body):
Pragma SPARK_Mode is now allowed in generic units.
(Analyze_Subprogram_Body_Helper): Do not verify the compatibility
between the SPARK_Mode of a spec and that of a body when inside
a generic.
* sem_ch7.adb (Analyze_Package_Body_Helper): Do not verify the
compatibility between the SPARK_Mode of a spec and that of a
body when inside a generic.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
Pragma SPARK_Mode is now allowed in generic units.
(Analyze_Package_Instantiation): Save and restore the value of
flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set
the governing SPARK_Mode before analyzing the instance.
(Analyze_Subprogram_Instantiation): Save and restore the value
of flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set
the governing SPARK_Mode before analyzing the instance.
* sem_ch13.adb (Analyze_Aspect_Specifications): Emulate the
placement of a source pragma when inserting the generated pragma
for aspect SPARK_Mode.
* sem_prag.adb (Analyze_Pragma): Reimplement the handling of
pragma SPARK_Mode to allow for generics and their respective
instantiations.
* sem_util.ads, sem_util.adb (Check_SPARK_Mode_In_Generic): Removed.
(Set_Ignore_Pragma_SPARK_Mode): New routine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213570 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Eric Botcazou <ebotcazou@adacore.com>
charlet [Mon, 4 Aug 2014 10:54:14 +0000 (10:54 +0000)]
2014-08-04  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Deal with
        renaming discriminants in tagged types first.
        * gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Test
        the underlying type of the prefix.
        (Pragma_to_gnu, case Pragma_Warning): Ignore Reason => "..."
        (process_freeze_entity): Reset the nodes of
        all the view of a type, if any.

2014-08-04  Doug Rupp  <rupp@adacore.com>
    Olivier Hainque  <hainque@adacore.com>

        * gcc-interface/Makefile.in (x86 VxWorks): Add filter-out for vxworks7
and remove incorrect EH_MECHANISM macros.
        Add sigtramp.h to EXTRA_LIBGNAT_SRCS when we add sigtramp-vxworks.o to
EXTRA_LIBGNAT_OBJS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213569 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 10:46:25 +0000 (10:46 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Make sure prefix
of constructed 'Valid attribute in -gnatVa mode does not appear
to come from source.
* sem_attr.adb (Analyze_Access_Attribute): Don't set
Never_Set_In_Source for non-source reference.
* sem_util.adb: Minor reformatting.
* sem_warn.adb (Check_References): Don't check Address_Taken,
not necessary, see comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213568 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 10:45:30 +0000 (10:45 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_util.adb, sem_case.adb: Minor reformatting.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.adb (Extract_Entry): If the synchronized object is a
limited view, replace with non-limited view, which is available
at the point of an entry call.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Expand_Call): If the call is to a function in
a run-time unit that is marked Inline_Always, we must suppress
debugging information on it, so that the code that is eventually
inlined will not affect debugging of the user program.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213567 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 10:43:41 +0000 (10:43 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* inline.adb, einfo.ads, s-tassta.adb, s-tarest.adb: Minor comment
fixes.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Process_Import_Or_Interface): Handle properly
an aspect Import that specifies a False value.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Add section on aspect Invariant'Class.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_case.adb (Check_Choice_Set): New flag Predicate_Error,
for better control of cascaded error messages when some choice
in a case statement over a predicated type violates the given
static predicate.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Build_Derived_Type): Modify the
inheritance of the rep chain to ensure that a non-tagged type's
items are not clobbered during the inheritance.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213566 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 10:41:40 +0000 (10:41 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, einfo.ads: Minor reformatting.

2014-08-04  Yannick Moy  <moy@adacore.com>

* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Fix
detection of subprograms that cannot be inlined in GNATprove mode.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* einfo.adb: Add guard to Returns_Limited_View.

2014-08-04  Jose Ruiz  <ruiz@adacore.com>

* s-tassta.adb, s-tarest.adb (Task_Wrapper): Force maximum alignment of
the secondary stack to respect the alignments of the returned objects.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213565 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 4 Aug 2014 10:39:54 +0000 (10:39 +0000)]
2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* einfo.ads, einfo.adb (Returns_Limited_View): New flag defined
on function entities whose return type is a limited view.
* freeze.adb (Freeze_Entity): Use Returns_Limited_View to determine
where to place the freeze node for a function that returns the
limited view of a type, when the function is called and frozen
in a different unit.

2014-08-04  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch3.adb (Build_Derived_Private_Type): Minor code
refactoring.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213564 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 10:22:32 +0000 (10:22 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Clarify documentation on assertions.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Record_Aggregate, Get_Value): Warn
if a component association has a box initialization when the
component type has no default initialization, either through an
initial value, an aspect, or an implicit initialization procedure.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb: Code clean up.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213563 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 4 Aug 2014 10:13:04 +0000 (10:13 +0000)]
2014-08-04  Thomas Quinot  <quinot@adacore.com>

* sem_ch5.adb: Minor reformatting.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Late_Freeze_Subprogram): Following AI05-151,
a function can return a limited view of a type declared
elsewhere. In that case the function cannot be frozen at the end
of its enclosing package. If its first use is in a different unit,
it cannot be frozen there, but if the call is legal the full view
of the return type is available and the subprogram can now be
frozen. However the freeze node cannot be inserted at the point
of call, but rather must go in the package holding the function,
so that the backend can process it in the proper context.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213562 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 10:11:51 +0000 (10:11 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* exp_ch5.adb, sem_ch5.adb, einfo.ads: Minor reformatting.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* sem_ch4.adb (Operator_Check): Refine previous change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213561 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 4 Aug 2014 10:10:23 +0000 (10:10 +0000)]
2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* sem_scil.ads: Improve comments.
* sem_ch4.adb (Analyze_Equality_Op): Add support for
Allow_Integer_Address (equality between Address and Integer).

2014-08-04  Yannick Moy  <moy@adacore.com>

* a-cfhama.adb, a-cforse.adb: Minor fixes to avoid using prefix
notation on untagged objects.
* sem.ads: Update comment.
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do
not inline subprograms declared in the visible part of a package.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213560 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 4 Aug 2014 10:08:26 +0000 (10:08 +0000)]
2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb: minor reformatting.
* einfo.ads, einfo.adb (Is_Processed_Transient): Applies to loop
parameters.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213559 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 4 Aug 2014 10:06:32 +0000 (10:06 +0000)]
2014-08-04  Thomas Quinot  <quinot@adacore.com>

* s-fatgen.adb: Minor reformatting.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* exp_util.adb (Is_Possibly_Unaligned_Object): Always return
False on .NET.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Loop_Statement): Set properly the kind of
the loop parameter for element iterators over containers and
arrays, so that improper uses of it are detected in the loop
body when expansion is disabled.
* exp_ch5.adb (Expand_Iterator_Loop): The entity kind of the
generated cursor is that of the analyzed loop parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213558 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[doc] Document clrsb optab and fix some inconsistencies.
ktkachov [Mon, 4 Aug 2014 10:06:28 +0000 (10:06 +0000)]
[doc] Document clrsb optab and fix some inconsistencies.

* doc/md.texi (clrsb): Document.
(clz): Change reference to x into operand 1.
(ctz): Likewise.
(popcount): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213557 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix ChangeLog date from r213551.
ktkachov [Mon, 4 Aug 2014 10:04:39 +0000 (10:04 +0000)]
Fix ChangeLog date from r213551.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213556 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPR 61713: ICE when expanding single-threaded version of atomic_test_and_set.
ktkachov [Mon, 4 Aug 2014 10:03:32 +0000 (10:03 +0000)]
PR 61713: ICE when expanding single-threaded version of atomic_test_and_set.

PR target/61713
* gcc/optabs.c (expand_atomic_test_and_set): Do not try to emit
move to subtarget in serial version if result is ignored.

PR target/61713
* gcc.dg/pr61756.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213555 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 4 Aug 2014 10:03:31 +0000 (10:03 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Build_CPP_Init_Procedure): Remove
Flag_Decl. Do not analyze the declaration of the flag as it is
not part of the tree yet, instead add it to the freeze actions
of the C++ type.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* checks.adb (Apply_Scalar_Range_Check): Make sure we handle
case of OUT and IN OUT parameter correctly (where Source_Typ is
set), we were missing one case where a check must be applied.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch8.adb (Build_Class_Wide_Wrapper): Update the comment on
the generated code. Instead of hiding the renaming and using the
wrapper as the proper association, have the subprogram renaming
alias the wrapper.
(Build_Spec): The entity of the wrapper is
now derived from the entity of the related primitive.

2014-08-04  Emmanuel Briot  <briot@adacore.com>

* s-regpat.adb: s-regpat.adb (Parse): fix incorrect link when
using non-capturing groups.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* inline.adb (Build_Body_To_Inline): Remove Unmodified and
related pragmas before copying the original body, to prevent
spurious errors when the pragmas apply to formals that will not
appear in the inlined body.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213554 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 10:01:41 +0000 (10:01 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, sem_ch7.adb, einfo.adb, sem_prag.adb, sem_util.adb,
exp_ch3.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213553 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 09:59:56 +0000 (09:59 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* prj-strt.adb, prj-strt.ads, sem_attr.adb: Minor reformatting.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb Add an entry in table Canonical_Aspect for
Default_Initial_Condition.
* aspects.ads Add an entry in tables Aspect_Id, Aspect_Argument,
Aspect_Names and Aspect_Delay for Default_Initial_Condition.
* einfo.adb Flag3 is now Has_Default_Init_Cond. Flag132
is now Is_Default_Init_Cond_ Procedure. Flag133 is now
Has_Inherited_Default_Init_Cond.
(Default_Init_Cond_Procedure): New routine.
(Has_Default_Init_Cond): New routine.
(Has_Inherited_Default_Init_Cond): New routine.
(Is_Default_Init_Cond_Procedure): New routine.
(Set_Default_Init_Cond_Procedure): New routine.
(Set_Has_Default_Init_Cond): New routine.
(Set_Has_Inherited_Default_Init_Cond): New routine.
(Set_Is_Default_Init_Cond_Procedure): New routine.
(Write_Entity_Flags): Output all the new flags.
* einfo.ads New attributes Default_Init_Cond_Procedure,
Has_Inherited_Default_Init_Cond and Is_Default_Init_Cond_Procedure
along with usage in nodes.
(Default_Init_Cond_Procedure): New routine.
(Has_Default_Init_Cond): New routine and pragma Inline.
(Has_Inherited_Default_Init_Cond): New routine and
pragma Inline.
(Is_Default_Init_Cond_Procedure): New routine and
pragma Inline.
(Set_Default_Init_Cond_Procedure): New routine.
(Set_Has_Default_Init_Cond): New routine and pragma Inline.
(Set_Has_Inherited_Default_Init_Cond): New routine and pragma Inline.
(Set_Is_Default_Init_Cond_Procedure): New routine and pragma Inline.
* exp_ch3.adb (Expand_N_Object_Declaration): New constant
Next_N. Generate a call to the default initial condition procedure
if the object's type is subject to the pragma. (Freeze_Type):
Generate the body of the default initial condition procedure or
inherit the spec from a parent type.
* exp_ch7.adb Add with and use clause for Exp_Prag.
(Expand_Pragma_Initial_Condition): Removed.
* exp_prag.ads, exp_prag.adb (Expand_Pragma_Initial_Condition): New
routine.
* par-prag.adb (Prag): Pragma Default_Initial_Condition does
not need special treatment by the parser.
* sem_ch3.adb (Build_Derived_Record_Type): Propagate the
attributes related to pragma Default_Initial_Condition to the
derived type.
(Process_Full_View): Propagate the attributes
related to pragma Default_Initial_Condition to the full view.
* sem_ch7.adb (Analyze_Package_Specification): Build the
declaration of the default initial condition procedure for all
types that qualify or inherit the one from the parent type.
* sem_ch13.adb (Analyze_Aspect_Specifications):
Add processing for aspect Default_Initial_Condition.
(Check_Aspect_At_Freeze_Point): Aspect
Default_Initial_Condition does not require delayed analysis.
(Replace_Type_References_Generic): Moved to spec.
* sem_ch13.ads (Replace_Type_References_Generic): Moved from body.
* sem_prag.adb Add an entry in table Sif_Glags for
Default_Initial_Condition.
(Analyze_Pragma): Pragma
Default_Initial_Condition is now part of assertion
policy. Add processing for pragma Default_Initial_Condition.
(Is_Valid_Assertion_Kind): Pragma Default_Initial_Condition is
now recognized as a proper assertion policy.
* sem_util.ads, sem_util.adb (Build_Default_Init_Cond_Call): New
routine.
(Build_Default_Init_Cond_Procedure_Body): New routine.
(Build_Default_Init_Cond_Procedure_Declaration): New routine.
(Inherit_Default_Init_Cond_Procedure): New routine.
* snames.ads-tmpl Add new predefined name and pragma id for
Default_Initial_Condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213552 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[sched-deps] Generalise usage of macro fusion to work on any two insns.
ktkachov [Mon, 4 Aug 2014 09:57:49 +0000 (09:57 +0000)]
[sched-deps] Generalise usage of macro fusion to work on any two insns.

* sched-deps.c (try_group_insn): Generalise macro fusion hook usage
to any two insns.  Update comment.  Rename to sched_macro_fuse_insns.
(sched_analyze_insn): Update use of try_group_insn to
sched_macro_fuse_insns.
* config/i386/i386.c (ix86_macro_fusion_pair_p): Reject 2nd
arguments that are not conditional jumps.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213551 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Vincent Celier <celier@adacore.com>
charlet [Mon, 4 Aug 2014 09:57:00 +0000 (09:57 +0000)]
2014-08-04  Vincent Celier  <celier@adacore.com>

* prj-dect.adb (Parse_Case_Construction): It is no longer
an error if the variable for a case construction is not
typed, only if the variable value is not a single string. Call
Parse_Choice_List and End_Case_Construction with the new parameter
to indicate that the variable is typed.
* prj-strt.adb (End_Case_Construction): Only check the labels
if the variable is typed.  If the variable is not typed,
issue a warning when there is no "when others" allternative.
(Parse_Choice_List): Manage the labels only if the variable
is typed.
* prj-strt.ads (End_Case_Construction): New Boolean parameter
String_Type.
(Parse_Choice_List): Ditto.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb: Additional fix to Check_Predicate_Use.

2014-08-04  Vincent Celier  <celier@adacore.com>

* projects.texi: Update documentation of case constructions with
variables that are not typed.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Build_Class_Wide_Wrapper): If the operator carries
an Eliminated pragma, indicate that the wrapper is also to be
eliminated, to prevent spurious errors when using gnatelim on
programs that include box-initialization of equality operators
(consequence of AI05-071)..

2014-08-04  Robert Dewar  <dewar@adacore.com>

* checks.adb (Activate_Overflow_Check): Handle floating-point
case correctly.
* checks.ads (Activate_Overflow_Check): Clarify handling of
floating-point cases.
* exp_util.adb (Check_Float_Op_Overflow): Reset Do_Overflow_Check
flag if we generate an explicit overflow check (for
Check_Float_Overflow mode).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213550 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 09:55:01 +0000 (09:55 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* prj-proc.adb, prj-part.adb, prj-strt.adb, prj.adb, prj.ads,
prj-attr.adb, prj-attr.ads: Minor reformatting.

2014-08-04  Yannick Moy  <moy@adacore.com>

* expander.adb (Expand): Always perform special
expansion in GNATprove mode, even when doing pre-analysis.

2014-08-04  Thomas Quinot  <quinot@adacore.com>

* repinfo.adb (List_Scalar_Storage_Order): List bit order if
not default. Also list bit order if SSO is specified. Do not
assume that bit order is always equal to scalar storage order.

2014-08-04  Thomas Quinot  <quinot@adacore.com>

* freeze.adb (Set_SSO_From_Default): Do not set scalar storage
order to reverse SSO for a type that has an explicit native
Bit_Order.

2014-08-04  Doug Rupp  <rupp@adacore.com>

* cal.c: Macro check for VxWorks7.
* init.c (getpid): Likewise.
* mkdir.c (__gnat_mkdir): Likewise.
* sysdep.c (__gnat_is_file_not_found_error): Likewise.

2014-08-04  Gary Dismukes  <dismukes@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration): Inhibit generation
of an invariant check in the case where No_Initialization is set,
since the object is uninitialized.

2014-08-04  Thomas Quinot  <quinot@adacore.com>

* snames.ads-tmpl (Default_Scalar_Storage_Order): Now an attribute
name, in addition to a pragma name.
* snames.adb-tmpl (Get_Pragma_Id, Is_Configuration_Pragma_Name,
Is_Pragma_Name): Adjust accordingly.
* sem_attr.ads, sem_attr.adb, exp_attr.adb
(Attribute_Default_Scalar_Storage_Order): Add handling of new
attribute.
* gnat_rm.texi: Document the above.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213549 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 4 Aug 2014 09:52:02 +0000 (09:52 +0000)]
2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* exp_util.adb (Check_Float_Op_Overflow): No-op in codepeer
mode for now, to revert to previous behavior.
* checks.adb: Revert previous change, no longer needed.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Don't set
Check_Float_Overflow if Machine_Oveflows_On_Target is True.
* sem_prag.adb (Analyze_Pragma, case Check_Float_Overflow): Don't
set Check_Float_Overflow if Machine_Oveflows_On_Target is True.
* switch-c.adb (Scan_Front_End_Switches): Don't set
Check_Float_Overflow if Machine_Oveflows_On_Target is True.

2014-08-04  Vincent Celier  <celier@adacore.com>

* prj-attr.adb: Add new default indications for
attributes Object_Dir, Exec_Dir, Source_Dirs and Target.
(Attribute_Default_Of): New function (Initialize): Set the
default for those attributes that have one specified.
* prj-attr.ads (Attribute_Data): New component Default.
* prj-proc.adb (Expression): Take into account the new defaults
for attributes Object_Dir, Exec_Dir and Source_Dirs.
* prj-strt.adb (Attribute_Reference): Set the default for
the attribute.
* prj-tree.ads, prj-tree.adb (Default_Of): New function.
(Set_Default_Of): New procedure.
* prj.adb (The_Dot_String): New global Name_Id variable,
initialized in procedure Initialize.
(Dot_String): New function
(Initialize): Initialize The_Dot_String.
(Reset): Create the string list Shared.Dot_String_List.
* prj.ads (Attribute_Default_Value): New enumeration type.
(Project_Qualifier): Change enumeration value Dry to Abstract_Project.
(Dot_String): New function.
(Shared_Project_Tree_Data): New string list component Dot_String_List.
* projects.texi: Document new defaults for attribute Object_Dir,
Exec_Dir and Source_Dirs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213548 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 09:49:19 +0000 (09:49 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb: Minor reformatting.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* exp_util.adb, checks.adb (Check_Float_Op_Overflow): Add special
expansion in CodePeer_Mode.
(Selected_Range_Checks): Add handling of overflow checks in
CodePeer_Mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213547 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 09:47:14 +0000 (09:47 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, case Pred):
Remove special test for Float'First, no longer required.
(Expand_N_Attribute_Reference, case Succ): Remove special test
for Float'First, no longer required.
* s-fatgen.adb (Pred): return infinity unchanged.
(Succ): ditto.

2014-08-04  Claire Dross  <dross@adacore.com>

* sem_ch12.adb (Analyze_Associations): Defaults should only be
used if there is no explicit match.
* exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity):
Also check for pragma external_axiomatization on generic units.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213546 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 09:38:17 +0000 (09:38 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* checks.adb (Activate_Overflow_Check): Remove
Check_Float_Overflow processing.
(Apply_Scalar_Range_Check): Ditto.
(Generate_Range_Check): Ditto.
* exp_ch4.adb (Expand_N_Op_Add): Add call to
Check_Float_Op_Overflow.
(Expand_N_Op_Divide): ditto.
(Expand_N_Op_Multiply): ditto.
(Expand_N_Op_Subtract): ditto.
* exp_util.ads, exp_util.adb (Check_Float_Op_Overflow): New procedure.
* sem_attr.adb (Analyze_Attribute, case Pred): Make sure
Do_Range_Check is set for floating-point case in -gnatc or
GNATprove mode.
(Analyze_Attribute, case Succ): Make sure
Do_Range_Check is set for floating-point case in -gnatc or
GNATprove mode.
* sem_res.adb (Resolve_Type_Conversion): Make sure Do_Range_Check
flag is set for real to integer conversion in GNATprove or
-gnatc mode.

2014-08-04  Gary Dismukes  <dismukes@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): Resolve
the expression of an Import or Export aspect as type Boolean
and require it to be static. Add ??? comment. Also, set the
Is_Exported flag when appropriate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213545 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoCompute extend family info for AMD CPU and update for BTVER2
gganesh [Mon, 4 Aug 2014 09:27:31 +0000 (09:27 +0000)]
Compute extend family info for AMD CPU and update for BTVER2

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213544 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFor cproj test-case, use glibc version xfail
vries [Mon, 4 Aug 2014 08:29:59 +0000 (08:29 +0000)]
For cproj test-case, use glibc version xfail

2014-08-04  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/cproj-fails-with-broken-glibc.c: Use xfail for broken glibc
version instead of required-target.
* lib/target-supports.exp
(check_effective_target_not_glibc_2_11_or_earlier): Replace by ...
(check_effective_target_glibc_2_11_or_earlier): ... this.

* doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
(glibc_2_11_or_earlier): Document effective-target keywords.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213543 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 08:12:01 +0000 (08:12 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor reformatting.
* exp_attr.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213541 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 4 Aug 2014 08:11:06 +0000 (08:11 +0000)]
2014-08-04  Thomas Quinot  <quinot@adacore.com>

* s-fatgen.ads, s-fatgen.adb (S, P): New visible type declarations
(Unaligned_Valid): Remove now unused subprogram.
* exp_attr.adb (Expand_N_Attribute_Reference, case
Attribute_Valid): If the prefix is in reverse SSO or potentially
unaligned, copy it using a byte copy operation to a temporary
variable.
* einfo.adb: Minor comment fix.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Freeze_Entity): Do not freeze formal subprograms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213540 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 08:09:31 +0000 (08:09 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* s-imgrea.adb (Image_Floating_Point): Don't add space before +Inf.
* s-fatgen.adb (Pred): Handle Float'First.
(Succ): Handle Float'Last.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213539 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 4 Aug 2014 08:07:57 +0000 (08:07 +0000)]
2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Is_Potentially_Unevaluated): If the original
node of a parent node in the tree is a short-circuit operation,
the node is potentially unevaluated.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_res.adb (Resolve_Type_Conversion): Set Do_Range_Check on
conversion from a real type to an integer type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213538 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Yannick Moy <moy@adacore.com>
charlet [Mon, 4 Aug 2014 08:06:12 +0000 (08:06 +0000)]
2014-08-04  Yannick Moy  <moy@adacore.com>

* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_ch7.adb, sem_ch9.adb,
sem_ch12.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb,
exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb,
sem_ch8.adb, sem_ch11.adb: Update some subprogram names to refer to
SPARK_05 instead of SPARK.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem.ads: Minor reformatting.
* sem_ch13.adb (Analyze_Aspect_External_Or_Link_Name): Minor
reformatting.
(Analyze_Aspect_Specifications, case Convention): Put External_Name
before Link_Name when constructing pragma.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213537 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Yannick Moy <moy@adacore.com>
charlet [Mon, 4 Aug 2014 08:01:36 +0000 (08:01 +0000)]
2014-08-04  Yannick Moy  <moy@adacore.com>

* sem.adb, sem.ads (In_Default_Expr): Global flag that is set
to True during analysis of a default component expression.
(Semantics): Save and restore In_Default_Expr around analysis.
* sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration):
Call new wrapper Preanalyze_Default_Expression.
(Preanalyze_Default_Expression): New wrapper on
Preanalyze_Spec_Expression which sets and restores In_Default_Expr.
* sem_res.adb (Resolve_Call): Mark calls inside default
expressions as not inlined in GNATprove mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213536 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Robert Dewar <dewar@adacore.com>
charlet [Mon, 4 Aug 2014 08:00:05 +0000 (08:00 +0000)]
2014-08-04  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor reformatting.

2014-08-04  Olivier Hainque  <hainque@adacore.com>

* link.c: remove const on __gnat_objlist_file_supported for AIX

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_util.ads: Minor addition of comment.

2014-08-04  Vincent Celier  <celier@adacore.com>

* prj-dect.adb (Check_Package_Allowed): Allow package IDE in
all projects, including aggregate and aggregate library projects.

2014-08-04  Yannick Moy  <moy@adacore.com>

* back_end.adb (Call_Back_End): Do not call gigi in GNATprove mode.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_eval.adb (Test_In_Range): Always in range for
Is_Known_Valid target type, where input type has smaller or
equal size and does not have biased rep.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Eval_Attribute): Constrained is not treated as
a static attribute, and the Static flag must not be set on it
during resolution. It may be constant-folded during expansion,
but if expansion is disabled it is not a static expression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213535 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 4 Aug 2014 07:57:40 +0000 (07:57 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch8.adb (Build_Class_Wide_Wrapper): Mark the primitive as
referenced once resolution has taken place.

2014-08-04  Gary Dismukes  <dismukes@adacore.com>

* exp_ch4.adb (Expand_N_Type_Conversion): Don't
compare access levels in the case where the target type is the
anonymous type of an access discriminant, since the level of
such types is defined based on context. Add comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213534 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 4 Aug 2014 07:56:02 +0000 (07:56 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch8.adb (Build_Class_Wide_Wrapper): Handle various special
cases related to equality.  Remove the special processing
for dispatching abstract subprograms as it is not needed.
(Interpretation_Error): Add a specialized error message for
predefined operators.
(Is_Intrinsic_Equality): New routine.
(Is_Suitable_Candidate): New routine.

2014-08-04  Gary Dismukes  <dismukes@adacore.com>

* checks.adb: Minor comment reformatting.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* restrict.adb (Check_Restriction): For checked max_parameter
restrictions reset Violated flag, so that subsequent violations
are properly detected.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb (Check_Initialization): Fix bad test of GNATprove
mode.
(Process_Discriminants): Fix bad test of GNATprove mode

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch12.adb (Instantiate_Formal_Subprogram):
Move variable to their own section. Propagate the source
location of a formal parameter to the corresponding formal of
the subprogram renaming declaration. Code reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213533 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-04 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 4 Aug 2014 07:54:00 +0000 (07:54 +0000)]
2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Expand_Array_Aggregate): Do not attempt expansion
if error already detected.  We may reach this point in spite of
previous errors when compiling with -gnatq, to force all possible
errors (this is the usual ACATS mode).

2014-08-04  Gary Dismukes  <dismukes@adacore.com>

* checks.adb (Generate_Range_Check): For the case of converting
a base type with a larger range to a smaller target subtype, only
use unchecked conversions of bounds in the range check followed
by conversion in the case where both types are discrete. In other
cases, convert to the target base type and save in a temporary
followed by the range check.
(Convert_And_Check_Range): New procedure factoring code to save
conversion to a temporary followed by a range check (called two
places in Generate_Range_Check).
* exp_ch4.adb (Expand_N_Type_Conversion): Relax previous
check-in, to generate range checks for conversions between
any floating-point types rather than limiting it to matching
base types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213532 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemoved.
charlet [Mon, 4 Aug 2014 07:53:47 +0000 (07:53 +0000)]
Removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213531 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gnat.dg/discr6.adb, gnat.dg/discr6_pkg.ads: Removed, no longer
charlet [Mon, 4 Aug 2014 07:45:28 +0000 (07:45 +0000)]
    * gnat.dg/discr6.adb, gnat.dg/discr6_pkg.ads: Removed, no longer
        relevant.
        * gnat.dg/debug1.ads: Adjust.
        * gnat.dg/formal_type.ads: Fix error in test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213530 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Mon, 4 Aug 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213529 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * ipa-devirt.c (odr_type_warn_count): Add type.
hubicka [Sun, 3 Aug 2014 14:02:19 +0000 (14:02 +0000)]
* ipa-devirt.c (odr_type_warn_count): Add type.
(possible_polymorphic_call_targets): Set it.
(ipa_devirt): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213526 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * c-common.c (check_case_value): Add location_t parameter. Use it.
mpolacek [Sun, 3 Aug 2014 12:23:03 +0000 (12:23 +0000)]
* c-common.c (check_case_value):  Add location_t parameter.  Use it.
(c_add_case_label): Pass loc to check_case_value.

* gcc.dg/case-bogus-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213525 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Sun, 3 Aug 2014 00:16:53 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213523 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sat, 2 Aug 2014 21:38:34 +0000 (21:38 +0000)]
2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/15339
* testsuite/26_numerics/headers/complex/synopsis.cc: Fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213520 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Sat, 2 Aug 2014 19:41:32 +0000 (19:41 +0000)]
/cp
2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/15339
* decl.c (check_redeclaration_no_default_args): New.
(duplicate_decls): Use it, handle default arguments
in redeclarations of function templates.

/testsuite
2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/15339
* g++.dg/other/default9.C: New.
* g++.dg/other/default10.C: Likewise.
* g++.dg/other/default3.C: Remove xfail.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213519 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * doc/invoke.texi (Wsuggest-final-types, Wsuggest-final-methods): Document.
hubicka [Sat, 2 Aug 2014 15:13:41 +0000 (15:13 +0000)]
* doc/invoke.texi (Wsuggest-final-types, Wsuggest-final-methods): Document.
* ipa-devirt.c: Include hash-map.h
(struct polymorphic_call_target_d): Add type_warning and decl_warning.
(clear_speculation): Break out of ...
(get_class_context): ... here; speed up handling obviously useless
speculations.
(odr_type_warn_count, decl_warn_count): New structures.
(final_warning_record): New structure.
(final_warning_records): New static variable.
(possible_polymorphic_call_targets): Cleanup handling of speculative info;
do not build speculation when user do not care; record info about warnings
when asked for.
(add_decl_warning): New function.
(type_warning_cmp): New function.
(decl_warning_cmp): New function.
(ipa_devirt): Handle -Wsuggest-final-methods and -Wsuggest-final-types.
(gate): Enable pass when warnings are requested.
* common.opt (Wsuggest-final-types, Wsuggest-final-methods): New options.

* g++.dg/warn/Wsuggest-final.C: New testcase.
* g++.dg/ipa/devirt-34.C: Fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213518 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoconvert many uses of pointer_map to hash_map
tbsaunde [Sat, 2 Aug 2014 11:34:54 +0000 (11:34 +0000)]
convert many uses of pointer_map to hash_map

gcc/c-family/

* cilk.c: Use hash_map instead of pointer_map.

gcc/c/

* c-typeck.c: Use hash_map instead of pointer_map.

gcc/cp/

* optimize.c, semantics.c: Use hash_map instead of pointer_map.

gcc/

* hash-map.h (default_hashmap_traits::mark_key_deleted):
Fix cast.
(hash_map::remove): New method.
(hash_map::traverse): New method.
* cgraph.h, except.c, except.h, gimple-ssa-strength-reduction.c,
ipa-utils.c, lto-cgraph.c, lto-streamer.h, omp-low.c, predict.c,
tree-cfg.c, tree-cfgcleanup.c, tree-eh.c, tree-eh.h, tree-inline.c,
tree-inline.h, tree-nested.c, tree-sra.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-structalias.c,
tree-ssa.c, tree-ssa.h, var-tracking.c: Use hash_map instead of
 pointer_map.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213517 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoadd a hash_set based on hash_table
tbsaunde [Sat, 2 Aug 2014 11:23:49 +0000 (11:23 +0000)]
add a hash_set based on hash_table

This allows us to replace the usage of pointer_set outside of
pointer_map with a nicer interface.

gcc/ada/

* gcc-interface/trans.c: Use hash_set instead of pointer_set.

gcc/c-family/

* c-gimplify.c: Use hash_set instead of pointer_set.

gcc/c/

* c-decl.c: Use hash_set instead of pointer_set.

gcc/cp/

* class.c, cp-gimplify.c, cp-tree.h, decl.c, decl2.c, error.c,
method.c, name-lookup.c, pt.c, semantics.c, tree.c: Use hash_set
instead of pointer_set.

gcc/fortran/

* openmp.c, trans-decl.c: Use hash_set instead of pointer_set.

gcc/

* hash-set.h: new File.
* cfgexpand.c, cfgloop.c, cgraph.c, cgraphbuild.c, cgraphunit.c,
cprop.c, cse.c, gimple-walk.c, gimple-walk.h, gimplify.c, godump.c,
ipa-devirt.c, ipa-pure-const.c, ipa-visibility.c, ipa.c, lto-cgraph.c,
lto-streamer-out.c, stmt.c, tree-cfg.c, tree-core.h, tree-eh.c,
tree-inline.c, tree-inline.h, tree-nested.c, tree-pretty-print.c,
tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c,
tree-ssa-uninit.c, tree.c, tree.h, value-prof.c, varasm.c,
varpool.c: Use hash_set instead of pointer_set.

gcc/lto/

* lto-partition.c, lto-partition.h: Use hash_set instead of
pointer_set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213516 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c/59855
mpolacek [Sat, 2 Aug 2014 05:52:30 +0000 (05:52 +0000)]
PR c/59855
* gcc.dg/Wdesignated-init-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213515 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR other/61895
ian [Sat, 2 Aug 2014 00:54:15 +0000 (00:54 +0000)]
PR other/61895

runtime: Ignore small argv[0] file for backtrace.

Reportedly in some cases Docker starts processes with argv[0]
pointing to an empty file.  That would cause libgo to pass
that empty file to libbacktrace, which would then fail to do
any backtraces.  Everything should work fine if libbacktrace
falls back to /proc/self/exe.

This patch to libgo works around the problem by ignoring
argv[0] if it is a small file, or if stat fails.  This is not
a perfect fix but it's an unusual problem.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213513 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c++/60417
jason [Sat, 2 Aug 2014 00:52:09 +0000 (00:52 +0000)]
PR c++/60417
* init.c (build_vec_init): Set CONSTRUCTOR_IS_DIRECT_INIT on
init-list for trailing elements.
* typeck2.c (process_init_constructor_array): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213511 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Sat, 2 Aug 2014 00:16:58 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213510 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Fri, 1 Aug 2014 19:59:56 +0000 (19:59 +0000)]
/cp
2014-08-01  Paolo Carlini  <paolo.carlini@oracle.com>

DR 217 again
* decl.c (duplicate_decls): Handle static member functions too.

/testsuite
2014-08-01  Paolo Carlini  <paolo.carlini@oracle.com>

DR 217 again
* g++.dg/tc1/dr217-2.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213505 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-08-01 Zifei Tong <zifeitong@gmail.com>
redi [Fri, 1 Aug 2014 19:45:56 +0000 (19:45 +0000)]
2014-08-01  Zifei Tong  <zifeitong@gmail.com>

* libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
_GLIBCXX_ prefix to macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213504 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * update_web_docs_svn: Simplify build of gnat_ugn.
charlet [Fri, 1 Aug 2014 19:00:14 +0000 (19:00 +0000)]
* update_web_docs_svn: Simplify build of gnat_ugn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213503 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/cp/
kyukhin [Fri, 1 Aug 2014 17:23:40 +0000 (17:23 +0000)]
gcc/cp/
* cp-array-notation.c (expand_an_in_modify_expr): Fix the misprint
in error output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213495 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR other/61963
kyukhin [Fri, 1 Aug 2014 17:20:02 +0000 (17:20 +0000)]
PR other/61963

gcc/cp/
* parser.c (cp_parser_array_notation): Added check for array_type.

gcc/testsuite/
* c-c++-common/cilk-plus/AN/pr61963.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213494 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR middle-end/61455
kyukhin [Fri, 1 Aug 2014 16:54:27 +0000 (16:54 +0000)]
PR middle-end/61455

gcc/c-family/
* array-notation-common.c (extract_array_notation_exprs): Handling
of DECL_EXPR added.

gcc/c/
* c-array-notation.c (expand_array_notations): Handling
of DECL_EXPR added.

gcc/cp/
* cp-array-notation.c (expand_array_notation_exprs): Handling of
DECL_EXPR improved. Changed handling for INIT_EXPR.

gcc/testsuite/
* c-c++-common/cilk-plus/AN/pr61455.c: New test.
* c-c++-common/cilk-plus/AN/pr61455-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213491 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemoved unused get_lane and dup_lane builtins.
alalaw01 [Fri, 1 Aug 2014 16:18:35 +0000 (16:18 +0000)]
Removed unused get_lane and dup_lane builtins.

* config/aarch64/aarch64-simd-builtins.def (dup_lane, get_lane): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213490 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdding missing testcase.
jiwang [Fri, 1 Aug 2014 15:20:46 +0000 (15:20 +0000)]
Adding missing testcase.

(should svn add first...)

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213489 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[AArch64] Improve TARGET_LEGITIMIZE_ADDRESS_P hook
jiwang [Fri, 1 Aug 2014 15:17:03 +0000 (15:17 +0000)]
[AArch64] Improve TARGET_LEGITIMIZE_ADDRESS_P hook

currently, aarch64 LEGITIMIZE_ADDRESS_P hook will reject all "reg + offset"
address given "offset" is beyond supported range.

while this may be too strict. we should honor the "strict_p" parameter in the
hook. before reload, we accept all offset if it's a frame access, because the
offset may change during later register elimination.

the early reject of "reg + offset" may cause extra registers created, and if
that register live range is across function invoking then callee saved reg
needed, thus introduce extra reg save/restore also.

give a simple example as:

int
test15 (void)
{
   unsigned char a[480];
   initialize_array (a, 480);

   if (a[0] == 0x10)
     return 1;

   return 0;
}

.S before the patch
(-O2 -fPIC)
===
test15:
         sub     sp, sp, #480
         mov     w1, 480
         stp     x29, x30, [sp, -32]!
         add     x29, sp, 0
         str     x19, [sp, 16]
         add     x19, x29, 32
         mov     x0, x19
         bl      initialize_array
         ldrb    w0, [x19]
         ldr     x19, [sp, 16]
         ldp     x29, x30, [sp], 32
         cmp     w0, 16
         cset    w0, eq
         add     sp, sp, 480
         ret

.S after the patch
===
test15:
         stp     x29, x30, [sp, -496]!
         mov     w1, 480
         add     x29, sp, 0
         add     x0, x29, 16
         bl      initialize_array
         ldrb    w0, [x29, 16]
         ldp     x29, x30, [sp], 496
         cmp     w0, 16
         cset    w0, eq
         ret

gcc/
  * config/aarch64/aarch64.c (aarch64_classify_address): Accept all offset for
  frame access when strict_p is false.

gcc/testsuite
   * gcc.target/aarch64/legitimize_stack_var_before_reload_1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213488 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[AArch64][2/2] Add constrain to address offset in storewb_pair/loadwb_pair insns
jiwang [Fri, 1 Aug 2014 15:09:05 +0000 (15:09 +0000)]
[AArch64][2/2] Add constrain to address offset in storewb_pair/loadwb_pair insns

Add a pridicate to check whether the const offset is valid.
For 32-bit variant: -256 <= offset <= 252
For 64-bit variant: -512 <= offset <= 504

2014-07-29  Renlin Li  <renlin.li@arm.com>
2014-07-29  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.c (offset_7bit_signed_scaled_p): Rename to
  aarch64_offset_7bit_signed_scaled_p, remove static and use it.
  * config/aarch64/aarch64-protos.h (aarch64_offset_7bit_signed_scaled_p):
  Declaration.
  * config/aarch64/predicates.md (aarch64_mem_pair_offset): Define new
  predicate.
  * config/aarch64/aarch64.md (loadwb_pair, storewb_pair): Use
  aarch64_mem_pair_offset.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213487 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUpdate ChangeLog for commit 213485.
jiwang [Fri, 1 Aug 2014 15:05:54 +0000 (15:05 +0000)]
Update ChangeLog for commit 213485.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213486 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[AArch64][1/2] Fix offset glitch in load reg pair pattern
jiwang [Fri, 1 Aug 2014 14:54:57 +0000 (14:54 +0000)]
[AArch64][1/2] Fix offset glitch in load reg pair pattern

on aarch64, we are using load register pair post-writeback instruction in
epilogue.

for example, for the following instruction:

ldp, x0, x1, [sp], #16

what it's doing is:

x0 <- MEM(sp + 0)
x1 <- MEM(sp + 8)
sp < sp + 16

while there is a glitch in our loadwb_pair* pattern, the restore of the
first reg should always be with offset zero.

(set (match_operand:GPI 2 "register_operand" "=r")
-          (mem:GPI (plus:P (match_dup 1)
-                   (match_dup 4))))
+          (mem:GPI (match_dup 1)))

gcc/
  * config/aarch64/aarch64.md (loadwb_pair<GPI:mode>_<P:mode>): Fix offset.
  (loadwb_pair<GPI:mode>_<P:mode>): Likewise.
  * config/aarch64/aarch64.c (aarch64_gen_loadwb_pair): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213485 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoMIPS REGISTER_PREFIX definition
mpf [Fri, 1 Aug 2014 14:46:25 +0000 (14:46 +0000)]
MIPS REGISTER_PREFIX definition

gcc/

* config/mips/mips.h (REGISTER_PREFIX): Define macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213484 138bc75d-0d04-0410-961f-82ee72b054a4