- 16 Dec, 2019 12 commits
-
-
2019-12-16 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * sem_util.adb (Is_Atomic_Or_VFA_Object): Also return true for components whose type is Volatile_Full_Access or which are subject to the aspect/pragma individually. * sem_util.ads (Is_Atomic_Object_Entity): Small comment fix. From-SVN: r279420
Eric Botcazou committed -
2019-12-16 Yannick Moy <moy@adacore.com> gcc/ada/ * exp_ch6.adb: Fix comment. * sem_res.adb (Resolve_Call): Do not check No_Recursion restriction or indirectly No_Secondary_Stack restriction, when inside an ignored ghost subprogram. From-SVN: r279419
Yannick Moy committed -
2019-12-16 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * impunit.adb: Add a-nbnbin, a-nbnbre, a-nubinu to Ada 2020 units. * Makefile.rtl: Enable new file. * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads, libgnat/a-nbnbre.adb, libgnat/a-nbnbre.ads, libgnat/a-nubinu.ads: New files. Provide default standalone implementation of Ada.Numerics.Big_Numbers.Big_* based on System.Generic_Bignum. * libgnat/a-nbnbin__gmp.adb: Alternate implementation of Ada.Numerics.Big_Numbers.Big_Integers based on GMP. Not enabled for now. * libgnat/s-bignum.ads, libgnat/s-bignum.adb: Now a simple wrapper on top of s-genbig.ads. * libgnat/s-genbig.ads, libgnat/s-genbig.adb: New files, making s-bignum generic for reuse in Ada.Numerics.Big_Numbers. From-SVN: r279418
Arnaud Charlet committed -
2019-12-16 Bob Duff <duff@adacore.com> gcc/ada/ * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Correct documentation of -gnatw_C switch * gnat_ugn.texi: Regenerate. From-SVN: r279417
Bob Duff committed -
2019-12-16 Joel Brobecker <brobecker@adacore.com> gcc/ada/ * doc/gnat_ugn/building_executable_programs_with_gnat.rst (_Switches_for_gnatbind): Reword the section explaining the impact of -minimal on debugging. * gnat_ugn.texi: Regenerate. From-SVN: r279416
Joel Brobecker committed -
2019-12-16 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * libgnat/g-exptty.adb, libgnat/g-exptty.ads: Typo fixes and minor reformatting. From-SVN: r279415
Gary Dismukes committed -
2019-12-16 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * exp_ch6.adb (Requires_Atomic_Or_Volatile_Copy): New predicate. (Expand_Actuals): Use it to decide whether to add call by copy code as per the RM C.6(19) clause. * fe.h (Is_Atomic_Object): Remove. (Is_Volatile_Object): Likewise. * sem_util.ads (Is_Atomic_Object): Remove WARNING note. (Is_Volatile_Object): Likewise. * gcc-interface/trans.c (atomic_or_volatile_copy_required_p): Delete. (Call_to_gnu): Do not implement the RM C.6(19) clause. From-SVN: r279414
Eric Botcazou committed -
2019-12-16 Ghjuvan Lacambre <lacambre@adacore.com> gcc/ada/ * sem_ch12.adb (Validate_Access_Subprogram_Instance): Add Can_Never_Be_Null checks. From-SVN: r279413
Ghjuvan Lacambre committed -
2019-12-16 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst (VFA): Document extension of the no-aliasing rule to any subcomponent. * freeze.adb (Freeze_Object_Declaration): Small comment tweak. (Freeze_Record_Type): Do not deal with delayed aspect specifications for components here but... (Freeze_Entity): ...here instead. * sem_ch12.adb (Instantiate_Object): Improve wording of errors given for legality rules in C.6(12) and implement the new rule in C.6(13). * sem_res.adb (Resolve_Actuals): Likewise. * sem_prag.adb (Check_Atomic_VFA): New procedure implementing the new legality rules in C.6(13). (Process_Atomic_Independent_Shared_Volatile): Call Check_Atomic_VFA to check the legality rules. Factor out code marking types into... (Mark_Type): ...this new procedure. (Check_VFA_Conflicts): Do not check the legality rules here. (Pragma_Atomic_Components): Call Check_Atomic_VFA on component type. * sem_util.ads (Is_Subcomponent_Of_Atomic_Object): Declare. * sem_util.adb (Is_Subcomponent_Of_Atomic_Object): New predicate. * gnat_rm.texi: Regenerate. From-SVN: r279412
Eric Botcazou committed -
The backend emits 16 bit memory loads for single element character vector. As a result the character will not be right justified in the GPR. gcc/ChangeLog: 2019-12-16 Andreas Krebbel <krebbel@linux.ibm.com> PR target/92950 * config/s390/vector.md ("mov<mode>" for V_8): Replace lh, lhy, and lhrl with llc. gcc/testsuite/ChangeLog: 2019-12-16 Andreas Krebbel <krebbel@linux.ibm.com> PR target/92950 * gcc.target/s390/vector/pr92950.c: New test. From-SVN: r279410Andreas Krebbel committed -
2019-12-15 Andrew Pinski <apinski@marvell.com> * gcc.c-torture/compile/bitfield-1.c: New test. * gcc.c-torture/compile/bitfield-endian-1.c: New test. * gcc.c-torture/compile/bitfield-endian-2.c: New test. From-SVN: r279409Andrew Pinski committed -
From-SVN: r279408
GCC Administrator committed
-
- 15 Dec, 2019 1 commit
-
-
From-SVN: r279402
GCC Administrator committed
-
- 14 Dec, 2019 7 commits
-
-
re PR preprocessor/92919 (invalid memory access in wide_str_to_charconst when running ucn2.C testcase (caught by hwasan)) PR preprocessor/92919 * charset.c (wide_str_to_charconst): If str contains just the NUL terminator, punt quietly. From-SVN: r279399
Jakub Jelinek committed -
gcc/ChangeLog: * doc/extend.texi (attribute access): Correct typos. From-SVN: r279398
Martin Sebor committed -
PR ipa/92357 * ipa-fnsummary.c (ipa_fn_summary_write): Use lto_symtab_encoder_iterator with lsei_start_function_in_partition and lsei_next_function_in_partition instead of walking all cgraph nodes in encoder. From-SVN: r279395
Jakub Jelinek committed -
PR tree-optimization/92930 * ipa-pure-const.c (special_builtin_state): Don't handle BUILT_IN_APPLY. Formatting fixes. (check_call): Formatting fixes. * gcc.dg/tree-ssa/pr92930.c: New test. From-SVN: r279394
Jakub Jelinek committed -
On Darwin10 it's possible to make a 32b PPC build using the 'Rosetta' emulator. However, these builds need to make use of Darwin9 crts (for exes, dylibs and bundles). This adds the change to cater for bundles. gcc/ChangeLog: 2019-12-14 Iain Sandoe <iain@sandoe.co.uk> * config/darwin.h (DARWIN_EXTRA_SPECS): Add new bundle spec. (DARWIN_BUNDLE1_SPEC): New. (STARTFILE_SPEC): Use darwin bundle spec. * config/rs6000/darwin.h (DARWIN_BUNDLE1_SPEC): New. (DARWIN_DYLIB1_SPEC): Delete duplicate. From-SVN: r279393
Iain Sandoe committed -
PR middle-end/91582 - missing heap overflow detection for strcpy PR middle-end/92868 - ICE: tree check: expected integer_cst, have ssa_name gcc/ChangeLog: PR middle-end/91582 PR middle-end/92868 * builtins.c (addr_decl_size): New function. (gimple_call_alloc_size): Add arguments. (compute_objsize): Add an argument. Set *PDECL even for allocated objects. Correct checking for negative wide_int. Correct handling of negative outer offsets into unknown regions or with unknown inner offsets. Extend offsets to at most sizetype precision. Only handle constant subobject sizes. * builtins.h (gimple_call_alloc_size): Add arguments. * tree.c (component_ref_size): Always return sizetype. * tree-ssa-strlen.c (strinfo::alloc): New member. (get_addr_stridx): Add argument. (get_stridx): Use ptrdiff_t. Add argument. (new_strinfo): Set new member. (get_string_length): Handle alloca and VLA. (dump_strlen_info): Dump more state. (maybe_invalidate): Print more info. Decrease indentation. (unshare_strinfo): Set new member. (valid_builtin_call): Handle alloca and VLA. (maybe_warn_overflow): Check and set no-warning bit. Improve handling of offsets. Print allocated objects. (handle_builtin_strlen): Handle strinfo records with null lengths. (handle_builtin_strcpy): Add argument. Call maybe_warn_overflow. (is_strlen_related_p): Handle dynamically allocated objects. (get_range): Add argument. (handle_builtin_malloc): Rename... (handle_alloc): ...to this and handle all allocation functions. (handle_builtin_memset): Call maybe_warn_overflow. (count_nonzero_bytes): Handle more MEM_REF forms. (strlen_check_and_optimize_call): Call handle_alloc_call. Pass arguments to more callees. (handle_integral_assign): Add argument. Create strinfo entries for MEM_REF assignments. (check_and_optimize_stmt): Handle more MEM_REF forms. gcc/testsuite/ChangeLog: PR middle-end/91582 * c-c++-common/Wrestrict.c: Adjust expected warnings. * gcc/testsuite/c-c++-common/Wstringop-truncation-4.c: Enable more warnings. * gcc/testsuite/c-c++-common/Wstringop-truncation.c: Remove an xfail. * gcc.dg/Warray-bounds-46.c: Disable -Wstringop-overflow. * gcc.dg/Warray-bounds-47.c: Same. * gcc.dg/Warray-bounds-52.c: New test. * gcc.dg/Wstringop-overflow-27.c: New test. * gcc.dg/Wstringop-overflow-28.c: New test. * gcc.dg/Wstringop-overflow-29.c: New test. * gcc.dg/attr-alloc_size.c (test): Disable -Warray-bounds. * gcc.dg/attr-copy-2.c: Adjust expected warnings. * gcc.dg/builtin-stringop-chk-5.c: Adjust text of expected messages. * gcc.dg/strlenopt-86.c: Relax test. * gcc.target/i386/pr82002-1.c: Prune expected warnings. From-SVN: r279392
Martin Sebor committed -
From-SVN: r279391
GCC Administrator committed
-
- 13 Dec, 2019 20 commits
-
-
PR libgomp/92881 libgomp/ * libgomp.h (gomp_remove_var_async): Add prototype. * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of gomp_remove_var. * target.c (gomp_unref_tgt): Change return type to bool, indicating whether target_mem_desc was unmapped. (gomp_unref_tgt_void): New. (gomp_remove_var): Reimplement in terms of... (gomp_remove_var_internal): ...this new helper function. (gomp_remove_var_async): New, implemented using above helper function. (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of gomp_unref_tgt. Reviewed-by: Thomas Schwinge <thomas@codesourcery.com> From-SVN: r279388
Julian Brown committed -
On Darwin10 it's possible to make a 32b PPC build using the 'Rosetta' emulator. However, these builds need to make use of Darwin9 crts (for exes and dylibs). This adds the change to cater for dylibs. gcc/ChangeLog: 2019-12-13 Iain Sandoe <iain@sandoe.co.uk> * config/rs6000/darwin.h (DARWIN_DYLIB1_SPEC): New. From-SVN: r279381
Iain Sandoe committed -
* dwarf.c (struct attr): Add val field. (enum attr_val_encoding): Add ATTR_VAL_ADDDRESS_INDEX, ATTR_VAL_STRING_INDEX, ATTR_VAL_RNGLISTS_INDEX. (struct line_header): Add addrsize field. (struct line_header_format): Define. (struct unit): Add str_offsets_base, addr_base, and rnglists_base fields. (read_uint24): New static function. (read_attribute): Add implicit_val parameter. Replace dwarf_str and dwarf_str_size parameters with dwarf_sections parameter. Add support for new DWARF 5 forms. Change all callers. (resolve_string): New static function. (resolve_addr_index): Likewise. (read_abbrevs): Support DW_FORM_implicit_const. (struct pcrange): Add lowpc_is_addr_index, highpc_is_addr_Index, and ranges_is_index fields. (update_pcrange): Support DWARF 5 encodings. (add_high_low_range): New static function, split out of add_ranges. (add_ranges_from_ranges): Likewise. (add_ranges_from_rnglists): New static function. (add_ranges): Just call new helper functions. (find_address_ranges): Use resolve_string for strings, after reading all attributes. Handle new DWARF 5 attributes. (build_address_map): Support DWARF 5 compilation units. (read_v2_paths): New static function, split out of read_line_header. (read_lnct): New static function. (read_line_header_format_entries): Likewise. (read_line_header): Add ddata parameter. Support DWARF 5 line headers. Call new helper functions. Change all callers. (read_line_program): Use addrsize from line program header. Don't special case directory index 0 for DWARF 5. (read_referenced_name): Use resolve_string. (read_function_entry): Handle DWARF 5 encodings. Use resolve_string. * internal.h (enum dwarf_section): Add DEBUG_ADDR, DEBUG_STR_OFFSETS, DEBUG_LINE_STR, DEBUG_RNGLISTS. * elf.c (dwarf_section_names): Add new section names. * pecoff.c (dwarf_section_names): Likewise. * xcoff.c (xcoff_add): Clear dwarf_sections before setting fields. * configure.ac: Define HAVE_DWARF5 automake conditional. * Makefile.am (dwarf5_SOURCES): New variable if HAVE_DWARF5. (dwarf5_CFLAGS, dwarf5_LDADD): Likewise. (dwarf5_alloc_SOURCES, dwarf5_alloc_CFLAGS): Likewise. (dwarf5_alloc_LDADD): Likewise. (BUILDTESTS): Add dwarf5 tests if HAVE_DWARF5. (CLEANFILES, clean-local): Define. From-SVN: r279380
Ian Lance Taylor committed -
* lto-streamer-in.c (input_function): Add node parameter. (lto_read_body_or_constructor): Use it. From-SVN: r279379
Jan Hubicka committed -
2019-12-13 Andrew Stubbs <ams@codesourcery.com> libgomp/ * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn. * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN. * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise. From-SVN: r279378
Andrew Stubbs committed -
PR rtl-optimization/92591 * modulo-sched.c (ps_add_node_check_conflicts): Improve checking for history > 0 case. testsuite: PR rtl-optimization/92591 * gcc.dg/pr92951-1.c: New test. * gcc.dg/pr92951-2.c: New test. From-SVN: r279377
Roman Zhuykov committed -
* modulo-sched.c (sms_schedule): Use param_sms_max_ii_factor value instead of macro. Adjust comment. (sms_schedule_by_order): Use parameter value without macro. * params.opt: Add ranges for modulo scheduler parameters, set param_sms_max_ii_factor = 2 by default. From-SVN: r279376
Roman Zhuykov committed -
PR rtl-optimization/90001 * ddg.c (create_ddg): Init max_dist array for each node. (free_ddg): Free max_dist array. (create_ddg_edge): Use bool field instead of aux union. (set_recurrence_length): Use prepared max_dist information instead of calling longest_simple_path. (create_scc): Remove graph argument, fill node's aux.count with SCC id, and move set_recurrence_length call to... (create_ddg_all_sccs): ...here, after filling all max_dist arrays using Floyd–Warshall-like algorithm. (update_dist_to_successors): Remove the whole function. (longest_simple_path): Likewise. * ddg.h (struct ddg_node): Add max_dist pointer. (struct ddg_edge): Use bool field instead of unused aux union. From-SVN: r279375
Roman Zhuykov committed -
2019-12-13 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/gcn/gcn-valu.md (mulv64si3<exec>): Rename to ... (mul<mode>3<exec>): ... this, and implement sub-dword patterns. (mulv64si3_dup<exec>): Rename to ... (mul<mode>3_dup<exec>): ... this, and implement sub-dword patterns. From-SVN: r279374
Andrew Stubbs committed -
* ipa-utils.c (ipa_merge_profiles): Improve dumping; merge common targets. From-SVN: r279373
Jan Hubicka committed -
2019-12-13 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/gcn/gcn-valu.md (sdwa): New mode attribute. (VCVT_FROM_MODE): Rename to ... (VCVT_MODE): ... this. (VCVT_TO_MODE): Delete mode iterator. (VCVT_FMODE): New mode iterator. (VCVT_IMODE): Likewise. (<cvt_name><VCVT_FROM_MODE:mode><VCVT_TO_MODE:mode>2<exec>): Change ... (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): ... to this. (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): New. (zero_convert): New code iterator. (convop): New code attribute. (<convop><VEC_ALL1REG_INT_ALT:mode><VEC_ALL1REG_INT_MODE:mode>2<exec>) : New. (extend<VEC_ALL1REG_INT_ALT:mode><VEC_ALL1REG_INT_MODE:mode>2<exec>) : New. (vec_truncatev64div64si): Rename to ... (truncv64di<mode>2): ... this and implement sub-dword patterns. (vec_truncatev64div64si_exec): Rename to ... (truncv64di<mode>2_exec): ... this and implement sub-dword patterns. (<convop><mode>v64di2): New insn_and_split. (<convop><mode>v64di2_exec): Likewise. (mask_gather_load<mode>): Update truncate names. (mask_scatter_store<mode>): Likewise. * config/gcn/gcn.c (gcn_expand_scaled_offsets): Update truncate names. From-SVN: r279372
Andrew Stubbs committed -
2019-12-13 Dennis Zhang <dennis.zhang@arm.com> gcc/ * config/aarch64/aarch64-arches.def (armv8.6-a): New. * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define __ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC and __ARM_FEATURE_BF16_SCALAR_ARITHMETIC when enabled. * config/aarch64/aarch64-option-extensions.def (i8mm, bf16): New. (fp): Disabling fp also disables i8mm and bf16. (simd): Disabling simd also disables i8mm. * config/aarch64/aarch64.h (AARCH64_FL_V8_6): New macro. (AARCH64_FL_I8MM, AARCH64_FL_BF16, AARCH64_FL_FOR_ARCH8_6): Likewise. (AARCH64_ISA_V8_6, AARCH64_ISA_I8MM, AARCH64_ISA_BF16): Likewise. (TARGET_I8MM, TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise. * doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options and add a new table to list permissible values for ARCH. gcc/testsuite/ * gcc.target/aarch64/pragma_cpp_predefs_2.c: Add tests for i8mm and bf16 features. From-SVN: r279370
Dennis Zhang committed -
PR target/92908 * simplify-rtx.c (simplify_relational_operation): Punt for vector cmp_mode and scalar mode, if simplify_relational_operation returned const_true_rtx. (simplify_const_relational_operation): Change VOID_mode in function comment to VOIDmode. * gcc.target/i386/avx512bw-pr92908.c: New test. From-SVN: r279369
Jakub Jelinek committed -
2019-12-13 Gary Dismukes <dismukes@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Minor rewording of one sentence. * gnat_rm.texi: Regenerate. From-SVN: r279368
Gary Dismukes committed -
2019-12-13 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * exp_unst.adb (Unnest_Subprogram): Account for trees produced by Annex E constructs. From-SVN: r279367
Arnaud Charlet committed -
2019-12-13 Ghjuvan Lacambre <lacambre@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Update Initialize_Scalars documentation. * gnat_rm.texi: Regenerate. From-SVN: r279366
Ghjuvan Lacambre committed -
2019-12-13 Javier Miranda <miranda@adacore.com> gcc/ada/ * sem_ch13.adb (Analyze_Aspect_Specification): Processing a precondition, if the expression is of the form A and then B, do not generate separate Pre/Post aspects for the separate clases when we are processing a generic unit. Required to avoid reporting spurious visibility errors on the instantiations. From-SVN: r279365
Javier Miranda committed -
2019-12-13 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * sem_res.adb (Resolve_Actuals): Give canonical error for illegal case of atomic/volatile parameter also if the formal is aliased. From-SVN: r279364
Eric Botcazou committed -
2019-12-13 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * sem_util.ads (Is_Atomic_Object): Mention relevant RM clauses. * sem_util.adb (Is_Atomic_Object): For an indexed component, only look at the Has_Atomic_Components aspect of the prefix and do not recurse on it; for a selected component, do not look at the prefix. (Is_Atomic_Or_VFA_Object): Minor tweak. From-SVN: r279363
Eric Botcazou committed -
2019-12-13 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * libgnat/a-calfor.ads, libgnat/a-calfor.adb (Split_Duration): New procedure. (Split, Image): Use Split_Duration. Update Image spec. From-SVN: r279362
Arnaud Charlet committed
-