aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-08-31re PR libfortran/77393 (Revision r237735 changed the behavior of F0.0)Jerry DeLisle2-0/+20
2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/77393 * gfortran.dg/fmt_f0_2.f90: New test. From-SVN: r239901
2016-08-31runtime: make gsignal stack at least SIGSTKSZ bytesIan Lance Taylor1-1/+1
The default stack size for the gsignal goroutine, 32K, is not enough on ia64. Make sure that the stack size is at least SIGSTKSZ. Reviewed-on: https://go-review.googlesource.com/28224 From-SVN: r239894
2016-08-31selftest.c: avoid explicit "selftest::" qualifiersDavid Malcolm2-42/+41
gcc/ChangeLog: * selftest.c: Move "namespace selftest {" to top of file, removing explicit "selftest::" qualifiers throughout. From-SVN: r239892
2016-08-31[x86] Don't use builtins for unaligned load/storeMarc Glisse8-39/+74
2016-08-31 Marc Glisse <marc.glisse@inria.fr> gcc/ * config/i386/avx512fintrin.h (__m512_u, __m512i_u, __m512d_u): New types. (_mm512_loadu_pd, _mm512_storeu_pd, _mm512_loadu_ps, _mm512_storeu_ps, _mm512_loadu_si512, _mm512_storeu_si512): Replace builtin with vector extension. * config/i386/avxintrin.h (__m256_u, __m256i_u, __m256d_u): New types. (_mm256_loadu_pd, _mm256_storeu_pd, _mm256_loadu_ps, _mm256_storeu_ps, _mm256_loadu_si256, _mm256_storeu_si256): Replace builtin with vector extension. * config/i386/emmintrin.h (__m128i_u, __m128d_u): New types. (_mm_loadu_pd, _mm_storeu_pd, _mm_loadu_si128, _mm_storeu_si128): Replace builtin with vector extension. * config/i386/xmmintrin.h (__m128_u): New type. (_mm_loadu_ps, _mm_storeu_ps): Replace builtin with vector extension. (_mm_load_ps, _mm_store_ps): Simplify. gcc/testsuite/ * gcc.target/i386/pr59539-2.c: Adapt options. * gcc.target/i386/avx512f-vmovdqu32-1.c: Relax expected asm. From-SVN: r239889
2016-08-31* config/arm/arm.c (thumb1_size_rtx_costs) <SET>: Add missing guard.Eric Botcazou2-1/+6
From-SVN: r239888
2016-08-31re PR testsuite/77418 (SELECT TYPE associating entity can be (de)allocated)Paul Thomas2-1/+10
2016-08-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/77418 * gfortran.dg/dtio_5.f90: Remove the non-standard deallocation of the associate entity and replace with a pointer to the intended item on the stack. From-SVN: r239881
2016-08-31[multiple changes]Paul Thomas22-106/+2111
2016-08-31 Paul Thomas <pault@gcc.gnu.org> Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/48298 * decl.c (access_attr_decl): Include case INTERFACE_DTIO as appropriate. * gfortran.h : Add INTRINSIC_FORMATTED and INTRINSIC_UNFORMATTED to gfc_intrinsic_op. Add INTERFACE_DTIO to interface type. Add new enum 'dtio_codes'. Add bitfield 'has_dtio_procs' to symbol_attr. Add prototypes 'gfc_check_dtio_interfaces' and 'gfc_find_specific_dtio_proc'. * interface.c (dtio_op): New function. (gfc_match_generic_spec): Match generic DTIO interfaces. (gfc_match_interface): Treat DTIO interfaces in the same way as (gfc_current_interface_head): Add INTERFACE_DTIO appropriately. (check_dtio_arg_TKR_intent): New function. (check_dtio_interface1): New function. (gfc_check_dtio_interfaces): New function. (gfc_find_specific_dtio_proc): New function. * io.c : Add FMT_DT to format_token. (format_lex): Handle DTIO formatting. * match.c (gfc_op2string): Add DTIO operators. * resolve.c (derived_inaccessible): Ignore pointer components to enclosing derived type. (resolve_transfer): Resolve transfers that involve DTIO. procedures. Find the specific subroutine for the transfer and use its existence to over-ride some of the constraints on derived types. If the transfer is recursive, require that the subroutine be so qualified. (dtio_procs_present): New function. (resolve_fl_namelist): Remove inhibition of polymorphic objects in namelists if DTIO read and write subroutines exist. Likewise for derived types. (resolve_types): Invoke 'gfc_verify_dtio_procedures'. * symbol.c : Set 'dtio_procs' using 'minit'. * trans-decl.c (gfc_finish_var_decl): If a derived-type/class object is associated with DTIO procedures, make it TREE_STATIC. * trans-expr.c (gfc_get_vptr_from_expr): If the expression drills down to a PARM_DECL, extract the vptr correctly. (gfc_conv_derived_to_class): Check 'info' in the test for 'useflags'. If the se expression exists and is a pointer, use it as the class _data. * trans-io.c : Add IOCALL_X_DERIVED to iocall and the function prototype. Likewise for IOCALL_SET_NML_DTIO_VAL. (set_parameter_tree): Renamed from 'set_parameter_const', now returns void and has new tree argument. Calls modified to match new interface. (transfer_namelist_element): Transfer DTIO procedure pointer and vpointer using the new function IOCALL_SET_NML_DTIO_VAL. (get_dtio_proc): New function. (transfer_expr): Add new argument for the vptr field of class objects. Add the code to call the specific DTIO proc, convert derived types to class and call IOCALL_X_DERIVED. (trans_transfer): Add BT_CLASS to structures for treatment by the scalarizer. Obtain the vptr for the dynamic type, both for scalar and array transfer. 2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> Paul Thomas <pault@gcc.gnu.org> PR libgfortran/48298 * gfortran.map : Flag _st_set_nml_dtio_var and _gfortran_transfer_derived. * io/format.c (format_lex): Detect DTIO formatting. (parse_format_list): Parse the DTIO format. (next_format): Include FMT_DT. * io/format.h : Likewise. Add structure 'udf' to structure 'fnode' to carry the IOTYPE string and the 'vlist'. * io/io.h : Add prototypes for the two types of DTIO subroutine and a typedef for gfc_class. Also, add to 'namelist_type' fields for the pointer to the DTIO procedure and the vtable. Add fields to struct st_parameter_dt for pointers to the two types of DTIO subroutine. Add to gfc_unit DTIO specific fields. (internal_proto): Add prototype for 'read_user_defined' and 'write_user_defined'. * io/list_read.c (check_buffers): Use the 'current_unit' field. (unget_char): Likewise. (eat_spaces): Likewise. (list_formatted_read_scalar): For case BT_CLASS, call the DTIO procedure. (nml_get_obj_data): Likewise when DTIO procedure is present,. * io/transfer.c : Export prototypes for 'transfer_derived' and 'transfer_derived_write'. (unformatted_read): For case BT_CLASS, call the DTIO procedure. (unformatted_write): Likewise. (formatted_transfer_scalar_read): Likewise. (formatted_transfer_scalar_write: Likewise. (transfer_derived): New function. (data_transfer_init): Set last_char if no child_dtio. (finalize_transfer): Return if child_dtio set. (st_write_done): Add condition for child_dtio not set. Add extra arguments for st_set_nml_var prototype. (set_nml_var): New function that contains the contents of the old version of st_set_nml_var. Also sets the 'dtio_sub' and 'vtable' fields of the 'nml' structure. (st_set_nml_var): Now just calls set_nml_var with 'dtio_sub' and 'vtable' NULL. (st_set_nml_dtio_var): New function that calls set_nml_var. * io/unit.c (get_external_unit): If the found unit child_dtio is non zero, don't do any mutex locking/unlocking. Just return the unit. * io/unix.c (tempfile_open): Revert to C style comment. * io/write.c (list_formatted_write_scalar): Do the DTIO call. (nml_write_obj): Add BT_CLASS and do the DTIO call. 2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> Paul Thomas <pault@gcc.gnu.org> PR fortran/48298 * gfortran.dg/dtio_1.f90: New test. * gfortran.dg/dtio_2.f90: New test. * gfortran.dg/dtio_3.f90: New test. * gfortran.dg/dtio_4.f90: New test. * gfortran.dg/dtio_5.f90: New test. * gfortran.dg/dtio_6.f90: New test. * gfortran.dg/dtio_7.f90: New test. * gfortran.dg/dtio_8.f90: New test. * gfortran.dg/dtio_9.f90: New test. * gfortran.dg/dtio_10.f90: New test. From-SVN: r239880
2016-08-31Remove arbitrary limits from rich_locationDavid Malcolm7-9/+181
This patch eliminates the hard-coded limits within rich_location (up to 3 ranges, up to 2 fixits). The common case is still handled by embedding the values inside rich_location - it only uses dynamic allocation if these limits are exceeded, so creation of rich_location instances on the stack should still be fast. This is implemented via a new container class, semi_embedded_vec <T, N>. gcc/ChangeLog: * diagnostic-show-locus.c (colorizer::begin_state): Support more than 3 ranges per diagnostic by alternating between color 1 and color 2. (layout::layout): Replace use of rich_location::MAX_RANGES with richloc->get_num_locations (). (layout::calculate_line_spans): Replace use of rich_location::MAX_RANGES with m_layout_ranges.length (). (layout::print_annotation_line): Handle arbitrary numbers of ranges in caret-printing by defaulting to '^'. (selftest::test_one_liner_many_fixits): New function. (test_diagnostic_show_locus_one_liner): Call it. * diagnostic.c (diagnostic_initialize): Update for renaming of rich_location::MAX_RANGES to rich_location::STATICALLY_ALLOCATED_RANGES. * diagnostic.h (struct diagnostic_context): Likewise. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-show-locus-bw.c (test_many_nested_locations): New function. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (test_show_locus): Handle "test_many_nested_locations". libcpp/ChangeLog: * include/line-map.h (class semi_embedded_vec): New class. (semi_embedded_vec<T, NUM_EMBEDDED>::semi_embedded_vec): New ctor. (semi_embedded_vec<T, NUM_EMBEDDED>::~semi_embedded_vec): New dtor. (semi_embedded_vec<T, NUM_EMBEDDED>::operator[]): New methods. (semi_embedded_vec<T, NUM_EMBEDDED>::push): New method. (semi_embedded_vec<T, NUM_EMBEDDED>::truncate): New method. (rich_location::get_num_locations): Reimplement in terms of m_ranges. (rich_location::get_range): Make non-inline. (rich_location::get_num_fixit_hints): Reimplement in terms of m_fixit_hints. (rich_location::add_fixit): New function. (rich_location::MAX_RANGES): Rename to... (rich_location::STATICALLY_ALLOCATED_RANGES): ...this. (rich_location::MAX_FIXIT_HINTS): Rename to... (rich_location::STATICALLY_ALLOCATED_RANGES): ...this, and make private. (rich_location::m_num_ranges): Eliminate in favor of... (rich_location::m_ranges): ...this, converting from a fixed-size array to a semi_embedded_vec. (rich_location::m_num_fixit_hints): Eliminate in favor of... (rich_location::m_fixit_hints): ...this, converting from a fixed-size array to a semi_embedded_vec. * line-map.c (rich_location::rich_location): Update for above changes. (rich_location::~rich_location): Likewise. (rich_location::get_loc): Likewise. (rich_location::get_range): New methods. (rich_location::add_range): Update for above changes. (rich_location::set_range): Likewise. (rich_location::add_fixit_insert): Likewise. (rich_location::add_fixit_replace): Likewise. (rich_location::get_last_fixit_hint): Likewise. (rich_location::reject_impossible_fixit): Likewise. (rich_location::add_fixit): New method. From-SVN: r239879
2016-08-31Daily bump.GCC Administrator1-1/+1
From-SVN: r239878
2016-08-31selftest: split out named_temp_file from temp_source_fileDavid Malcolm3-21/+63
Split out a new base class for temp_source_file, named_temp_file, moving the deletion to the base class dtor, so that we can write out temporary files in other ways in selftests. gcc/ChangeLog: * selftest.c (selftest::named_temp_file::named_temp_file): New ctor. (selftest::temp_source_file::~temp_source_file): Move to... (selftest::named_temp_file::~named_temp_file): ...here. (selftest::test_named_temp_file): New function. (selftest::selftest_c_tests): Call test_named_temp_file. * selftest.h (class named_temp_file): New class. (class temp_source_file): Convert to a subclass of named_temp_file. From-SVN: r239875
2016-08-30C++: add fixit for '>>' template errorDavid Malcolm4-2/+23
gcc/cp/ChangeLog: * parser.c (cp_parser_enclosed_template_argument_list): Add fix-it hint to ">>" within nested template argument list error. gcc/testsuite/ChangeLog: * g++.dg/template/double-greater-than-fixit.C: New test case. From-SVN: r239873
2016-08-30runtime: use -fgo-c-header to build C header fileIan Lance Taylor1-1/+1
Use the new -fgo-c-header option to build a header file for the Go runtime code in libgo/go/runtime, and use the new header file in the C runtime code in libgo/runtime. This will ensure that the Go code and C code share the same data structures as we convert the runtime from C to Go. The new file libgo/go/runtime/runtime2.go is copied from the Go 1.7 release, and then edited to remove unnecessary data structures and modify others for use with libgo. The new file libgo/go/runtime/mcache.go is an initial version of the same files in the Go 1.7 release, and will be replaced by the Go 1.7 file when we convert to the new memory allocator. The new file libgo/go/runtime/type.go describes the gccgo version of the reflection data structures, and replaces the Go 1.7 runtime file which describes the gc version of those structures. Using the new header file means changing a number of struct fields to use Go naming conventions (that is, no underscores) and to rename constants to have a leading underscore so that they are not exported from the Go package. These names were updated in the C code. The C code was also changed to drop the thread-local variable m, as was done some time ago in the gc sources. Now the m field is always accessed using g->m, where g is the single remaining thread-local variable. This in turn required some adjustments to set g->m correctly in all cases. Also pass the new -fgo-compiling-runtime option when compiling the runtime package, although that option doesn't do anything yet. Reviewed-on: https://go-review.googlesource.com/28051 From-SVN: r239872
2016-08-30rs6000: Don't emit a use of LR in returns and sibcallsSegher Boessenkool3-87/+61
The exit block (to which every return artificially jumps) already has a use of LR. The LR use in all returns and sibcalls is an anachronism, probably made unnecessary by the dataflow merge. The simple_returns that shrink-wrapping generates also do not have such a use. Newer backends do not do this either it seems. With this use removed, a normal return is no longer a parallel but just a return insn, and cfgcleanup then can transform conditional jumps to those into conditional returns. This splits the return emission code with restoring_FPRs_inline from that without it; this is simpler code, fewer lines, and less indentation. The return_internal_<mode> pattern can now be deleted since nothing uses it anymore. * config/rs6000/rs6000.c (rs6000_emit_epilogue): Do not emit USEs of LR_REGNO in returns and sibcalls. (rs6000_output_mi_thunk): Similar. (rs6000_sibcall_aix): Similar. * config/rs6000/rs6000.md (sibcall, sibcall_value, sibcall_local32, sibcall_local64, sibcall_value_local32, sibcall_value_local64, sibcall_nonlocal_sysv<mode>, sibcall_value_nonlocal_sysv<mode>): Remove the USE of LR_REGNO from the patterns as well. Delete an obsolete comment. (return_internal_<mode>): Delete. From-SVN: r239866
2016-08-30[PATCH][Aarch64][gcc] Fix vld2/3/4 on big endian systemsTamar Christina2-16/+173
On behalf of Tamar Christina <tamar.christina@arm.com> gcc/ * gcc/config/aarch64/aarch64-simd.md (aarch64_ld2<mode>_dreg_le): New. (aarch64_ld2<mode>_dreg_be): New. (aarch64_ld2<mode>_dreg): Removed. (aarch64_ld3<mode>_dreg_le): New. (aarch64_ld3<mode>_dreg_be): New. (aarch64_ld3<mode>_dreg): Removed. (aarch64_ld4<mode>_dreg_le): New. (aarch64_ld4<mode>_dreg_be): New. (aarch64_ld4<mode>_dreg): Removed. (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Wrapper around _le, _be. From-SVN: r239865
2016-08-30gfortran.texi: Fix typo in STRUCTURE documentation.Fritz Reese2-3/+8
2016-08-30 Fritz Reese <fritzoreese@gmail.com> * gcc/fortran/gfortran.texi: Fix typo in STRUCTURE documentation. From-SVN: r239862
2016-08-30rich_location: add convenience overloads for adding fix-it hintsDavid Malcolm11-43/+48
Adding a fix-it hint to a diagnostic usually follows one of these patterns: (a) an insertion fix-its, with the insertion at the primary caret location (b) a removals/replacements, affecting the range of the primary location (other cases are possible, e.g. multiple fix-its, and affecting other locations, but these are the common ones) Given these common cases, this patch adds overloads of the rich_location methods for adding fix-it hints, so that the location information can be omitted if it matches that of the primary location within the rich_location. Similarly when adding "remove" and "replace" fix-it hints to a diagnostic, it's tedious to have to extract the source_range from a location_t (aka source_location). To make this more convenient, this patch adds overload of the rich_location::add_fixit_remove/replace methods, accepting a source_location directly. The patch updates the various in-tree users of fix-it hints to use the new simpler API where appropriate. I didn't touch the case where there are multiple fix-its in one rich_location, as it seems better to be more explicit about locations for this case (adding a pair of parens in warn_logical_not_parentheses). The above makes the gcc_rich_location::add_fixit_misspelled_id overload taking a const char * rather redundant, so I eliminated it. gcc/c/ChangeLog: * c-decl.c (implicit_decl_warning): Use add_fixit_replace rather than add_fixit_misspelled_id. (undeclared_variable): Likewise. * c-parser.c (c_parser_declaration_or_fndef): Likewise. Remove now-redundant "here" params from add_fixit_insert method calls. (c_parser_parameter_declaration): Likewise. * c-typeck.c (build_component_ref): Remove now-redundant range param from add_fixit_replace method calls. gcc/cp/ChangeLog: * name-lookup.c (suggest_alternatives_for): Use add_fixit_replace rather than add_fixit_misspelled_id. * parser.c (cp_parser_diagnose_invalid_type_name): Likewise. gcc/ChangeLog: * diagnostic-show-locus.c (test_one_liner_fixit_insert): Remove redundant location param. (test_one_liner_fixit_remove): Likewise. (test_one_liner_fixit_replace): Likewise. (test_one_liner_fixit_replace_equal_secondary_range): Likewise. * gcc-rich-location.c (gcc_rich_location::add_fixit_misspelled_id): Eliminate call to get_range_from_loc. Drop overload taking a const char *. * gcc-rich-location.h (gcc_rich_location::add_fixit_misspelled_id): Drop overload taking a const char *. libcpp/ChangeLog: * include/line-map.h (rich_location::add_fixit_insert): Add comments. Add overload omitting the source_location param. (rich_location::add_fixit_remove): Add comments. Add overloads omitting the range, and accepting a source_location. (rich_location::add_fixit_replace): Likewise. * line-map.c (rich_location::add_fixit_insert): Add comments. Add overload omitting the source_location param. (rich_location::add_fixit_remove): Add comments. Add overloads omitting the range, and accepting a source_location. (rich_location::add_fixit_replace): Likewise. From-SVN: r239861
2016-08-30report supported function classes correctly on *-muslSzabolcs Nagy2-1/+5
gcc/ * config/linux.c (linux_libc_has_function): Return true on musl. From-SVN: r239860
2016-08-30disable ifunc on *-musl by defaultSzabolcs Nagy2-2/+6
gcc/ * config.gcc (*-*-*musl*): Disable gnu-indirect-function. From-SVN: r239859
2016-08-30postreload-gcse.c (bb_has_well_behaved_predecessors): Tweak criterion used ↵Eric Botcazou6-1/+165
for abnormal egdes. * postreload-gcse.c (bb_has_well_behaved_predecessors): Tweak criterion used for abnormal egdes. From-SVN: r239858
2016-08-30re PR tree-optimization/69047 (memcpy is not as optimized as union is)Richard Biener2-2/+7
2016-08-30 Richard Biener <rguenther@suse.de> PR tree-optimization/69047 * gcc.dg/pr69047.c: Fix byte-order check. From-SVN: r239857
2016-08-30re PR tree-optimization/72866 (Compile time hog w/ -O3 (-Ofast))Jakub Jelinek4-12/+62
PR tree-optimization/72866 * tree-vect-patterns.c (search_type_for_mask): Turn into a small wrapper, move all code to ... (search_type_for_mask_1): ... this new function. Add caching and adjust recursive calls. * gcc.dg/vect/pr72866.c: New test. From-SVN: r239856
2016-08-30re PR c++/77363 (Missing debug information in DWARF)Jakub Jelinek4-1/+30
PR debug/77363 * dwarf2out.c (modified_type_die): Use lookup_type_die (type) instead of lookup_type_die (type_main_variant (type)) even for array types. * g++.dg/debug/dwarf2/pr77363.C: New test. From-SVN: r239855
2016-08-30re PR middle-end/77377 (c-c++-common/pr59037.c ICEs with -fpic -msse on i686)Jakub Jelinek4-4/+18
PR middle-end/77377 * simplify-rtx.c (avoid_constant_pool_reference): For out of bounds constant pool reference return x instead of c. * gcc.target/i386/pr77377.c: New test. From-SVN: r239854
2016-08-30re PR debug/77389 (FAIL: g++.dg/debug/dwarf2/template-params-12f.C ↵Jakub Jelinek2-1/+7
-std=gnu++11 scan-assembler-times DIE \\\\([^\\n]*\\\\) DW_TAG_template_value_param ...) PR debug/77389 * g++.dg/debug/dwarf2/template-params-12f.C: Pass -gno-strict-dwarf in dg-options. From-SVN: r239853
2016-08-30compiler: add -fgo-c-header=FILE to create a C headerIan Lance Taylor11-27/+525
The new -fgo-c-header=FILE option will write a C header file defining all the struct types and numeric const values in package scope. This will be used when building the Go runtime package (libgo/go/runtime) to generate a C header file that may be included by the C code in the C runtime package (libgo/runtime). This will ensure that the Go code and C code are working with the same data structures as we convert the runtime from C to Go to upgrade to the current GC runtime, notably the concurrent garbage collector. Reviewed-on: https://go-review.googlesource.com/28000 * lang.opt (fgo-c-header, fgo-compiling-runtime): New options. * go-c.h (struct go_create_gogo_args): Define. (go_create_gogo): Change declaration to take struct pointer. * go-lang.c (go_c_header): New static variable. (go_langhook_init): Update call to go_create_gogo. * gccgo.texi (Invoking gccgo): Document -fgo-c-header and -fgo-compiling-runtime. From-SVN: r239852
2016-08-30Eradicate MQ some moreSegher Boessenkool2-1/+6
Nothing uses MQ anymore, but it still shows up in all the dump files. This patch removes it from CALL_REALLY_USED_REGISTERS so that that does not happen anymore (it is still a fixed register, there should be no functional change). * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): Do not include MQ. From-SVN: r239851
2016-08-30Daily bump.GCC Administrator1-1/+1
From-SVN: r239850
2016-08-29pr77372.f90: Moved to ...Steven G. Kargl2-0/+5
2016-08-29 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/pr77372.f90: Moved to ... * gfortran.dg/ieee/pr77372.f90: here. From-SVN: r239847
2016-08-29input.c: fix the comment for test_make_location_nonpure_range_endpointsDavid Malcolm2-2/+8
gcc/ChangeLog: * input.c (selftest::test_make_location_nonpure_range_endpoints): Fix header comment. From-SVN: r239844
2016-08-29Allow the use of ad-hoc locations for fix-it hintsDavid Malcolm4-23/+85
Currently the fix-it validator rejects ad-hoc locations. Fix this by calling get_pure_location on the input locations to add_fixit_insert/replace. Doing so requires moving get_pure_location from gcc to libcpp. gcc/ChangeLog: * diagnostic-show-locus.c (selftest::test_one_liner_fixit_validation_adhoc_locations): New function. (selftest::test_diagnostic_show_locus_one_liner): Call it. * input.c (get_pure_location): Move to libcpp/line-map.c. * input.h (get_pure_location): Convert decl to an inline function calling implementation in libcpp. libcpp/ChangeLog: * include/line-map.h (get_pure_location): New decl. * line-map.c (get_pure_location): Move here, from gcc/input.c, adding a line_maps * param. (rich_location::add_fixit_insert): Call get_pure_location on "where". (rich_location::add_fixit_replace): Call get_pure_location on the end-points. From-SVN: r239843
2016-08-29vec-init-4.c: New runtime tests for various vector short/char initializations.Michael Meissner7-0/+898
2016-08-29 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/vec-init-4.c: New runtime tests for various vector short/char initializations. * gcc.target/powerpc/vec-init-5.c: Likewise. * gcc.target/powerpc/vec-init-6.c: New compile time test for vector initialization optimizations. * gcc.target/powerpc/vec-init-7.c: Likewise. * gcc.target/powerpc/vec-init-8.c: New runtime tests for various vector float/double initializations. * gcc.target/powerpc/vec-init-9.c: Likewise. From-SVN: r239837
2016-08-29re PR target/77403 (assemble failure of vinserti64x4 with -masm=intel)Uros Bizjak4-13/+41
PR target/77403 * config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler template for intel asm dialect. (vec_set_hi_<mode><mask_name>): Ditto. testsuite/ChangeLog: PR target/77403 * gcc.target/i386/pr77403.c: New test. From-SVN: r239834
2016-08-29re PR c/77292 (Spurious warning: logical not is only applied to the left ↵Marek Polacek4-2/+41
hand side of comparison) PR c/77292 * c-common.c (warn_logical_not_parentheses): Don't warn for a comparison or a logical operator. * c-c++-common/Wlogical-not-parentheses-1.c: New test. From-SVN: r239833
2016-08-29selftest.h: mark failure functions with ATTRIBUTE_NORETURN.David Malcolm2-2/+8
gcc/ChangeLog: * selftest.h (selftest::fail): Add ATTRIBUTE_NORETURN. (selftest::fail_formatted): Likewise. From-SVN: r239832
2016-08-29make_location: ensure end-points are pure locationsDavid Malcolm3-2/+81
gcc/ChangeLog: * input.c (make_location): Call get_start and get_finish on the endpoints to avoid storing packed ranges or ad-hoc ranges in them. (selftest::test_make_location_nonpure_range_endpoints): New function. (selftest::input_c_tests): Call it. * input.h (get_start): New inline function. From-SVN: r239831
2016-08-29PR c++/77379 - ABI tag on thunkJason Merrill6-7/+93
* mangle.c (maybe_check_abi_tags): Add version parm, handle thunks. (mangle_thunk): Add thunk parameter. * method.c (finish_thunk): Pass it. * cp-tree.h: Declare it. From-SVN: r239830
2016-08-29Fix assert in build_va_arg, case 2bTom de Vries2-1/+8
2016-08-29 Tom de Vries <tom@codesourcery.com> * c-common.c (build_va_arg): Fix type comparison assert. From-SVN: r239829
2016-08-29Replace error_at with assert in build_va_argTom de Vries2-12/+7
2016-08-29 Tom de Vries <tom@codesourcery.com> * c-common.c (build_va_arg): Replace first argument type error with assert. From-SVN: r239828
2016-08-29Handle errors in both args of va_argTom de Vries6-9/+26
2016-08-29 Tom de Vries <tom@codesourcery.com> PR c/77398 * c-common.c (build_va_arg): Add first argument error. Build va_arg with error_mark_node as va_list instead of with illegal va_list. * gimplify.c (gimplify_va_arg_expr): Replace first argument type error with assert. * g++.dg/ext/va-arg1.C: Add error check for illegal first argument. From-SVN: r239827
2016-08-29* Makefile.in (gcov-iov.h): Add dummy recipe.Eric Botcazou2-1/+5
From-SVN: r239823
2016-08-29* gcc.dg/ipa/iinline-attr.c: XFAIL on Visium.Eric Botcazou2-3/+6
From-SVN: r239821
2016-08-29* config/nvptx/nvptx.c: #include tree-vrp.h.Nathan Sidwell2-0/+5
From-SVN: r239820
2016-08-29Fix, reorganize, and clarify comparisons of anonymous types/components.Fritz Reese4-25/+133
2016-08-29 Fritz Reese <fritzoreese@gmail.com> Fix, reorganize, and clarify comparisons of anonymous types/components. PR fortran/77327 * interface.c (is_anonymous_component, is_anonymous_dt): New functions. * interface.c (compare_components, gfc_compare_derived_types): Use new functions. * gfortran.dg/dec_structure_13.f90: New testcase. From-SVN: r239819
2016-08-29PR fortran/77261 Run random_3 testcase only when real(10) is available.Janne Blomqvist2-15/+27
From-SVN: r239817
2016-08-29Daily bump.GCC Administrator1-1/+1
From-SVN: r239814
2016-08-28i386.c (ix86_option_override_internal): Re-sort a couple of ↵Uros Bizjak1-2/+2
processor_alias_table entries. * config/i386/i386.c (ix86_option_override_internal): Re-sort a couple of processor_alias_table entries. From-SVN: r239809
2016-08-28re PR target/77324 (ICE in push_reload, at reload.c:1350)Eric Botcazou2-0/+13
PR target/77324 * config/sparc/sparc.c (sparc_legitimate_address_p): Accept special HIGH+LO construct during reload. From-SVN: r239807
2016-08-28Tag {ms,sysv}_va_list_type_node with '{ms,sysv}_abi va_list' attributeTom de Vries6-63/+127
2016-08-28 Tom de Vries <tom@codesourcery.com> PR lto/70955 * config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with 'sysv_abi va_list' attribute. (ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute. (ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list' attributes. * gcc.dg/pr70955.c: New test. * gcc.dg/lto/pr70955_0.c: Same. * gcc.dg/lto/pr70955_1.c: Same. From-SVN: r239805
2016-08-28Daily bump.GCC Administrator1-1/+1
From-SVN: r239804
2016-08-28make stack_slot_list a vec<rtx>Trevor Saunders4-9/+20
gcc/ChangeLog: 2016-08-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * emit-rtl.h (struct rtl_data): Make stack_slot_list a vector. * emit-rtl.c (unshare_all_rtl_1): Adjust. (unshare_all_rtl_again): Likewise. * function.c (assign_stack_local_1): Likewise. (assign_stack_temp_for_type): Likewise. From-SVN: r239801