platform/upstream/linaro-gcc.git
9 years agoFix warnings occured during profiledboostrap on
marxin [Thu, 5 Mar 2015 11:44:00 +0000 (11:44 +0000)]
Fix warnings occured during profiledboostrap on

* ipa-inline.c (inline_small_functions): Set default value to
prevent warning during bootstrap.
* tree.h: Add pragma guard that ignores false positives during
bootstrap.

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

9 years agoS/390: xfail ssa-dom-cse-2
krebbel [Thu, 5 Mar 2015 09:58:32 +0000 (09:58 +0000)]
S/390: xfail ssa-dom-cse-2

gcc/testsuite:
* gcc.dg/tree-ssa/ssa-dom-cse-2.c:

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

9 years agoS/390: var-expand1 use default values for peel/unroll limits
krebbel [Thu, 5 Mar 2015 09:56:42 +0000 (09:56 +0000)]
S/390: var-expand1 use default values for peel/unroll limits

gcc/testsuite/:
* gcc.dg/var-expand1.c: Force max-completely-peel-times and
max-unroll-times back to defaults for s390.

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

9 years ago2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 5 Mar 2015 09:21:39 +0000 (09:21 +0000)]
2015-03-05  Paolo Carlini  <paolo.carlini@oracle.com>

Fix last commit.

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

9 years ago2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 5 Mar 2015 09:15:58 +0000 (09:15 +0000)]
2015-03-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64665
* g++.dg/cpp0x/initlist92.C: New.

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

9 years ago2015-03-05 Richard Biener <rguenther@suse.de>
rguenth [Thu, 5 Mar 2015 09:14:01 +0000 (09:14 +0000)]
2015-03-05  Richard Biener  <rguenther@suse.de>

PR tree-optimization/65310
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
Properly preserve alignment of the base of the access.

* gcc.dg/vect/pr65310.c: New testcase.

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

9 years ago2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 5 Mar 2015 08:48:22 +0000 (08:48 +0000)]
2015-03-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64834
* g++.dg/cpp1y/lambda-generic-uneval1.C: New.

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

9 years ago2015-03-05 Richard Biener <rguenther@suse.de>
rguenth [Thu, 5 Mar 2015 08:43:13 +0000 (08:43 +0000)]
2015-03-05  Richard Biener  <rguenther@suse.de>

PR ipa/65270
* ipa-icf-gimple.c (func_checker::compare_memory_operand):
Compare dependence info.

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

9 years ago2015-03-05 Richard Biener <rguenther@suse.de>
rguenth [Thu, 5 Mar 2015 08:37:40 +0000 (08:37 +0000)]
2015-03-05  Richard Biener  <rguenther@suse.de>

PR middle-end/65233
* ipa-polymorphic-call.c: Include tree-ssa-operands.h and
tree-into-ssa.h.
(walk_ssa_copies): Revert last chage.  Instead do not walk
SSA names registered for SSA update.

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

9 years agoDaily bump.
gccadmin [Thu, 5 Mar 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago PR ipa/65270
hubicka [Thu, 5 Mar 2015 00:10:29 +0000 (00:10 +0000)]
  PR ipa/65270
* ipa-icf.c (sem_item::compare_cgraph_references): Compare
vtable references for their containing type.
(sem_function::equals_wpa): Compare TYPE_RESTRICT
and type attributes.

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

9 years ago * fold-const.c (round_up_loc): Cast divisor to signed on all paths
ebotcazou [Wed, 4 Mar 2015 22:33:41 +0000 (22:33 +0000)]
* fold-const.c (round_up_loc): Cast divisor to signed on all paths
before negating it.
* stor-layout.c (finalize_record_size): Revert latest change.

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

9 years ago2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Wed, 4 Mar 2015 21:56:46 +0000 (21:56 +0000)]
2015-03-04  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.

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

9 years ago * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
hubicka [Wed, 4 Mar 2015 20:28:08 +0000 (20:28 +0000)]
* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
for correct comdat handling.
(cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
Likewise.
* cgraph.h (call_for_symbol_and_aliases): Fix formating.
(used_from_object_file_p_worker): Remove.
(cgraph_node::only_called_directly_or_alised): Add
used_from_object_file_p.
* ipa-inline-analysis.c (growth_likely_positive): Optimie.
* ipa-inline-transform.c (can_remove_node_now_p_1): Use
can_remove_if_no_direct_calls_and_refs_p.

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

9 years ago * de.po: Update.
jsm28 [Wed, 4 Mar 2015 17:45:00 +0000 (17:45 +0000)]
* de.po: Update.

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

9 years agoFix PR65261
trippels [Wed, 4 Mar 2015 17:28:56 +0000 (17:28 +0000)]
Fix PR65261

Running bootstrap-ubsan on ppc64le shows many instances of:

  libcpp/lex.c:552:30: runtime error: load of misaligned address
  0x01001f31d37a for type 'const uchar', which requires 16 byte alignment

But the unaligned vector loads are intended in this case, because they
are preferable to forced-alignment on POWER8. So just silence the ubsan
errors.

2015-03-02  Markus Trippelsdorf  <markus@trippelsdorf.de>

include/
PR target/65261
* ansidecl.h (ATTRIBUTE_NO_SANITIZE_UNDEFINED): New macro.

libcpp/
PR target/65261
* lex.c (search_line_fast): Silence ubsan errors.

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

9 years ago PR libstdc++/64797
redi [Wed, 4 Mar 2015 17:19:55 +0000 (17:19 +0000)]
PR libstdc++/64797
* include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
incomplete multibyte sequences correctly.
* include/std/codecvt (codecvt_utf8, codecvt_utf16,
codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
* src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
Define constants.
(is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
Define convenience functions.
(read_utf8_code_point): Return relevant constant to distinguish
incomplete characters from invalid sequences.
(read_utf16_code_point): Likewise. Check for invalid sequences.
(ucs4_in, utf16_in): Use incomplete_mb_character constant.
(utf16_out): Check for invalid sequences.
(utf16_span): Fix condition.
(ucs2_out): Use is_high_surrogate.
(ucs2_in): Use incomplete_mb_character constant and fix condition.
* testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
* testsuite/22_locale/conversions/buffer/1.cc: New.
* testsuite/22_locale/conversions/string/2.cc: Use char16_t and
char32_t instead of wchar_t.
* testsuite/22_locale/conversions/string/3.cc: New.

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

9 years ago2015-03-04 Robert Dewar <dewar@adacore.com>
charlet [Wed, 4 Mar 2015 15:00:57 +0000 (15:00 +0000)]
2015-03-04  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb: Minor reformatting.
* init.c: Minor tweaks.

2015-03-04  Dmitriy Anisimko  <anisimko@adacore.com>

* a-coinho-shared.adb: Fix clear of already empty holder.

2015-03-04  Robert Dewar  <dewar@adacore.com>

* exp_unst.adb (Check_Dynamic_Type): Ignore library level types.
(Check_Uplevel_Reference_To_Type): Ignore call inside generic.
(Note_Uplevel_Reference): Ignore call inside generic.
(Note_Uplevel_Reference): Fix check for no entity field.
(Unnest_Subprogram): Ignore call inside generic.
(Find_Current_Subprogram): Use Defining_Entity, not Defining_Unit_Name.
(Visit_Node): Ignore calls to Imported subprograms.
(Visit_Node): Fix problem in finding subprogram body in some cases.
(Add_Form_To_Spec): Use Defining_Entity, not Defining_Unit_Name.

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

9 years ago2015-03-04 Robert Dewar <dewar@adacore.com>
charlet [Wed, 4 Mar 2015 14:56:45 +0000 (14:56 +0000)]
2015-03-04  Robert Dewar  <dewar@adacore.com>

* einfo.adb (Is_ARECnF_Entity): Removed.
(Last_Formal): Remove special handling of Is_ARECnF_Entity.
(Next_Formal): Remove special handling of Is_ARECnF_Entity.
(Next_Formal_With_Extras): Remove special handling of Is_ARECnF_Entity.
(Number_Entries): Minor reformatting.
* einfo.ads (Is_ARECnF_Entity): Removed.
* exp_unst.adb (Unnest_Subprogram): Remove setting of
Is_ARECnF_Entity.
(Add_Extra_Formal): Use normal Extra_Formal circuit.
* sprint.adb (Write_Param_Specs): Properly handle case where
there are no source formals, but we have at least one Extra_Formal
present.

2015-03-04  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Record_Aggregate,
Add_Discriminant_Values): If the value is a reference to the
current instance of an enclosing type, use its base type to check
against prefix of attribute reference, because the target type
may be otherwise constrained.

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

9 years ago * go.test/go-test.exp (go-gc-tests): Skip nilptr test on s390*.
ian [Wed, 4 Mar 2015 14:54:33 +0000 (14:54 +0000)]
* go.test/go-test.exp (go-gc-tests): Skip nilptr test on s390*.

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

9 years ago * config/rl78/rl78.h (enum reg_class): Remove real registers from
nickc [Wed, 4 Mar 2015 14:54:15 +0000 (14:54 +0000)]
* config/rl78/rl78.h (enum reg_class): Remove real registers from
General register class.
* config/rl78/rl78-real.md: Replace general register constraints
with real+virtual register constraints.

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

9 years agoS/390: Fix check for builtins valid with -mhtm
krebbel [Wed, 4 Mar 2015 14:43:14 +0000 (14:43 +0000)]
S/390: Fix check for builtins valid with -mhtm

* gcc/config/s390/s390.c (s390_expand_builtin): Exlude non-htm
builtins from checking for -mhtm option.

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

9 years ago2015-03-04 Robert Dewar <dewar@adacore.com>
charlet [Wed, 4 Mar 2015 11:51:48 +0000 (11:51 +0000)]
2015-03-04  Robert Dewar  <dewar@adacore.com>

* atree.h: Add entries for Flag287-Flag309.
* einfo.adb: Add (unused) flags Flag287-Flag309.

2015-03-04  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Collect_Interfaces, Collect): When gathering
interfaces of ancestors, handle properly a subtype of a private
extension.

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

9 years ago2015-03-04 Robert Dewar <dewar@adacore.com>
charlet [Wed, 4 Mar 2015 10:27:59 +0000 (10:27 +0000)]
2015-03-04  Robert Dewar  <dewar@adacore.com>

* einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
(Next_Formal): Don't return ARECnF formal.
(Last_Formal): Don't consider ARECnF formal.
(Next_Formal_With_Extras): Do consider ARECnF formal.
* einfo.ads (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
* exp_unst.adb (Create_Entities): Set Is_ARECnF_Entity flag.

2015-03-04  Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Expand_Simple_Function_Return): When the returned
object is a class-wide interface object and we generate the
accessibility described in RM 6.5(8/3) then displace the pointer
to the object to reference the base of the object (to get access
to the TSD of the object).

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

9 years ago2015-03-04 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 4 Mar 2015 10:20:23 +0000 (10:20 +0000)]
2015-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64227
* g++.dg/cpp1y/lambda-generic-ice1.C: New.

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

