]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years ago2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com>
ksejdak [Thu, 23 Jun 2016 07:32:58 +0000 (07:32 +0000)] 
2016-06-23  Jakub Sejdak  <jakub.sejdak@phoesys.com>

   * config.host: Add suport for arm*-*-phoenix* targets.

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

9 years ago2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com>
ksejdak [Thu, 23 Jun 2016 07:28:17 +0000 (07:28 +0000)] 
2016-06-23  Jakub Sejdak  <jakub.sejdak@phoesys.com>

* config.gcc: Add support for arm*-*-phoenix* targets.
* config/arm/t-phoenix: New.
* config/phoenix.h: New.

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

9 years ago2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com>
ksejdak [Thu, 23 Jun 2016 07:12:16 +0000 (07:12 +0000)] 
2016-06-23  Jakub Sejdak  <jakub.sejdak@phoesys.com>

    * configure.ac: Disable libgcj and libgloss for Phoenix-RTOS targets.
    * configure: Regenerate.

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

9 years agoDaily bump.
gccadmin [Thu, 23 Jun 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago * testsuite/ChangeLog: Whitespace fixes.
uros [Wed, 22 Jun 2016 22:13:41 +0000 (22:13 +0000)] 
* testsuite/ChangeLog: Whitespace fixes.

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

9 years ago PR target/67400
uros [Wed, 22 Jun 2016 22:06:56 +0000 (22:06 +0000)] 
PR target/67400
* config/i386/i386-protos.h (ix86_force_load_from_GOT_p): New.
* config/i386/i386.c (ix86_force_load_from_GOT_p): New function.
(ix86_legitimate_constant_p): Do not allow UNSPEC_GOTPCREL if
ix86_force_load_from_GOT_p returns true.
(ix86_legitimate_address_p): Allow UNSPEC_GOTPCREL if
ix86_force_load_from_GOT_p returns true.
(ix86_print_operand_address_as): Support UNSPEC_GOTPCREL if
ix86_force_load_from_GOT_p returns true.
(ix86_expand_move): Load the external function address via the
GOT slot if ix86_force_load_from_GOT_p returns true.
* config/i386/predicates.md (x86_64_immediate_operand): Return
false for SYMBOL_REFs where ix86_force_load_from_GOT_p returns true.
(x86_64_zext_immediate_operand): Ditto.

testsuite/ChangeLog:

PR target/67400
        * gcc.target/i386/pr67400-1.c: New test.
        * gcc.target/i386/pr67400-2.c: Likewise.
        * gcc.target/i386/pr67400-3.c: Likewise.
        * gcc.target/i386/pr67400-4.c: Likewise.
        * gcc.target/i386/pr67400-5.c: Likewise.
        * gcc.target/i386/pr67400-6.c: Likewise.
        * gcc.target/i386/pr67400-7.c: Likewise.

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

9 years ago * config/i386/i386.c (ix86_expand_move): Simplify SYMBOL_REF handling.
uros [Wed, 22 Jun 2016 18:40:21 +0000 (18:40 +0000)] 
* config/i386/i386.c (ix86_expand_move): Simplify SYMBOL_REF handling.

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

9 years agolibcpp: Tweak to missing #include source location
dmalcolm [Wed, 22 Jun 2016 15:29:21 +0000 (15:29 +0000)] 
libcpp: Tweak to missing #include source location

This patch tweaks the error message location for missing header files.

Previously these read:

test.c:1:17: fatal error: 404.h: No such file or directory
 #include "404.h"
                 ^
compilation terminated.

With this patch, the pertinent string is underlined:

test.c:1:10: fatal error: 404.h: No such file or directory
 #include "404.h"
          ^~~~~~~
compilation terminated.

gcc/testsuite/ChangeLog:
* c-c++-common/missing-header-1.c: New test case.
* c-c++-common/missing-header-2.c: New test case.
* c-c++-common/missing-header-3.c: New test case.
* c-c++-common/missing-header-4.c: New test case.

libcpp/ChangeLog:
* directives.c (do_include_common): Pass on "location" to
_cpp_stack_include.
* errors.c (cpp_diagnostic): Reimplement in terms of...
(cpp_diagnostic_at): New function.
(cpp_error_at): New function.
(cpp_errno_filename): Add "loc" param and use it by using
cpp_error_at rather than cpp_error.
* files.c (find_file_in_dir): Add "loc" param and pass it to
open_file_failed.
(_cpp_find_file): Add "loc" param.  Use it to convert calls to
cpp_error to cpp_error_at, and pass it to find_file_in_dir and
open_file_failed.
(read_file_guts): Add "loc" param.  Use it to convert calls to
cpp_error to cpp_error_at.  Pass it to cpp_errno_filename.
(read_file): Add "loc" param.  Pass it to open_file_failed and
read_file_guts.
(should_stack_file): Add "loc" param.  Pass it to read_file.
(_cpp_stack_file): Add "loc" param.  Pass it to should_stack_file.
(_cpp_stack_include): Add "loc" param.  Pass it to
_cpp_find_file and _cpp_stack_file.
(open_file_failed): Add "loc" param.  Pass it to
cpp_errno_filename.
(_cpp_fake_include): Add 0 as a source_location in call to
_cpp_find_file.
(_cpp_compare_file_date): Likewise.
(cpp_push_include): Likewise for call to _cpp_stack_include.
(cpp_push_default_include): Likewise.
(_cpp_save_file_entries): Likewise for call to open_file_failed.
(_cpp_has_header): Likewise for call to _cpp_find_file.
* include/cpplib.h (cpp_errno_filename): Add source_location
param.
(cpp_error_at): New declaration.
* init.c (cpp_read_main_file): Add 0 as a source_location in calls
to _cpp_find_file and _cpp_stack_file.
* internal.h (_cpp_find_file): Add source_location param.
(_cpp_stack_file): Likewise.
(_cpp_stack_include): Likewise.

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

9 years agoC FE: suggest corrections for misspelled identifiers and type names
dmalcolm [Wed, 22 Jun 2016 15:20:41 +0000 (15:20 +0000)] 
C FE: suggest corrections for misspelled identifiers and type names

gcc/c-family/ChangeLog:
PR c/70339
* c-common.h (enum lookup_name_fuzzy_kind): New enum.
(lookup_name_fuzzy): New prototype.

gcc/c/ChangeLog:
PR c/70339
* c-decl.c: Include spellcheck-tree.h and gcc-rich-location.h.
(implicit_decl_warning): When issuing warnings for implicit
declarations, attempt to provide a suggestion via
lookup_name_fuzzy.
(undeclared_variable): Likewise when issuing errors.
(lookup_name_in_scope): Likewise.
(struct edit_distance_traits<cpp_hashnode *>): New struct.
(best_macro_match): New typedef.
(find_closest_macro_cpp_cb): New function.
(lookup_name_fuzzy): New function.
* c-parser.c: Include gcc-rich-location.h.
(c_token_starts_typename): Split out case CPP_KEYWORD into...
(c_keyword_starts_typename): ...this new function.
(c_parser_declaration_or_fndef): When issuing errors about
missing "struct" etc, add a fixit.  For other kinds of errors,
attempt to provide a suggestion via lookup_name_fuzzy.
(c_parser_parms_declarator): When looking ahead to detect typos in
type names, also reject CPP_KEYWORD.
(c_parser_parameter_declaration): When issuing errors about
unknown type names, attempt to provide a suggestion via
lookup_name_fuzzy.
* c-tree.h (c_keyword_starts_typename): New prototype.

gcc/ChangeLog:
PR c/70339
* diagnostic-core.h (pedwarn_at_rich_loc): New prototype.
* diagnostic.c (pedwarn_at_rich_loc): New function.
* spellcheck.h (best_match::best_match): Add a
"best_distance_so_far" optional parameter.
(best_match::set_best_so_far): New method.
(best_match::get_best_distance): New accessor.
(best_match::get_best_candidate_length): New accessor.

gcc/testsuite/ChangeLog:
PR c/70339
* c-c++-common/attributes-1.c: Update dg-prune-output to include
hint.
* gcc.dg/diagnostic-token-ranges.c (undeclared_identifier): Update
expected results due to builtin "nanl" now being suggested for
"name".
* gcc.dg/pr67580.c: Update expected messages.
* gcc.dg/spellcheck-identifiers.c: New testcase.
* gcc.dg/spellcheck-typenames.c: New testcase.

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

9 years ago * dwarf2out.c (scompare_loc_descriptor): Use SCALAR_INT_MODE_P() in
nickc [Wed, 22 Jun 2016 15:12:39 +0000 (15:12 +0000)] 
* dwarf2out.c (scompare_loc_descriptor): Use SCALAR_INT_MODE_P() in
place of GET_MODE_CLASS() == MODE_INT, so that partial integer
modes are accepted as well.
(ucompare_loc_descriptor): Likewise.
(minmax_loc_descriptor): Likewise.
(clz_loc_descriptor): Likewise.
(popcount_loc_descriptor): Likewise.
(bswap_loc_descriptor): Likewise.
(rotate_loc_descriptor): Likewise.
(mem_loc_descriptor): Likewise.
(loc_descriptor): Likewise.

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

9 years agoImplement -fdiagnostics-parseable-fixits
dmalcolm [Wed, 22 Jun 2016 14:42:30 +0000 (14:42 +0000)] 
Implement -fdiagnostics-parseable-fixits

gcc/ChangeLog:
* common.opt (fdiagnostics-parseable-fixits): New option.
* diagnostic.c: Include "selftest.h".
(print_escaped_string): New function.
(print_parseable_fixits): New function.
(diagnostic_report_diagnostic): Call print_parseable_fixits.
(selftest::assert_print_escaped_string): New function.
(ASSERT_PRINT_ESCAPED_STRING_STREQ): New macro.
(selftest::test_print_escaped_string): New function.
(selftest::test_print_parseable_fixits_none): New function.
(selftest::test_print_parseable_fixits_insert): New function.
(selftest::test_print_parseable_fixits_remove): New function.
(selftest::test_print_parseable_fixits_replace): New function.
(selftest::diagnostic_c_tests): New function.
* diagnostic.h (struct diagnostic_context): Add field
"parseable_fixits_p".
* doc/invoke.texi (Diagnostic Message Formatting Options): Add
-fdiagnostics-parseable-fixits.
(-fdiagnostics-parseable-fixits): New option.
* opts.c (common_handle_option): Handle
-fdiagnostics-parseable-fixits.
* selftest-run-tests.c (selftest::run_tests): Call
selftest::diagnostic_c_tests.
* selftest.h (selftest::diagnostic_c_tests): New prototype.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic-test-show-locus-parseable-fixits.c: New
file.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
diagnostic-test-show-locus-parseable-fixits.c to sources for
diagnostic_plugin_test_show_locus.c.
* lib/gcc-defs.exp (freeform_regexps): New global.
(dg-regexp): New function.
(handle-dg-regexps): New function.
* lib/gcc-dg.exp (cleanup-after-saved-dg-test): Reset
freeform_regexps to the empty list.
* lib/prune.exp (prune_gcc_output): Call handle-dg-regexps.

libcpp/ChangeLog:
* include/line-map.h (fixit_hint::get_start_loc): New pure virtual
function.
(fixit_hint::maybe_get_end_loc): Likewise.
(fixit_insert::get_start_loc): New function, implementing
fixit_hint::get_start_loc.
(fixit_insert::maybe_get_end_loc): New function, implementing
fixit_hint::maybe_get_end_loc.
(fixit_remove::get_start_loc): New function, implementing
fixit_hint::get_start_loc.
(fixit_remove::maybe_get_end_loc): New function, implementing
fixit_hint::maybe_get_end_loc.
(fixit_replace::get_start_loc): New function, implementing
fixit_hint::get_start_loc.
(fixit_replace::maybe_get_end_loc): New function, implementing
fixit_hint::maybe_get_end_loc.

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

9 years ago * gcc.dg/guality/param-5.c (clear_stack): Tweak.
ebotcazou [Wed, 22 Jun 2016 14:35:50 +0000 (14:35 +0000)] 
* gcc.dg/guality/param-5.c (clear_stack): Tweak.

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

9 years ago * gcc/ChangeLog: Add pointer to PR71151 for r237536.
gjl [Wed, 22 Jun 2016 14:29:59 +0000 (14:29 +0000)] 
* gcc/ChangeLog: Add pointer to PR71151 for r237536.
* gcc/testsuite/ChangeLog: Same.

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

9 years ago * gcc.dg/guality/param-5.c (clear_stack): Tweak.
ebotcazou [Wed, 22 Jun 2016 14:28:57 +0000 (14:28 +0000)] 
* gcc.dg/guality/param-5.c (clear_stack): Tweak.

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

9 years agogcc/
ienkovich [Wed, 22 Jun 2016 14:05:55 +0000 (14:05 +0000)] 
gcc/

PR middle-end/71488
* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Support
comparison of boolean vectors.
* tree-vect-stmts.c (vectorizable_comparison): Vectorize comparison
of boolean vectors using bitwise operations.

gcc/testsuite/

PR middle-end/71488
* g++.dg/pr71488.C: New test.
* gcc.dg/vect/vect-bool-cmp.c: New test.

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

9 years ago* config/aarch64/aarch64-protos.h (aarch64_elf_asm_named_section):
schwab [Wed, 22 Jun 2016 13:50:23 +0000 (13:50 +0000)] 
* config/aarch64/aarch64-protos.h (aarch64_elf_asm_named_section):
Remove declaration.

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

9 years ago * function.c (assign_parm_setup_reg): Prevent sharing in another case.
ebotcazou [Wed, 22 Jun 2016 13:13:22 +0000 (13:13 +0000)] 
* function.c (assign_parm_setup_reg): Prevent sharing in another case.

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

9 years agogcc:
edlinger [Wed, 22 Jun 2016 13:01:11 +0000 (13:01 +0000)] 
gcc:
2016-06-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * config/i386/i386.c (print_reg): Emit an error message on attempt to
        print FLAGS_REG.

testsuite:
2016-06-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.target/i386/asm-flag-7.c: New test.

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

9 years agoAdd final newline.
ebotcazou [Wed, 22 Jun 2016 12:25:34 +0000 (12:25 +0000)] 
Add final newline.

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

9 years agoMinor reformatting.
charlet [Wed, 22 Jun 2016 11:50:48 +0000 (11:50 +0000)] 
Minor reformatting.

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

9 years ago2016-06-22 Arnaud Charlet <charlet@adacore.com>
charlet [Wed, 22 Jun 2016 10:51:37 +0000 (10:51 +0000)] 
2016-06-22  Arnaud Charlet  <charlet@adacore.com>

* sem_prag.adb: Revert unwanted change in previous commit,
only keep message fix.

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

9 years ago2016-06-22 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 22 Jun 2016 10:49:48 +0000 (10:49 +0000)] 
2016-06-22  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.ads (Build_Classwide_Expression): new procedure to
build the expression for an inherited classwide condition, and
to validate such expressions when they apply to an inherited
operation that is not overridden.
* sem_prag.adb (Primitives_Mapping): new data structure to
handle the mapping between operations of a root type and the
corresponding overriding operations of a type extension. Used
to construct the expression for an inherited classwide condition.
(Update_Primitives_Mapping): add to Primitives_Mapping the links
between primitive operations of a root type and those of a given
type extension.
(Build_Pragma_Check_Equivalent): use Primitives_Mapping.
* sem_ch6.adb (New_Overloaded_Entity): Remove call to
Collect_Iherited_Class_Wide_Conditions in GNATprove_Mode. This
needs to be done at freeze point of the type.
* freeze.adb (Check_Inherited_Conditions): new procedure to
verify the legality of inherited classwide conditions. In normal
compilation mode the procedure determines whether an inherited
operation needs a wrapper to handle an inherited condition that
differs from the condition of the root type.  In SPARK mode
the routine invokes Collect_Inherited_Class_Wide_Conditions to
produce the SPARK version of these inherited conditions.
(Freeze_Record_Type): For a type extension, call
Check_Inherited_Conditions.

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

