aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-09-12* config/abi/pre/gnu.ver: Use [jmy] for size_t.Jason Merrill2-6/+10
From-SVN: r240097
2016-09-12Fix suggestions for non-trivial Wformat type cases (PR c/72858)David Malcolm5-63/+816
gcc/c-family/ChangeLog: PR c/72858 * c-format.c (argument_parser::check_argument_type): Add params "type_start" and "conversion_char". Use the former to generate offset_to_type_start and pass it and conversion_char to check_format_types. (check_format_info_main): Capture the start of the type information as "type_start", and pass it an format_char to arg_parser.check_argument_type. (check_format_types): Provide an example in the leading comment. Add params "offset_to_type_start" and "conversion_char"; pass them to format_type_warning calls. (test_get_modifier_for_format_len): Likewise. (matching_type_p): New function. (get_format_for_type): Add param "conversion_char" and move implementation into... (get_format_for_type_1): ...new function, called twice. Use new function matching_type_p rather than checking for TYPE_CANONICAL equality. (get_corrected_substring): New function. (format_type_warning): Provide an example in the leading comment. Add params "offset_to_type_start" and "conversion_char". Replace call to get_format_for_type with call to get_corrected_substring and move rejection of hints for widths/precisions there. (assert_format_for_type_streq): Add param "conversion_char". (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR. (test_get_format_for_type_printf): Add conversion chars to the tests, adding coverage for various combinations of integer vs double conversions, and for preserving octal and hexadecimal conversions. (test_get_format_for_type_scanf): Add conversion chars to the tests. gcc/testsuite/ChangeLog: PR c/72858 * gcc.dg/format/diagnostic-ranges.c: Update expected suggestions to preserve conversion chars, and to preserve prefix information. * gcc.dg/format/pr72858.c: New test case. From-SVN: r240095
2016-09-12Implement P0253R1, Fixing a design mistake in the searchers interface in ↵Ville Voutilainen3-22/+40
Library Fundamentals. Implement P0253R1, Fixing a design mistake in the searchers interface in Library Fundamentals. * include/std/functional: (utility): New include in C++17 mode. (default_searcher): Use a pair as return type, adjust the definition. (boyer_moore_searcher): Likewise. (boyer_moore_horspool_searcher): Likewise. * testsuite/20_util/function_objects/searchers.cc: Adjust. From-SVN: r240094
2016-09-12Implement C++17 string searchers.Ville Voutilainen3-0/+461
* include/std/functional: (unordered_map, vector): New includes in C++17 mode. (array, bits/stl_algo.h): Likewise. (default_searcher, __boyer_moore_map_base): New. (__boyer_moore_array_base, __is_std_equal_to): Likewise. (__boyer_moore_base_t, boyer_moore_searcher): Likewise. (boyer_moore_horspool_searcher, make_default_searcher): Likewise. (make_boyer_moore_searcher): Likewise. (make_boyer_moore_horspool_searcher): Likewise. * testsuite/20_util/function_objects/searchers.cc: New. From-SVN: r240093
2016-09-12configure.ac: Check for the minimum in-tree MPFR version handled.Maciej W. Rozycki3-0/+15
* configure.ac: Check for the minimum in-tree MPFR version handled. * configure: Regenerate. From-SVN: r240092
2016-09-12extend.texi: Use lowercase "boolean".Marek Polacek6-9/+17
* doc/extend.texi: Use lowercase "boolean". * doc/invoke.texi: Likewise. * doc/md.texi: Likewise. * target.def: Likewise. * doc/tm.texi: Regenerated. From-SVN: r240091
2016-09-12[libstdc++-v3] Fix dg-require before dg-run directives in testsuite.Matthew Wahab197-196/+450
* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: Move dg-do directive before dg-require. * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: Likewise. * testsuite/22_locale/codecvt/utf8.cc: Likewise. * testsuite/22_locale/locale/cons/unicode.cc: Likewise. * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise. * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise. * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise. * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise. * testsuite/23_containers/forward_list/debug/60499.cc: Likewise. * testsuite/23_containers/forward_list/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc: Likewise. * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise. * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise. * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise. * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/map/debug/60499.cc: Likewise. * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/60499.cc: Likewise. * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/60499.cc: Likewise. * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/set/debug/60499.cc: Likewise. * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/vector/debug/52433.cc: Likewise. * testsuite/23_containers/vector/debug/60499.cc: Likewise. * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise. * testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise. * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise. * testsuite/25_algorithms/push_heap/complexity.cc: Likewise. * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise. * testsuite/29_atomics/atomic/60658.cc: Likewise. * testsuite/29_atomics/atomic/60695.cc: Likewise. * testsuite/29_atomics/atomic/62259.cc: Likewise. * testsuite/29_atomics/atomic/64658.cc: Likewise. * testsuite/29_atomics/atomic/cons/49445.cc: Likewise. * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Likewise. From-SVN: r240090
2016-09-12[expmed.c] PR middle-end/77426 Delete duplicate condition in synth_multKyrylo Tkachov2-1/+5
PR middle-end/77426 * expmed.c (synth_mult): Delete duplicate mode check. From-SVN: r240089
2016-09-12Daily bump.GCC Administrator1-1/+1
From-SVN: r240088
2016-09-11pr77507.f90: Move to ...Steven G. Kargl2-0/+5
2016-09-11 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/pr77507.f90: Move to ... * gfortran.dg/ieee/pr77507.f90: here. From-SVN: r240085
2016-09-11* all: Remove meaningless trailing whitespace.Carlos Liam25-75/+79
From-SVN: r240084
2016-09-11runtime/internal/sys: new package, API copied from Go 1.7Ian Lance Taylor13-417/+593
Copy over the Go 1.7 runtime/internal/sys package, but instead of having separate files for each GOARCH and GOOS value, set the values in configure.ac and write them out in Makefile.am. Setting the values in configure.ac should make it easier to add new processors. Remove the automake GOARCH conditionals, which are no longer used. Leave the GOOS conditionals for now, as they are used for the C runtime package. Reviewed-on: https://go-review.googlesource.com/29018 From-SVN: r240083
2016-09-11re PR ipa/61159 (__builtin_constant_p gives incorrect results with aliases)Jan Hubicka2-0/+12
PR ipa/61159 * compile/pr61159.c: New testcase From-SVN: r240082
2016-09-11re PR ipa/63416 (Three calls to empty functions via pointers get folded, but ↵Jan Hubicka2-0/+61
not inlined) PR ipa/64316 * gcc.dg/ipa/pr63416.c: New testcase. From-SVN: r240081
2016-09-11Fix bootstrap failure when ATOMIC_INT_LOCK_FREE < 2Jonathan Wakely3-0/+7
* libsupc++/new_opant.cc: Include exception_defines.h. * libsupc++/new_opvant.cc: Likewise. From-SVN: r240080
2016-09-11Daily bump.GCC Administrator1-1/+1
From-SVN: r240079
2016-09-10Fix typo in log.Jerry DeLisle1-1/+1
From-SVN: r240076
2016-09-10Fix typo in log.Jerry DeLisle1-1/+1
From-SVN: r240075
2016-09-10re PR fortran/77532 ([F03] ICE in check_dtio_interface1, at ↵Paul Thomas4-6/+65
fortran/interface.c:4622) 2016-09-10 Paul Thomas <pault@gcc.gnu.org> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77532 ^ interface.c (check_dtio_arg_TKR_intent): Return after error. (check_dtio_interface1): Remove asserts, test for NULL and return if found. gfortran.dg/dtio_11.f90: new test. Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org> From-SVN: r240074
2016-09-10re PR fortran/77507 (gfortran rejects keyworded calls to procedures from ↵Steven G. Kargl3-2/+8
intrinsic modules) 2016-09-10 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77507 * gfortran.dg/c_assoc_2.f03: Update for r240050 * gfortran.dg/c_assoc_4.f90: Ditto. From-SVN: r240073
2016-09-10Make canonical_va_list_type more strictTom de Vries8-29/+37
2016-09-10 Tom de Vries <tom@codesourcery.com> PR C/71602 * builtins.c (std_canonical_va_list_type): Strictly return non-null for va_list type only. * config/i386/i386.c (ix86_canonical_va_list_type): Same. * gimplify.c (gimplify_va_arg_expr): Handle &va_list. * c-common.c (build_va_arg): Handle more strict targetm.canonical_va_list_type. Replace first argument type error with assert. * c-c++-common/va-arg-va-list-type.c: New test. From-SVN: r240072
2016-09-10libgo: update to Go 1.7.1 releaseIan Lance Taylor29-256/+1113
Reviewed-on: https://go-review.googlesource.com/29012 From-SVN: r240071
2016-09-10runtime/internal/atomic: new package, API copied from Go 1.7Ian Lance Taylor7-1/+432
Copy over the Go 1.7 runtime/internal/atomic package, but implement the functions in C using __atomic functions rather than using the processor-specific assembler code. Reviewed-on: https://go-review.googlesource.com/29010 From-SVN: r240070
2016-09-10go-backend.c (go_trampoline_info): Remove.Ian Lance Taylor3-11/+5
* go-backend.c (go_trampoline_info): Remove. * go-c.h (go_trampoline_info): Don't declare. From-SVN: r240069
2016-09-10Fix -Wshadow warning in libiberty/cp-demangle.cMark Wielaard2-5/+10
valgrind contains a copy of the libiberty demangler which gets compiled with -Wshadow. That shows the following warning: cp-demangle.c: In function ‘d_substitution’: cp-demangle.c:3772:35: warning: declaration of ‘c’ shadows a previous local struct demangle_component *c; ^ cp-demangle.c:3708:8: note: shadowed declaration is here char c; ^ Fix that by renaming the struct demangle_component variable to dc. libiberty/ChangeLog: * cp-demangle.c (d_substitution): Change struct demangle_component variable name from c to dc. From-SVN: r240068
2016-09-10compiler: code cleanup (unused header file)Ian Lance Taylor2-3/+2
Remove inclusion of simple-ojbject.h (no longer needed); adjust comments. Reviewed-on: https://go-review.googlesource.com/28856 From-SVN: r240067
2016-09-09re PR rtl-optimization/77289 (ICE in extract_constrain_insn, at recog.c:2212 ↵Peter Bergner4-17/+63
on powerpc64) gcc/ PR rtl-optimization/77289 * lra-constraints.c (get_final_hard_regno): Add support for non hard register numbers. Remove support for subregs. (get_hard_regno): Use SUBREG_P. Don't call get_final_hard_regno(). (get_reg_class): Delete removed get_final_hard_regno() argument. (uses_hard_regs_p): Call get_final_hard_regno(). gcc/testsuite/ PR rtl-optimization/77289 * gcc.target/powerpc/pr77289.c: New test. From-SVN: r240065
2016-09-10Commit the ChangeLog entry for revision 240063.Steven G. Kargl1-0/+7
From-SVN: r240064
2016-09-10re PR fortran/77420 (gfortran and equivalence produces internal compiler error)Steven G. Kargl3-1/+31
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77420 * module.c (load_equiv): If the current namespace has a list of equivalence statements, initialize duplicate to false and then look for duplicates; otherwise, initialize it to true. 2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77420 * gfortran.dg/pr77420.f90: New test. From-SVN: r240063
2016-09-10Daily bump.GCC Administrator1-1/+1
From-SVN: r240062
2016-09-09PR c/77520 - wrong value for extended ASCII characters in -Wformat messageMartin Sebor7-17/+100
PR c/77520 - wrong value for extended ASCII characters in -Wformat message PR c/77521 - %qc format directive should quote non-printable characters gcc/c-family/ChangeLog: PR c/77520 PR c/77521 * c-format.c (argument_parser::find_format_char_info): Use %qc format directive unconditionally. gcc/ChangeLog: PR c/77520 PR c/77521 * pretty-print.c (pp_quoted_string): New function. (pp_format): Call it for %c and %s directives. gcc/testsuite/ChangeLog: PR c/77520 PR c/77521 * gcc.dg/pr77520.c: New test. * gcc.dg/pr77521.c: New test. From-SVN: r240059
2016-09-09tm.texi.in (INITIAL_FRAME_POINTER_OFFSET): Remove.Bernd Edlinger22-230/+85
2016-09-10 Bernd Edlinger <bernd.edlinger@hotmail.de> * doc/tm.texi.in (INITIAL_FRAME_POINTER_OFFSET): Remove. (ELIMINABLE_REGS, TARGET_CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET) : Update documentation. * target.def (frame_pointer_required, can_eliminate): Likewise. * doc/tm.texi: Regenerated. * builtins.c (expand_builtin_setjmp_receiver): Remove #ifdef ELIMINABLE_REGS. * df-scan.c (df_hard_reg_init): Likewise. * ira.c (ira_setup_eliminable_regset): Likewise. * lra-eliminations.c (reg_eliminate_1, (update_reg_eliminate, init_elim_table): Likewise. * reload1.c (reg_eliminate_1, verify_initial_elim_offsets, set_initial_elim_offsets, update_eliminables, init_elim_table): Likewise. * rtlanal.c (get_initial_register_offset): Likewise. * config/ft32/ft32.h (INITIAL_FRAME_POINTER_OFFSET): Remove. * config/m32r/m32r.h (INITIAL_FRAME_POINTER_OFFSET): Likewise. * config/moxie/moxie.h (INITIAL_FRAME_POINTER_OFFSET): Likewise. * config/vax/vax.h (INITIAL_FRAME_POINTER_OFFSET): Likewise. * config/fr30/fr30.h: Fix comment. * config/frv/frv.c: Likewise. * config/frv/frv.h: Likewise. * config/ft32/ft32.h: Likewise. * config/visium/visium.h: Likewise. * config/pa/pa64-linux.h: Likewise. * config/v850/v850.h: Likewise. * config/cris/cris.c: Likewise. * config/ia64/ia64.h: Likewise. * config/moxie/moxie.h: Likewise. * config/m32r/m32r.h: Likewise. From-SVN: r240058
2016-09-09re PR target/77267 (MPX does not work in a presence of "-Wl,-as-needed" ↵Alexander Ivchenko5-3/+79
option (Ubuntu default)) Fix PR target/77267 2016-09-10 Alexander Ivchenko <alexander.ivchenko@intel.com> PR target/77267 * config.in: Regenerate. * config/i386/linux-common.h (MPX_LD_AS_NEEDED_GUARD_PUSH): New macro. (MPX_LD_AS_NEEDED_GUARD_PUSH): Ditto. (LIBMPXWRAPPERS_SPEC): Remove "--no-whole-archive" from static-libmpxwrappers case. (LIBMPX_SPEC): Add guards with MPX_LD_AS_NEEDED_GUARD_PUSH and MPX_LD_AS_NEEDED_GUARD_POP. * configure: Regenerate. * configure.ac (HAVE_LD_PUSHPOPSTATE_SUPPORT): New variable. defined if linker support "--push-state"/"--pop-state". From-SVN: r240057
2016-09-09Implement P0035R4, C++17 new of over-aligned types.Jason Merrill39-65/+1046
gcc/cp/ * cp-tree.h (enum cp_tree_index): Add CPTI_ALIGN_TYPE. (align_type_node): New macro. * call.c (build_operator_new_call): Handle C++17 aligned new. (second_parm_is_size_t, build_op_delete_call): Likewise. (non_placement_deallocation_fn_p): Likewise. Rename to usual_deallocation_fn_p. (aligned_allocation_fn_p, aligned_deallocation_fn_p): New. * decl.c (cxx_init_decl_processing): Add aligned new support. * init.c (type_has_new_extended_alignment): New. (build_new_1): Handle aligned new. * tree.c (vec_copy_and_insert): New. gcc/c-family/ * c.opt: Add -faligned-new and -Waligned-new. * c-common.c (max_align_t_align): Split out from... (cxx_fundamental_alignment_p): ...here. * c-common.h: Declare it. * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new. libstdc++-v3/ * libsupc++/new: Declare aligned new/delete operators. * config/abi/pre/gnu.ver: Export them. * configure.ac: Check for aligned_alloc, posix_memalign, memalign, _aligned_malloc. * libsupc++/new_opa.cc: New. * libsupc++/new_opant.cc: New. * libsupc++/new_opva.cc: New. * libsupc++/new_opva.cc: New. * libsupc++/del_opa.cc: New. * libsupc++/del_opant.cc: New. * libsupc++/del_opsa.cc: New. * libsupc++/del_opva.cc: New. * libsupc++/del_opvant.cc: New. * libsupc++/del_opvsa.cc: New. * libsupc++/Makefile.am: Build them. From-SVN: r240056
2016-09-09.gitignore: Ignore in-tree prerequisites.Jason Merrill1-0/+6
From-SVN: r240055
2016-09-09compiler: increase buffer size to avoid -Wformat-length warningIan Lance Taylor3-9/+2
GCC will soon get a new -Wformat-length option as described in https://gcc.gnu.org/PR49905. This change makes a buffer larger to avoid a warning. Reviewed-on: https://go-review.googlesource.com/28915 Also revert ChangeLog entry in gcc/go/ChangeLog--changes to gcc/go/gofrontend do not get ChangeLog entries. From-SVN: r240054
2016-09-09compiler: add abstraction layer for sha1 checksums.Than McIntosh7-18/+124
Add new interface for the front end code to use when computing SHA1 checksums; the intent is to allow the different implementation in different back ends. No change in functionality for gccgo; this is an enabling change to permit the front end to be used with other back ends (e.g. LLVM). Reviewed-on: https://go-review.googlesource.com/28833 * go-sha1.cc: New file. * Make-lang.in (GO_OBJS): Add go/go-sha1.o. (CFLAGS-go/go-sha1.o): New variable. From-SVN: r240053
2016-09-09re PR fortran/77506 (F2008 Standard does not allow CHARACTER(LEN=*) in array ↵Steven G. Kargl4-0/+24
constructor) 2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77506 * array.c (gfc_match_array_constructor): CHARACTER(len=*) cannot appear in an array constructor. 2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77506 * gfortran.dg/pr77506.f90: New test. From-SVN: r240052
2016-09-09cpp.texi (__*_WIDTH__): Small wording fixes.Bernd Edlinger2-2/+6
2016-09-09 Bernd Edlinger <bernd.edlinger@hotmail.de> * doc/cpp.texi (__*_WIDTH__): Small wording fixes. From-SVN: r240051
2016-09-09re PR fortran/77507 (gfortran rejects keyworded calls to procedures from ↵Steven G. Kargl6-19/+44
intrinsic modules) 2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77507 * intrinsic.c (add_functions): Use correct keyword. 2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77507 * ieee/ieee_arithmetic.F90 (IEEE_VALUE_4,IEEE_VALUE_8,IEEE_VALULE_10, IEEE_VALUE_16): Use correct keyword. 2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77507 * gfortran.dg/pr77507.f90: New test. From-SVN: r240050
2016-09-09compiler: break dependence on hex_valueIan Lance Taylor3-16/+65
Rework the lexical analyzer to eliminate the need to call hex_value() in libiberty (added equivalent local functionality). No change in functionality. Reviewed-on: https://go-review.googlesource.com/28855 From-SVN: r240049
2016-09-09Define TS 18661-1 type width macros in <limits.h> and <stdint.h>.Joseph Myers9-7/+482
TS 18661-1 defines <limits.h> and <stdint.h> macros for widths of standard integer types and the typedefs defined in, or whose limits are defined in, <stdint.h>. (The connection to the main floating-point subject matter of TS 18661-1 is that these are intended to be used with the fromfp functions to convert from floating point to integer types of any width in any rounding direction, though these macros may be of more general use.) This patch implements support for these macros in GCC's <limits.h> and <stdint.h>. To avoid needing to implement fixincludes for system headers where GCC wraps the system libc's <stdint.h> in hosted mode, the test for the <stdint.h> macros uses -ffreestanding (I'll add the macros to glibc's headers separately) - but as usual for new features in these headers, platforms (primarily OpenBSD) that use USER_H to avoid using GCC's headers at all will have failures until the system headers have the feature added or appropriate fixincludes are implemented. The header macros are implemented using appropriate new predefined macros, with the code avoiding defining more such macros than necessary (so one predefined macro suffices for corresponding signed and unsigned types, while no such predefined macros are needed for the exact-width types such as int8_t). Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc: * doc/cpp.texi (__SCHAR_WIDTH__, __SHRT_WIDTH__, __INT_WIDTH__) (__LONG_WIDTH__, __LONG_LONG_WIDTH__, __PTRDIFF_WIDTH__) (__SIG_ATOMIC_WIDTH__, __SIZE_WIDTH__, __WCHAR_WIDTH__) (__WINT_WIDTH__, __INT_LEAST8_WIDTH__, __INT_LEAST16_WIDTH__) (__INT_LEAST32_WIDTH__, __INT_LEAST64_WIDTH__) (__INT_FAST8_WIDTH__, __INT_FAST16_WIDTH__, __INT_FAST32_WIDTH__) (__INT_FAST64_WIDTH__, __INTPTR_WIDTH__, __INTMAX_WIDTH__): Document. * ginclude/stdint-gcc.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Define width macros from TS 18661-1. * glimits.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Likewise. gcc/c-family: * c-cppbuiltin.c (builtin_define_type_width): New function. (builtin_define_stdint_macros, c_cpp_builtins): Define type width macros. gcc/testsuite: * gcc.dg/limits-width-1.c, gcc.dg/stdint-width-1.c: New tests. From-SVN: r240048
2016-09-09runtime: use alignof to check alignment of ucontext_tIan Lance Taylor2-2/+8
Use alignof rather than assuming a 16 byte alignment. Reviewed-on: https://go-review.googlesource.com/28913 From-SVN: r240047
2016-09-09runtime: remove remaining use of MAKECONTEXT_STACK_TOP macroIan Lance Taylor2-4/+1
The definition and most uses of MAKECONTEXT_STACK_TOP were removed in https://golang.org/cl/88660043, which removed support for Solaris 8/9. One use of MAKECONTEXT_STACK_TOP was accidentally left in the source code. Remove it now. Reviewed-on: https://go-review.googlesource.com/28911 From-SVN: r240045
2016-09-09runtime: align ucontext_t argument to 16 byte boundaryIan Lance Taylor3-22/+44
Some systems, such as ia64 and PPC, require that a ucontext_t pointer passed to getcontext and friends be aligned to a 16-byte boundary. Currently the ucontext_t fields in the g structure are defined in Go, and Go has no way to ensure a 16-byte alignment for a struct field. The fields are currently represented by an array of unsafe.Pointer. Enforce the alignment by making the array larger, and picking an offset into the array that is 16-byte aligned. Reviewed-on: https://go-review.googlesource.com/28910 From-SVN: r240044
2016-09-09[Patch libgcc] Enable HCmode multiply and divide (mulhc3/divhc3)James Greenhalgh4-6/+39
This patch arranges for half-precision complex multiply and divide routines to be built if __LIBGCC_HAS_HF_MODE__. This will be true if the target supports the _Float16 type. libgcc/ PR target/63250 * Makefile.in (lib2funcs): Build _mulhc3 and _divhc3. * libgcc2.h (LIBGCC_HAS_HF_MODE): Conditionally define. (HFtype): Likewise. (HCtype): Likewise. (__divhc3): Likewise. (__mulhc3): Likewise. * libgcc2.c: Support _mulhc3 and _divhc3. From-SVN: r240043
2016-09-09Daily bump.GCC Administrator1-1/+1
From-SVN: r240042
2016-09-08re PR fortran/69514 (ICE with nested array constructor)Steven G. Kargl5-2/+77
2016-09-08 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/69514 * array.c (gfc_match_array_constructor): If type-spec is present, walk the array constructor performing possible conversions for numeric types. 2016-09-08 Steven G. Kargl <kargl@gcc.gnu.org> Louis Krupp <lkrupp@gcc.gnu.org> PR fortran/69514 * gfortran.dg/pr69514_1.f90: New test. * gfortran.dg/pr69514_2.f90: New test. Co-Authored-By: Louis Krupp <lkrupp@gcc.gnu.org> From-SVN: r240039
2016-09-08re PR fortran/77500 (ICE in gfc_trans_omp_atomic, at ↵Jakub Jelinek4-1/+28
fortran/trans-openmp.c:2822) PR fortran/77500 * trans-openmp.c (gfc_trans_omp_atomic): For atomic write or swap, don't try to look through GFC_ISYM_CONVERSION. In other cases, check that value.function.isym is non-NULL before dereferencing it. * gfortran.dg/gomp/pr77500.f90: New test. From-SVN: r240038
2016-09-08re PR fortran/77516 (ICE in is_gimple_min_invariant, at gimple-expr.c:706)Jakub Jelinek4-1/+26
PR fortran/77516 * omp-low.c (lower_rec_simd_input_clauses): Use max_vf for non-positive OMP_CLAUSE_SAFELEN_EXPR. * gfortran.dg/gomp/pr77516.f90: New test. From-SVN: r240037