9 years ago2015-03-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 4 Mar 2015 10:01:40 +0000 (10:01 +0000)]
2015-03-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Abstract_State): Use routine
Malformed_State_Error to issue general errors.
(Analyze_Pragma): Diagnose a syntax error related to a state
declaration with a simple option.
(Malformed_State_Error): New routine.

2015-03-04  Robert Dewar  <dewar@adacore.com>

* a-strsup.adb (Super_Slice): Deal with super flat case.
* einfo.ads: Minor reformatting.
* s-imgdec.adb (Set_Decimal_Digits): Add comment about possibly
redundant code.

2015-03-04  Claire Dross  <dross@adacore.com>

* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
a-cforse.ads, a-cofove.ads: Use Default_Initial_Condition on formal
containers.

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

9 years agoFix permission.
charlet [Wed, 4 Mar 2015 09:59:38 +0000 (09:59 +0000)]
Fix permission.

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

9 years ago2015-03-04 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 4 Mar 2015 09:58:41 +0000 (09:58 +0000)]
2015-03-04  Ed Schonberg  <schonberg@adacore.com>

* sem_warn.adb (Check_References): When checking for an unused
in-out parameter of a class- wide type, use its type to determine
whether it is private, in order to avoid a spurious warning when
subprogram spec and body are in different units.

2015-03-04  Yannick Moy  <moy@adacore.com>

* sem_attr.adb: Improve warning messages.

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

9 years ago2015-03-04 Robert Dewar <dewar@adacore.com>
charlet [Wed, 4 Mar 2015 09:57:07 +0000 (09:57 +0000)]
2015-03-04  Robert Dewar  <dewar@adacore.com>

* exp_ch6.adb (Expand_N_Subprogram_Body): Avoid trying to unnest
generic subprograms.
* exp_unst.adb (Check_Dynamic_Type): Handle record types properly
(Note_Uplevel_Reference): Ignore uplevel references to non-types
(Get_Level): Consider only subprograms, not blocks.
(Visit_Node): Set proper condition for generating ARECnF entity.
Ignore indirect calls. Ignore calls to subprograms
outside our nest.
(Unnest_Subprogram): Minor changes in dealing with ARECnF entity.
(Add_Form_To_Spec): Properly set Last_Entity field.
(Unnest_Subprogram): Set current subprogram scope for analyze calls.
Handle case of no uplevel refs in outer subprogram
Don't mark uplevel entities as aliased.
Don't deal with calls with no ARECnF requirement.

2015-03-04  Robert Dewar  <dewar@adacore.com>

* s-valrea.adb (Scan_Real): Remove redundant tests from scaling loops.
* s-imgdec.adb (Set_Decimal_Digits): Remove redundant Max
operation in computing LZ.
* sem_attr.adb: Minor typo fix

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

9 years ago2015-03-04 Robert Dewar <dewar@adacore.com>
charlet [Wed, 4 Mar 2015 09:54:19 +0000 (09:54 +0000)]
2015-03-04  Robert Dewar  <dewar@adacore.com>

* exp_ch7.adb: Minor reformatting.
* exp_unst.adb (Build_Tables): Fix minor glitch for no separate
spec case.
* erroutc.adb (Delete_Msg): add missing decrement of info msg counter.

2015-03-04  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch6.adb (Build_Pragma_Check_Equivalent): Suppress
references to formal parameters subject to pragma Unreferenced.
(Suppress_Reference): New routine.
* sem_attr.adb (Analyze_Attribute): Reimplement the analysis
of attribute 'Old. Attributes 'Old and 'Result now share
common processing.
(Analyze_Old_Result_Attribute): New routine.
(Check_Placement_In_Check): Removed.
(Check_Placement_In_Contract_Cases): Removed.
(Check_Placement_In_Test_Case): Removed.
(Check_Use_In_Contract_Cases): Removed.
(Check_Use_In_Test_Case): Removed.
(In_Refined_Post): Removed.
(Is_Within): Removed.
* sem_warn.adb (Check_Low_Bound_Tested): Code cleanup.
(Check_Low_Bound_Tested_For): New routine.