9 years ago2016-06-22 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 22 Jun 2016 10:48:33 +0000 (10:48 +0000)] 
2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb, sem_type.adb, sem.adb, freeze.adb, sem_util.adb,
s-htable.adb, exp_ch11.adb, s-secsta.adb, restrict.adb, exp_disp.adb,
sem_ch8.adb, s-tpobop.adb, exp_aggr.ads, sem_ch13.adb: Minor
reformatting.

2016-06-22  Yannick Moy  <moy@adacore.com>

* lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Inverse order of
treatments so that files without compilation unit are simply skipped
before more elaborate treatments.

2016-06-22  Bob Duff  <duff@adacore.com>

* s-memory.ads: Minor typo fixes in comments.
* s-memory.adb: Code cleanup.

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

9 years ago * vxworks-crtbe-link.spec: Removed, no longer used.
charlet [Wed, 22 Jun 2016 10:46:14 +0000 (10:46 +0000)] 
    * vxworks-crtbe-link.spec: Removed, no longer used.

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

9 years agoCode cleanup.
charlet [Wed, 22 Jun 2016 10:43:12 +0000 (10:43 +0000)] 
Code cleanup.

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

9 years ago2016-06-22 Justin Squirek <squirek@adacore.com>
charlet [Wed, 22 Jun 2016 10:42:46 +0000 (10:42 +0000)] 
2016-06-22  Justin Squirek  <squirek@adacore.com>

