- 06 Aug, 2016 3 commits
-
-
From-SVN: r239188
GCC Administrator committed -
gcc/cp: * call.c (convert_like_real): Harmonize diagnostics for invalid reference binding. gcc/testsuite: * call.c (convert_like_real): Harmonize diagnostics for invalid reference binding. * g++.dg/conversion/pr16333.C: Adjust dg-error regexp. * g++.dg/conversion/pr41426.C: Likewise. * g++.dg/conversion/pr66211.C: Likewise. * g++.dg/cpp1y/lambda-init9.C: Likewise. * g++.dg/init/ref8.C: Likewise. * g++.old-deja/g++.law/cvt20.C: Likewise. * g++.old-deja/g++.mike/p9732c.C: Likewise. From-SVN: r239184
Jonathan Wakely committed -
* doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features. * doc/html/manual/status.html: Regenerate. * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/invoke.h: New header. (__invoke): Make constexpr. Add && to types in exception specification. * include/experimental/tuple (apply, __apply_impl): Fix non-reserved names. Include <bits/invoke.h> and use std::__invoke. * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to new header. (invoke): Add && to types in exception specification. * include/std/tuple (apply, __apply_impl): Define for C++17. * testsuite/20_util/tuple/apply/1.cc: New test. * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error lineno. From-SVN: r239183
Jonathan Wakely committed
-
- 05 Aug, 2016 20 commits
-
-
gcc/ChangeLog: PR tree-optimization/18046 * tree-ssa-threadedge.c: Include cfganal.h. (simplify_control_statement_condition): If simplifying a GIMPLE_SWITCH, replace the index operand of the GIMPLE_SWITCH with the dominating ASSERT_EXPR before handing it off to VRP. Mention that a CASE_LABEL_EXPR may be returned. (thread_around_empty_blocks): Adjust to handle simplify_control_statement_condition() returning a CASE_LABEL_EXPR. (thread_through_normal_block): Likewise. * tree-vrp.c (simplify_stmt_for_jump_threading): Simplify a switch statement by trying to determine which case label will be taken. gcc/testsuite/ChangeLog: PR tree-optimization/18046 * gcc.dg/tree-ssa/vrp105.c: New test. * gcc.dg/tree-ssa/vrp106.c: New test. From-SVN: r239181
Patrick Palka committed -
2016-08-05 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/69847 * lra-constraints.c (process_invariant_for_inheritance): Save pattern instead of src. (remove_inheritance_pseudos): Use the pattern. Add assert. From-SVN: r239180
Vladimir Makarov committed -
PR go/72812 * go-gcc.cc (char_needs_encoding): New static function. (needs_encoding, fetch_utf8_char): New static functions. (encode_id): New static function. (Gcc_backend::global_variable): Set asm name if the name is not simple ASCII. (Gcc_backend::implicit_variable): Likewise. (Gcc_backend::implicit_variable_reference): Likewise. (Gcc_backend::immutable_struct): Likewise. (Gcc_backend::immutable_struct_reference): Likewise. (Gcc_backend::function): Likewise. From-SVN: r239179
Ian Lance Taylor committed -
constexpr.c (cxx_eval_store_expression): Remove hyphen from the spelling of "constant-expression" in diagnostic messages... gcc/cp/ChangeLog: * constexpr.c (cxx_eval_store_expression): Remove hyphen from the spelling of "constant-expression" in diagnostic messages for consistency. (cxx_eval_constant_expression): Same. (cxx_eval_outermost_constant_expr): Same. (potential_constant_expression_1): Same. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/constexpr-cast.C: Avoid assuming (void*)1 is spelled 1ul in diagnostics. Remove hyphen from "constant-expression." * g++.dg/cpp0x/constexpr-50060.C: Adjust. * g++.dg/cpp0x/static_assert3.C: Same. * g++.dg/cpp1y/constexpr-throw.C: Same. * g++.dg/template/nontype3.C: Same. * g++.dg/warn/overflow-warn-1.C: Same. * g++.dg/warn/overflow-warn-3.C: Same. * g++.dg/warn/overflow-warn-4.C: Same. From-SVN: r239176
Martin Sebor committed -
gcc/c-family/ChangeLog: * c-common.c: Include "substring-locations.h". (get_cpp_ttype_from_string_type): New function. (g_string_concat_db): New global. (substring_loc::get_range): New method. * c-common.h (g_string_concat_db): New declaration. (class substring_loc): New class. * c-lex.c (lex_string): When concatenating strings, capture the locations of all tokens using a new obstack, and record the concatenation locations within g_string_concat_db. * c-opts.c (c_common_init_options): Construct g_string_concat_db on the ggc-heap. gcc/ChangeLog: * input.c (string_concat::string_concat): New constructor. (string_concat_db::string_concat_db): New constructor. (string_concat_db::record_string_concatenation): New method. (string_concat_db::get_string_concatenation): New method. (string_concat_db::get_key_loc): New method. (class auto_cpp_string_vec): New class. (get_substring_ranges_for_loc): New function. (get_source_range_for_substring): New function. (get_num_source_ranges_for_substring): New function. (class selftest::lexer_test_options): New class. (struct selftest::lexer_test): New struct. (class selftest::ebcdic_execution_charset): New class. (selftest::ebcdic_execution_charset::s_singleton): New variable. (selftest::lexer_test::lexer_test): New constructor. (selftest::lexer_test::~lexer_test): New destructor. (selftest::lexer_test::get_token): New method. (selftest::assert_char_at_range): New function. (ASSERT_CHAR_AT_RANGE): New macro. (selftest::assert_num_substring_ranges): New function. (ASSERT_NUM_SUBSTRING_RANGES): New macro. (selftest::assert_has_no_substring_ranges): New function. (ASSERT_HAS_NO_SUBSTRING_RANGES): New macro. (selftest::test_lexer_string_locations_simple): New function. (selftest::test_lexer_string_locations_ebcdic): New function. (selftest::test_lexer_string_locations_hex): New function. (selftest::test_lexer_string_locations_oct): New function. (selftest::test_lexer_string_locations_letter_escape_1): New function. (selftest::test_lexer_string_locations_letter_escape_2): New function. (selftest::test_lexer_string_locations_ucn4): New function. (selftest::test_lexer_string_locations_ucn8): New function. (selftest::uint32_from_big_endian): New function. (selftest::test_lexer_string_locations_wide_string): New function. (selftest::uint16_from_big_endian): New function. (selftest::test_lexer_string_locations_string16): New function. (selftest::test_lexer_string_locations_string32): New function. (selftest::test_lexer_string_locations_u8): New function. (selftest::test_lexer_string_locations_utf8_source): New function. (selftest::test_lexer_string_locations_concatenation_1): New function. (selftest::test_lexer_string_locations_concatenation_2): New function. (selftest::test_lexer_string_locations_concatenation_3): New function. (selftest::test_lexer_string_locations_macro): New function. (selftest::test_lexer_string_locations_stringified_macro_argument): New function. (selftest::test_lexer_string_locations_non_string): New function. (selftest::test_lexer_string_locations_long_line): New function. (selftest::test_lexer_char_constants): New function. (selftest::input_c_tests): Call the new test functions once per case within the line_table test matrix. * input.h (struct string_concat): New struct. (struct location_hash): New struct. (class string_concat_db): New class. * substring-locations.h: New header. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-string-literals-1.c: New file. * gcc.dg/plugin/diagnostic-test-string-literals-2.c: New file. * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: New file. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above new files. libcpp/ChangeLog: * charset.c (cpp_substring_ranges::cpp_substring_ranges): New constructor. (cpp_substring_ranges::~cpp_substring_ranges): New destructor. (cpp_substring_ranges::add_range): New method. (cpp_substring_ranges::add_n_ranges): New method. (_cpp_valid_ucn): Add "char_range" and "loc_reader" params; if they are non-NULL, read position information from *loc_reader and update char_range->m_finish accordingly. (convert_ucn): Add "char_range", "loc_reader", and "ranges" params. If loc_reader is non-NULL, read location information from it, and update *ranges accordingly, using char_range. Conditionalize the conversion into tbuf on tbuf being non-NULL. (convert_hex): Likewise, conditionalizing the call to emit_numeric_escape on tbuf. (convert_oct): Likewise. (convert_escape): Add params "loc_reader" and "ranges". If loc_reader is non-NULL, read location information from it, and update *ranges accordingly. Conditionalize the conversion into tbuf on tbuf being non-NULL. (cpp_interpret_string): Rename to... (cpp_interpret_string_1): ...this, adding params "loc_readers" and "out". Use "to" to conditionalize the initialization and usage of "tbuf", such as running the converter. If "loc_readers" is non-NULL, use the instances within it, reading location information from them, and passing them to convert_escape; likewise write to "out" if loc_readers is non-NULL. Check for leading quote and issue an error if it is not present. Update boundary check from "== limit" to ">= limit" to protect against erroneous location values to calls that are not parsing string literals. (cpp_interpret_string): Reimplement in terms to cpp_interpret_string_1. (noop_error_cb): New function. (cpp_interpret_string_ranges): New function. (cpp_string_location_reader::cpp_string_location_reader): New constructor. (cpp_string_location_reader::get_next): New method. * include/cpplib.h (class cpp_string_location_reader): New class. (class cpp_substring_ranges): New class. (cpp_interpret_string_ranges): New prototype. * internal.h (_cpp_valid_ucn): Add params "char_range" and "loc_reader". * lex.c (forms_identifier_p): Pass NULL for new params to _cpp_valid_ucn. From-SVN: r239175
David Malcolm committed -
Fix PR tree-optimization/72810 gcc/ChangeLog: PR tree-optimization/72810 * tree-vrp.c (simplify_switch_using_ranges): Avoid changing the type of the case labels when truncating. gcc/testsuite/ChangeLog: PR tree-optimization/72810 * gcc.dg/tree-ssa/vrp110.c: New test. From-SVN: r239174
Patrick Palka committed -
Fix PR Target/72819. gcc/ PR Target/72819 * config/aarch64/aarch64.h (aarch64_fp16_type_node): Declare. (aarch64_fp16_ptr_type_node): Likewise. * config/aarch64/aarch64-simd-builtins.c (aarch64_fp16_ptr_type_node): Define. (aarch64_init_fp16_types): New, refactored out of... (aarch64_init_builtins): ...here, update to call aarch64_init_fp16_types. * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Handle HFmode. (aapcs_vfp_sub_candidate): Likewise. gcc/testsuite/ PR Target/72819 * gcc.target/aarch64/aapcs64/abitest-common.h: Define half-precision registers. * gcc.target/aarch64/aapcs64/abitest.S (dumpregs): Add assembly for saving the half-precision registers. * gcc.target/aarch64/aapcs64/func-ret-1.c: Test that an __fp16 value is returned in h0. * gcc.target/aarch64/aapcs64/test_2.c: Check that __FP16 arguments are passed in FP/SIMD registers. * gcc.target/aarch64/aapcs64/test_27.c: New, test that __fp16 HFA passing works corrcetly. * gcc.target/aarch64/aapcs64/type-def.h (hfa_f16x1_t): New. (hfa_f16x2_t): Likewise. (hfa_f16x3_t): Likewise. * gcc.target/aarch64/aapcs64/va_arg-1.c: Check that __fp16 values are promoted to double and passed in a double register. * gcc.target/aarch64/aapcs64/va_arg-2.c: Check that __fp16 values are promoted to double and stacked. * gcc.target/aarch64/aapcs64/va_arg-4.c: Check stacking of HFA of __fp16 data types. * gcc.target/aarch64/aapcs64/va_arg-5.c: Likewise. * gcc.target/aarch64/aapcs64/va_arg-16.c: New, check HFAs of __fp16 first get passed in FP/SIMD registers, then stacked. From-SVN: r239173
James Greenhalgh committed -
* doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status. * doc/html/manual/status.html: Regenerate. From-SVN: r239171
Jonathan Wakely committed -
* include/std/chrono (floor, ceil, round, abs): New for C++17. * testsuite/20_util/duration_cast/rounding.cc: New test. * testsuite/20_util/time_point_cast/rounding.cc: New test. * doc/xml/manual/status_cxx2017.xml: Update status table. * doc/html/manual/status.html: Regenerate. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust dg-error lineno. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. * testsuite/20_util/duration/literals/range.cc: Likewise. From-SVN: r239170
Jonathan Wakely committed -
Joshua Cranmer <Pidgeot18@gmail.com> * gcov.c (line_t::has_block): New function. (enum loop_type): New enum. (handle_cycle): New function. (unblock): Likewise. (circuit): Likewise. (get_cycles_count): Likewise. (accumulate_line_counts): Use new loop detection algorithm. From-SVN: r239169
Martin Liska committed -
* gcov.c (output_intermediate_file): Rename function_info::line_next to next_file_fn. (process_file): Likewise. (read_graph_file): Likewise. (accumulate_line_counts): Likewise. (output_lines): Likewise. From-SVN: r239168
Martin Liska committed -
PR c++/68724 * pt.c (unify): TRAIT_EXPR is an expr. PR c++/68724 * g++.dg/cpp0x/pr68724.C: New. From-SVN: r239167
Nathan Sidwell committed -
* include/std/functional (__callable_functor): Remove. (_Function_handler::_M_invoke): Use __invoke instead of __callable_functor or mem_fn. (function::_Callable): Use lvalue in result_of expression. (function): Remove TODO comments about allocators. * testsuite/20_util/function/cons/refqual.cc: New test. From-SVN: r239166
Jonathan Wakely committed -
2016-08-05 Richard Biener <rguenther@suse.de> * gcc.dg/tree-ssa/ivopt_5.c: Make robust against edge swapping. From-SVN: r239165
Richard Biener committed -
tree-ssa-threadupdate.c (thread_block_1): Remove unnecessary restriction on threading to a loop header. 2016-08-05 Richard Biener <rguenther@suse.de> * tree-ssa-threadupdate.c (thread_block_1): Remove unnecessary restriction on threading to a loop header. From-SVN: r239164
Richard Biener committed -
2016-08-05 Richard Biener <rguenther@suse.de> * tree-cfgcleanup.c (tree_forwarder_block_p): Use bb_loop_header_p. * cfghooks.c (force_nonfallthru): If we ended up splitting a latch adjust loop info accordingly. From-SVN: r239163
Richard Biener committed -
tree-vrp.c (extract_range_basic): Check cfun->after_inlining before folding call to __builtin_constant_p with... gcc/ChangeLog: 2016-08-05 Kugan Vivekanandarajah <kuganv@linaro.org> * tree-vrp.c (extract_range_basic): Check cfun->after_inlining before folding call to __builtin_constant_p with parameters to false. From-SVN: r239162
Kugan Vivekanandarajah committed -
* config/rs6000/rs6000.c (rs6000_preferred_reload_class): Delete code accidentally committed 2016-05-02 providing class when given NO_REGS. From-SVN: r239161
Alan Modra committed -
From-SVN: r239160
GCC Administrator committed -
gcc/ChangeLog: * tree-vrp.c (simplify_switch_using_ranges): Try to truncate the case label ranges that partially overlap with OP's value range. gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/vrp107.c: New test. * gcc.dg/tree-ssa/vrp108.c: New test. * gcc.dg/tree-ssa/vrp109.c: New test. From-SVN: r239157
Patrick Palka committed
-
- 04 Aug, 2016 17 commits
-
-
PR target/72805 * config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]: Cast builtin function result to __mmask16 instead of __mmask8. (_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto. (_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto. (_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto. From-SVN: r239152
Uros Bizjak committed -
gcc/ChangeLog: * selftest.h (ASSERT_TRUE): Reimplement in terms of... (ASSERT_TRUE_AT): New macro. (ASSERT_FALSE): Reimplement in terms of... (ASSERT_FALSE_AT): New macro. (ASSERT_STREQ_AT): Fix typo in comment. From-SVN: r239151
David Malcolm committed -
2016-08-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> testsuite/ * gcc.dg/pr70920-4.c: Move dg-require-effective-target before dg-options. From-SVN: r239150
Prathamesh Kulkarni committed -
2016-08-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> testsuite/ * gcc.dg/tree-ssa/pr71078-1.c: Remove double and long double test-cases. * gcc.dg/tree-ssa/pr71078-1-double.c: New test-case. * gcc.dg/tree-ssa/pr71078-1-long-double.c: Likewise. * gcc.dg/tree-ssa/pr71078-2.c: Remove double and long double test-cases. * gcc.dg/tree-ssa/pr71078-2-double.c: New test-case. * gcc.dg/tree-ssa/pr71078-2-long-double.c: Likewise. * gcc.dg/tree-ssa/pr71078-3.c: Add require-effective-check for large_double. From-SVN: r239149
Prathamesh Kulkarni committed -
re PR c++/72800 (ICE on invalid C++14 code with initialized lambda capture: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in add_capture, at cp/lambda.c:505) /cp 2016-08-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/72800 * lambda.c (add_capture): Check lambda_capture_field_type return value for error_mark_node. /testsuite 2016-08-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/72800 * g++.dg/cpp1y/lambda-ice1.C: New. From-SVN: r239148
Paolo Carlini committed -
gcc/cp/ChangeLog: PR c++/72759 * pt.c (tsubst_qualified_id): Return error_mark_node if template_args is error_mark_node. gcc/testsuite/ChangeLog: PR c++/72759 * g++.dg/cpp1y/pr72759.C: New test. From-SVN: r239147
Patrick Palka committed -
gcc/ChangeLog: * gimple.c (preprocess_case_label_vec_for_gimple): When the case labels are exhaustive, designate the label with the widest range to be the default label. gcc/testsuite/ChangeLog: * gcc.dg/switch-10.c: New test. From-SVN: r239146
Patrick Palka committed -
* doc/xml/manual/status_cxx2017.xml: Update status table. * include/std/functional (__inv_unwrap): Move to <type_traits>. (__invoke_impl): Remove exception specifications. (__invoke, invoke): Add exception specifications using __is_nothrow_callable. * include/std/type_traits (__inv_unwrap): Move from <functional>. (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers. (__is_callable, __is_nothrow_callable): New traits. (is_callable, is_callable_v): New C++17 traits. (is_nothrow_callable, is_nothrow_callable_v): Likewise. * testsuite/20_util/is_callable/requirements/ explicit_instantiation.cc: New test. * testsuite/20_util/is_callable/requirements/ explicit_instantiation_ext.cc: New test. * testsuite/20_util/is_callable/requirements/typedefs.cc: New test. * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New test. * testsuite/20_util/is_callable/value.cc: New test. * testsuite/20_util/is_callable/value_ext.cc: New test. * testsuite/20_util/is_nothrow_callable/requirements/ explicit_instantiation.cc: New test. * testsuite/20_util/is_nothrow_callable/requirements/ explicit_instantiation_ext.cc: New test. * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc: New test. * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc: New test. * testsuite/20_util/is_nothrow_callable/value.cc: New test. * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test. From-SVN: r239145
Jonathan Wakely committed -
Reviewed-on: https://go-review.googlesource.com/25490 From-SVN: r239144
Ian Lance Taylor committed -
2016-08-04 Marcel Böhme <boehme.marcel@gmail.com> PR c++/71696 * cplus-dem.c: Prevent infinite recursion when there is a cycle in the referencing of remembered mangled types. (work_stuff): New stack to keep track of the remembered mangled types that are currently being processed. (push_processed_type): New method to push currently processed remembered type onto the stack. (pop_processed_type): New method to pop currently processed remembered type from the stack. (work_stuff_copy_to_from): Copy values of new variables. (delete_non_B_K_work_stuff): Free stack memory. (demangle_args): Push/Pop currently processed remembered type. (do_type): Do not demangle a cyclic reference and push/pop referenced remembered type. From-SVN: r239143
Marcel Böhme committed -
* gcc.c-torture/execute/pr70903.c: Remove duplicate body. From-SVN: r239142
James Greenhalgh committed -
When using gccgo on systems without full support for split stacks a recursive template can overrun the available stack space. Reduce the limit from 100000 to 10000 to make this less likely. It's still high enough that real uses will work. Reviewed-on: https://go-review.googlesource.com/25467 From-SVN: r239141
Ian Lance Taylor committed -
Patch from Rainer Orth. Reviewed-on: https://go-review.googlesource.com/25466 From-SVN: r239140
Ian Lance Taylor committed -
* pt.c (tsubst_pack_expansion): Pull a single pack expansion out of the TREE_VEC. From-SVN: r239138
Jason Merrill committed -
* cp-tree.h (TYPE_UNNAMED_P): Rename from TYPE_ANONYMOUS_P. (TYPE_WAS_UNNAMED): Rename from TYPE_WAS_ANONYMOUS. * class.c, decl.c, decl2.c, error.c, lambda.c, mangle.c, name-lookup.c, parser.c, pt.c, semantics.c, tree.c: Adjust. From-SVN: r239137
Jason Merrill committed -
* typeck.c (finish_class_member_access_expr): Avoid stripping SCOPE_REF to dependent base. From-SVN: r239136
Jason Merrill committed -
2016-08-04 Andrew Pinski <apinski@cavium.com> * config/aarch64/aarch64.c (thunderx_vector_cost): New variable. (thunderx_tunings): Use thunderx_vector_cost instead of generic_vector_cost. From-SVN: r239135
Andrew Pinski committed
-