- 05 Oct, 2017 22 commits
-
-
For example, for the package math/big, we used to generate unexported names as `big.trim` and exported names as `math_big.NewInt`. After this change we will use `math_big` consistently. Reviewed-on: https://go-review.googlesource.com/68651 From-SVN: r253468
Ian Lance Taylor committed -
While looking at PR82411, I got the error message error: '-msdata=-mcall' and 'eabi-linux' are incompatible which caused some head-scratching. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Correct error message for incompatible -msdata=* and -mcall-* options. From-SVN: r253467
Segher Boessenkool committed -
From-SVN: r253465
Jason Merrill committed -
* testsuite/20_util/to_chars/1.cc: Add dg-require-string-conversions. From-SVN: r253463
Jonathan Wakely committed -
2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic functions. testsuite: 2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de> * gcc.dg/Wincompatible-pointer-types-1.c: New test. From-SVN: r253460
Bernd Edlinger committed -
Consolidate all symbol name handling into the new file names.cc. This is intended to define all the names that will appear in the generated assembly code. Names that will not appear in the assembly code, such as local variable names or label names, remain where they are. This consolidation is not intended to change any of the existing symbol names. Tested by building without and without this patch and comparing the libgo symbol table. Reviewed-on: https://go-review.googlesource.com/68310 * Make-lang.in (GO_OBJS): Add go/names.o. From-SVN: r253458
Ian Lance Taylor committed -
* elf.c (elf_zlib_fetch): Change pval argument to uint64_t *. Read a four byte integer. (elf_zlib_inflate): Change val to uint64_t. Align pin to a 32-bit boundary before ever calling elf_zlib_fetch. * ztest.c (test_large): Simplify print statements a bit. From-SVN: r253456
Ian Lance Taylor committed -
PR ada/82393 * mingw32.h (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Delete. * sysdep.c (__gnat_set_mode ): Use DJGPP version for Cygwin. From-SVN: r253454
Eric Botcazou committed -
* i386.c (ia32_multipass_dfa_lookahead): Default to issue rate for post-reload scheduling. From-SVN: r253453
Jan Hubicka committed -
gcc/testsuite/ 2017-10-05 Tamar Christina <tamar.christina@arm.com> * gcc.dg/vect/slp-perm-9.c: Use vect_sizes_16B_8B. * lib/target-supports.exp (vect_sizes_16B_8B): New. gcc/ 2017-10-05 Tamar Christina <tamar.christina@arm.com> * doc/sourcebuild.texi (vect_sizes_16B_8B, vect_sizes_32B_16B): New. From-SVN: r253452
Tamar Christina committed -
2017-09-28 Tamar Christina <tamar.christina@arm.com> * gcc.dg/vect/vect-align-1.c: Fix vect_hw_misalign condition. * gcc.dg/vect/vect-align-2.c: Likewise. * gcc.dg/vect/vect-multitypes-1.c: Likewise From-SVN: r253451
Tamar Christina committed -
* i386.c (znver1_cost): Set branch_cost to 3 (instead of 2) to improve monte carlo in scimark. From-SVN: r253449
Jan Hubicka committed -
* i386.c (ix86_size_cost, i386_cost, i486_cost, pentium_cost, lakemont_cost, pentiumpro_cost, geode_cost, k6_cost, athlon_cost, k8_cost, amdfam10_cost, btver1_cost, btver2_cost, pentium4_cost, nocona_cost): Set reassociation width to 1. (bdver1_cost, bdver2_cost, bdver3_cost, bdver4_cost): Set reassociation width to 2 for fp operations and 1 otherwise. (znver1_cost): Set scalar reassoc width to 4 and vector to 3 and 6 for int and fp. (atom_cost): Set reassociation width to 2. (slm_cost, generic_cost): Set fp reassociation width to 2 and 1 otherwise. (intel_cost): Set fp reassociation width to 4 and 1 otherwise. (core_cost): Set fp reassociation width to 4 and vector to 2. (ix86_reassociation_width): Rewrite using cost table; special case plus/minus on Zen; honor X86_TUNE_SSE_SPLIT_REGS and TARGET_AVX128_OPTIMAL. * i386.h (processor_costs): Add reassoc_int, reassoc_fp, reassoc_vec_int, reassoc_vec_fp. (TARGET_VECTOR_PARALLEL_EXECUTION, TARGET_REASSOC_INT_TO_PARALLEL, TARGET_REASSOC_FP_TO_PARALLEL): Remove. * x86-tune.def (X86_TUNE_REASSOC_INT_TO_PARALLEL): Remove. (X86_TUNE_REASSOC_FP_TO_PARALLEL): Remove. (X86_TUNE_VECTOR_PARALLEL_EXECUTION): Remove. From-SVN: r253448
Jan Hubicka committed -
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00249.html gcc/cp/ Warn on MVP declarations * cp-tree.h (struct cp_declarator): Add parenthesized field. * decl.c (grokdeclarator): Warn about unnecessary parens. * parser.c (make_declarator): Init parenthesized field. (cp_parser_direct_declarator): Set parenthesized field. gcc/ * doc/invoke.texi (Wparentheses): Document C++ MVP behaviour. gcc/testsuite/ * g++.dg/warn/mvp.C: New. From-SVN: r253446
Nathan Sidwell committed -
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00239.html Kill IDENTIFIER_GLOBAL_VALUE, SET_IDENTIFIER_GLOBAL_VALUE * cp-tree.h (IDENTIFIER_GLOBAL_VALUE, SET_IDENTIFIER_GLOBAL_VALUE): Delete. * name-lookup.h (set_global_binding): Remove NAME parm. (get_global_binding): New inline fn. * name-lookup.c (set_global_binding): Remove NAME parm. Adjust. (identifier_global_value): Move to ... * cp-objcp-common.c (identifier_global_value): ... here. * class.c (build_ctor_vtbl_group, build_vtbl_initializer): Adjust. * decl.c (record_builtin_type, expand_static_init, grokdeclarator): Adjust. * decl2.c (get_guard, get_local_tls_init_fn, get_tls_init_fn, get_tls_wrapper_fn, maybe_warn_sized_delete): Adjust. * except.c (declare_library_fn, build_throw): Adjust. * init.c (throw_bad_array_length): Adjust. * rtti.c (throw_bad_cast, throw_bad_typeid, get_tinfo_decl): Adjust. From-SVN: r253444
Nathan Sidwell committed -
2017-10-05 Tamar Christina <tamar.christina@arm.com> * config/arm/arm.c (arm_test_fpu_data): New. (arm_run_selftests): Call arm_test_fpu_data. From-SVN: r253443
Tamar Christina committed -
Since size of "void *" is 4 bytes for x32, check if __x86_64__ is defined by $CC, instead of if test x$ac_cv_sizeof_void_p = x8; then to decide wether sanitizer_linux_x86_64.lo should be used. PR sanitizer/82379 * configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Set to sanitizer_linux_x86_64.lo if __x86_64__ is defined by $CC. From-SVN: r253441
H.J. Lu committed -
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00230.html * decl2.c (record_mangling): Fix spello and formatting from previous patch. From-SVN: r253440
Nathan Sidwell committed -
2017-10-05 Tom de Vries <tom@codesourcery.com> * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove vector_length(32) clause from acc parallel directive. * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same. From-SVN: r253439
Tom de Vries committed -
* gcc.dg/gomp/pr82374.c (SIZE): Change from 1G to 1M to make it ilp32 friendly. From-SVN: r253438
Jakub Jelinek committed -
2017-10-05 Richard Biener <rguenther@suse.de> * gfortran.dg/graphite/id-17.f: Fix typo. * gfortran.dg/graphite/id-19.f: Likewise. * gfortran.dg/graphite/pr29832.f90: Likewise. * gfortran.dg/graphite/pr42326-1.f90: Likewise. * gfortran.dg/graphite/pr42326.f90: Likewise. * gfortran.dg/graphite/pr68550-2.f90: Likewise. * gfortran.dg/graphite/run-id-2.f90: Likewise. * gfortran.dg/graphite/run-id-3.f90: Likewise. From-SVN: r253437
Richard Biener committed -
From-SVN: r253436
GCC Administrator committed
-
- 04 Oct, 2017 18 commits
-
-
re PR c++/80471 ((gcc extension) Forwarding-reference `auto` function parameters do not follow the same rules as template functions or generic lambdas) 2017-10-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80471 * g++.dg/cpp1y/pr80471.C: New. From-SVN: r253432
Paolo Carlini committed -
re PR c++/78131 (Inconsistent evaluation for `constexpr` lambdas in templates between `static_assert`, `if constexpr(…)` and `constexpr` variables) 2017-10-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/78131 * g++.dg/cpp1z/constexpr-lambda17.C: New. From-SVN: r253431
Paolo Carlini committed -
2017-10-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/78018 * g++.dg/cpp1y/lambda-generic-78018.C: New. From-SVN: r253430
Paolo Carlini committed -
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00200.html * toplev.c (toplev::main): Remove excess parens on pretty_printer decl. * caller-save.c (insert_save): Remove excess parens on TO_SAVE parm. From-SVN: r253427
Nathan Sidwell committed -
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00201.html Give builtin types the correct name. * name-lookup.c (set_global_binding): Assert name is DECL_NAME. * decl.c (record_builtin_type): Reimplement, use new TYPE_DECL for rname. From-SVN: r253426
Nathan Sidwell committed -
* g++.dg/ext/attrib54.C: New. From-SVN: r253425
Jason Merrill committed -
/cp 2017-10-04 Paolo Carlini <paolo.carlini@oracle.com> Andrew Pinski <apinski@cavium.com> PR c++/71946 * parser.c (cp_parser_lambda_body): Set parser->in_function_body. /testsuite 2017-10-04 Paolo Carlini <paolo.carlini@oracle.com> Andrew Pinski <apinski@cavium.com> PR c++/71946 * g++.dg/cpp0x/lambda/lambda-asm1.C: New. * g++.dg/cpp0x/lambda/lambda-stmtexpr1.C: Likewise. Co-Authored-By: Andrew Pinski <apinski@cavium.com> From-SVN: r253423
Paolo Carlini committed -
This patch adds the support for BIC (vector, immediate) and ORR (vector, immediate) SIMD patterns to the AArch64 backend. Committed on behalf of Sudi Das. Reviewed-by: Richard Earnshaw <Richard.Earnshaw@arm.com> Reviewed-by: James Greenhalgh <james.greenhalgh@arm.com> gcc/ * config/aarch64/aarch64-protos.h (enum simd_immediate_check): New check type for aarch64_simd_valid_immediate. (aarch64_output_simd_mov_immediate): Update prototype. (aarch64_simd_valid_immediate): Update prototype. * config/aarch64/aarch64-simd.md (orr<mode>3): modified pattern to add support for ORR-immediate. (and<mode>3): modified pattern to add support for BIC-immediate. * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Function now checks for valid immediate for BIC and ORR based on new enum argument. (aarch64_output_simd_mov_immediate): Function now used to output BIC/ORR imm as well based on new enum argument. * config/aarch64/constraints.md (Do): New vector immediate constraint. (Db) : Likewise. * config/aarch64/predicates.md (aarch64_reg_or_orr_imm): New predicate. (aarch64_reg_or_bic_imm): Likewise. gcc/testsuite/ * gcc.target/aarch64/bic_imm_1.c: New test. * gcc.target/aarch64/orr_imm_1.c: Likewise. From-SVN: r253422
Sudakshina Das committed -
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00199.html gcc/cp/ Move mangling aliases out of global namespace. * cp-tree.h (record_mangling): New. (maybe_remove_implicit_alias): Delete. * decl2.c (mangled_decls): New hash map. (generate_mangling_alias): Reimplement using mangled_decls. (record_mangling): New. * mangle.c (decl_implicit_alias_p, maybe_remove_implicit_alias): Delete. (mangle_decl): Use record_mangling. * name-lookup.c (supplement_binding_1): Remove maybe_remove_implicit_alias check. * call.c (convert_arg_to_ellipsis): Correct comment about passing by reference. gcc/testsuite/ * g++.dg/abi/mangle41.C: Adjust diagnostics. libcc1/ * libcp1plugin.cc (supplement_binding): Don't use maybe_remove_implicit_alias. From-SVN: r253421
Nathan Sidwell committed -
vec_unpacks_hi_v4sf/vec_unpacks_lo_v4sf expand vec_mergeh and vec_mergel patterns also for z13 with V4SF modes so the patterns should better accept this. Fixed by changing the mode iterator to V_128_NOSINGLE which accepts V4SF unconditionally. gcc/ChangeLog: 2017-10-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/vx-builtins.md ("vec_mergeh<mode>") ("vec_mergel<mode>"): Change mode iterator to V_128_NOSINGLE. From-SVN: r253420
Andreas Krebbel committed -
PR rtl-optimization/82396 * haifa-sched.c (autopref_multipass_init): Simplify initialization. (autopref_rank_data): Simplify sort order. * sched-int.h (autopref_multipass_data_): Remove multi_mem_insn_p, min_offset and max_offset. From-SVN: r253419
Wilco Dijkstra committed -
PR c++/82373 * error.c (dump_function_decl): If show_return, call dump_type_suffix on the same return type dump_type_prefix has been called on. * g++.dg/cpp1y/pr82373.C: New test. From-SVN: r253418
Jakub Jelinek committed -
François Dumont <fdumont@gcc.gnu.org> * include/bits/streambuf_iterator.h (istreambuf_iterator<>::operator*()): Do not capture iterator state in Debug assertion. (istreambuf_iterator<>::operator++()): Likewise and remove _M_sbuf check. (istreambuf_iterator<>::operator++(int)): Likewise. (istreambuf_iterator<>::_M_get()): Remove _M_c assignment. (istreambuf_iterator<>::_S_is_eof()): New. (istreambuf_iterator<>::_M_at_eof()): Adapt, use latter. (find(istreambuf_iterator<>, istreambuf_iterator<>, _CharT)): Return an iterator with _M_c set to eof to capture streambuf state on evaluation. (testsuite/24_iterators/istreambuf_iterator/2.cc): Add checks. Co-Authored-By: François Dumont <fdumont@gcc.gnu.org> From-SVN: r253417
Petr Ovtchenkov committed -
* pt.c (tsubst_decl) [VAR_DECL]: Use strip_innermost_template_args. From-SVN: r253414
Jason Merrill committed -
In r253096 ("C++: underline parameters in mismatching function calls" aka 5d78d423a5f7a1d135c7bb678e82007678d1313c https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01546.html ) I updated the C++ FE's handling of mismatched types in function calls so that it underlines the pertinent param of the callee, rather than just the function name. The following patch does the same for the C frontend. Given e.g. this type mismatch: extern int callee (int one, const char *two, float three); int caller (int first, int second, float third) { return callee (first, second, third); } the C FE currently emits (trunk): test.c: In function 'caller': test.c:5:25: warning: passing argument 2 of 'callee' makes pointer from integer without a cast [-Wint-conversion] return callee (first, second, third); ^~~~~~ test.c:1:12: note: expected 'const char *' but argument is of type 'int' extern int callee (int one, const char *two, float three); ^~~~~~ whereas with this patch the note underlines the pertinent param of the callee: test.c: In function 'caller': test.c:5:25: warning: passing argument 2 of 'callee' makes pointer from integer without a cast [-Wint-conversion] return callee (first, second, third); ^~~~~~ test.c:1:41: note: expected 'const char *' but argument is of type 'int' extern int callee (int one, const char *two, float three); ~~~~~~~~~~~~^~~ making the problem more obvious to the user. As with the C++ patch, the patch: (a) updates the locations of the params to cover the range of all of their tokens, putting the caret on the first character of the param name (if present), otherwise at the start of the first token (doing so requires adding a last_token_location to the c_parser, so we can determine the location of the last consumed token). (b) updates the "note" to use the param location, rather than the fndecl location gcc/c/ChangeLog: * c-decl.c (push_parm_decl): Store c_parm's location into the PARAM_DECL. (build_c_parm): Add "loc" param and store it within the c_parm. * c-parser.c (struct c_parser): Add "last_token_location" field. (c_parser_consume_token): Store location of the token into the new field. (c_parser_declaration_or_fndef): Store params into DECL_ARGUMENTS when handling a FUNCTION_DECL, if it doesn't already have them. (c_parser_parameter_declaration): Generate a location for the parameter, and pass it to the call to build_c_parm. * c-tree.h (struct c_parm): Add field "loc". (build_c_parm): Add location_t param. * c-typeck.c (get_fndecl_argument_location): New function. (inform_for_arg): New function. (convert_for_assignment): Use inform_for_arg when dealing with ic_argpass. gcc/testsuite/ChangeLog: * gcc.dg/diagnostic-range-bad-called-object.c: Update expected underlining for param. * gcc.dg/param-type-mismatch.c: Update expected results to reflect highlighting of parameters; add test coverage for trivial parameter decls, and for callback parameters. * gcc.dg/pr68533.c: Update location of two errors to reflect location of params. From-SVN: r253411
David Malcolm committed -
* call.c (convert_arg_to_ellipsis): Correct comment about passing by reference. From-SVN: r253410
Nathan Sidwell committed -
This patch implements a new API entrypoint: /* Build a vector rvalue from an array of elements. "vec_type" should be a vector type, created using gcc_jit_type_get_vector. This API entrypoint was added in LIBGCCJIT_ABI_10; you can test for its presence using #ifdef LIBGCCJIT_HAVE_gcc_jit_context_new_rvalue_from_vector */ extern gcc_jit_rvalue * gcc_jit_context_new_rvalue_from_vector (gcc_jit_context *ctxt, gcc_jit_location *loc, gcc_jit_type *vec_type, size_t num_elements, gcc_jit_rvalue **elements); gcc/jit/ChangeLog: * docs/cp/topics/expressions.rst (Vector expressions): New section. * docs/topics/compatibility.rst (LIBGCCJIT_ABI_10): New ABI tag. * docs/topics/expressions.rst (Vector expressions): New section. * docs/topics/types.rst (gcc_jit_type_get_vector): Add link to gcc_jit_context_new_rvalue_from_vector. * jit-common.h (gcc::jit:recording::vector_type): New forward decl. * jit-playback.c (gcc::jit::playback::context::new_rvalue_from_vector): New method. * jit-playback.h (gcc::jit::playback::context::new_rvalue_from_vector): New method. * jit-recording.c: In namespace gcc::jit:: (class comma_separated_string): New class. (comma_separated_string::comma_separated_string): New ctor, adapted from recording::call::make_debug_string. (comma_separated_string::~comma_separated_string): New dtor. In namespace gcc::jit::recording:: (context::new_rvalue_from_vector): New method. (type::get_vector): Update for renaming of memento_of_get_vector. (class memento_of_get_vector): Rename to... (class vector_type): ..this. (memento_of_new_rvalue_from_vector::memento_of_new_rvalue_from_vector): New ctor. (memento_of_new_rvalue_from_vector::replay_into): New method. (memento_of_new_rvalue_from_vector::visit_children): New method. (memento_of_new_rvalue_from_vector::make_debug_string): New method. (memento_of_new_rvalue_from_vector::write_reproducer): New method. (call::make_debug_string): Split out arg-printing code into ctor for comma_separated_string. * jit-recording.h: In namespace gcc::jit::recording:: (context::new_rvalue_from_vector): New method. (type::dyn_cast_vector_type): New virtual function. (class memento_of_get_vector): Rename to... (class vector_type): ...this. (vector_type::unqualified): Remove this vfunc override in favor of... (vector_type::get_element_type): ...this new method. (vector_type::get_num_units): New method. (vector_type::dyn_cast_vector_type): New vfunc override. (class memento_of_new_rvalue_from_vector): New class. * libgccjit++.h (gccjit::context::new_rvalue): Add overload for vector of rvalue. * libgccjit.c (gcc_jit_context_new_binary_op): Strip off type qualifications when checking that both operands have same type. (gcc_jit_context_new_rvalue_from_vector): New API entrypoint. * libgccjit.h (LIBGCCJIT_HAVE_gcc_jit_context_new_rvalue_from_vector): New macro. (gcc_jit_context_new_rvalue_from_vector): New API entrypoint. * libgccjit.map (LIBGCCJIT_ABI_10): New ABI tag. gcc/testsuite/ChangeLog: * jit.dg/test-expressions.c (make_test_of_vectors): New function. (create_code): Call it. * jit.dg/test-vector-rvalues.cc: New test case. From-SVN: r253409
David Malcolm committed -
gcc/ChangeLog: 2017-10-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * doc/sourcebuild.texi: Document vect_peeling_profitable. gcc/testsuite/ChangeLog: 2017-10-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * g++.dg/vect/slp-pr56812.cc: xfail for targets which don't want vector loop peeling. * lib/target-supports.exp (check_effective_target_vect_peeling_profitable): New proc. From-SVN: r253407
Andreas Krebbel committed
-