* sem_ch8.adb (Push_Scope): Add a check for when the
scope table is empty to assign the global variable
Configuration_Component_Alignment.
* sem.adb (Do_Analyze): Add Configuration_Component_Alignment
to be assigned when the environment is cleaned instead of the
default.
* sem.ads Add a global variable Configuration_Component_Alignment
to store the value given by pragma Component_Alignment in the
context of a configuration file.
* sem_prag.adb (Analyze_Pragma): Correct the case for
Component_Alignment so that the pragma is verified and add
comments to explain how it is applied to the scope stack.

2016-06-22  Justin Squirek  <squirek@adacore.com>

* sprint.adb (Sprint_Node_Actual): Add check in
the case of an N_Object_Declaration when evaluating an expression
to properly ignore errors.

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

9 years ago2016-06-22 Bob Duff <duff@adacore.com>
charlet [Wed, 22 Jun 2016 10:39:31 +0000 (10:39 +0000)] 
2016-06-22  Bob Duff  <duff@adacore.com>

* g-comlin.ads (Parameter_Type): Change subtype of Last to
Natural.
* g-comlin.adb (Set_Parameter): Change subtype of Last to
Natural.
(Getopt): Check for Arg = "", and Switches /= "".
(Internal_Initialize_Option_Scan): Check for Argument (Parser,
Index) /= "".

2016-06-22  Gary Dismukes  <dismukes@adacore.com>

* sem_prag.adb, sem_ch8.adb: Minor reformatting.

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

9 years ago2016-06-22 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 22 Jun 2016 10:37:08 +0000 (10:37 +0000)] 
2016-06-22  Ed Schonberg  <schonberg@adacore.com>

* einfo.ads, einfo.adb (Is_Actual_Subtype): New flag, defined
on subtypes that are created within subprogram bodies to handle
unconstrained composite formals.
* checks.adb (Apply_Predicate_Check): Do not generate a check on
an object whose type is an actual subtype.
* sem_ch6.adb (Set_Actual_Subtypes): Do not generate an
actual subtype for a formal whose base type is private.
Set Is_Actual_Subtype on corresponding entity after analyzing
its declaration.

2016-06-22  Justin Squirek  <squirek@adacore.com>

* sem_prag.adb (Check_Expr_Is_OK_Static_Expression): Fix ordering
of if-block and add in a condition to test for errors during
resolution.
* sem_res.adb (Resolution_Failed): Add comment to explain why
the type of a node which failed to resolve is set to the desired
type instead of Any_Type.
* sem_ch8.adb (Analyze_Object_Renaming): Add a check for Any_Type
to prevent crashes on Is_Access_Constant.

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

9 years ago2016-06-22 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 22 Jun 2016 10:35:28 +0000 (10:35 +0000)] 
2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>

* lib-xref-spark_specific.adb, checks.adb, sem_ch13.adb: Minor
reformatting.
* exp_ch7.adb: Minor typo fix.
* lib.ads (Get_Top_Level_Code_Unit): Add comment.

2016-06-22  Bob Duff  <duff@adacore.com>

* s-tassta.adb (Task_Wrapper): Fix handling of Fall_Back_Handler
wrt independent tasks.

2016-06-22  Ed Schonberg  <schonberg@adacore.com>

* sem_dim.adb (Analyze_Dimension): Propagate dimension for
explicit_dereference nodes when they do not come from source,
to handle correctly dimensional analysis on iterators over
containers whose elements have declared dimensions.

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

9 years ago2016-06-22 Arnaud Charlet <charlet@adacore.com>
charlet [Wed, 22 Jun 2016 10:31:47 +0000 (10:31 +0000)] 
2016-06-22  Arnaud Charlet  <charlet@adacore.com>

* spark_xrefs.ads (Scope_Num): type refined to positive integers.
* lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope):
moved into scope of Collect_SPARK_Xrefs.
(Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs;
now uses Dspec and Scope_Id from Collect_SPARK_Xrefs.
(Collect_SPARK_Xrefs): refactored to avoid retraversing the list
of scopes.
(Traverse_Compilation_Unit): refactored as a generic procedure.
* types.ads (Unit_Number_Type): range refined.

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

9 years agoMinor cleanup.
charlet [Wed, 22 Jun 2016 10:06:57 +0000 (10:06 +0000)] 
Minor cleanup.

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

9 years ago2016-06-22 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 22 Jun 2016 10:05:04 +0000 (10:05 +0000)] 
2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>

* lib-xref-spark_specific.adb, a-cuprqu.ads, sem_ch6.adb: Minor
reformatting.

2016-06-22  Eric Botcazou  <ebotcazou@adacore.com>

* sem_util.ads (Address_Value): Declare new function.
* sem_util.adb (Address_Value): New function extracted
unmodified from Apply_Address_Clause_Check, which returns the
underlying value of the expression of an address clause.
* checks.adb (Compile_Time_Bad_Alignment): Delete.
(Apply_Address_Clause_Check): Call Address_Value on
the expression.  Do not issue the main warning here and
issue the secondary warning only when the value of the
expression is not known at compile time.
* sem_ch13.adb (Address_Clause_Check_Record): Add A component and
adjust the description.
(Analyze_Attribute_Definition_Clause): In the case
of an address, move up the code creating an entry in the table of
address clauses.  Also create an entry for an absolute address.
(Validate_Address_Clauses): Issue the warning for absolute
addresses here too.  Tweak condition associated with overlays
for consistency.

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

9 years ago2016-06-22 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 22 Jun 2016 10:00:24 +0000 (10:00 +0000)] 
2016-06-22  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Is_Predicate_Static): An inherited predicate
can be static only if it applies to a scalar type.

2016-06-22  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb (Adjust_Result_Type): Convert operand to base
type to prevent spurious constraint checks on subtypes of Boolean.

2016-06-22  Bob Duff  <duff@adacore.com>

* debug.adb: Document debug switch -gnatd.o.
* sem_elab.adb (Check_Internal_Call): Debug switch -gnatd.o
now causes a more conservative treatment of indirect calls,
treating P'Access as a call to P in more cases. We Can't make
this the default, because it breaks common idioms, for example
the soft links.
* sem_util.adb: Add an Assert.

2016-06-22  Bob Duff  <duff@adacore.com>

* a-cuprqu.ads, a-cuprqu.adb: Completely rewrite this package. Use
red-black trees, which gives O(lg N) worst-case performance on
Enqueue and Dequeue. The previous version had O(N) Enqueue in
the worst case.

2016-06-22  Arnaud Charlet  <charlet@adacore.com>

* sem_warn.adb: minor style fix in comment.
* spark_xrefs.ads (Scope_Num): type refined to positive integers.
* lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope):
moved into scope of Collect_SPARK_Xrefs.
(Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs;
now uses Dspec and Scope_Id from Collect_SPARK_Xrefs.
(Collect_SPARK_Xrefs): refactored to avoid retraversing the list
of scopes.
* sem_ch3.adb (Build_Discriminal): Set Parent of the discriminal.

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

9 years agoMinor reformatting.
charlet [Wed, 22 Jun 2016 09:55:54 +0000 (09:55 +0000)] 
Minor reformatting.

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

9 years ago2016-06-22 Arnaud Charlet <charlet@adacore.com>
charlet [Wed, 22 Jun 2016 09:55:42 +0000 (09:55 +0000)] 
2016-06-22  Arnaud Charlet  <charlet@adacore.com>

* lib-xref-spark_specific.adb (Generate_Dereference): Assignment to not
commented local variables replaced with direct uses of their values.

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

9 years ago2016-06-22 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 22 Jun 2016 09:51:47 +0000 (09:51 +0000)] 
2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Add_Invariant): Replace the
current type instance with the _object parameter even in ASIS mode.
(Build_Invariant_Procedure_Body): Do not insert the
invariant procedure body into the tree for ASIS and GNATprove.
(Build_Invariant_Procedure_Declaration): Do not insert the
invariant procedure declaration into the tree for ASIS and
GNATprove.
* lib-xref-spark_specific.adb (Add_SPARK_Scope): Update comment.

2016-06-22  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Set_Actual_Subtypes): If the type of the actual
has predicates, the actual subtype must be frozen properly
because of the generated tests that may follow.  The predicate
may be specified by an explicit aspect, or may be inherited in
a derivation.

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

9 years ago2016-06-22 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 22 Jun 2016 09:48:49 +0000 (09:48 +0000)] 
2016-06-22  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (In_Range_Chec)): New predicate, subsidiary of
Expand_N_In: within an expanded range check that might raise
Constraint_Error do not generate a predicate check as well. It
is redundant because the context will add an explicit predicate
check, and it will raise the wrong exception if it fails.
* lib-xref-spark_specific.adb (Add_SPARK_File): Remove useless checks
since dependency units always have an associated compilation unit.

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

