- 11 Apr, 2018 5 commits
-
-
2018-04-11 Martin Liska <mliska@suse.cz> * lto-symtab.c (lto_symtab_merge_p): Use attribute_value_equal function. From-SVN: r259312
Martin Liska committed -
PR debug/85302 * dwarf2out.c (skip_loc_list_entry): Don't call size_of_locs if SIZEP is NULL. (output_loc_list): Pass address of a dummy size variable even in the locview handling loop. (index_location_lists): Add comment on why skip_loc_list_entry can't call size_of_locs. * g++.dg/debug/dwarf2/pr85302.C: New test. From-SVN: r259311
Jakub Jelinek committed -
Instruction pattern for setting the FPSCR expects the input value to be in a register. However, __builtin_arm_set_fpscr expander does not ensure that this is the case and as a result GCC ICEs when the builtin is called with a constant literal. This commit fixes the builtin to force the input value into a register. It also remove the unneeded volatile in the existing fpscr test and fixes the function prototype. 2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR target/85261 * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand into register. gcc/testsuite/ PR target/85261 * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand into register. From-SVN: r259310
Thomas Preud'homme committed -
* doc/xml/manual/abi.xml: Document header locations in recent releases. * doc/xml/manual/evolution.xml: Add API changes since GCC 5. * doc/xml/manual/spine.xml: Update copyright years. * doc/xml/manual/strings.xml: Adjust tolower example to avoid undefined behaviour. * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests. * doc/html/*: Regenerate. From-SVN: r259308
Jonathan Wakely committed -
From-SVN: r259307
GCC Administrator committed
-
- 10 Apr, 2018 31 commits
-
-
/cp 2018-04-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70808 * init.c (build_zero_init_1): Handle NULLPTR_TYPE_P being true of the type like TYPE_PTR_OR_PTRMEM_P. /testsuite 2018-04-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70808 * g++.dg/warn/Wzero-as-null-pointer-constant-7.C: New. From-SVN: r259303
Paolo Carlini committed -
2018-04-10 Aaron Sawdey <acsawdey@linux.ibm.com> PR target/85321 * doc/invoke.texi (RS/6000 and PowerPC Options): Document options -mblock-compare-inline-limit, -mblock-compare-inline-loop-limit, and -mstring-compare-inline-limit. From-SVN: r259302
Aaron Sawdey committed -
2018-04-10 Aaron Sawdey <acsawdey@linux.ibm.com> * MAINTAINERS: Update my email address. From-SVN: r259301
Aaron Sawdey committed -
From-SVN: r259300
Segher Boessenkool committed -
The stack clash protection code had a logic error in how it decided whether to put the final update size in a register, or to emit it directly in an insn. This fixes it. It also tidies some surrounding code. PR target/85287 * gcc/config/rs6000/rs6000.md (allocate_stack): Put the residual size for stack clash protection in a register whenever we need it to be in a register. From-SVN: r259299
Segher Boessenkool committed -
To find out where on-entry register values live at any point in a program, GDB currently tries to parse to parse the executable code. This does not work very well, for example it gets confused if some accesses to the stack use the frame pointer (r31) and some use the stack pointer (r1). A symptom is that backtraces can be cut short. This patch enables -fasynchronous-unwind-tables by default for rs6000, which causes us to emit DWARF unwind tables for all functions, solving these problems. This not do anything for sub-targets without DWARF, and only for ELF sub-targets for now. It increases executable size, but only modestly, and does not change memory use, only the disk image. * common/config/rs6000/rs6000-common.c (rs6000_option_init_struct): Enable -fasynchronous-unwind-tables by default if OBJECT_FORMAT_ELF. gcc/testsuite/ * gcc.target/powerpc/dfmode_off.c: Add -fno-asynchronous-unwind-tables. * gcc.target/powerpc/dimode_off.c: Ditto. * gcc.target/powerpc/tfmode_off.c: Ditto. * gcc.target/powerpc/timode_off.c: Ditto. From-SVN: r259298
Segher Boessenkool committed -
This updates the help text for some options to mention the allowed values for -mXX=XX. PR target/85321 * config/rs6000/rs6000.opt (mtraceback=): Show the allowed values in the help text. (mlong-double-): Ditto. * config/rs6000/sysv4.opt (msdata=): Ditto. (mtls-size=): Ditto. From-SVN: r259296
Segher Boessenkool committed -
gcc/ChangeLog: 2018-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove erroneous entries for "vector int vec_ldl (int, long int *)", and "vector unsigned int vec_ldl (int, unsigned long int *)". Add comments and entries for "vector bool char vec_ldl (int, bool char *)", "vector bool short vec_ldl (int, bool short *)", "vector bool int vec_ldl (int, bool int *)", "vector bool long long vec_ldl (int, bool long long *)", "vector pixel vec_ldl (int, pixel *)", "vector long long vec_ldl (int, long long *)", "vector unsigned long long vec_ldl (int, unsigned long long *)". * config/rs6000/rs6000.c (rs6000_init_builtins): Initialize new type tree bool_long_long_type_node and correct definition of bool_V2DI_type_node to make reference to this new type tree. (rs6000_mangle_type): Replace erroneous reference to bool_long_type_node with bool_long_long_type_node. * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Add comments to emphasize sign distinctions for char and int types and replace RS6000_BTI_bool_long constant with RS6000_BTI_bool_long_long constant. Also add comment to restrict use of RS6000_BTI_pixel. (bool_long_type_node): Remove this macro definition. (bool_long_long_type_node): New macro definition gcc/testsuite/ChangeLog: 2018-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/vec-ldl-1.c: New test. * gcc.dg/vmx/ops-long-1.c: Correct test programs to reflect corrections to ABI implementation. From-SVN: r259294
Kelvin Nilsen committed -
* call.c (clear_location_r, convert_default_arg): Revert. * tree.c (break_out_target_exprs): Add clear_location parm. (struct bot_data): New. (bot_manip): Clear location if requested. * init.c (get_nsdmi): Pass clear_location. From-SVN: r259291
Jason Merrill committed -
gcc/testsuite/ * gcc.target/nvptx/pr85056.c (main): Initialize "sum". From-SVN: r259288
Thomas Schwinge committed -
gcc/ChangeLog: * doc/cppopts.texi: Use "side effect" instead of side-effect. * doc/extend.texi: Same. * doc/generic.texi: Same. * doc/implement-c.texi: Same. * doc/invoke.texi: Same. * doc/md.texi: Same. * doc/rtl.texi: Same. * doc/tree-ssa.texi: Same. From-SVN: r259287
Martin Sebor committed -
* doc/xml/faq.xml: Update links to archived copy of SGI STL docs. * doc/xml/manual/backwards_compatibility.xml: Likewise. * doc/xml/manual/containers.xml: Likewise. * doc/xml/manual/debug_mode.xml: Likewise. * doc/xml/manual/extensions.xml: Likewise. * doc/xml/manual/policy_data_structures_biblio.xml: Likewise. * doc/xml/manual/using.xml: Likewise. * doc/xml/manual/utilities.xml: Likewise. From-SVN: r259286
Jonathan Wakely committed -
PR rtl-optimization/85300 * combine.c (subst): Handle subst of CONST_SCALAR_INT_P new_rtx also into FLOAT and UNSIGNED_FLOAT like ZERO_EXTEND, return a CLOBBER if simplify_unary_operation fails. * gcc.dg/pr85300.c: New test. From-SVN: r259285
Jakub Jelinek committed -
2018-04-10 Martin Liska <mliska@suse.cz> * gdbhooks.py: Add pretty-printers for varpool_node, symtab_node, cgraph_edge and ipa_ref. From-SVN: r259283
Martin Liska committed -
gcc/cp/ChangeLog: PR c++/85110 * call.c (get_fndecl_argument_location): Make non-static. * cp-tree.h (get_fndecl_argument_location): New decl. * typeck.c (convert_for_assignment): When complaining due to conversions for an argument, show the location of the parameter within the decl. gcc/testsuite/ChangeLog: PR c++/85110 * g++.dg/cpp1z/direct-enum-init1.C: Update for the cases where we now show the pertinent parameter. * g++.dg/diagnostic/aka2.C: Likewise. * g++.dg/diagnostic/param-type-mismatch-2.C: Likewise. From-SVN: r259282
David Malcolm committed -
Define a new exception type derived from std::ios::failure[abi:cxx11] which also aggregates an object of the gcc4-compatible ios::failure type. Make __throw_ios_failure throw this new type for iostream errors that raise exceptions. Provide custom type info for the new type so that it can be caught by handlers for the gcc4-compatible ios::failure type as well as handlers for ios::failure[abi:cxx11] and its bases. PR libstdc++/85222 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for cxx11-ios_failure.cc to rewrite type info for __ios_failure. * src/c++11/Makefile.in: Regenerate. * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info): New types. [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here. * src/c++11/ios.cc (__throw_ios_failure): Remove definition. * src/c++98/ios_failure.cc (__construct_ios_failure) (__destroy_ios_failure, is_ios_failure_handler): New functions. [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here. * testsuite/27_io/ios_base/failure/dual_abi.cc: New. * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to handler types, to always catch std::ios_base::failure. * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/ exceptions_failbit.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ exceptions_failbit.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_null.cc: Likewise. * testsuite/27_io/ios_base/storage/2.cc: Likewise. From-SVN: r259281
Jonathan Wakely committed -
PR c++/85312 - P0962 cleanup * parser.c (cp_parser_perform_range_for_lookup): Remove unreachable diagnostics. From-SVN: r259279
Jakub Jelinek committed -
* call.c (clear_location_r): New. (convert_default_arg): Use it. * tree.c (bot_manip): Remove builtin_LINE/FILE handling. From-SVN: r259278
Jason Merrill committed -
* pt.c (instantiate_class_template_1): Check for flexible array in union. From-SVN: r259277
Jason Merrill committed -
From-SVN: r259276
Jason Merrill committed -
PR fortran/85313 * openmp.c (resolve_omp_do): Remove bogus if (j < i) break;. (resolve_oacc_nested_loops): Likewise. Formatting fix. * gfortran.dg/gomp/pr85313.f90: New test. From-SVN: r259275
Jakub Jelinek committed -
2018-04-10 Martin Liska <mliska@suse.cz> PR lto/85248 * lto-symtab.c (lto_symtab_merge_p): Do not check for TREE_VALUES of error attributes. From-SVN: r259274
Martin Liska committed -
2018-04-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/24314 * g++.dg/parse/template29.C: New. From-SVN: r259273
Paolo Carlini committed -
gcc/testsuite PR testsuite/85190 * gcc.dg/vect/pr81196.c: Adjust pointer for aligned access. From-SVN: r259272
Bin Cheng committed -
PR target/85177 PR target/85255 * config/i386/sse.md (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Fix computation of the VEC_MERGE selector from mask. (<extract_type>_vinsert<shuffletype><extract_suf>_1<mask_name>): Fix decoding of the VEC_MERGE selector into mask. * gcc.target/i386/avx512f-pr85177.c: New test. * gcc.target/i386/avx512f-pr85255.c: New test. From-SVN: r259269
Jakub Jelinek committed -
In this PR we used WIDEN_SUM_EXPR to vectorise: short i, y; int sum; [...] for (i = x; i > 0; i--) sum += y; with 4 ints and 8 shorts per vector. The problem was that we set the VF based only on the ints, then calculated the number of vector copies based on the shorts, giving 4/8. Previously that led to ncopies==0, but after r249897 we pick it up as an ICE. In this particular case we could vectorise the reduction by setting ncopies based on the output type rather than the input type, but it doesn't seem worth adding a special "optimisation" for such a pathological case. I think it's really an instance of the more general problem that we can't vectorise using combinations of (say) 64-bit and 128-bit vectors on targets that support both. 2018-04-10 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/85286 * tree-vect-data-refs.c (vect_get_smallest_scalar_type): gcc/testsuite/ PR tree-optimization/85286 * gcc.dg/vect/pr85286.c: New test. From-SVN: r259268
Richard Sandiford committed -
final_1 already sets insn_current_address for each instruction, making it possible to use some of the address functions in final.c during assembly generation. This patch also sets insn_last_address, since as the comment says, we can treat final as a shorten_branches pass that does nothing. It's then possible to use insn_current_reference_address during final as well. This is needed for the aarch64.md definitions of far_branch to work: (set (attr "far_branch") (if_then_else (and (ge (minus (match_dup 2) (pc)) (const_int -1048576)) (lt (minus (match_dup 2) (pc)) (const_int 1048572))) (const_int 0) (const_int 1)))] This value (tested only during final) uses the difference between the INSN_ADDRESSES of operand 2 and insn_current_reference_address to calculate a conservatively-correct estimate of the branch distance. It takes into account the worst-case gap due to alignment, whereas a direct comparison of INSN_ADDRESSES would give an unreliable, optimistic result. 2018-04-10 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * final.c (final_1): Set insn_last_address as well as insn_current_address. From-SVN: r259267
Richard Sandiford committed -
In this PR the expansion code emits an invalid memory address for the stack probe, which the backend fails to recognise. The address is created explicitly in anti_adjust_stack_and_probe_stack_clash in explow.c and passed down to gen_probe_stack without any validation in emit_stack_probe. This patch fixes the ICE by calling validize_mem on the memory location before passing it down to the target. Jakub pointed out that we also want to create valid addresses for the probe_stack_address case, so this patch creates an expand operand and legitimizes it before passing it down to the probe_stack_address expander. This patch passes bootstrap and testing on arm-none-linux-gnueabihf and aarch64-none-linux-gnu and ppc64le-redhat-linux on gcc112 in the compile farm. PR target/85173 * explow.c (emit_stack_probe): Call validize_mem on memory location before passing it to gen_probe_stack. Create address operand and legitimize it for the probe_stack_address case. * gcc.target/arm/pr85173.c: New test. From-SVN: r259266
Kyrylo Tkachov committed -
2018-04-10 Richard Biener <rguenther@suse.de> Martin Liska <mliska@suse.cz> PR lto/85248 * lto-symtab.c (lto_symtab_merge_p): Handle noreturn attribute. 2018-04-10 Jakub Jelinek <jakub@redhat.com> PR lto/85248 * gcc.dg/lto/pr85248_0.c: New test. * gcc.dg/lto/pr85248_1.c: New test. From-SVN: r259265
Martin Liska committed -
re PR lto/85078 (LTO ICE: tree check: expected tree that contains 'decl minimal' structure, have 'identifier_node' in decl_mangling_context, at cp/mangle.c:878) PR lto/85078 * ipa-devirt.c (rebuild_type_inheritance-hash): New. * ipa-utils.h (rebuild_type_inheritance-hash): Declare. * tree.c (free_lang_data_in_type): Fix handling of binfos; walk basetypes. (free_lang_data): Rebuild type inheritance graph. * g++.dg/torture/pr85078.C: New. From-SVN: r259264
Jan Hubicka committed -
From-SVN: r259263
GCC Administrator committed
-
- 09 Apr, 2018 4 commits
-
-
/cp 2018-04-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85227 * decl.c (cp_finish_decomp): In a template, if the type is incomplete issue a pedwarn and defer trying to do bindings. /testsuite 2018-04-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85227 * g++.dg/cpp1z/decomp44.C: New. * g++.dg/cpp1z/decomp45.C: Likewise. From-SVN: r259259
Paolo Carlini committed -
2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83064 * trans-stmt.c (gfc_trans_forall_loop): Remove annotation for parallell processing of DO CONCURRENT -ftree-parallelize-loops is set. 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83064 * gfortran.dg/do_concurrent_5.f90: New test. * gfortran.dg/vect/vect-do-concurrent-1.f90: Adjust dg-bogus message. From-SVN: r259258
Thomas Koenig committed -
* error.c (dump_expr): Handle DECLTYPE_TYPE. From-SVN: r259257
Jason Merrill committed -
re PR fortran/51260 (PARAMETER array with constructor initializer: Compile-time simplify single element access) 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/51260 * resolve.c (resolve_variable): Simplify cases where access to a parameter array results in a single constant. 2018-04-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/51260 * gfortran.dg/parameter_array_element_3.f90: New test. From-SVN: r259256
Thomas Koenig committed
-