- 17 Jan, 2019 5 commits
-
-
Handle DW_FORM_GNU_strp_alt which references the .debug_str section in the .gnu_debugaltlink file. 2019-01-17 Tom de Vries <tdevries@suse.de> PR libbacktrace/82857 * dwarf.c (read_attribute): Handle DW_FORM_GNU_strp_alt using altlink. From-SVN: r267996
Tom de Vries committed -
Handle DW_FORM_GNU_strp_alt and DW_FORM_GNU_ref_alt references robustly in presence of missing .gnu_debugaltlink file. 2019-01-17 Tom de Vries <tdevries@suse.de> * dwarf.c (enum attr_val_encoding): Add ATTR_VAL_NONE. (read_attribute): Add altlink parameter. Handle missing altlink for DW_FORM_GNU_strp_alt and DW_FORM_GNU_ref_alt. (find_address_ranges, build_address_map, build_dwarf_data): Add and handle altlink parameter. (read_referenced_name, read_function_entry): Add argument to read_attribute call. From-SVN: r267995
Tom de Vries committed -
Add an altlink field to struct dwarf_data, and initialize it with the pointer to the struct dwarf_data for the .gnu_debugaltlink. 2019-01-17 Tom de Vries <tdevries@suse.de> * dwarf.c (struct dwarf_data): Add altlink field. (backtrace_dwarf_add): Add and handle fileline_altlink parameter. * elf.c (elf_add): Add argument to backtrace_dwarf_add call. (phdr_callback, backtrace_initialize): Add argument to elf_add calls. * internal.h (backtrace_dwarf_add): Add fileline_altlink parameter. * pecoff.c (coff_add): Add argument to backtrace_dwarf_add call. * xcoff.c (xcoff_add): Same. From-SVN: r267994
Tom de Vries committed -
Allow the caller of elf_add access to the struct dwarf_data pointer corresponding to the added elf. 2019-01-17 Tom de Vries <tdevries@suse.de> * internal.h (backtrace_dwarf_add): Add fileline_entry parameter. * dwarf.c (backtrace_dwarf_add): Add and handle fileline_entry parameter. * elf.c (elf_add): Add and handle fileline_entry parameter. Add argument to backtrace_dwarf_add call. (phdr_callback, backtrace_initialize): Add argument to elf_add calls. * pecoff.c (coff_add): Add argument to backtrace_dwarf_add call. * xcoff.c (xcoff_add): Same. From-SVN: r267993
Tom de Vries committed -
Read the elf file pointed at by the .gnu_debugaltlink section, and verify that the build id matches. 2019-01-17 Tom de Vries <tdevries@suse.de> * elf.c (elf_add): Add and handle with_buildid_data and with_buildid_size parameters. Handle .gnu_debugaltlink section. (phdr_callback, backtrace_initialize): Add arguments to elf_add calls. From-SVN: r267992
Tom de Vries committed
-
- 16 Jan, 2019 20 commits
-
-
* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add exports for fstream constructors and open members taking wide strings. Fix patterns for filesystem::path members to match wstring_view parameters. Add exports for shared_ptr members used by directory iterators. * src/c++17/fs_ops.cc (remove(const path&, error_code&)): Clear the error code parameter if the file doesn't exist. * src/filesystem/ops.cc (remove(const path&, error_code&)): Likewise. * testsuite/27_io/filesystem/operations/canonical.cc: Fix expected values for mingw targets, where "/" is not an absolute path. Do not test symlinks on mingw targets. * testsuite/experimental/filesystem/operations/canonical.cc: Likewise. * testsuite/27_io/filesystem/operations/copy.cc: Do not test symlinks on mingw targets. * testsuite/experimental/filesystem/operations/copy.cc: Likewise. * testsuite/27_io/filesystem/operations/create_directories.cc: Check that each component of the path is created. * testsuite/experimental/filesystem/operations/create_directories.cc: Likewise. * testsuite/27_io/filesystem/operations/exists.cc: Do not test permissions on mingw targets. * testsuite/experimental/filesystem/operations/exists.cc: Likewise. * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise. * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise. * testsuite/27_io/filesystem/operations/permissions.cc: XFAIL for mingw targets. * testsuite/experimental/filesystem/operations/permissions.cc: Likewise. * testsuite/27_io/filesystem/operations/remove.cc: Do not test symlinks or permissions on mingw targets. * testsuite/experimental/filesystem/operations/remove.cc: Likewise. * testsuite/27_io/filesystem/operations/remove_all.cc: Do not test symlinks on mingw targets. * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise. * testsuite/27_io/filesystem/operations/status.cc: Do not test permissions on mingw targets. * testsuite/27_io/filesystem/operations/weakly_canonical.cc: Do not test symlinks on mingw targets. * testsuite/experimental/filesystem/operations/space.cc: Fix test for mingw targets. From-SVN: r267991
Jonathan Wakely committed -
Many C syscall functions take pointer arguments. The pointers don't escape in the C functions. Mark the C functions noescape so calling them doesn't need allocation. Reviewed-on: https://go-review.googlesource.com/c/158158 From-SVN: r267989
Ian Lance Taylor committed -
Factor out the common handling of DW_AT_abstract_origin and DW_AT_specification from read_function_entry and read_referenced_name. 2019-01-16 Tom de Vries <tdevries@suse.de> * dwarf.c (read_referenced_name_from_attr): New function. Factor out of ... (read_referenced_name): ... here, and ... (read_function_entry): ... here. From-SVN: r267986
Tom de Vries committed -
Turn off partitioning unless it was explicitly requested, as it doesn't work with D exception chaining, where personality routines use LSDA to determine whether two thrown exceptions are in the same context. The following distills what was failing in the D testsuite. ``` try { try { fn(); // throws "1" } finally { throw new Exception("2"); } } catch (Exception e) { assert(e.msg == "1"); assert(e.next.msg == "2"); } ``` gcc/d/ChangeLog: PR d/87824 * d-lang.cc (d_post_options): Disable implicit -forder-blocks-and-partition. From-SVN: r267985
Iain Buclaw committed -
PR target/88861 reports an ICE in "ce2" due to an unreachable basic block. The block becomes unreachable in "combine" when delete_noop_moves deletes an insn with a REG_EH_REGION, deleting the EH edge, the only edge leading to the basic block. Normally, rest_of_handle_combine would call cleanup_cfg, deleting unreachable blocks, if combine_instructions returns true, and combine_instructions does return true for some cases of edge-removal, but it doesn't for this case, leading to the ICE. This patch updates delete_noop_moves so that it returns true if it deletes any edges, and passes that through to combine_instructions, so that it too will return true if any edges were deleted, ensuring that cleanup_cfg will be called by rest_of_handle_combine for this case, deleting the now-unreachable block, and fixing the ICE. gcc/ChangeLog: PR target/88861 * combine.c (delete_noop_moves): Convert to "bool" return, returning true if any edges are eliminated. (combine_instructions): Also return true if delete_noop_moves returns true. gcc/testsuite/ChangeLog: PR target/88861 * g++.dg/torture/pr88861.C: New test. From-SVN: r267984
David Malcolm committed -
2019-01-16 Tamar Christina <tamar.christina@arm.com> * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Use correct max nunits for endian swap. (aarch64_expand_fcmla_builtin): Correct subreg code. * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>, aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>): Correct lane endianness. From-SVN: r267983
Tamar Christina committed -
gcc/testsuite/ChangeLog: PR debug/88046 * g++.dg/lto/pr88046_0.C: Check for shared and fPIC. From-SVN: r267980
Tamar Christina committed -
decl.c (grokdeclarator): Use locations[ds_storage_class] in error messages about ill-formed uses of mutable. /cp 2019-01-16 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (grokdeclarator): Use locations[ds_storage_class] in error messages about ill-formed uses of mutable. /testsuite 2019-01-16 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/other/pr33558.C: Test location too. * g++.dg/other/pr33558-2.C: Likewise. * g++.dg/parse/crash4.C: Likewise. * g++.old-deja/g++.brendan/err-msg11.C: Likewise. * g++.old-deja/g++.mike/p7635.C: Likewise. * g++.old-deja/g++.other/decl6.C: Likewise. From-SVN: r267978
Paolo Carlini committed -
* call.c (perform_implicit_conversion_flags): Set IMPLICIT_CONV_EXPR_BRACED_INIT. * cp-tree.h (IMPLICIT_CONV_EXPR_BRACED_INIT): New. * pt.c (tsubst_copy_and_build): Use it. * g++.dg/cpp0x/Wnarrowing13.C: New test. * g++.dg/cpp0x/Wnarrowing14.C: New test. From-SVN: r267976
Marek Polacek committed -
* config/alpha/alpha.c (alpha_gimplify_va_arg): Handle split indirect COMPLEX_TYPE arguments. From-SVN: r267973
Uros Bizjak committed -
And the ChangeLog for PR target/86891 fix. From-SVN: r267972
Richard Earnshaw committed -
Further investigation showed that my previous patch for this issue was still incomplete. The problem stemmed from what I suspect was a mis-understanding of the way overflow is calculated on aarch64 when values are subtracted (and hence in comparisons). In this case, unlike addition, the carry flag is /cleared/ if there is overflow (technically, underflow) and set when that does not happen. This patch clears up this issue by using CCmode for all subtractive operations (this can fully describe the normal overflow conditions without anything particularly fancy); clears up the way we express normal unsigned overflow using CC_Cmode (the result of a sum is less than one of the operands) and adds a new mode, CC_ADCmode to handle expressing overflow of an add-with-carry operation, where the standard idiom is no-longer sufficient to describe the overflow condition. PR target/86891 * config/aarch64/aarch64-modes.def: Add comment about how the carry bit is set by add and compare. (CC_ADC): New CC_MODE. * config/aarch64/aarch64.c (aarch64_select_cc_mode): Use variables to cache the code and mode of X. Adjust the shape of a CC_Cmode comparison. Add detection for CC_ADCmode. (aarch64_get_condition_code_1): Update code support for CC_Cmode. Add CC_ADCmode. * config/aarch64/aarch64.md (uaddv<mode>4): Use LTU with CCmode. (uaddvti4): Comparison result is in CC_ADCmode and the condition is GEU. (add<mode>3_compareC_cconly_imm): Delete. Merge into... (add<mode>3_compareC_cconly): ... this. Restructure the comparison to eliminate the need for zero-extending the operands. (add<mode>3_compareC_imm): Delete. Merge into ... (add<mode>3_compareC): ... this. Restructure the comparison to eliminate the need for zero-extending the operands. (add<mode>3_carryin): Use LTU for the overflow detection. (add<mode>3_carryinC): Use CC_ADCmode for the result of the carry out. Reexpress comparison for overflow. (add<mode>3_carryinC_zero): Update for change to add<mode>3_carryinC. (add<mode>3_carryinC): Likewise. (add<mode>3_carryinV): Use LTU for carry between partials. * config/aarch64/predicates.md (aarch64_carry_operation): Update handling of CC_Cmode and add CC_ADCmode. (aarch64_borrow_operation): Likewise. From-SVN: r267971
Richard Earnshaw committed -
re PR c/51628 (__attribute__((packed)) is unsafe in some cases (i.e. add -Waddress-of-packed-member, etc.)) PR c/51628 PR target/88682 * c-c++-common/pr51628-10.c (unaligned_int128_t): Add may_alias attribute. From-SVN: r267970
Jakub Jelinek committed -
gcc/ChangeLog: * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): Remove patternmode. * config/arm/arm.c (neon_vcmla_lane_prepare_operands): Likewise. * config/arm/neon.md (neon_vcmla_lane<rot><mode>, neon_vcmla_laneq<rot><mode>, neon_vcmlaq_lane<rot><mode>): Remove endianness conversion. From-SVN: r267969
Tamar Christina committed -
2019-01-16 Martin Liska <mliska@suse.cz> * Makefile.in: Set TOOL_INCLUDE_DIR and NATIVE_SYSTEM_HEADER_DIR for GCC driver. * config/gnu-user.h (TARGET_F951_OPTIONS): Add 'finclude%s/' as a new argument. * gcc.c (add_sysrooted_hdrs_prefix): New function. (path_prefix_reset): Move up in the source file. (find_fortran_preinclude_file): Make complex search for the fortran header files. From-SVN: r267967
Martin Liska committed -
2019-01-16 Kewen Lin <linkw@gcc.gnu.org> * MAINTAINERS (Write After Approval): Add myself. From-SVN: r267965
Kewen Lin committed -
PR libstdc++/88738 Warn about unused comparisons of shared_ptr/unique_ptr * include/bits/c++config [_GLIBCXX_NODISCARD]: Define. * include/bits/shared_ptr.h: Use it for operator ==, !=, <, <=, >, >= for shared_ptr. * include/bits/unique_ptr.h: Likewise for unique_ptr. From-SVN: r267964
Ulrich Drepper committed -
Both read_function_entry and read_referenced_name implement a priority scheme for names. The priorities are: - 1st: DW_AT_linkage_name - 2nd: Name from DW_AT_abstract_origin or DW_AT_specification - 3rd: DW_AT_name. Ensure both functions fully adhere to it. 2019-01-16 Tom de Vries <tdevries@suse.de> * dwarf.c (read_referenced_name): Don't allow DW_AT_name to override any name. (read_function_entry): Same. Don't allow name found via DW_AT_abstract_origin or case DW_AT_specification to override linkage name. From-SVN: r267963
Tom de Vries committed -
From-SVN: r267962
Xiong Hu Luo committed -
From-SVN: r267961
GCC Administrator committed
-
- 15 Jan, 2019 15 commits
-
-
gcc/: * godump.c (go_output_typedef): When outputting a typedef, refer to the underlying type by its name and not its structure. gcc/testsuite: * gcc.misc-tests/godump-1.c: Add test case for typedef before struct. From-SVN: r267958
Nikhil Benesch committed -
PR c++/88795 reports an ICE building a function_type for a deduction guide when the substitution into the function signature fails, due to an error_mark_node being returned from tsubst_arg_types but not being checked for. This error_mark_node gets used as the TYPE_ARG_TYPES, leading to ICEs in various places that assume this is a TREE_LIST. This patch checks the result of tsubst_arg_types and propagates the failure if it returns error_mark_node. It also adds an assertion to build_function_type, to fail faster if passed in error_mark_node. gcc/cp/ChangeLog: PR c++/88795 * pt.c (build_deduction_guide): Bail out if tsubst_arg_types fails. gcc/testsuite/ChangeLog: PR c++/88795 * g++.dg/template/pr88795.C: New test. gcc/ChangeLog: PR c++/88795 * tree.c (build_function_type): Assert that arg_types is not error_mark_node. From-SVN: r267957
David Malcolm committed -
CL 157557 changes the compiler to add one byte padding to non-empty struct ending with a zero-sized field. Add the same padding to the FFI type, so reflect.Call works. This fixes test/fixedbugs/issue26335.go in the main repo. Reviewed-on: https://go-review.googlesource.com/c/158018 From-SVN: r267956
Ian Lance Taylor committed -
gcc/d/ChangeLog: * d-codegen.cc (build_typeof_null_value): New function. * d-tree.h (build_typeof_null_value): Declare. * d-convert.cc (convert_expr): Use build_typeof_null_value. * expr.cc (ExprVisitor::visit(NullExp)): Likewise. From-SVN: r267955
Iain Buclaw committed -
2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/43136 * resolve.c (resolve_array_ref): Add equal_length argument; set it if the length of the substring equals that of the orignal variable. (resolve_ref): Remove the substring if it is equal in length to the original variable, unless it is an EXPR_SUBSTRING). 2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/43136 * gfortran.dg/actual_array_substr_3.f90: New test. From-SVN: r267954
Thomas Koenig committed -
2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/43072 * resolve.c (resolve_array_ref): Add equal_length argument; set it if the length of the substring equals that of the orignal variable. (resolve_ref): Remove the substring if it is equal in length to the original variable, unless it is an EXPR_SUBSTRING). 2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/43072 * gfortran.dg/actual_array_substr_3.f90: New test. From-SVN: r267953
Thomas Koenig committed -
This ports https://golang.org/cl/155918 from the master repo. runtime: panic on uncomparable map key, even if map is empty Reorg map flags a bit so we don't need any extra space for the extra flag. This is a pre-req for updating libgo to the Go 1.12beta2 release. Reviewed-on: https://go-review.googlesource.com/c/157858 From-SVN: r267950
Ian Lance Taylor committed -
2019-01-15 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/81849 * resolve.c (resolve_symbol): Host associated varaibles can appear in the specification statement of a RESULT array. 2019-01-15 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/81849 * gfortran.dg/pr81849.f90: New test. From-SVN: r267948
Steven G. Kargl committed -
2019-01-15 Paul Thomas <pault@gcc.gnu.org> * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs that are indirect references; ie. dummy arguments. 2019-01-15 Paul Thomas <pault@gcc.gnu.org> * gfortran.dg/ISO_Fortran_binding_2.c : Change reference to ISO_Fortran_binding_2.h. From-SVN: r267946
Paul Thomas committed -
PR c++/88866 * g++.dg/cpp0x/variadic126.C: Tweak dg-error. From-SVN: r267944
Marek Polacek committed -
From-SVN: r267942
Jason Merrill committed -
The original patch for this PR made it an error to list the stack pointer in the clobber list of an inline asm. However, the general feeling seemed to be that going straight to a hard error was too harsh, since there's quite a bit of existing code that has the clobber. This patch implements the compromise discussed on IRC of making it a -Wdeprecated warning instead. 2019-01-15 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR inline-asm/52813 * doc/extend.texi: Document that listing the stack pointer in the clobber list of an asm is a deprecated feature. * common.opt (Wdeprecated): Moved from c-family/c.opt. * cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated warning instead of an error for clobbers of the stack pointer. Add a note explaining why. gcc/c-family/ PR inline-asm/52813 * c.opt (Wdeprecated): Move documentation and variable to common.opt. gcc/d/ PR inline-asm/52813 * lang.opt (Wdeprecated): Reference common.opt instead of c.opt. gcc/testsuite/ PR inline-asm/52813 * gcc.target/i386/pr52813.c (test1): Turn the diagnostic into a -Wdeprecated warning and expect a following note:. From-SVN: r267941
Richard Sandiford committed -
re PR debug/88046 (ICE in add_data_member_location_attribute at gcc/dwarf2out.c:19237 since r261885) 2019-01-15 Richard Biener <rguenther@suse.de> PR debug/88046 * dwarf2out.c (gen_member_die): Do not generate inheritance DIEs late. * g++.dg/lto/pr88046_0.C: New testcase. From-SVN: r267940
Richard Biener committed -
re PR tree-optimization/88855 (ICE: verify_ssa failed (error: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set)) 2019-01-15 Richard Biener <rguenther@suse.de> PR tree-optimization/88855 * tree-if-conv.c (combine_blocks): Collect SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals. * gcc.dg/pr88855.c: New testcase. From-SVN: r267939
Richard Biener committed -
* include/bits/shared_ptr_base.h (__cpp_lib_shared_ptr_arrays): Define as 201611L, because P0497R0 changes are supported. * include/std/version (__cpp_lib_shared_ptr_arrays): Likewise. From-SVN: r267938
Jonathan Wakely committed
-