9 years ago2016-06-22 Arnaud Charlet <charlet@adacore.com>
charlet [Wed, 22 Jun 2016 09:47:02 +0000 (09:47 +0000)] 
2016-06-22  Arnaud Charlet  <charlet@adacore.com>

* lib.ads: Code cleanup.
* inline.adb: Type refinement for a counter variable.
* lib-xref-spark_specific.adb (Add_SPARK_File): removal of no-op code.
Code cleanup.

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

9 years ago[ARM] Add initial support for Cortex-A73
ktkachov [Wed, 22 Jun 2016 09:25:54 +0000 (09:25 +0000)] 
[ARM] Add initial support for Cortex-A73

        * config/arm/arm.c (arm_cortex_a73_tune): New struct.
        * config/arm/arm-cores.def (cortex-a73): New entry.
        (cortex-a73.cortex-a35): Likewise.
        (cortex-a73.cortex-a53): Likewise.
        * config/arm/arm-tables.opt: Regenerate.
        * config/arm/arm-tune.md: Likewise.
        * config/arm/bpabi.h (BE8_LINK_SPEC): Handle mcpu=cortex-a73,
        mcpu=cortex-a73.cortex-a35 and mcpu=cortex-a73.cortex-a53.
        * config/arm/t-aprofile: Handle mcpu=cortex-a73,
        mcpu=cortex-a73.cortex-a35 and mcpu=cortex-a73.cortex-a53.
        * doc/invoke.texi (ARM Options): Document cortex-a73,
        cortex-a73.cortex-a35 and cortex-a73.cortex-a53.

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

9 years agoHandle gas/gld --compress-debug-sections=type
ro [Wed, 22 Jun 2016 09:09:27 +0000 (09:09 +0000)] 
Handle gas/gld --compress-debug-sections=type

* configure.ac (gcc_cv_as_compress_debug): Remove
--compress-debug-sections as extra as switch.
Handle gas --compress-debug-sections=type.
(gcc_cv_ld_compess_debug): Remove bogus ld_date check.
Handle gld --compress-debug-sections=type.
* configure: Regenerate.

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

9 years ago[AArch64] Add initial support for Cortex-A73
ktkachov [Wed, 22 Jun 2016 09:01:54 +0000 (09:01 +0000)] 
[AArch64] Add initial support for Cortex-A73

* config/aarch64/aarch64.c (cortexa73_tunings): New struct.
* config/aarch64/aarch64-cores.def (cortex-a73): New entry.
(cortex-a73.cortex-a35): Likewise.
(cortex-a73.cortex-a53): Likewise.
* config/aarch64/aarch64-tune.md: Regenerate.
* doc/invoke.texi (AArch64 Options): Document cortex-a73,
cortex-a73.cortex-a35 and cortex-a73.cortex-a53 arguments to
-mcpu and -mtune.

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

9 years ago * bb-reorder.c (pass_partition_blocks::gate): Update comment.
law [Wed, 22 Jun 2016 02:58:24 +0000 (02:58 +0000)] 
* bb-reorder.c (pass_partition_blocks::gate): Update comment.

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

9 years ago * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
danglin [Wed, 22 Jun 2016 01:46:06 +0000 (01:46 +0000)] 
* c-common.c (get_source_date_epoch): Use int64_t instead of long long.

* gcov-tool.c (profile_rewrite): Use int64_t instead of long long.
(do_rewrite): likewise.

* line-map.c (location_adhoc_data_update): Use int64_t instead of
long long.
(get_combined_adhoc_loc): Likewise.

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

9 years agoDaily bump.
gccadmin [Wed, 22 Jun 2016 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

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

9 years agoremove mep-* support
tbsaunde [Tue, 21 Jun 2016 21:57:49 +0000 (21:57 +0000)] 
remove mep-* support

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.host: Remove support for mep-*.
* config/mep/lib1funcs.S: Remove.
* config/mep/lib2funcs.c: Remove.
* config/mep/t-mep: Remove.
* config/mep/tramp.c: Remove.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* common/config/mep/mep-common.c: Remove.
* config.gcc: Remove mep-* support.
* config/mep/constraints.md: Remove.
* config/mep/default.h: Remove.
* config/mep/intrinsics.h: Remove.
* config/mep/intrinsics.md: Remove.
* config/mep/ivc2-template.h: Remove.
* config/mep/mep-c5.cpu: Remove.
* config/mep/mep-core.cpu: Remove.
* config/mep/mep-default.cpu: Remove.
* config/mep/mep-ext-cop.cpu: Remove.
* config/mep/mep-intrin.h: Remove.
* config/mep/mep-ivc2.cpu: Remove.
* config/mep/mep-pragma.c: Remove.
* config/mep/mep-protos.h: Remove.
* config/mep/mep.c: Remove.
* config/mep/mep.cpu: Remove.
* config/mep/mep.h: Remove.
* config/mep/mep.md: Remove.
* config/mep/mep.opt: Remove.
* config/mep/predicates.md: Remove.
* config/mep/t-mep: Remove.
* doc/install.texi: Remove mep-* documentation.
* doc/md.texi: Likewise.

gcc/testsuite/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gcc.dg/tree-ssa/forwprop-28.c: Remove mep-* support.
* gcc.dg/tree-ssa/reassoc-32.c: Likewise.
* gcc.dg/tree-ssa/reassoc-33.c: Likewise.
* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise.
* gcc.dg/tree-ssa/ssa-thread-11.c: Likewise.
* gcc.dg/tree-ssa/vrp87.c: Likewise.
* lib/target-supports.exp: Likewise.

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config-list.mk: Stop testing mep-elf.

libstdc++-v3/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* configure.host: Remove mep-* support.

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

9 years agoremove avr-rtems support
tbsaunde [Tue, 21 Jun 2016 21:57:44 +0000 (21:57 +0000)] 
remove avr-rtems support

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config-list.mk: Stop testing avr-rtems.

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.host: Remove support for avr-rtems.
* config/avr/t-rtems: Remove.

ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* configure: Regenerate.
* configure.ac: Remove support for avr-rtems.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.gcc: Remove support for avr-rtems.
* config/avr/gen-avr-mmcu-specs.c: Likewise.
* config/avr/rtems.h: Remove.
* config/avr/t-rtems: Remove.

contrib/header-tools/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* README: Remove references to avr-rtems.
* reduce-headers: Likewise.

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

9 years agoremove m32-rtems support
tbsaunde [Tue, 21 Jun 2016 21:57:37 +0000 (21:57 +0000)] 
remove m32-rtems support

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.host: Remove m32r-rtems support.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.gcc: Remove m32r-rtems support.
* config/m32r/rtems.h: Remove.

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config-list.mk: Stop testing m32r-rtems.

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

9 years agoremove h8300-rtems support
tbsaunde [Tue, 21 Jun 2016 21:57:34 +0000 (21:57 +0000)] 
remove h8300-rtems support

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config-list.mk: Remove h8300-rtems support.

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.host: Remove h8300-rtems support.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.gcc: Remove h8300-rtems support.
* config/h8300/rtems.h: Remove.
* config/h8300/t-rtems: Remove.

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

9 years agoremove knetbsd support
tbsaunde [Tue, 21 Jun 2016 21:57:30 +0000 (21:57 +0000)] 
remove knetbsd support

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.gcc: Remove support for knetbsd.
* configure.ac: Likewise.
* config/i386/knetbsd-gnu.h: Remove.  * config/i386/knetbsd-gnu64.h: Remove.
* config/knetbsd-gnu.h: Remove.
* configure: Regenerate.

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.host: Remove support for knetbsd.

libstdc++-v3/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* configure: Regenerate.
* configure.host: Remove support for knetbsd.
* crossconfig.m4: Likewise.

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config-list.mk: stop testing knetbsd.

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

9 years agoremove support for targeting openbsd 2 or 3
tbsaunde [Tue, 21 Jun 2016 21:57:25 +0000 (21:57 +0000)] 
remove support for targeting openbsd 2 or 3

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config-list.mk: Stop testing openbsd3.0.

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.host: Remove support for openbsd 2 and 3.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.gcc: Remove support for openbsd 2 and 3.
* config/openbsd-oldgas.h: Remove.

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

9 years agoremove support for the interix target
tbsaunde [Tue, 21 Jun 2016 21:57:20 +0000 (21:57 +0000)] 
remove support for the interix target

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config-list.mk: Remove interix target.

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.host: Remove interix support.
* config/i386/t-interix: Remove.

config/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* elf.m4: Remove interix support.
* picflag.m4: Likewise.

fixincludes/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* mkfixinc.sh: Remove interix support.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config.gcc: Remove interix support.
* config/i386/i386-interix.h: Remove.
* config/i386/interix.opt: Remove.
* config/i386/t-interix: Remove.
* configure: Regenerate.
* configure.ac: Remove interix support.
* doc/install.texi: Remove interix documentation.

gcc/testsuite/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gcc.dg/attr-ms_struct-1.c: Stop testing interix.
* gcc.dg/attr-ms_struct-2.c: Likewise.
* gcc.dg/attr-ms_struct-packed1.c: Likewise.
* gcc.dg/bf-ms-attrib.c: Likewise.
* gcc.dg/bf-ms-layout-2.c: Likewise.
* gcc.dg/bf-ms-layout-3.c: Likewise.
* gcc.dg/bf-ms-layout.c: Likewise.
* gcc.dg/bf-no-ms-layout.c: Likewise.
* gcc.target/i386/bitfield1.c: Likewise.
* gcc.target/i386/bitfield2.c: Likewise.
* gcc.target/i386/bitfield3.c: Likewise.

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

9 years agogcc/ChangeLog:
kelvin [Tue, 21 Jun 2016 21:39:49 +0000 (21:39 +0000)] 
gcc/ChangeLog:

2016-06-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* config/rs6000/rs6000.h: Add conditional preprocessing directives
to disable Power9-specific compiler features if HAVE_AS_POWER9 is
not defined.

gcc/testsuite/ChangeLog:

2016-06-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/darn-0.c: Add dejagnu directives to disable
test if effective-target is not powerpc_p9vector_ok, or if a -mcpu
override other than -mcpu=power9 command-line option is specified,
or if the target operating system is aix.
* gcc.target/powerpc/darn-1.c: Likewise.
* gcc.target/powerpc/darn-2.c: Likewise.
* gcc.target/powerpc/vslv-0.c: Add dejagnu directives to disable
test if effective-target is not powerpc_p9vector_ok or if the
target operating system is not defined.
* gcc.target/powerpc/vslv-1.c: Likewise.
* gcc.target/powerpc/vsrv-0.c: Likewise.
* gcc.target/powerpc/vsrv-1.c: Likewise.

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

9 years ago * tree.c (verify_type_variant): Skip TYPE_SIZE and TYPE_SIZE_UNIT if
ebotcazou [Tue, 21 Jun 2016 21:34:12 +0000 (21:34 +0000)] 
* tree.c (verify_type_variant): Skip TYPE_SIZE and TYPE_SIZE_UNIT if
they are both PLACEHOLDER_EXPRs.
ada/
* gcc-interface/decl.c (set_nonaliased_component_on_array_type): New
function.
(set_reverse_storage_order_on_array_type): Likewise.
(gnat_to_gnu_entity) <E_Array_Type>: Call them to set the flags.
<E_Array_Subtype>: Likewise.
<E_String_Literal_Subtype>: Likewise.
(substitute_in_type) <ARRAY_TYPE>: Likewise.
* gcc-interface/utils.c (gnat_pushdecl): Always create a variant for
the DECL_ORIGINAL_TYPE of a type.

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

9 years ago[gcc]
meissner [Tue, 21 Jun 2016 20:57:20 +0000 (20:57 +0000)] 
[gcc]
2016-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

* stor-layout.c (layout_type): Move setting complex MODE to
layout_type, instead of setting it ahead of time by the caller.
* tree.c (build_complex_type): Likewise.

[gcc/fortran]
2016-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

* trans-types.c (gfc_build_complex_type): Move setting complex
MODE to layout_type, instead of setting it ahead of time by the
caller.

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

9 years ago2016-06-20 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 21 Jun 2016 18:36:25 +0000 (18:36 +0000)] 
2016-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/71068
        * resolve.c (resolve_function): Don't resolve caf_get/caf_send.
        (check_data_variable): Strip-off caf_get before checking.

        PR fortran/71068
        * gfortran.dg/coarray/data_1.f90: New.

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