2015-03-04  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration):
Generate a runtime check to test the expression of pragma
Default_Initial_Condition when the object is default initialized.

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

9 years ago[AArch64 Testsuite Obvious] Disable ipa-icf for testcases with common test bodies
jgreenhalgh [Wed, 4 Mar 2015 09:32:02 +0000 (09:32 +0000)]
[AArch64 Testsuite Obvious] Disable ipa-icf for testcases with common test bodies

gcc/testsuite/

* gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Add
-fno-ipa-icf to dg-options
* gcc.target/aarch64/vect_saddl_1.c: Likewise.
* gcc.target/aarch64/vect_smlal_1.c: Likewise.

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

9 years ago2015-03-04 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 4 Mar 2015 08:32:23 +0000 (08:32 +0000)]
2015-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64398
* g++.dg/cpp0x/decltype62.C: New.

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

9 years ago * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
hubicka [Wed, 4 Mar 2015 05:00:49 +0000 (05:00 +0000)]
* tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
(struct ipa_sra_check_caller_data): Add has_thunk field.
(ipa_sra_check_caller): Check for thunk.
(ipa_sra_preliminary_function_checks): Give up on function with
thunks.
(ipa_early_sra): Use call_for_symbol_and_aliases.

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

9 years agoDaily bump.
gccadmin [Wed, 4 Mar 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

9 years agoPR target/65249
kkojima [Tue, 3 Mar 2015 23:51:55 +0000 (23:51 +0000)]
PR target/65249
* config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
  called for __stack_chk_guard symbol.

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

9 years ago* config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
dj [Tue, 3 Mar 2015 21:57:40 +0000 (21:57 +0000)]
* config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
inc/dec.
(*addhi3_real): Likewise.
* config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
pattern to match incrementing memory.
* config/rl78/predicates.md (rl78_1_2_operand): New.
* config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
it's the same and only mem.
(rl78_alloc_physical_registers_op2): If there's effectively only
one MEM, transcode it into HL.
(rl78_far_p): Reject addresses that aren't legitimate.

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

9 years ago PR c++/65295
aldyh [Tue, 3 Mar 2015 18:14:24 +0000 (18:14 +0000)]
PR c++/65295
* constexpr.c (cxx_eval_constant_expression): Remove assert in
RESULT_DECL handling.

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

9 years ago2015-03-03 Iain Sandoe <iain@codesourcery.com>
redi [Tue, 3 Mar 2015 18:14:20 +0000 (18:14 +0000)]
2015-03-03  Iain Sandoe  <iain@codesourcery.com>

PR libstdc++/64883
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
visibility for Darwin.
* testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
also deprecated.
* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.

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

9 years ago * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
ebotcazou [Tue, 3 Mar 2015 17:56:07 +0000 (17:56 +0000)]
* fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
negating it.

* tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.

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

9 years agoImplement call0 ABI for xtensa
jcmvbkbc [Tue, 3 Mar 2015 17:44:01 +0000 (17:44 +0000)]
Implement call0 ABI for xtensa

call0 is an ABI that doesn't use register windows.

2015-03-03  Max Filippov  <jcmvbkbc@gmail.com>

gcc/
* config/xtensa/constraints.md ("a" constraint): Include stack
pointer in case of call0 ABI.
("q" constraint): Make empty in case of call0 ABI.
("D" constraint): Include stack pointer in case of call0 ABI.
* config/xtensa/xtensa-protos.h (xtensa_set_return_address,
xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
prototypes.
* config/xtensa/xtensa.c (xtensa_callee_save_size): New
variable.
(xtensa_regno_to_class): Make it a local variable in the
function xtensa_regno_to_class.
(xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
macro, function prototype and implementation.
(reg_nonleaf_alloc_order): Make it a local variable in the
function order_regs_for_local_alloc.
(xtensa_conditional_register_usage): New function.
(TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
(xtensa_valid_move): Allow direct moves to stack pointer
register in call0 ABI.
(xtensa_setup_frame_addresses): Only spill register windows in
windowed ABI.
(xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
call0 ABI respectively.
(xtensa_function_arg_1): Only mark a7 register for copying in
windowed ABI.
(xtensa_call_save_reg): New function.
(compute_frame_size): Add space for callee saved register
storage to the frame size in call0 ABI.
(xtensa_expand_prologue): Generate code to set up stack frame
and save callee-saved registers in call0 ABI.
(xtensa_expand_epilogue): New function.
(xtensa_set_return_address): New function.
(xtensa_return_addr): Calculate return address in call0 ABI.
(xtensa_builtin_saveregs): Only mark a7 register for copying and
emit copying code in windowed ABI.
(order_regs_for_local_alloc): Add preferred register allocation
order for non-leaf function in call0 ABI.
(xtensa_static_chain): Add atatic chain passing for call0 ABI.
(xtensa_asm_trampoline_template): Add trampoline generation for
call0 ABI.
(xtensa_trampoline_init): Add trampoline initialization for
call0 ABI.
(xtensa_conditional_register_usage, xtensa_regno_to_class): New
functions.
* config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
(TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
(CALL_USED_REGISTERS): Modify to encode both windowed and call0
ABI call-used registers.
(HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
(INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
call0 ABI.
(REG_CLASS_CONTENTS): Include all registers into the preferred
reload registers set, adjust the set in the
xtensa_conditional_register_usage.
(xtensa_regno_to_class): Drop variable declaration.
(REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
function.
(WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
respectively.
(FUNCTION_PROFILER): Add _mcount call for call0 ABI.
(TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
(RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
(ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
location in call0 ABI.
(EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
stack adjustment size when handling exception.
(CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
* config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
definitions.
("return" pattern): Generate ret.n/ret in call0 ABI.
("epilogue" pattern): Expand epilogue.
("nonlocal_goto" pattern): Use default in call0 ABI.
("eh_return" pattern): Move implementation to eh_set_a0_windowed,
emit eh_set_a0_* depending on ABI.
("eh_set_a0_windowed" pattern): Former eh_return pattern.
("eh_set_a0_call0", "blockage"): New patterns.

libgcc/
* config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
__xtensa_nonlocal_goto): Don't compile for call0 ABI.
(__xtensa_sync_caches): Only use entry and retw in windowed ABI,
use ret in call0 ABI.
* config/xtensa/t-windowed: New file.
* libgcc/config/xtensa/t-xtensa (LIB2ADDEH): Move to t-windowed.
* libgcc/configure: Regenerated.
* libgcc/configure.ac: Check if xtensa target is configured for
windowed ABI and thus needs to use custom unwind code.

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

9 years ago PR ipa/65287
hubicka [Tue, 3 Mar 2015 17:33:22 +0000 (17:33 +0000)]
PR ipa/65287
* gcc.dg/ipa/pr65287.c: New test.

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

9 years ago PR ipa/65287
hubicka [Tue, 3 Mar 2015 17:32:21 +0000 (17:32 +0000)]
PR ipa/65287
* ipa-icf.c (sem_variable::parse): Skip all alias variables.
* gcc.dg/ipa/pr65287.c: New test.

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

9 years ago2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 3 Mar 2015 17:04:01 +0000 (17:04 +0000)]
2015-03-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR 65138/target
* config/rs6000/rs6000-tables.opt: Regenerate table.

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

9 years ago * MAINTAINERS: Remove Paul Brook as a Fortran and ARM
law [Tue, 3 Mar 2015 16:41:55 +0000 (16:41 +0000)]
* MAINTAINERS: Remove Paul Brook as a Fortran and ARM
maintainer.
Remove Richard Henderson as a maintainer for the x86 port.

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

9 years ago[PATCH][DOC]Fix an obvious type in md.texi
renlin [Tue, 3 Mar 2015 15:55:27 +0000 (15:55 +0000)]
[PATCH][DOC]Fix an obvious type in md.texi

2015-03-03  Renlin Li  <renlin.li@arm.com>

gcc/

* doc/md.texi (@item ^): ChangeLog ? into ^.

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

9 years agoRegenerate doc/tm.texi
hjl [Tue, 3 Mar 2015 15:52:07 +0000 (15:52 +0000)]
Regenerate doc/tm.texi

* doc/tm.texi: Regenerated.

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

9 years agoTurn RETURN_ADDR_IN_PREVIOUS_FRAME into C expression
jcmvbkbc [Tue, 3 Mar 2015 15:04:02 +0000 (15:04 +0000)]
Turn RETURN_ADDR_IN_PREVIOUS_FRAME into C expression

This allows a target to support both windowed and non-windowed ABI.

2015-03-03  Max Filippov  <jcmvbkbc@gmail.com>

gcc/
* builtins.c (expand_builtin_return_addr): Add
RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
surrounding #ifdef.
* config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
definition to 1.
* config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
Likewise.
* defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
undefined.
* doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
paragraph.

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

9 years ago2015-03-03 Joern Rennecke <gnu@amylaar.uk>
amylaar [Tue, 3 Mar 2015 14:02:18 +0000 (14:02 +0000)]
2015-03-03  Joern Rennecke  <gnu@amylaar.uk>

        * MAINTAINERS (CPU Port Maintainers): Update my email address.

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

9 years ago2015-03-03 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 3 Mar 2015 13:58:15 +0000 (13:58 +0000)]
2015-03-03  Martin Jambor  <mjambor@suse.cz>
            Eric Botcazou  <ebotcazou@adacore.com>

gcc/
        * tree-sra.c (ipa_sra_check_caller_data): New type.
        (has_caller_p): Removed.
        (ipa_sra_check_caller): New function.
        (ipa_sra_preliminary_function_checks): Use it.

gcc/changelog/
        * gnat.dg/specs/pack12.ads: New test.

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

9 years agoICF: Use bit or instead of if branch.
marxin [Tue, 3 Mar 2015 12:10:57 +0000 (12:10 +0000)]
ICF: Use bit or instead of if branch.

* ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
instead of if branch.

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

9 years agoFix PR ipa/65282.
marxin [Tue, 3 Mar 2015 12:09:13 +0000 (12:09 +0000)]
Fix PR ipa/65282.

* gcc.dg/ipa/PR65282.c: New test.
PR ipa/65282
* ipa-icf.c (sem_variable::equals): Fix wrong condition.

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

9 years ago PR tree-optimization/65241
law [Tue, 3 Mar 2015 11:54:49 +0000 (11:54 +0000)]
PR tree-optimization/65241
* tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
hash table if INSERT is true.

PR tree-optimization/65241
* gcc.c-torture/compile/pr65241.c: New test.

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

9 years ago PR target/65296
gjl [Tue, 3 Mar 2015 11:31:05 +0000 (11:31 +0000)]
PR target/65296
* config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.

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

9 years agogcc/
gjl [Tue, 3 Mar 2015 11:25:04 +0000 (11:25 +0000)]
gcc/
PR target/64331
* config/avr/avr.c (context.h, tree-pass.h): Include them.
(avr_pass_data_recompute_notes): New static variable.
(avr_pass_recompute_notes): New class.
(avr_register_passes): New static function.
(avr_option_override): Call it.
gcc/testsuite/
PR target/64331
* gcc.target/avr/torture/pr64331.c: New test.

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

9 years agogcc/
gjl [Tue, 3 Mar 2015 11:03:16 +0000 (11:03 +0000)]
gcc/
Fix various problems with specs file generation.
PR target/65296
* config.gcc (extra_gcc_objs) [avr]: Remove.
* config/avr/driver-avr.c: Remove file.
* config/avr/t-avr (driver-avr.o): Remove rule.
(gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
INCLUDES to build.  Depend on TM_H.
* config/avr/gen-avr-mmcu-specs.c: Tidy up code.  Fix various
build warnings.  Fix non-matching types and non-existing %-codes.
(tm.h): Include.
(*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
(*libgcc) [WITH_AVRLIBC]: Add "-lm".
* config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
* config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
(CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
(LIBGCC_SPEC): Remove definitions.

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

9 years ago * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
ebotcazou [Tue, 3 Mar 2015 10:41:00 +0000 (10:41 +0000)]
* config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
to create a register in testing mode.

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

9 years agoFix PR ipa/65263.
marxin [Tue, 3 Mar 2015 09:26:20 +0000 (09:26 +0000)]
Fix PR ipa/65263.

PR ipa/65263
* cgraph.c (cgraph_node::has_thunk_p): New function.
* cgraph.h (cgraph_node::has_thunk_p: Likewise.
* ipa-icf.c (redirect_all_callers): Do not redirect thunks.
(sem_function::merge): Assert is changed.
* g++.dg/ipa/pr65263.C: New test.

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

9 years agoFix PR ipa/65087.
marxin [Tue, 3 Mar 2015 09:21:56 +0000 (09:21 +0000)]
Fix PR ipa/65087.

PR ipa/65087
* ipa-icf.c (sem_item_optimizer::execute): Change function
return value to boolean.
(sem_item_optimizer::merge_classes): Likewise.
(ipa_icf_driver): Return TODO_remove_functions in case there's
a merge operation processed.
* ipa-icf.h: Change function return value to boolean.

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

9 years ago2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 3 Mar 2015 00:59:56 +0000 (00:59 +0000)]
2015-03-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR 65138/target
* config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
processor type for 64-bit little endian PowerPC.

* config/rs6000/rs6000.c (rs6000_option_override_internal): If
-mdebug=reg, print TARGET_DEFAULT.  Fix logic to use
TARGET_DEFAULT if there is no default cpu.  Fix -mdebug=reg
printing built-in mask so it does not pass NULL pointers.

* doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
-mcpu=powerpc64le.

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

9 years agoDaily bump.
gccadmin [Tue, 3 Mar 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago2015-03-02 Steve Ellcey <sellcey@imgtec.com>
sje [Tue, 3 Mar 2015 00:07:19 +0000 (00:07 +0000)]
2015-03-02  Steve Ellcey  <sellcey@imgtec.com>

PR target/58158
* config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
!ISA_HAS_FP_CONDMOVE.

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

9 years ago * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
aldyh [Mon, 2 Mar 2015 23:52:42 +0000 (23:52 +0000)]
* config/i386/i386.md (*udivmod<mode>4_pow2): Remove
reload_completed.

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

9 years ago * doc/invoke.texi (Options for Code Generation Conventions):
drepper [Mon, 2 Mar 2015 20:44:41 +0000 (20:44 +0000)]
    * doc/invoke.texi (Options for Code Generation Conventions):
        Fix URL of DSO paper.

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

9 years ago PR ipa/65130
hubicka [Mon, 2 Mar 2015 20:31:21 +0000 (20:31 +0000)]
PR ipa/65130
* ipa-inline.c (check_callers): Looks for recursion.
(inline_to_all_callers): Give up on uninlinable or recursive edges.
* ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
summary of inline clones.
(do_estimate_growth_1): Fix recursion check.

* gcc.dg/lto/pr65130_0.c: New testcase.
* gcc.dg/lto/pr65130_1.c: New testcase.

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

9 years ago PR ipa/64988
hubicka [Mon, 2 Mar 2015 20:10:56 +0000 (20:10 +0000)]
PR ipa/64988
* ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
comdat groups.
* g++.dg/torture/pr64988.C: New testcase.

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

9 years ago2015-03-02 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 2 Mar 2015 18:56:51 +0000 (18:56 +0000)]
2015-03-02  Tobias Burnus  <burnus@net-b.de>

        * check.c (gfc_check_atomic): Properly check for coarrayness
        and for being coindexed.

2015-03-02  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_atomic_6.f90: New.

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

9 years ago PR lto/65276
aldyh [Mon, 2 Mar 2015 18:43:56 +0000 (18:43 +0000)]
PR lto/65276
* ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
when checking TYPE_BINFO.

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

9 years ago PR libgcc/64885
redi [Mon, 2 Mar 2015 18:02:18 +0000 (18:02 +0000)]
PR libgcc/64885
* gthr-single.h: Use __unused__ attribute instead of unused.
* config/gthr-vxworks.h: Likewise.
* config/i386/gthr-win32.h: Likewise.

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

9 years ago PR libstdc++/65279
redi [Mon, 2 Mar 2015 17:50:55 +0000 (17:50 +0000)]
PR libstdc++/65279
* include/std/scoped_allocator (__inner_type_impl,
scoped_allocator_adaptor): Add defaulted copy assignment and move
assignment operators.
* testsuite/20_util/scoped_allocator/65279.cc: New.

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

9 years ago PR libstdc++/64367
redi [Mon, 2 Mar 2015 16:50:24 +0000 (16:50 +0000)]
PR libstdc++/64367
* include/std/stdexcept (__sso_string): Don't use non-static member
in sizeof.

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

9 years ago2015-03-02 Richard Biener <rguenther@suse.de>
rguenth [Mon, 2 Mar 2015 14:31:46 +0000 (14:31 +0000)]
2015-03-02  Richard Biener  <rguenther@suse.de>

PR ipa/65270
* ipa-icf-gimple.c: Include builtins.h.
(func_checker::compare_memory_operand): Compare base alignment.

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

9 years ago2015-03-02 Robert Dewar <dewar@adacore.com>
charlet [Mon, 2 Mar 2015 13:49:31 +0000 (13:49 +0000)]
2015-03-02  Robert Dewar  <dewar@adacore.com>

* scng.adb (Scan): Ignore illegal character in relaxed
semantics mode.

2015-03-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Set_Membership); Retain Overloaded flag
on left operand, so it can be properly resolved with type of
alternatives of right operand.
* sem_res.adb (Resolve_Set_Membership): Handle properly an
overloaded left-hand side when the alternatives on the right
hand side are literals of some universal type. Use first
non-overloaded alternative to find expected type.

2015-03-02  Ed Schonberg  <schonberg@adacore.com>

* exp_ch7.adb (Make_Set_Finalize_Address_Call): Use underlying
type to retrieve designated type, because the purported access
type may be a partial (private) view, when it is declared in
the private part of a nested package, and finalization actions
are generated when completing compilation of enclosing unit.

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

9 years ago2015-03-02 Robert Dewar <dewar@adacore.com>
charlet [Mon, 2 Mar 2015 11:24:33 +0000 (11:24 +0000)]
2015-03-02  Robert Dewar  <dewar@adacore.com>

* back_end.adb (Call_Back_End): Remove previous patch,
the back end now gets to see the result of -gnatd.1
(Unnest_Subprogram_Mode) processing.
* elists.ads, elists.adb (List_Length): New function.
* exp_unst.ads, exp_unst.adb: Major changes, first complete version.
* sem_util.adb (Check_Nested_Access): Handle formals in
Unnest_Subprogram_Mode.
(Adjust_Named_Associations): Minor reformatting.
* sprint.adb (Sprint_Node_Actual): Fix failure to print aliased
for parameters.

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

9 years ago2015-03-02 Robert Dewar <dewar@adacore.com>
charlet [Mon, 2 Mar 2015 11:20:29 +0000 (11:20 +0000)]
2015-03-02  Robert Dewar  <dewar@adacore.com>

* atree.ads, atree.adb (Uint24): New function
(Set_Uint24): New procedure.
* atree.h (Uint24): New macro for field access.
* back_end.adb (Call_Back_End): For now, don't call back end
if unnesting subprogs.
* einfo.adb (Activation_Record_Component): New field
(Subps_Index): New field.
* einfo.ads (Activation_Record_Component): New field
(Subps_Index): New field Minor reordering of comments into alpha order.
* exp_unst.ads, exp_unst.adb: Continued development.

2015-03-02  Gary Dismukes  <dismukes@adacore.com>

* exp_disp.ads: Minor reformatting.

2015-03-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Chain_Use_Clause): Do not chain use clause from
ancestor to list of use clauses active in descendant unit if we
are within the private part of an intervening parent, to prevent
circularities in use clause list.

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

9 years ago2015-03-02 Javier Miranda <miranda@adacore.com>
charlet [Mon, 2 Mar 2015 11:11:01 +0000 (11:11 +0000)]
2015-03-02  Javier Miranda  <miranda@adacore.com>

* exp_ch9.adb (Build_Corresponding_Record): Propagate type
invariants to the corresponding record type.
* exp_disp.ad[sb] (Set_DT_Position_Value): New subprogram
which sets the value of the DTC_Entity associated with a given
primitive of a tagged type and propagates the value to the
wrapped subprogram.
(Set_DTC_Entity_Value): Propagate the DTC
value to the wrapped entity.
* sem_ch13.adb (Build_Invariant_Procedure): Append the code
associated with invariants of progenitors.
* sem_ch3.adb (Build_Derived_Record_Type): Inherit type invariants
of parents and progenitors.
(Process_Full_View): Check hidden inheritance of class-wide type
invariants.
* sem_ch7.adb (Analyze_Package_Specification): Do not generate
the invariant procedure for interface types; build the invariant
procedure for tagged types inheriting invariants from their
progenitors.
* sem_prag.adb (Pragma_Invariant) Allow invariants in interface
types but do not build their invariant procedure since their
invariants will be propagated to the invariant procedure of
types covering the interface.
* exp_ch6.adb, exp_disp.adb, sem_ch3.adb, sem_ch7.adb,
sem_ch8.adb, sem_disp.adb: Replace all calls to Set_DT_Position
by calls to Set_DT_Position_Value.

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

9 years ago2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 2 Mar 2015 11:09:11 +0000 (11:09 +0000)]
2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_attr.adb (Analyze_Attribute): Factor out heavily indented
code in Denote_Same_Function.  Do not analyze attribute 'Result
when it is inside procedure _Postconditions.  Remove a misplaced
warning diagnostic. Code cleanup.
(Denote_Same_Function): New routine.
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Code
cleanup. Warn on pre/postconditions on an inlined subprogram.
(Analyze_Pragma, Refined_Post case): Warn on pre/postconditions on
an inlined subprogram.
(Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. Warn on
pre/post condition on an inlined subprogram.
(Analyze_Test_Case_In_Decl_Part): Code cleanup. Warn on
pre/postconditions on an inlined subprogram.
(Check_Postcondition_Use_In_Inlined_Subprogram): New routine.

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

9 years ago2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 2 Mar 2015 11:07:34 +0000 (11:07 +0000)]
2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Ensure_Aggregate_Form):
Ensure that the name denoted by the Chars of a pragma argument
association has the proper Sloc when converted into an aggregate.

2015-03-02  Bob Duff  <duff@adacore.com>

* sem_ch6.adb (Check_Private_Overriding): Capture
Incomplete_Or_Partial_View in a constant. This is cleaner and
more efficient.

2015-03-02  Gary Dismukes  <dismukes@adacore.com>

* einfo.ads, exp_unst.ads: Minor reformatting.

2015-03-02  Ed Schonberg  <schonberg@adacore.com>

* a-strsea.adb (Find_Token): Ensure that the range of iteration
does not perform any improper character access. This prevents
erroneous access in the unusual case of an empty string target
and a From parameter less than Source'First.

2015-03-02  Robert Dewar  <dewar@adacore.com>

* elists.adb (List_Length): Fix incorrect result.

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

9 years ago2015-03-02 Bob Duff <duff@adacore.com>
charlet [Mon, 2 Mar 2015 11:05:03 +0000 (11:05 +0000)]
2015-03-02  Bob Duff  <duff@adacore.com>

* sem_ch6.adb (Check_Private_Overriding): Refine the legality
checks here. It used to check that the function is merely
overriding SOMEthing. Now it checks that the function is
overriding a corresponding public operation. This is a correction
to the implementation of the rule in RM-3.9.3(10).

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

9 years ago2015-03-02 Robert Dewar <dewar@adacore.com>
charlet [Mon, 2 Mar 2015 11:03:29 +0000 (11:03 +0000)]
2015-03-02  Robert Dewar  <dewar@adacore.com>

* debug.adb: Document new debug flag -gnatd.1.
* einfo.ads, einfo.adb (Has_Nested_Subprogram): New flag.
(Has_Uplevel_Reference): New flag (Is_Static_Type): New flag.
(Uplevel_Reference_Noted):New flag (Uplevel_References): New field.
* elists.ads elists.adb (List_Length): New function.
* exp_ch6.adb (Expand_N_Subprogram_Body): Call Unnest_Subprogram
when appropriate (Process_Preconditions): Minor code
reorganization and reformatting
* exp_unst.ads, exp_unst.adb: New files.
* gnat1drv.adb (Adjust_Global_Switches): Set
Unnest_Subprogram_Mode if -gnatd.1
* namet.ads, namet.adb (Name_Find_Str): New version of Name_Find with
string argument.
* opt.ads (Unnest_Subprogram_Mode): New flag.
* par-ch3.adb (P_Identifier_Declarations): Fixes to -gnatd.2 handling.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set
Has_Nested_Subprogram flag.
* sem_ch8.adb (Find_Direct_Name): New calling sequence for
Check_Nested_Access.
(Find_Selected_Component): Minor comment addition.
* sem_util.adb (Check_Nested_Access): New version for use with Exp_Unst.
(Note_Possible_Modification): New calling sequence for
Check_Nested_Access.
* sem_util.ads (Check_Nested_Access): New version for use with Exp_Unst.
* gcc-interface/Make-lang.in (GNAT1_OBJS): Add exp_unst.o

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

9 years ago2015-03-02 Pierre-Marie de Rodat <derodat@adacore.com>
charlet [Mon, 2 Mar 2015 10:59:32 +0000 (10:59 +0000)]
2015-03-02  Pierre-Marie de Rodat  <derodat@adacore.com>

* gcc-interface/utils.c (gnat_pushdecl): For non-artificial pointer
types, preserve the original type and create copies just like the C
front-end does.  For artificial ones, do not define a name for
the original type.
(create_type_decl): When gnat_pushdecl made the input type the
original type for the new declaration, do not define a stub
declaration for it.
* gcc-interface/utils2.c (build_binary_op): Accept two different
pointer types when they point to the same type.

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

9 years ago2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 2 Mar 2015 10:52:59 +0000 (10:52 +0000)]
2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.adb (Possible_Bit_Aligned_Component): Do not process
an unanalyzed node.
* sem_util.adb (Kill_Current_Values): Do not invalidate and
de-null a constant.

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

9 years agogcc/
ienkovich [Mon, 2 Mar 2015 10:47:54 +0000 (10:47 +0000)]
gcc/

PR target/65184
* gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
are never passed by reference.

gcc/testsuite/

PR target/65184
* gcc.target/i386/pr65184.c: New.

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

9 years agogcc/
ienkovich [Mon, 2 Mar 2015 10:41:09 +0000 (10:41 +0000)]
gcc/

PR target/65183
* tree-chkp.c (chkp_check_lower): Don't check against
zero bounds for already instrumented functions.
(chkp_check_upper): Likewise.
(chkp_fini): Clean pass local data to avoid wrong reusage.

gcc/testsuite/

PR target/65183
* gcc.target/i386/pr65183.c: New.

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

9 years ago * MAINTAINERS (Various Maintainers): Add myself as libmpx,
ienkovich [Mon, 2 Mar 2015 10:17:26 +0000 (10:17 +0000)]
* MAINTAINERS (Various Maintainers): Add myself as libmpx,
pointer bounds checker and i386 MPX maintainer.

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

9 years ago2015-03-02 Robert Dewar <dewar@adacore.com>
charlet [Mon, 2 Mar 2015 09:28:56 +0000 (09:28 +0000)]
2015-03-02  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, exp_attr.adb, checks.adb, exp_aggr.adb: Minor
reformatting.

2015-03-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb: extend use of Available_Subtype.

2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Duplication_Error): Remove the special handling
of 'Class or _Class in the context of pre/postconditions.
(Process_Class_Wide_Condition): Remove the special handling of
'Class or _Class in the context of pre/postconditions.
* sem_util.adb (Original_Aspect_Pragma_Name): Names Pre_Class
and Post_Class no longer need to be converted to _Pre and _Post.
* sem_util.ads (Original_Aspect_Pragma_Name): Update the comment
on usage.

2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch6.adb (Process_Preconditions): Modify the
mechanism that find the first source declaration to correct exit
the loop once it has been found.

2015-03-02  Gary Dismukes  <dismukes@adacore.com>

* a-strsea.adb: Minor typo fix.

2015-03-02  Bob Duff  <duff@adacore.com>

* einfo.ads: Minor comment fixes.

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

9 years ago2015-03-02 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 2 Mar 2015 09:26:39 +0000 (09:26 +0000)]
2015-03-02  Gary Dismukes  <dismukes@adacore.com>

* einfo.adb, checks.adb: Minor reformatting and typo fixes.

2015-03-02  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Get_Assoc_Expr): If the Default_Component_Value
is defined for the array type, use it instead of a Default_Value
specified for the component type itself.

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

9 years ago2015-03-02 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 2 Mar 2015 09:24:38 +0000 (09:24 +0000)]
2015-03-02  Thomas Quinot  <quinot@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, case Input): When
expanding a 'Input attribute reference for a class-wide type,
do not generate a separate object declaration for the controlling
tag dummy object; instead, generate the expression inline in the
dispatching call. Otherwise, the declaration (which involves a
call to String'Input, returning a dynamically sized value on the
secondary stack) will be expanded outside of proper secondary
stack mark/release operations, and will thus cause a secondary
stack leak.

2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Add_Validity_Check): Change the names of all
formal parameters to better illustrate their purpose. Update
the subprogram documentation. Update all occurrences of the
formal parameters. Generate a pre/postcondition pragma by
calling Build_Pre_Post_Condition.
(Build_PPC_Pragma): Removed.
(Build_Pre_Post_Condition): New routine.
* einfo.adb Node8 is no longer used as Postcondition_Proc. Node14
is now used as Postconditions_Proc. Flag240 is now renamed to
Has_Expanded_Contract. (First_Formal): The routine can now
operate on generic subprograms.
(First_Formal_With_Extras): The routine can now operate on generic
subprograms.
(Has_Expanded_Contract): New routine.
(Has_Postconditions): Removed.
(Postcondition_Proc): Removed.
(Postconditions_Proc): New routine.
(Set_Has_Expanded_Contract): New routine.
(Set_Has_Postconditions): Removed.
(Set_Postcondition_Proc): Removed.
(Set_Postconditions_Proc): New routine.
(Write_Entity_Flags): Remove the output of Has_Postconditions. Add
the output of Has_Expanded_Contract.
(Write_Field8_Name): Remove the output of Postcondition_Proc.
(Write_Field14_Name): Add the output of Postconditions_Proc.
* einfo.ads New attributes Has_Expanded_Contract and
Postconditions_Proc along with occurrences in entities.
Remove attributes Has_Postconditions and Postcondition_Proc
along with occurrences in entities.
(Has_Expanded_Contract): New routine along with pragma Inline.
(Has_Postconditions): Removed along with pragma Inline.
(Postcondition_Proc): Removed along with pragma Inline.
(Postconditions_Proc): New routine along with pragma Inline.
(Set_Has_Expanded_Contract): New routine along with pragma Inline.
(Set_Has_Postconditions): Removed along with pragma Inline.
(Set_Postcondition_Proc): Removed along with pragma Inline.
(Set_Postconditions_Proc): New routine along with pragma Inline.
* exp_ch6.adb (Add_Return): Code cleanup. Update the
generation of the call to the _Postconditions routine of
the procedure. (Expand_Non_Function_Return): Reformat the
comment on usage. Code cleanup.  Update the generation of
the call to the _Postconditions routine of the procedure or
entry [family].
(Expand_Simple_Function_Return): Update the
generation of the _Postconditions routine of the function.
(Expand_Subprogram_Contract): Reimplemented.
* exp_ch6.ads (Expand_Subprogram_Contract): Update the parameter
profile along the comment on usage.
* exp_ch9.adb (Build_PPC_Wrapper): Code cleanup.
(Expand_N_Task_Type_Declaration): Generate pre/postconditions
wrapper when the entry [family] has a contract with
pre/postconditions.
* exp_prag.adb (Expand_Attributes_In_Consequence): New routine.
(Expand_Contract_Cases): This routine and its subsidiaries now
analyze all generated code.
(Expand_Old_In_Consequence): Removed.
* sem_attr.adb Add with and use clause for Sem_Prag.
(Analyze_Attribute): Reimplment the analysis of attribute 'Result.
(Check_Use_In_Test_Case): Use routine Test_Case_Arg to obtain
"Ensures".
* sem_ch3.adb (Analyze_Declarations): Analyze the contract of
a generic subprogram.
(Analyze_Object_Declaration): Do not create a contract node.
(Derive_Subprogram): Do not create a contract node.
* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Do
not create a contract node.
(Analyze_Completion_Contract): New routine.
(Analyze_Function_Return): Alphabetize.
(Analyze_Generic_Subprogram_Body): Alphabetize. Do not create a
contract node. Do not copy pre/postconditions to the original
generic template.
(Analyze_Null_Procedure): Do not create a contract node.
(Analyze_Subprogram_Body_Contract): Reimplemented.
(Analyze_Subprogram_Body_Helper): Do not mark the enclosing scope
as having postconditions. Do not create a contract node. Analyze
the subprogram body contract of a body that acts as a compilation
unit. Expand the subprogram contract after the declarations have
been analyzed.
(Analyze_Subprogram_Contract): Reimplemented.
(Analyze_Subprogram_Specification): Do not create a contract node.
(List_Inherited_Pre_Post_Aspects): Code cleanup.
* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Update the
comment on usage.
(Analyze_Subprogram_Contract): Update the
parameter profile and the comment on usage.
* sem_ch7.adb (Analyze_Package_Body_Helper): Do not create a
contract node.
(Analyze_Package_Declaration): Do not create a
contract node.
(Is_Subp_Or_Const_Ref): Ensure that the prefix has an entity.
* sem_ch8.adb (Analyze_Subprogram_Renaming): Do not create a
contract node.
* sem_ch9.adb (Analyze_Entry_Declaration): Do not create a
contract node.
* sem_ch10.adb (Analyze_Compilation_Unit): Move local variables to
their proper section and alphabetize them. Analyze the contract of
a [generic] subprogram after all Pragmas_After have been analyzed.
(Analyze_Subprogram_Body_Stub_Contract): Alphabetize.
* sem_ch12.adb (Analyze_Generic_Package_Declaration): Do not
create a contract node.
(Analyze_Generic_Subprogram_Declaration):
Alphabetize local variables. Do not create a contract
node. Do not generate aspects out of pragmas for ASIS.
(Analyze_Subprogram_Instantiation): Instantiate
the contract of the subprogram.  Do not create a
contract node. (Instantiate_Contract): New routine.
(Instantiate_Subprogram_Body): Alphabetize local variables.
(Save_Global_References_In_Aspects): New routine.
(Save_References): Do not save the global references found within
the aspects of a generic subprogram.
* sem_ch12.ads (Save_Global_References_In_Aspects): New routine.
* sem_ch13.adb (Analyze_Aspect_Specifications): Do not use
Original_Node for establishing linkages.
(Insert_Pragma): Insertion in a subprogram body takes precedence over
the case where the subprogram body is also a compilation unit.
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Use
Get_Argument to obtain the proper expression. Install the generic
formals when the related context is a generic subprogram.
(Analyze_Depends_In_Decl_Part): Use Get_Argument to obtain
the proper expression. Use Corresponding_Spec_Of to obtain
the spec. Install the generic formal when the related context
is a generic subprogram.
(Analyze_Global_In_Decl_Part): Use Get_Argument to obtain the proper
expression. Use Corresponding_Spec_Of to obtain the spec. Install the
generic formal when the related context is a generic subprogram.
(Analyze_Initial_Condition_In_Decl_Part): Use Get_Argument
to obtain the proper expression. Remove the call to
Check_SPARK_Aspect_For_ASIS as the analysis is now done
automatically.
(Analyze_Pragma): Update all occurrences
to Original_Aspect_Name. Pragmas Contract_Cases, Depends,
Extensions_Visible, Global, Postcondition, Precondition and
Test_Case now carry generic templates when the related context
is a generic subprogram. The same pragmas are no longer
forcefully fully analyzed when the context is a subprogram
that acts as a compilation unit. Pragmas Abstract_State,
Initial_Condition, Initializes and Refined_State have been clean
up. Pragmas Post, Post_Class, Postcondition, Pre, Pre_Class
and Precondition now use the same routine for analysis. Pragma
Refined_Post does not need to check the use of 'Result or
the lack of a post-state in its expression. Reimplement the
analysis of pragma Test_Case.
(Analyze_Pre_Post_Condition): New routine.
(Analyze_Pre_Post_Condition_In_Decl_Part):
Reimplemented.
(Analyze_Refined_Depends_In_Decl_Part): Use Get_Argument to obtain the
proper expression.
(Analyze_Refined_Global_In_Decl_Part): Use Get_Argument to obtain
the proper expression.
(Analyze_Test_Case_In_Decl_Part): Reimplemented.
(Check_Pre_Post): Removed.
(Check_Precondition_Postcondition): Removed.
(Check_SPARK_Aspect_For_ASIS): Removed.
(Check_Test_Case): Removed.
(Collect_Subprogram_Inputs_Outputs): Use Get_Argument
to obtain the proper expression. Use Corresponding_Spec_Of to
find the proper spec.
(Create_Generic_Template): New routine.
(Duplication_Error): New routine.
(Expression_Function_Error): New routine.
(Find_Related_Subprogram_Or_Body): Moved to the spec
of Sem_Prag. Emit precise error messages. Account for cases of
rewritten expression functions, generic instantiations, handled
sequence of statements and pragmas from aspects.
(Get_Argument): New routine.
(Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed.
(Preanalyze_CTC_Args): Removed.
(Process_Class_Wide_Condition): New routine.
* sem_prag.ads (Analyze_Test_Case_In_Decl_Part): Update
the parameter profile along with the comment on usage.
(Find_Related_Subprogram_Or_Body): Moved from the body of Sem_Prag.
(Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed.
(Test_Case_Arg): New routine.
* sem_util.adb Add with and use clauses for Sem_Ch6.
(Add_Contract_Item): This routine now creates a contract
node the first time an item is added. Remove the duplicate
aspect/pragma checks.
(Check_Result_And_Post_State): Reimplemented.
(Corresponding_Spec_Of): New routine.
(Get_Ensures_From_CTC_Pragma): Removed.
(Get_Requires_From_CTC_Pragma): Removed.
(Has_Significant_Contract): New routine.
(Inherit_Subprogram_Contract): Inherit only if the source
has a contract.
(Install_Generic_Formals): New routine.
(Original_Aspect_Name): Removed.
(Original_Aspect_Pragma_Name): New routine.
* sem_util.ads (Check_Result_And_Post_State): Reimplemented.
(Corresponding_Spec_Of): New routine.
(Get_Ensures_From_CTC_Pragma): Removed.
(Get_Requires_From_CTC_Pragma): Removed.
(Has_Significant_Contract): New routine.
(Install_Generic_Formals): New routine.
(Original_Aspect_Name): Removed.
(Original_Aspect_Pragma_Name): New routine.
* sem_warn.adb Add with and use clauses for Sem_Prag.
(Within_Postcondition): Use Test_Case_Arg to extract "Ensures".

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

9 years ago2015-03-02 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 2 Mar 2015 09:07:01 +0000 (09:07 +0000)]
2015-03-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Available_Subtype): Optimization in
Find_Selected_Component: when safe, use existing subtype of
array component, possibly discriminant-dependent, rather than
creating new subtype declaration for it. In this fashion different
occurrences of the component have the same subtype, rather than
just equivalent ones. Simplifies value tracing in GNATProve.

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

9 years ago2015-02-28 Martin Liska <mliska@suse.cz>
hubicka [Mon, 2 Mar 2015 07:51:28 +0000 (07:51 +0000)]
2015-02-28  Martin Liska  <mliska@suse.cz>
    Jan Hubicka   <hubicka@ucw.cz>

* ipa-icf.c (sem_variable::equals): Improve debug output;
get variable constructor.
(sem_variable::parse): Do not filter out too early; give up on
volatile and register vars.
(sem_item_optimizer::filter_removed_items): Filter out nonreadonly
variables.
* ipa-icf.h (sem_variable::init): Do not set ctor.
(sem_variable::ctor): Remove.

gcc/testsuite/ChangeLog:

2015-02-28  Martin Liska  <mliska@suse.cz>
    Jan Hubicka   <hubicka@ucw.cz>

* gcc.dg/ipa/ipa-icf-35.c: New test.
* gcc.dg/ipa/ipa-icf-36.c: New test.
* gcc.dg/ipa/ipa-icf-37.c: New test.

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

9 years ago PR middle-end/65233
aldyh [Mon, 2 Mar 2015 05:22:03 +0000 (05:22 +0000)]
PR middle-end/65233
* ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.

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

9 years ago * ipa-icf.c: Include stor-layout.h
hubicka [Mon, 2 Mar 2015 00:54:46 +0000 (00:54 +0000)]
* ipa-icf.c: Include stor-layout.h
(sem_function::compare_cgraph_references): Rename to ...
(sem_item::compare_cgraph_references): ... this one.
(sem_variable::equals_wpa): New function
(sem_variable::equals): Do not check stuff already verified by
equals_wpa.
(sem_variable::equals): Reorg based on varasm.c:compare_constant.
* ipa-icf.h (sem_item): Add compare_cgraph_references.
(sem_function): Remove compare_cgraph_references.
(sem_variable): Turns equals_wpa into non-inline.

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

9 years agoDaily bump.
gccadmin [Mon, 2 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
hubicka [Sun, 1 Mar 2015 22:22:26 +0000 (22:22 +0000)]
* ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
(sem_item::add_expr): New function.
(sem_function::hash_stmt): Handle operands of most statements.
(sem_variable::get_hash): Hash the actual constructor.
* ipa-icf.h (sem_item): Add add_expr.
(sem_function): Update prototype of hash_stmt

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

9 years ago * sv.po: Update.
jsm28 [Sun, 1 Mar 2015 22:13:09 +0000 (22:13 +0000)]
* sv.po: Update.

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

9 years ago2015-02-28 Martin Liska <mliska@suse.cz>
hubicka [Sun, 1 Mar 2015 20:23:21 +0000 (20:23 +0000)]
2015-02-28  Martin Liska  <mliska@suse.cz>
    Jan Hubicka   <hubicka@ucw.cz>

PR ipa/65245
* ipa-icf-gimple.c (func_checker::compare_function_decl):
Remove.
(func_checker::compare_variable_decl): Skip symtab vars.
(func_checker::compare_cst_or_decl): Update.
* ipa-icf.c (sem_function::parse): Do not consider aliases.
(sem_function::compare_cgraph_references): Add ADDRESS parameter;
use correct symtab predicates.
(sem_function::equals_wpa): Update uses of compare_cgraph_references.
(sem_variable::parse):  Update comment.
(sem_item_optimizer::build_graph): Consider ultimate aliases
for references.

* gcc.dg/ipa/ipa-icf-34.c: New test.

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

9 years agogcc/testsuite/
olegendo [Sun, 1 Mar 2015 18:47:38 +0000 (18:47 +0000)]
gcc/testsuite/
PR target/61142
* gcc.target/sh/sh/pr61142.c: New.

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

9 years ago * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
ebotcazou [Sun, 1 Mar 2015 18:27:48 +0000 (18:27 +0000)]
* c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
(dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
DECL_TEMPLATE_RESULT emulations.
(dump_ada_template)): Add guard for TYPE_METHODS.

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

9 years ago PR ada/65259
charlet [Sun, 1 Mar 2015 10:16:20 +0000 (10:16 +0000)]
    PR ada/65259

* doc/gnat_ugn/gnat_project_manager.rst,
doc/gnat_ugn/platform_specific_information.rst: Remove reference to
image, too troublesome with texi format.
* gnat_ugn.texi: Regenerate.

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

9 years ago * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
hubicka [Sun, 1 Mar 2015 01:10:32 +0000 (01:10 +0000)]
* ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
of OBJ_TYPE_REF.

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

9 years ago * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
hubicka [Sun, 1 Mar 2015 01:09:25 +0000 (01:09 +0000)]
* ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
(sem_variable::merge) Likewise.

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