Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r239228
|
|
Also change the configure script to set GOARCH correctly for ia64, and
add ia64 as a processor to match.sh and gotest.
Reviewed-on: https://go-review.googlesource.com/25549
From-SVN: r239225
|
|
2016-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/70040
Corrected last ChangeLog entry.
From-SVN: r239222
|
|
2016-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71961
* gfortran.dg/pr70040.f90: New testcase.
From-SVN: r239221
|
|
2016-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71961
* gfortran.dg/matmul_10.f90: New testcase.
From-SVN: r239220
|
|
* tree-ssa-threadbackward.c: Include tree-inline.h
(profitable_jump_thread_path): Use estimate_num_insns to estimate
size of copied block; for cold paths reduce duplication.
(find_jump_threads_backwards): Remove redundant tests.
(pass_thread_jumps::gate): Enable for -Os.
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update testcase.
From-SVN: r239219
|
|
contains ‘decl with RTL’ structure, have ‘field_decl’ in set_decl_rtl, at emit-rtl.c:1282))
PR c/72816
* stor-layout.c (layout_decl): Fix up formatting.
(relayout_decl): Allow DECL to be FIELD_DECL.
* gcc.dg/pr72816.c: New test.
From-SVN: r239218
|
|
Fix thinko in rev 239011 (git d1d05ab7).
* config/rs6000/rs6000.md (fix_trunc<mode>si2): Fix mode of reg.
From-SVN: r239217
|
|
From-SVN: r239216
|
|
gcc/ChangeLog:
2016-08-07 Kugan Vivekanandarajah <kuganv@linaro.org>
* data-streamer-in.c (streamer_read_wide_int): New.
(streamer_read_widest_int): Renamed function.
* data-streamer-out.c (streamer_write_wide_int): New
(streamer_write_widest_int): Renamed function.
* lto-streamer-in.c (streamer_read_wi): Renamed and moved to
data-stream-in.c.
(input_cfg): Call renamed function.
* lto-streamer-out.c (streamer_write_wi): Renamed and moved to
data-stream-out.c.
(output_cfg): Call renamed function.
* data-streamer.h: Add declarations.
From-SVN: r239213
|
|
2016-08-08 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* tree-ssa-ccp.c (extend_mask): New param sgn.
Remove ORing with wi::mask.
(get_default_value): Adjust call to extend_mask to pass sign.
(evaluate_stmt): Likewise.
From-SVN: r239212
|
|
Add a ppc build constraint for internal/syscall/unix.
Reviewed-on: https://go-review.googlesource.com/25547
From-SVN: r239210
|
|
* gcov.c (handle_cycle): Use INTTYPE_MAXIMUM (int64_t) instead of
INT64_MAX.
From-SVN: r239192
|
|
transform if operand's type is pointer to function or method.
2016-08-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* match.pd ((intptr_t) x eq/ne CST to x eq/ne (typeof x) cst): Disable
transform if operand's type is pointer to function or method.
From-SVN: r239190
|
|
Previously the libgo Makefile explicitly listed the set of files to
compile for each package. For packages that use build tags, this
required a lot of awkward automake conditionals in the Makefile.
This CL changes the build to look at the build tags in the files.
The new shell script libgo/match.sh does the matching. This required
adjusting a lot of build tags, and removing some files that are never
used. I verified that the exact same sets of files are compiled on
amd64 GNU/Linux. I also tested the build on i386 Solaris.
Writing match.sh revealed some bugs in the build tag handling that
already exists, in a slightly different form, in the gotest shell
script. This CL fixes those problems as well.
The old code used automake conditionals to handle systems that were
missing strerror_r and wait4. Rather than deal with those in Go, those
functions are now implemented in runtime/go-nosys.c when necessary, so
the Go code can simply assume that they exist.
The os testsuite looked for dir_unix.go, which was never built for gccgo
and has now been removed. I changed the testsuite to look for dir.go
instead.
Reviewed-on: https://go-review.googlesource.com/25546
From-SVN: r239189
|
|
From-SVN: r239188
|
|
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
|
|
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
|
|
reload on PowerPC)
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
|
|
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
|
|
"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
|
|
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
|
|
statement)
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
|
|
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
|
|
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
|
|
* 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
|
|
PR c++/68724
* pt.c (unify): TRAIT_EXPR is an expr.
PR c++/68724
* g++.dg/cpp0x/pr68724.C: New.
From-SVN: r239167
|
|
2016-08-05 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/ivopt_5.c: Make robust against edge swapping.
From-SVN: r239165
|
|
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
|
|
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
|
|
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
|
|
* config/rs6000/rs6000.c (rs6000_preferred_reload_class): Delete
code accidentally committed 2016-05-02 providing class when given
NO_REGS.
From-SVN: r239161
|
|
From-SVN: r239160
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Reviewed-on: https://go-review.googlesource.com/25490
From-SVN: r239144
|
|
* gcc.c-torture/execute/pr70903.c: Remove duplicate body.
From-SVN: r239142
|
|
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
|
|
Patch from Rainer Orth.
Reviewed-on: https://go-review.googlesource.com/25466
From-SVN: r239140
|
|
* pt.c (tsubst_pack_expansion): Pull a single pack expansion out
of the TREE_VEC.
From-SVN: r239138
|
|
* 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
|
|
* typeck.c (finish_class_member_access_expr): Avoid stripping
SCOPE_REF to dependent base.
From-SVN: r239136
|
|
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
|
|
* gcov.c (main): Fix GNU coding style.
(output_intermediate_file): Likewise.
(process_file): Likewise.
(generate_results): Likewise.
(release_structures): Likewise.
(create_file_names): Likewise.
(find_source): Likewise.
(read_graph_file): Likewise.
(find_exception_blocks): Likewise.
(canonicalize_name): Likewise.
(make_gcov_file_name): Likewise.
(mangle_name): Likewise.
(accumulate_line_counts): Likewise.
(output_branch_count): Likewise.
(read_line): Likewise.
From-SVN: r239134
|