9 years ago Fix constraint satisfaction in uninstantiated template.
jason [Tue, 21 Jun 2016 18:19:13 +0000 (18:19 +0000)] 
Fix constraint satisfaction in uninstantiated template.

* constraint.cc (constraints_satisfied_p): Keep as many levels of
args as our template has levels of parms.

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

9 years ago Fix type_dependent_expression_p of member templates.
jason [Tue, 21 Jun 2016 18:17:01 +0000 (18:17 +0000)] 
Fix type_dependent_expression_p of member templates.

* pt.c (template_parm_outer_level, uses_outer_template_parms): New.
(type_dependent_expression_p): Use uses_outer_template_parms.

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

9 years agoThe recently added gcc.target/aarch64/advsimd-intrinsics/vrnd*.c tests cause
wilco [Tue, 21 Jun 2016 16:35:44 +0000 (16:35 +0000)] 
The recently added gcc.target/aarch64/advsimd-intrinsics/vrnd*.c tests cause
failures due to accidentally running on non-ARMv8 hardware - the target check
arm_v8_neon_ok is correct for compilation tests but should be arm_v8_neon_hw
for execution tests.  Fix this and also change arm_v8_neon_hw to return
true for AArch64 so these tests are run on AArch64 too.

    gcc/testsuite/
* gcc.target/aarch64/advsimd-intrinsics/vrnd.c
(dg-require-effective-target): Use arm_v8_neon_hw.
* gcc.target/aarch64/advsimd-intrinsics/vrnda.c
(dg-require-effective-target): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrndm.c
(dg-require-effective-target): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrndn.c
(dg-require-effective-target): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrndp.c
(dg-require-effective-target): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrndx.c
(dg-require-effective-target): Likewise.
* lib/target-supports.exp (check_runtime arm_v8_neon_hw_available):
Add AArch64 check.

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

9 years agoFix tree-ssa/attr-hotcold-2.c failures now that the test runs.
wilco [Tue, 21 Jun 2016 16:31:09 +0000 (16:31 +0000)] 
Fix tree-ssa/attr-hotcold-2.c failures now that the test runs.
GCC dumps the blocks 3 times so update count 3 and the test passes.

    gcc/testsuite/
* gcc.dg/tree-ssa/attr-hotcold-2.c (scan-tree-dump-times):
Set to 3 so test passes.

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

9 years agos/imposisble/impossible in predict.c
marxin [Tue, 21 Jun 2016 16:10:29 +0000 (16:10 +0000)] 
s/imposisble/impossible in predict.c

* predict.c (force_edge_cold): Replace imposisble with
impossible.

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

9 years agoDue to recent improvements to the vectorizer, the number of vectorized
wilco [Tue, 21 Jun 2016 14:52:34 +0000 (14:52 +0000)] 
Due to recent improvements to the vectorizer, the number of vectorized
loops needs to be increased to 21 in gfortran.dg/vect/vect-8.f90.

    gcc/testsuite/

        * gfortran.dg/vect/vect-8.f90 (vectorized loops): Set to 21.

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

9 years ago[AVX-512ER] vrsqrt28ps auto generation
iverbin [Tue, 21 Jun 2016 14:38:02 +0000 (14:38 +0000)] 
[AVX-512ER] vrsqrt28ps auto generation

gcc/
* config/i386/i386.c (ix86_emit_swsqrtsf): Emit vrsqrt28ps.
* config/i386/sse.md (define_expand "rsqrtv16sf2"): New.
gcc/testsuite/
* gcc.target/i386/avx512er-vrsqrt28ps-3.c: New test.
* gcc.target/i386/avx512er-vrsqrt28ps-4.c: New test.
* gcc.target/i386/avx512er-vrsqrt28ps-5.c: New test.
* gcc.target/i386/avx512er-vrsqrt28ps-6.c: New test.

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

9 years ago[AVX-512ER] vrcp28ps auto generation
iverbin [Tue, 21 Jun 2016 14:32:38 +0000 (14:32 +0000)] 
[AVX-512ER] vrcp28ps auto generation

gcc/
* config/i386/i386.c (ix86_emit_swdivsf): Emit vrcp28ps.
gcc/testsuite/
* gcc.target/i386/avx512er-vrcp28ps-3.c: New test.
* gcc.target/i386/avx512er-vrcp28ps-4.c: New test.

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

9 years agoConvert V1TImode register to TImode in debug insn
hjl [Tue, 21 Jun 2016 14:24:31 +0000 (14:24 +0000)] 
Convert V1TImode register to TImode in debug insn

TImode register referenced in debug insn can be converted to V1TImode
by scalar to vector optimization.  After converting a TImode register
to V1TImode, we need to check all debug insns on its use chain to
convert the V1TImode register to SUBREG TImode.

gcc/

2016-06-21  H.J. Lu  <hongjiu.lu@intel.com>
    Ilya Enkovich  <ilya.enkovich@intel.com>

