- 06 Jun, 2018 21 commits
-
-
extend.texi (PowerPC AltiVec Built-in Functions): Adjust indentation and line wrap for many prototypes. gcc/ChangeLog: 2018-06-06 Kelvin Nilsen <kelvin@gcc.gnu.org> * doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust indentation and line wrap for many prototypes. Add missing @smallexample directives around block of prototypes for vec_xl and vec_xst. From-SVN: r261254
Kelvin Nilsen committed -
re PR target/85657 (Make __ibm128 a separate type, even if long double uses the IBM double-double format) [gcc] 2018-06-06 Michael Meissner <meissner@linux.ibm.com> PR target/85657 * config/rs6000/rs6000-builtin.def (BU_IBM128_2): New helper macro for __ibm128 built-in functions. (PACK_IF): Add __ibm128 pack/unpack functions. (UNPACK_IF): Likewise. * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Do not enable long double built-in functions if long double is IEEE 128-bit floating point. (rs6000_invalid_builtin): Update long double built-in function error message. (rs6000_expand_builtin): For PACK_IF and UNPACK_IF built-in functions, adjust the built-in function to use the long double built-in function if __ibm128 and long double are the same type. * doc/extend.texi (PowerPC builtins): Update documention for __builtin_{,un}pack_longdouble. Add documentation for __builtin_{,un}pack_ibm128. [gcc/testsuite] 2018-06-06 Michael Meissner <meissner@linux.ibm.com> PR target/85657 * gcc.target/powerpc/pr85657-4.c: New tests. * gcc.target/powerpc/pr85657-5.c: Likewise. * gcc.target/powerpc/pr85657-6.c: Likewise. From-SVN: r261253
Michael Meissner committed -
gcc/testsuite/ChangeLog: 2018-06-06 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/builtins-7-p9-runnable.c: Change first argument to vui_arg. From-SVN: r261249
Carl Love committed -
2018-06-06 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/85641 * frontend-passes.c (is_fe_temp): Add prototype. (realloc_string_callback): Early return for frontend-generated temporary. 2018-06-06 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/85641 * gfortran.dg/realloc_on_assign_30.f90: New test. From-SVN: r261248
Thomas Koenig committed -
gcc/testsuite/ChangeLog: 2018-06-06 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/builtins-3.c: Move tests requiring -mvsx to builtins-4.c. * gcc.target/powerpc/builtins-4.c: New test file for tests that need -mvsx. From-SVN: r261247
Carl Love committed -
re PR target/85657 (Make __ibm128 a separate type, even if long double uses the IBM double-double format) [gcc] 2018-06-06 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000.c (rs6000_passes_ieee128): New boolean to track if we pass or return IEEE 128-bit floating point. (ieee128_mangling_gcc_8_1): New boolean to say whether to generate C++ mangling that is compatible with GCC 8.1. (TARGET_ASM_GLOBALIZE_DECL_NAME): Override target hook. (init_cumulative_args): Note if we pass or return IEEE 128-bit floating point types. (rs6000_function_arg_advance_1): Likewise. (rs6000_mangle_type): Optionally generate mangled names that match what GCC 8.1 generated for IEEE 128-bit floating point types. (rs6000_globalize_decl_name): If we have an external function that passes or returns IEEE 128-bit types, generate a weak reference from the mangled name used in GCC 8.1 to the current mangled name. [gcc] 2018-06-05 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000.c (rs6000_init_builtins): Make __ibm128 use the long double type if long double is IBM extended double. Make __float128 use the long double type if long double is IEEE 128-bit. [gcc/testsuite] 2018-06-05 Michael Meissner <meissner@linux.ibm.com> PR target/85657 * g++.dg/pr85657.C: Only test whether __ibm128 and long double can be used in templates. Don't check for them in overloaded functions. From-SVN: r261246
Michael Meissner committed -
* include/bits/shared_ptr_base.h (__shared_count): Remove redundant move of const value. From-SVN: r261245
Jonathan Wakely committed -
gcc/ * config/riscv/riscv.c (enum riscv_privilege_levels): New. (struct machine_function): New field interrupt_mode. (riscv_handle_type_attribute): New function. Add forward declaration. (riscv_attribute_table) <interrupt>: Use riscv_handle_type_attribute. (riscv_expand_epilogue): Check interrupt_mode field. (riscv_set_current_function): Check interrupt attribute args and set interrupt_mode field. * config/riscv/riscv.md (UNSPECV_SRET, UNSPECV_URET): New. (riscv_sret, riscv_uret): New. * doc/extend.texi (RISC-V Function Attributes) <interrupt>: Document new arguments to interrupt attribute. gcc/testsuite/ * gcc.target/riscv/interrupt-5.c (sub3): Add new test. * gcc.target/riscv/interrupt-mmode.c: New. * gcc.target/riscv/interrupt-smode.c: New. * gcc.target/riscv/interrupt-umode.c: New. From-SVN: r261244
Jim Wilson committed -
PR target/63177 * /config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mpower9. Don't handle -mcpu=power8 if -mpower9-vector is also used. From-SVN: r261243
Peter Bergner committed -
PR c++/86068 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set __cpp_transactional_memory to 201500 instead of 210500. * include/bits/c++config: Check __cpp_transactional_memory >= 201500L rather than __cpp_transactional_memory >= 201505L. From-SVN: r261242
Jakub Jelinek committed -
PR c++/85977 * pt.c (unify): If ELTTYPE has no deducible template parms, skip deduction from the list elements. (type_unification_real): Check convertibility of list elements. * g++.dg/cpp0x/initlist102.C: New test. * g++.dg/cpp0x/initlist103.C: New test. * g++.dg/cpp0x/initlist104.C: New test. From-SVN: r261241
Marek Polacek committed -
* parser.c (cp_parser_init_statement): Don't clobber *decl after pedwarn. From-SVN: r261239
Jason Merrill committed -
c-family/ * c-warn.c (warn_for_memset): Don't crash on incomplete element type. cp/ * semantics.c (finish_call_expr): Call warn_for_memset here. * parser.c (cp_parser_postfix_expression): Not here. (literal_integer_zerop): No longer static. * pt.c (build_non_dependent_expr): Don't wrap CONST_DECL. From-SVN: r261238
Jason Merrill committed -
Adjust the hash and string fields computed by StructOf to match the values that the compiler computes for a struct type with the same field names and types. This makes the reflect code match the compiler's Type::hash_for_method and Type::reflection methods. Fixes golang/go#25284 Reviewed-on: https://go-review.googlesource.com/116515 From-SVN: r261235
Ian Lance Taylor committed -
gcc/ChangeLog: 2018-06-06 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_LD, VSX_BUILTIN_VEC_ST): Add comment to explain non-traditional uses. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove several redundant entries. From-SVN: r261234
Kelvin Nilsen committed -
Eliminate an "as_a <rtx_insn *>()" cast. gcc/ChangeLog: * config/i386/i386-protos.h (ix86_expand_call): Strengthen return type from "rtx" to "rtx_insn *". * config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise for local "call_insn", removing cast. (ix86_expand_call): Likewise, introducing a "call_insn" local. From-SVN: r261233
David Malcolm committed -
PR tree-optimization/86066 * gimple-ssa-store-merging.c (process_store): Do not bypass BIT_NOT_EXPR for BIT_INSERT_EXPR stores. From-SVN: r261232
Eric Botcazou committed -
2018-06-06 Richard Biener <rguenther@suse.de> PR tree-optimization/86062 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle arbitrary component refs ontop of to be offsetted base. * g++.dg/tree-ssa/pr86062.C: New testcase. From-SVN: r261231
Richard Biener committed -
* gcc/config/msp430/msp430.c (msp430_attr): Allow interrupt handlers to be static and remove check on interrupt attribute name. gcc/testsuite/gcc.target/msp430/ * function-attributes-4.c: New test. * static-interrupts.c: New test. From-SVN: r261229
Jozef Lawrynowicz committed -
PR libstdc++/86008 * include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>): Define new partial specialization. * include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define new overload. (operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use value not reference for iteration. * testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust comment. * testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test. * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust comment. From-SVN: r261227
Jonathan Wakely committed -
From-SVN: r261226
GCC Administrator committed
-
- 05 Jun, 2018 19 commits
-
-
extend.texi (PowerPC AltiVec Built-in Functions): Remove volatile qualifier from vec_lvsl and vec_lvsr argument prototypes. gcc/ChangeLog: 2018-06-05 Kelvin Nilsen <kelvin@gcc.gnu.org> * doc/extend.texi (PowerPC AltiVec Built-in Functions): Remove volatile qualifier from vec_lvsl and vec_lvsr argument prototypes. From-SVN: r261220
Kelvin Nilsen committed -
2018-06-05 Steve Ellcey <sellcey@cavium.com> PR target/79924 * gcc.target/aarch64/mgeneral-regs_1.c: Update error message. * gcc.target/aarch64/mgeneral-regs_2.c: Ditto. * gcc.target/aarch64/mgeneral-regs_3.c: Ditto. * gcc.target/aarch64/nofp_1.c: Ditto. From-SVN: r261218
Steve Ellcey committed -
2018-06-05 Steve Ellcey <sellcey@cavium.com> PR target/79924 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): Remove second argument. * config/aarch64/aarch64-protos..c (aarch64_err_no_fpadvsimd): Remove second argument, change how error is called. (aarch64_layout_arg): Remove second argument from aarch64_err_no_fpadvsimd call. (aarch64_init_cumulative_args): Ditto. (aarch64_gimplify_va_arg_expr): Ditto. * config/aarch64/aarch64.md (mov<mode>): Ditto. From-SVN: r261217
Steve Ellcey committed -
Background: since gccgo does not currently merge identical types at link time, the reflect function canonicalize() exists to choose a canonical specimen for each set of identical types. In this way, user code has the guarantee that identical types will always compare as == Change: arrange reflect functions MapOf(), SliceOf(), StructOf() etc. to call canonicalize() on the types they create, before storing the types in internal lookup caches and returning them. This fixes known cases where canonicalize() is needed but was missing. Supersedes https://golang.org/cl/112575 and mostly fixes issue 25284. Updates golang/go#25284 Reviewed-on: https://go-review.googlesource.com/115577 From-SVN: r261216
Ian Lance Taylor committed -
* ChangeLog: Fix whitespace. * testsuite/ChangeLog: Ditto. From-SVN: r261210
Uros Bizjak committed -
* config/i386/i386.md (simple_return_indirect_internal): New expander. (*simple_return_indirect_internal<mode>): Rename from simple_return_indirect_internal. Use W mode iterator. (rstorssp): New expander. (*rstorssp<mode>): Rename from rstorssp. Use P mode iterator. (clrssbsy): New expander. (*clrssbsy<mode>): Rename from clrssbsy. Use P mode iterator. From-SVN: r261208
Uros Bizjak committed -
gcc/ChangeLog 2018-06-05 Andre Vieira <andre.simoesdiasvieira@arm.com> * config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to __typeof__. (cmse_check_pointed_object): Likewise. gcc/testsuite/ChangeLog 2018-06-05 Andre Vieira <andre.simoesdiasvieira@arm.com> * gcc.target/arm/cmse/cmse-1c99.c: New test. From-SVN: r261204
Andre Vieira committed -
PR fortran/85701 gcc/fortran/ * openmp.c (gfc_resolve_oacc_declare): Error on functions and subroutine data clause arguments. gcc/testsuite/ * gfortran.dg/goacc/pr85701.f90: New test. From-SVN: r261202
Cesar Philippidis committed -
2018-06-05 Richard Biener <rguenther@suse.de> * lto.c (cmp_type_location): Expand locations only once. From-SVN: r261201
Richard Biener committed -
PR c++/85976 * tree.c (cp_tree_equal): Handle USING_DECL. * g++.dg/cpp0x/alias-decl-64.C: New test. From-SVN: r261200
Marek Polacek committed -
2018-06-05 Martin Liska <mliska@suse.cz> PR gcov-profile/47618 * doc/invoke.texi: Document how -fprofile-dir format is extended. 2018-06-05 Martin Liska <mliska@suse.cz> PR gcov-profile/47618 * libgcov-driver-system.c (replace_filename_variables): New function. (gcov_exit_open_gcda_file): Use it. From-SVN: r261199
Martin Liska committed -
* semantics.c (finish_qualified_id_expr): build_qualified_name for unbound names in the current class. From-SVN: r261196
Jason Merrill committed -
tree-cfgcleanup.c (cleanup_control_flow_pre): For edge removal pretend DOM info isn't available so we do not update it and... 2018-06-05 Richard Biener <rguenther@suse.de> * tree-cfgcleanup.c (cleanup_control_flow_pre): For edge removal pretend DOM info isn't available so we do not update it and only remove edges, not dominated blocks. Actually free DOM info in case we removed something. Remove unreachable blocks. (mfb_keep_latches): Work with either DOM info or marked backedges. (cleanup_tree_cfg_noloop): Do not remove unreachable blocks first. Mark backedges if DOM info isn't available. (Re-)compute DOM info after cleanup_control_flow_pre. From-SVN: r261195
Richard Biener committed -
2018-06-05 Richard Biener <rguenther@suse.de> * tree-cfg.c (struct locus_discrim_map): Store line, not location. (locus_discrim_hasher::hash): Adjust. (locus_discrim_hasher::equal): Likewise. (next_discriminator_for_locus): Work on line directly. (same_line_p): Pass in expanded locus1 as well. (assign_discriminators): Avoid redundant location expansions. From-SVN: r261194
Richard Biener committed -
2018-06-05 Richard Biener <rguenther@suse.de> PR tree-optimization/86046 * tree-ssa.c (maybe_optimize_var): Clear DECL_GIMPLE_REG_P if required after clearing TREE_ADDRESSABLE. * gcc.dg/pr86046.c: New testcase. From-SVN: r261193
Richard Biener committed -
2018-06-05 Richard Biener <rguenther@suse.de> PR tree-optimization/86047 * tree-ssa-loop.c (for_each_index): Glob handling of all decls and constants and really handle all of them. * gcc.dg/pr86047.c: New testcase. From-SVN: r261192
Richard Biener committed -
When trying to compile something with arm_acle.h using G++ we get a number of nasty errors: arm_acle.h:48:49: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive] return __builtin_arm_ldc (__coproc, __CRd, __p); This is because the intrinsics that are supposed to be void return the "result" of their builtin, which is void. C lets that slide but C++ complains. After fixing that we run into further errors: arm_acle.h:48:46: error: invalid conversion from 'const void*' to 'const int*' [-fpermissive] return __builtin_arm_ldc (__coproc, __CRd, __p); ^~~ Because the pointer arguments in these intrinsics are void pointers but the builtin expects int pointers. So this patch introduces new qualifiers for void pointers and their const-qualified versions and uses that in the specification of these intrinsics. This gives us the opportunity of creating an arm subdirectory in g++.dg and inaugurates it with the first arm-specific C++ tests (in that directory). PR target/81497 * config/arm/arm-builtins.c (arm_type_qualifiers): Add qualifier_void_pointer and qualifier_const_void_pointer. (arm_ldc_qualifiers, arm_stc_qualifiers): Use the above. (arm_init_builtins): Handle the above. * config/arm/arm_acle.h (__arm_cdp, __arm_ldc, __arm_ldcl, __arm_stc, __arm_stcl, __arm_mcr, __arm_cdp2, __arm_ldc2, __arm_ldcl2, __arm_stc2, __arm_stcl2,__arm_mcr2, __arm_mcrr, __arm_mcrr2): Remove return for void intrinsics. * g++.target/arm/arm.exp: New file. * g++.target/arm/pr81497.C: Likewise. From-SVN: r261191
Kyrylo Tkachov committed -
2018-06-05 Martin Liska <mliska@suse.cz> * auto-profile.c (read_autofdo_file): Do not use gcov_ctr_summary struct. (afdo_callsite_hot_enough_for_early_inline): Likewise. * coverage.c (struct counts_entry): Likewise. (read_counts_file): Read just single summary entry. (get_coverage_counts): Use gcov_summary struct. * coverage.h (get_coverage_counts): Likewise. * gcov-dump.c (dump_working_sets): Likewise. (tag_summary): Dump just single summary. * gcov-io.c (gcov_write_summary): Write just histogram summary. (gcov_read_summary): Read just single summary. (compute_working_sets): Use gcov_summary struct. * gcov-io.h (GCOV_TAG_SUMMARY_LENGTH): Remove usage of GCOV_COUNTERS_SUMMABLE. (GCOV_COUNTERS_SUMMABLE): Remove. (GCOV_FIRST_VALUE_COUNTER): Replace with GCOV_COUNTER_V_INTERVAL. (struct gcov_ctr_summary): Remove. (struct gcov_summary): Directly use fields of former gcov_ctr_summary. (compute_working_sets): Use gcov_summary struct. * gcov.c (read_count_file): Do not use ctrs fields. * lto-cgraph.c (merge_profile_summaries): Use gcov_summary struct. * lto-streamer.h (struct GTY): Make profile_info gcov_summary struct. * profile.c: Likewise. * profile.h: Likewise. 2018-06-05 Martin Liska <mliska@suse.cz> * libgcov-driver.c (gcov_compute_histogram): Remove usage of gcov_ctr_summary. (compute_summary): Do it just for a single summary. (merge_one_data): Likewise. (merge_summary): Simplify as we read just single summary. (dump_one_gcov): Pass proper argument. * libgcov-util.c (compute_one_gcov): Simplify as we have just single summary. (gcov_info_count_all_cold): Likewise. (calculate_overlap): Likewise. From-SVN: r261189
Martin Liska committed -
2018-06-05 Martin Liska <mliska@suse.cz> PR gcov-profile/84846 * gcov.c (output_lines): Print working directory only in intermediate format. From-SVN: r261188
Martin Liska committed
-