PR target/71549
* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
New member function to convert V1TImode register to SUBREG
TImode in debug insn.
(timode_scalar_chain::convert_insn): Call fix_debug_reg_uses
after changing register mode to V1TImode.

gcc/testsuite/

2016-06-21  H.J. Lu  <hongjiu.lu@intel.com>

PR target/71549
* gcc.target/i386/pr71549.c: New test.

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

9 years agogcc/testsuite/ChangeLog:
kelvin [Tue, 21 Jun 2016 14:09:12 +0000 (14:09 +0000)] 
gcc/testsuite/ChangeLog:

2016-06-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/vadsdu-0.c: Replace
dg-require-effective-target directive to allow test to run on more
platforms, and add dg-skip-if directive to disable test on aix
platforms because of known incompatibilities.
* gcc.target/powerpc/vadsdu-1.c: Likewise.
* gcc.target/powerpc/vadsdu-2.c: Likewise.
* gcc.target/powerpc/vadsdu-3.c: Likewise.
* gcc.target/powerpc/vadsdu-4.c: Likewise.
* gcc.target/powerpc/vadsdu-5.c: Likewise.
* gcc.target/powerpc/vadsdub-1.c: Likewise.
* gcc.target/powerpc/vadsdub-2.c: Replace
dg-require-effective-target directive to allow test to run on more
platforms, and add dg-skip-if directive to disable test on aix
platforms because of known incompatibilities.
(doAbsoluteDifferenceUnsigned): Replace __builtin_vec_vadub call
with vec_absdb call to differentiate this test from vadsdub-1.c.
* gcc.target/powerpc/vadsduh-1.c: Replace
dg-require-effective-target directive to allow test to run on more
platforms, and add dg-skip-if directive to disable test on aix
platforms because of known incompatibilities.
* gcc.target/powerpc/vadsduh-2.c: Likewise.
* gcc.target/powerpc/vadsduw-1.c: Likewise.
* gcc.target/powerpc/vadsduw-2.c: Likewise.

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

9 years ago[PATCH/AARCH64] Accept vulcan as a cpu name for the AArch64 port of GCC
jgreenhalgh [Tue, 21 Jun 2016 13:43:29 +0000 (13:43 +0000)] 
[PATCH/AARCH64] Accept vulcan as a cpu name for the AArch64 port of GCC

gcc/ChangeLog

* config/aarch64/aarch64-cores.def (vulcan): New core.
* config/aarch64/aarch64-tune.md: Regenerate.
* doc/invoke.texi: Document vulcan as an available option.

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

9 years ago * config-list.mk: Remove rs6000-ibm-aix4.3, rs6000-ibm-aix5.1,
dje [Tue, 21 Jun 2016 13:21:02 +0000 (13:21 +0000)] 
    * config-list.mk: Remove rs6000-ibm-aix4.3, rs6000-ibm-aix5.1,
        rs6000-ibm-aix5.2.
        Rename rs6000-ibm-aix6.0 as rs6000-ibm-aix6.1.
        Add rs6000-ibm-aix7.1.

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

9 years ago * cse.c (canon_asm_operands): New function extracted from...
ebotcazou [Tue, 21 Jun 2016 10:52:57 +0000 (10:52 +0000)] 
* cse.c (canon_asm_operands): New function extracted from...
(canonicalize_insn): ...here.  Call it to canonicalize an ASM_OPERANDS
either standalone or member of a PARALLEL.

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

9 years ago PR target/30417
gjl [Tue, 21 Jun 2016 10:36:13 +0000 (10:36 +0000)] 
PR target/30417
* config/avr/gen-avr-mmcu-specs.c (print_mcu):
[*link_data_start]: Wrap -Tdata into %{!Tdata:...}.
[*link_text_start]: Wrap -Ttext into %{!Ttext:...}.

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

9 years ago PR target/71103
gjl [Tue, 21 Jun 2016 10:10:46 +0000 (10:10 +0000)] 
PR target/71103
* config/avr/avr.md (movqi): Only handle loading subreg:qi of
constant addresses if can_create_pseudo_p.

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

9 years ago PR tree-optimization/71588
jakub [Tue, 21 Jun 2016 06:59:33 +0000 (06:59 +0000)] 
PR tree-optimization/71588
* tree-ssa-strlen.c (valid_builtin_call): New function.
(adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use
it.

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

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

9 years agoMark some more tests as UNSUPPORTED for avr
saaadhu [Tue, 21 Jun 2016 04:35:47 +0000 (04:35 +0000)] 
Mark some more tests as UNSUPPORTED for avr

* c-c++-common/pr68657-1.c: Require ptr32plus support.
* c-c++-common/pr68657-2.c: Likewise.
* c-c++-common/pr68657-3.c: Likewise.
* gcc.dg/torture/pr69714.c: Require int32plus support.
* gcc.dg/torture/pr70025.c: Likewise.
* gcc.dg/torture/pr70083.c: Likewise.
* gcc.dg/torture/pr70542.c: Likewise.
* gcc.dg/torture/pr70935.c: Require ptr32plus support.

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

9 years agoDaily bump.
gccadmin [Tue, 21 Jun 2016 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

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

9 years agoFix ICE on conditional expression between DFP and non-DFP float (PR c/71601).
jsm28 [Mon, 20 Jun 2016 22:58:20 +0000 (22:58 +0000)] 
Fix ICE on conditional expression between DFP and non-DFP float (PR c/71601).

A conditional expression between DFP and non-DFP floating-point
produces an ICE.  This patch fixes this by making
build_conditional_expr return early when c_common_type produces an
error.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

PR c/71601
gcc/c:
* c-typeck.c (build_conditional_expr): Return error_mark_node if
c_common_type returns error_mark_node.

gcc/testsuite:
* gcc.dg/dfp/usual-arith-conv-bad-3.c: New test.

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

9 years ago PR middle-end/71581
jakub [Mon, 20 Jun 2016 21:41:20 +0000 (21:41 +0000)] 
PR middle-end/71581
* tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL,
see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created
for conversion of scalar user var to complex type and use the
underlying SSA_NAME_VAR in that case.  If EXPR is still NULL,
punt.

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

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

9 years ago PR rtl-optimization/71591
jakub [Mon, 20 Jun 2016 21:40:02 +0000 (21:40 +0000)] 
PR rtl-optimization/71591
* toplev.c (toplev::run_self_tests): If no_backend, complain and
don't run any tests.

* gcc.dg/cpp/pr71591.c: New test.

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

9 years agoClear executable property mistakenly added to pr71571.C.
hp [Mon, 20 Jun 2016 20:18:57 +0000 (20:18 +0000)] 
Clear executable property mistakenly added to pr71571.C.

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

9 years ago2016-06-20 François Dumont <fdumont@gcc.gnu.org>
fdumont [Mon, 20 Jun 2016 20:04:25 +0000 (20:04 +0000)] 
2016-06-20  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/71181
* include/tr1/hashtable_policy.h
(_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
dereferenceable to avoid check on lower_bound result.
(_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
(_Prime_rehash_policy::_M_need_rehash): Likewise.
* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
Always return a value greater than input value. Set _M_next_resize to
max value when reaching highest prime number.
* src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
being now useless.
* testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
(test02): New.
* testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
* testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
Fix indentation.

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

9 years ago PR target/71571
hp [Mon, 20 Jun 2016 20:02:03 +0000 (20:02 +0000)] 
PR target/71571
* g++.dg/torture/pr71571.C: New test.

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

9 years ago PR target/71571
hp [Mon, 20 Jun 2016 20:01:20 +0000 (20:01 +0000)] 
PR target/71571
* config/cris/cris.c (cris_asm_output_mi_thunk): Add missing "ba"
delay-slot "nop" for PIC with CRIS v32.  Also add missing leading
space for PIC with non-v32 and the common non-PIC "jump".

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

9 years ago PR target/71559
jakub [Mon, 20 Jun 2016 19:17:12 +0000 (19:17 +0000)] 
PR target/71559
* config/i386/i386.c (ix86_fp_cmp_code_to_pcmp_immediate): Fix up
returned values and add UN*/LTGT/*ORDERED cases with values matching
D operand modifier on vcmp for AVX.

* gcc.target/i386/sse2-pr71559.c: New test.
* gcc.target/i386/avx-pr71559.c: New test.
* gcc.target/i386/avx512f-pr71559.c: New test.

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

9 years ago2016-06-20 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 20 Jun 2016 18:46:43 +0000 (18:46 +0000)] 
2016-06-20  Tobias Burnus  <burnus@net-b.de>

        fortran/71194
        * trans-expr.c (gfc_trans_pointer_assignment): Correctly handle
        RHS pointer functions.

2016-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/71194
        * gfortran.dg/pointer_remapping_10.f90: New.

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

9 years agoC++ FE: Show both locations in string literal concatenation error
dmalcolm [Mon, 20 Jun 2016 16:37:28 +0000 (16:37 +0000)] 
C++ FE: Show both locations in string literal concatenation error

gcc/cp/ChangeLog:
* parser.c (cp_parser_string_literal): Convert non-standard
concatenation error to directly use a rich_location, and
use that to add the location of the first literal to the
diagnostic.

gcc/testsuite/ChangeLog:
* g++.dg/diagnostic/string-literal-concat.C: New test case.

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

9 years agoThis patch cleans up the -mpc-relative-loads option processing. Rename to avoid
wilco [Mon, 20 Jun 2016 16:20:31 +0000 (16:20 +0000)] 
This patch cleans up the -mpc-relative-loads option processing.  Rename to avoid
the confusing nopcrelative_literal_loads names.  Fix the option processing code
to correctly support -mno-pc-relative-loads rather than ignore it.

    gcc/
* config/aarch64/aarch64.opt
(mpc-relative-literal-loads): Rename internal option name.
* config/aarch64/aarch64.c
(aarch64_nopcrelative_literal_loads): Rename to
aarch64_pcrelative_literal_loads.
(aarch64_expand_mov_immediate): Likewise.
(aarch64_secondary_reload): Likewise.
(aarch64_can_use_per_function_literal_pools_p): Likewise.
(aarch64_override_options_after_change_1): Rename and simplify logic.
(aarch64_classify_symbol): Merge large model checks into switch,
remove pc-relative load check.

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

9 years agoPR c/69507 - bogus warning: ISO C does not allow __alignof__ (expression)
msebor [Mon, 20 Jun 2016 15:46:09 +0000 (15:46 +0000)] 
PR c/69507 - bogus warning: ISO C does not allow __alignof__ (expression)

gcc/testsuite/ChangeLog:
* gnu89-const-expr-1.c: Avoid diagnosing __alignof__ as not conforming.
* gnu90-const-expr-1.c: Same.
* gnu99-const-expr-1.c: Same.
* gnu99-static-1.c: Same.

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

9 years ago[PATCH]Fix scan-tree-dump-times syntax errors in gcc.dg/tree-ssa/attr-hotcold-2.c
renlin [Mon, 20 Jun 2016 14:27:16 +0000 (14:27 +0000)] 
[PATCH]Fix scan-tree-dump-times syntax errors in gcc.dg/tree-ssa/attr-hotcold-2.c

gcc/testsuite/

2016-06-20  Renlin Li  <renlin.li@arm.com>

* gcc.dg/tree-ssa/attr-hotcold-2.c: Fix syntax errors.

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

9 years ago[AArch64] Give some new costs for Cortex-A53 floating-point operations
jgreenhalgh [Mon, 20 Jun 2016 14:01:04 +0000 (14:01 +0000)] 
[AArch64] Give some new costs for Cortex-A53 floating-point operations

gcc/

* config/arm/aarch-cost-tables.h (cortexa53_extra_costs): Make FP
costs relative to the cost of a register move.

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

9 years ago[Patch AArch64] Add some more missing intrinsics
jgreenhalgh [Mon, 20 Jun 2016 13:42:30 +0000 (13:42 +0000)] 
[Patch AArch64] Add some more missing intrinsics

gcc/ChangeLog

2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>

* config/aarch64/arm_neon.h (vcvt_n_f64_s64): New.
(vcvt_n_f64_u64): Likewise.
(vcvt_n_s64_f64): Likewise.
(vcvt_n_u64_f64): Likewise.
(vcvt_f64_s64): Likewise.
(vrecpe_f64): Likewise.
(vcvt_f64_u64): Likewise.
(vrecps_f64): Likewise.

gcc/testsuite/ChangeLog

2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>

* gcc.target/aarch64/vcvt_f64_1.c: New.
* gcc.target/aarch64/vcvt_n_f64_1.c: New.
* gcc.target/aarch64/vrecp_f64_1.c: New.

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

9 years ago[Patch AArch64] Fixup to fcvt patterns added in r237200
jgreenhalgh [Mon, 20 Jun 2016 13:40:07 +0000 (13:40 +0000)] 
[Patch AArch64] Fixup to fcvt patterns added in r237200

gcc/

* config/aarch64/aarch64.md
(<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3): Add attributes to
iterators.
(<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>3): Likewise.  Correct
attributes.
* config/aarch64/aarch64-builtins.c
(aarch64_types_binop_uss_qualifiers): Delete.
(TYPES_BINOP_USS): Likewise.
(aarch64_types_binop_sus_qualifiers): Likewise.
(TYPES_BINOP_SUS): Likewise.
(aarch64_types_fcvt_from_unsigned_qualifiers): New.
(TYPES_FCVTIMM_SUS): Likewise.
* config/aarch64/aarch64-simd-builtins.def (scvtf): Use SHIFTIMM
rather than BINOP.
(ucvtf): Use FCVTIMM_SUS rather than BINOP_SUS.
(fcvtzs): Use SHIFTIMM rather than BINOP.
(fcvtzu): Use SHIFTIMM_USS rather than BINOP_USS.

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

9 years ago[AArch64] Give some new costs for Cortex-A57 floating-point operations
jgreenhalgh [Mon, 20 Jun 2016 13:32:01 +0000 (13:32 +0000)] 
[AArch64] Give some new costs for Cortex-A57 floating-point operations

gcc/

* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Make FP
costs relative to the cost of a register move.

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

9 years ago2016-06-20 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 20 Jun 2016 12:31:47 +0000 (12:31 +0000)] 
2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>

* make.adb, gnatbind.adb, g-socket.adb, sem_ch13.adb: Minor
reformatting.
* lib.ads, sem_util.adb: Minor typo in comment.

2016-06-20  Yannick Moy  <moy@adacore.com>

* sem_prag.adb, sem_prag.ads (Build_Pragma_Check_Equivalent):
Add parameter Keep_Pragma_Id to optionally keep
the identifier of the pragma instead of converting
to pragma Check. Also set type of new function call
appropriately. (Collect_Inherited_Class_Wide_Conditions):
Call Build_Pragma_Check_Equivalent with the new parameter
Keep_Pragma_Id set to True to keep the identifier of the copied
pragma.
* sinfo.ads: Add comment.

2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Build_Invariant_Procedure_Body):
Always install the scope of the invariant procedure
in order to produce better error messages. Do not
insert the body when the context is a generic unit.
(Build_Invariant_Procedure_Declaration): Perform minimal
decoration of the invariant procedure and its formal parameter
in case they are not analyzed. Do not insert the declaration
when the context is a generic unit.

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

9 years ago2016-06-20 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 20 Jun 2016 12:27:05 +0000 (12:27 +0000)] 
2016-06-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Visible_Component): New procedure, subsidiary
of Replace_Type_References_ Generic, to determine whether an
identifier in a predicate or invariant expression is a visible
component of the type to which the predicate or invariant
applies. Implements the visibility rule stated in RM 13.1.1
(12/3).

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

9 years ago2016-06-20 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 20 Jun 2016 12:25:44 +0000 (12:25 +0000)] 
2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>

* s-regpat.adb, sem_prag.adb, pprint.adb, sem_ch13.adb: Minor
reformatting.

2016-06-20  Tristan Gingold  <gingold@adacore.com>

* make.adb (Check_Standard_Library): Consider system.ads
if s-stalib.adb is not available.
* gnatbind.adb (Add_Artificial_ALI_File): New procedure extracted from
gnatbind.

2016-06-20  Thomas Quinot  <quinot@adacore.com>

* g-socket.adb (Is_IP_Address): A string consisting in digits only is
not a dotted quad.

2016-06-20  Arnaud Charlet  <charlet@adacore.com>

* exp_ch7.adb (Build_Invariant_Procedure_Body):
decorate invariant procedure body with typical properties of
procedure entityes.

2016-06-20  Arnaud Charlet  <charlet@adacore.com>

* a-exetim-darwin.adb: New file.

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

9 years agoImprove modes_tieable by returning true in more cases: allow scalar access
wilco [Mon, 20 Jun 2016 12:24:48 +0000 (12:24 +0000)] 
Improve modes_tieable by returning true in more cases: allow scalar access
within vectors without requiring an extra move.  Removing these moves helps
the register allocator in deciding whether to use integer or FP registers on
operations that can be done on both.  This saves about 100 instructions in the
gcc.target/aarch64 tests.

A typical example:

orr     v1.8b, v0.8b, v1.8b
fmov    x0, d0
fmov    x1, d1
add     x0, x1, x0
ins     v0.d[0], x0
orr     v0.8b, v1.8b, v0.8b

after:

orr     v1.8b, v0.8b, v1.8b
add     d0, d1, d0
orr     v0.8b, v1.8b, v0.8b

    gcc/
* config/aarch64/aarch64.c (aarch64_modes_tieable_p):
Allow scalar/single vector modes to be tieable.

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

9 years ago2016-06-16 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 20 Jun 2016 12:22:09 +0000 (12:22 +0000)] 
2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>

* atree.ads, atree.adb (Elist29): New routine.
(Set_Elist29): New routine.
* atree.h New definition for Elist29.
* einfo.adb Subprograms_For_Type is now an Elist rather than
a node. Has_Invariants is now a synthesized attribute
and does not require a flag. Has_Own_Invariants
is now Flag232. Has_Inherited_Invariants is
Flag291. Is_Partial_Invariant_Procedure is Flag292.
(Default_Init_Cond_Procedure): Reimplemented.
(Has_Inherited_Invariants): New routine.
(Has_Invariants): Reimplemented.
(Has_Own_Invariants): New routine.
(Invariant_Procedure): Reimplemented.
(Is_Partial_Invariant_Procedure): New routine.
(Partial_Invariant_Procedure): Reimplemented.
(Predicate_Function): Reimplemented.
(Predicate_Function_M): Reimplemented.
(Set_Default_Init_Cond_Procedure): Reimplemented.
(Set_Has_Inherited_Invariants): New routine.
(Set_Has_Invariants): Removed.
(Set_Has_Own_Invariants): New routine.
(Set_Invariant_Procedure): Reimplemented.
(Set_Is_Partial_Invariant_Procedure): New routine.
(Set_Partial_Invariant_Procedure): Reimplemented.
(Set_Predicate_Function): Reimplemented.
(Set_Predicate_Function_M): Reimplemented.
(Set_Subprograms_For_Type): Reimplemented.
(Subprograms_For_Type): Reimplemented.
(Write_Entity_Flags): Output Flag232 and Flag291.
* einfo.ads Add new attributes Has_Inherited_Invariants
Has_Own_Invariants Is_Partial_Invariant_Procedure
Partial_Invariant_Procedure Change the documentation
of attributes Has_Inheritable_Invariants Has_Invariants
Invariant_Procedure Is_Invariant_Procedure Subprograms_For_Type
(Has_Inherited_Invariants): New routine along with pragma Inline.
(Has_Own_Invariants): New routine along with pragma Inline.
(Is_Partial_Invariant_Procedure): New routine along with pragma Inline.
(Partial_Invariant_Procedure): New routine.
(Set_Has_Inherited_Invariants): New routine along with pragma Inline.
(Set_Has_Invariants): Removed along with pragma Inline.
(Set_Has_Own_Invariants): New routine along with pragma Inline.
(Set_Is_Partial_Invariant_Procedure): New routine
along with pragma Inline.
(Set_Partial_Invariant_Procedure): New routine.
(Set_Subprograms_For_Type): Update the signature.
(Subprograms_For_Type): Update the signature.
* exp_ch3.adb Remove with and use clauses for Sem_Ch13.
(Build_Array_Invariant_Proc): Removed.
(Build_Record_Invariant_Proc): Removed.
(Freeze_Type): Build the body of the invariant procedure.
(Insert_Component_Invariant_Checks): Removed.
* exp_ch7.adb Add with and use clauses for Sem_Ch6, Sem_Ch13,
and Stringt.
(Build_Invariant_Procedure_Body): New routine.
(Build_Invariant_Procedure_Declaration): New routine.
* exp_ch7.ads (Build_Invariant_Procedure_Body): New routine.
(Build_Invariant_Procedure_Declaration): New routine.
* exp_ch9.adb (Build_Corresponding_Record): Do not propagate
attributes related to invariants to the corresponding record
when building the corresponding record. This is done by
Build_Invariant_Procedure_Declaration.
* exp_util.adb (Make_Invariant_Call): Reimplemented.
* freeze.adb (Freeze_Array_Type): An array type requires an
invariant procedure when its component type has invariants.
(Freeze_Record_Type): A record type requires an invariant
procedure when at least one of its components has an invariant.
* sem_ch3.adb (Analyze_Private_Extension_Declaration): Inherit
invariant-related attributes.
(Analyze_Subtype_Declaration):
Inherit invariant-related attributes.
(Build_Derived_Record_Type): Inherit invariant-related attributes.
(Check_Duplicate_Aspects): Reimplemented.
(Get_Partial_View_Aspect): New routine.
(Process_Full_View): Inherit invariant-related attributes. Reimplement
the check on hidden inheritance of class-wide invariants.
(Remove_Default_Init_Cond_Procedure): Reimplemented.
* sem_ch6.adb (Analyze_Subprogram_Specification): Do not modify
the controlling type for an invariant procedure declaration
or body.
(Is_Invariant_Procedure_Or_Body): New routine.
* sem_ch7.adb (Analyze_Package_Specification): Build the partial
invariant body in order to preanalyze and resolve all invariants
of a private type at the end of the visible declarations. Build
the full invariant body in order to preanalyze and resolve
all invariants of a private type's full view at the end of
the private declarations.
(Preserve_Full_Attributes): Inherit invariant-related attributes.
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Ensure that
aspects are analyzed with the proper view when the protected type
is a completion of a private type. Inherit invariant-related attributes.
(Analyze_Task_Type_Declaration): Ensure that
aspects are analyzed with the proper view when the task type
is a completion of a private type. Inherit invariant-related
attributes.
* sem_ch13.adb Remove with and use clauses for Stringt.
(Build_Invariant_Procedure_Declaration): Removed.
(Build_Invariant_Procedure): Removed.
(Freeze_Entity_Checks): Do not build the body of the invariant
procedure here.
The body is built when the type is frozen in Freeze_Type.
(Inherit_Aspects_At_Freeze_Point): Do not inherit any attributes
related to invariants here because this leads to erroneous
inheritance.
(Replace_Node): Rename to Replace_Type_Ref.
* sem_ch13.ads (Build_Invariant_Procedure_Declaration): Removed.
(Build_Invariant_Procedure): Removed.
* sem_prag.adb Add with and use clauses for Exp_Ch7.
(Analyze_Pragma): Reimplement the analysis of pragma Invariant.
* sem_res.adb (Resolve_Actuals): Emit a specialized error when
the context is an invariant.
* sem_util.adb (Get_Views): New routine.
(Incomplete_Or_Partial_View): Consider generic packages when
examining declarations.
(Inspect_Decls): Consider full type
declarations because they may denote a derivation from a
private type.
(Propagate_Invariant_Attributes): New routine.
* sem_util.ads (Get_Views): New routine.
(Propagate_Invariant_Attributes): New routine.

2016-06-16  Arnaud Charlet  <charlet@adacore.com>

* pprint.adb (Expression_Image): Add better handling of UCs,
we don't want to strip them all for clarity.

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

9 years agoThe Cortex-A57 scheduler is missing fcsel, so add it.
wilco [Mon, 20 Jun 2016 12:15:19 +0000 (12:15 +0000)] 
The Cortex-A57 scheduler is missing fcsel, so add it.

    gcc/
* config/arm/cortex-a57.md (cortex_a57_fp_cpys): Add fcsel.

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

9 years ago[typo] alignement -> alignment
ktkachov [Mon, 20 Jun 2016 11:12:07 +0000 (11:12 +0000)] 
[typo] alignement -> alignment

2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    * params.def (PARAM_ALIGN_LOOP_ITERATIONS): Use "alignment" instead of
    "alignement".
    * tree.h (TYPE_ALIGN): Likewise.

2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    * exp_util.adb (Safe_Unchecked_Type_Conversion): Use "alignment"
    instead of "alignement".

2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    * gfortran.dg/common_align_2.f90: Use "alignment" instead of
    "alignement".

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

9 years agogcc/
gjl [Mon, 20 Jun 2016 11:01:13 +0000 (11:01 +0000)] 
gcc/
PR target/71103
* config/avr/avr.md (movqi): Handle loading subreg:qi (const).

gcc/testsuite/
PR target/71103
* gcc.target/avr/torture/pr71103-2.c: New test.

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

9 years ago * config/avr/avr.c (avr_print_operand): Fix "format not a string
gjl [Mon, 20 Jun 2016 10:50:53 +0000 (10:50 +0000)] 
* config/avr/avr.c (avr_print_operand): Fix "format not a string
literal" build warnings.
(avr_print_operand_address): Dito.

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

9 years ago PR target/71375
dje [Mon, 20 Jun 2016 02:25:50 +0000 (02:25 +0000)] 
    PR target/71375
        * config/rs6000/aix51.h (TARGET_EXTRA_BUILTINS): Define as 0.
        * config/rs6000/aix43.h (TARGET_EXTRA_BUILTINS): Same.

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