- 21 Feb, 2019 7 commits
-
-
2019-02-21 Martin Jambor <mjambor@suse.cz> PR hsa/89302 * omp-general.c (omp_extract_for_data): Removed a duplicate call to omp_adjust_for_condition, moved NE_EXPR code_cond processing... (omp_adjust_for_condition): ...here. Added necessary parameters. * omp-general.h (omp_adjust_for_condition): Updated declaration. * omp-grid.c (grid_attempt_target_gridification): Adjust to pass proper values to new parameters of omp_adjust_for_condition. From-SVN: r269066
Martin Jambor committed -
2019-02-21 Richard Biener <rguenther@suse.de> PR middle-end/89392 cp/ * vtable-class-hierarchy.c (vtv_generate_init_routine): Do not make symtab process new functions here. From-SVN: r269065
Richard Biener committed -
c_parse_final_cleanups checks DECL_IN_AGGR_P to avoid trying to emit a static data member that has not been defined. The inline variable patch changed that to exempt inline variables. But in this case we haven't instantiated the variable yet, so we really don't have a definition. This patch changes inline variable handling such that DECL_IN_AGGR_P is not set for a defined inline variable, so we can remove all the checks of DECL_INLINE_VAR_P after DECL_IN_AGGR_P. With that change we were failing on a static data member that had been instantiated due to a use before we got around to processing it in instantiate_class_template; we should detect that and avoid all the finish_static_data_member_decl processing, which assumes that it is the first time we're seeing the variable. * decl2.c (finish_static_data_member_decl): Don't set DECL_IN_AGGR_P for a non-template inline variable. Do nothing for an already-instantiated variable. (c_parse_final_cleanups): Check DECL_IN_AGGR_P without DECL_INLINE_VAR_P. * decl.c (check_initializer): Likewise. (make_rtl_for_nonlocal_decl): Likewise. * pt.c (instantiate_decl): Likewise. * typeck2.c (store_init_value): Likewise. From-SVN: r269064
Jason Merrill committed -
PR go/89407 internal/cpu: use #ifdef __s390x__ in C code Patch by Jakub Jelinek. Fixes https://gcc.gnu.org/PR89407 Reviewed-on: https://go-review.googlesource.com/c/163297 From-SVN: r269063
Ian Lance Taylor committed -
From-SVN: r269062
GCC Administrator committed -
PR c++/89403 * decl2.c (c_parse_final_cleanups): Move TREE_ASM_WRITTEN setting for flag_syntax_only from here... * semantics.c (expand_or_defer_fn_1): ... here. * g++.dg/cpp0x/pr89403.C: New test. From-SVN: r269059
Jakub Jelinek committed -
PR c++/89405 * decl.c (maybe_commonize_var): When clearing TREE_PUBLIC and DECL_COMMON, set DECL_INTERFACE_KNOWN. * g++.dg/cpp1z/inline-var5.C: New test. From-SVN: r269058
Jakub Jelinek committed
-
- 20 Feb, 2019 25 commits
-
-
PR middle-end/89412 * expr.c (expand_assignment): If result is a MEM, use change_address instead of simplify_gen_subreg. * gcc.c-torture/compile/pr89412.c: New test. From-SVN: r269057
Jakub Jelinek committed -
PR middle-end/89091 * fold-const.c (decode_field_reference): Return NULL_TREE if lang_hooks.types.type_for_size returns NULL. Check it before overwriting *exp_. Use return NULL_TREE instead of return 0. * gcc.dg/torture/pr89091.c: New test. Co-Authored-By: David Malcolm <dmalcolm@redhat.com> From-SVN: r269056
Jakub Jelinek committed -
PR middle-end/88074 PR middle-end/89415 * toplev.c (do_compile): Double the emin/emax exponents to workaround buggy mpc_norm. * gcc.dg/pr88074-2.c: New test. From-SVN: r269055
Jakub Jelinek committed -
PR target/89397 * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Check TARGET_SSE in addition to TARGET_SSE_MATH. (ix86_excess_precision): Ditto. (ix86_float_exceptions_rounding_supported_p): Ditto. (use_rsqrt_p): Ditto. * config/i386/sse.md (rsqrt<mode>2): Ditto. From-SVN: r269054
Uros Bizjak committed -
linux-unwind.h (alpha_fallback_frame_state): Cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'. * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'. From-SVN: r269053
Uros Bizjak committed -
PR c++/89336 * constexpr.c (cxx_eval_store_expression): Diagnose changing of active union member for -std=c++17 and earlier. * g++.dg/cpp1y/constexpr-89336-3.C: New test. From-SVN: r269052
Jakub Jelinek committed -
PR c/89410 reports various issues with #line directives with very large numbers; one of them is an ICE inside diagnostic-show-locus.c when emitting a diagnostic at line 0xffffffff. The issue is that the arithmetic in layout::calculate_line_spans to determine if two line spans are sufficiently close to consolidate was using the unsigned 32-bit linenum_type, which was overflowing when comparing the line for the expanded location with those of the location range (all on line 0xffffffff), leading to it erroneously adding two spans for the same line, leading to an assertion failure. This patch fixes the ICE by generalizing the use of long long in line-map.h's comparison function for linenum_type into a new linenum_arith_t typedef, and using it here. Doing so uncovered a second problem: the loop to print the lines within the line_span for this case is infinite: looping from 0xfffffff upwards, overflowing to 0, and then never becoming greater than 0xfffffff. The patch fixes this by using linenum_arith_t there also. gcc/ChangeLog: PR c/89410 * diagnostic-show-locus.c (layout::calculate_line_spans): Use linenum_arith_t when determining if two adjacent line spans are close enough to merge. (diagnostic_show_locus): Use linenum_arith_t when iterating over lines within each line_span. gcc/testsuite/ChangeLog: PR c/89410 * gcc.dg/pr89410-1.c: New test. * gcc.dg/pr89410-2.c: New test. libcpp/ChangeLog: PR c/89410 * include/line-map.h (linenum_arith_t): New typedef. (compare): Use it. From-SVN: r269050
David Malcolm committed -
Reviewed-on: https://go-review.googlesource.com/c/163097 From-SVN: r269049
Ian Lance Taylor committed -
Here build_offset_ref calls build_qualified_name to make a SCOPE_REF because the dependent template arguments make type_dependent_expression_p (member) true. We could probably work hard to prevent this, but it doesn't seem necessary, and it's easy to fix write_expression to handle the result. * mangle.c (write_expression): Handle SCOPE_REF to BASELINK. From-SVN: r269048
Jason Merrill committed -
From-SVN: r269047
Jason Merrill committed -
Here 'skipped' was set to -1 to force an explicit initializer for 'uninit' before the initializer for 'initialized', and so we also tried to emit an explicit initializer for the flexible array, for which build_zero_init returns error_mark_node. We should ignore flexarrays even when skipped < 0. * typeck2.c (process_init_constructor_record): Skip flexarrays. From-SVN: r269046
Jason Merrill committed -
* decl.c (reshape_init_r): Allow braces around scalar initializer within aggregate init. Reject double braced-init of scalar variable. From-SVN: r269045
Will Wray committed -
* lib/target-supports.exp (check_effective_target_vect_usad_char): Add PowerPC support. * gcc.dg/vect/slp-reduc-sad.c: Update scan string. * gcc.dg/vect/vect-reduc-sad.c: Likewise. From-SVN: r269043
Pat Haugen committed -
Cherry-pick compiler-rt revision 354451: r316591 has @@ -389,13 +383,11 @@ uptr internal_dup2(int oldfd, int newfd) { } uptr internal_readlink(const char *path, char *buf, uptr bufsize) { -#if SANITIZER_NETBSD - return internal_syscall_ptr(SYSCALL(readlink), path, buf, bufsize); -#elif SANITIZER_USES_CANONICAL_LINUX_SYSCALLS +#if SANITIZER_USES_CANONICAL_LINUX_SYSCALLS return internal_syscall(SYSCALL(readlinkat), AT_FDCWD, (uptr)path, (uptr)buf, bufsize); #else - return internal_syscall(SYSCALL(readlink), (uptr)path, (uptr)buf, bufsize); + return internal_syscall_ptr(SYSCALL(readlink), path, buf, bufsize); #endif } which dropped the (uptr) cast and broke x32. This patch puts back the (uptr) cast to restore x32 and fixes: https://bugs.llvm.org/show_bug.cgi?id=40783 Differential Revision: https://reviews.llvm.org/D58413 PR sanitizer/89409 * sanitizer_common/sanitizer_linux.cc (internal_readlink): Cherry-pick compiler-rt r354451. From-SVN: r269042
H.J. Lu committed -
2019-02-19 Caroline Tice <cmtice@google.com> Fix testsuite * testsuite/libvtv.cc/const_vtable.cc (main): Fix function signature. From-SVN: r269041
Caroline Tice committed -
Revert: PR target/89397 * config/i386/i386.c (ix86_option_override_internal): Set opts->x_ix86_fpmath to FPMATH_387 when SSE is disabled. gcc/testsuite/ PR target/89397 * gcc.target/i386/pr89397.c: New test. From-SVN: r269040
Uros Bizjak committed -
subregs gcc/ChangeLog: 2019-02-20 Andre Vieira <andre.simoesdiasvieira@arm.com> PR target/86487 * lra-constraints.c(uses_hard_regs_p): Fix handling of paradoxical SUBREGS. gcc/testsuite/ChangeLog: 2019-02-20 Andre Vieira <andre.simoesdiasvieira@arm.com> PR target/86487 * gcc.target/arm/pr86487.c: New. From-SVN: r269039
Andre Vieira committed -
2019-02-20 Martin Liska <mliska@suse.cz> * gfortran.texi: Change singular to plural. From-SVN: r269038
Martin Liska committed -
/cp 2019-02-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84536 * pt.c (tsubst_init): Diagnose an initializer expanding to an empty list of expressions; tweak wrt dependent types. (regenerate_decl_from_template): For VAR_DECLs call tsubst_init instead of tsubst_expr. /testsuite 2019-02-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84536 * g++.dg/cpp1y/var-templ60.C: New. From-SVN: r269037
Paolo Carlini committed -
2019-02-19 Thomas Schwinge <thomas@codesourcery.com> PR c/87924 * openmp.c (gfc_match_omp_clauses): Add representation of wait clause without argument as 'wait (GOMP_ASYNC_NOVAL)'. From-SVN: r269036
Thomas Schwinge committed -
2019-02-20 Martin Liska <mliska@suse.cz> * gfortran.texi: Document Fortran header directive. From-SVN: r269035
Martin Liska committed -
re PR libstdc++/89402 (warning: ‘void _ZNKSt4hashIeEclEe()’ specifies less restrictive attribute than its target) PR libstdc++/89402 * src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Add _GLIBCXX_PURE to the alias declaration. From-SVN: r269034
Jakub Jelinek committed -
GCC revision 259524 implemented range check for the vec_splat_{su}{8,16,32} builtins. However, as a consequence of the implementation, the range check is not done correctly for the expected vspltis[bhw] instructions. The result is that we may not get a valid error message if the valid range of the data is exceeded. Although the input of the function prototype of vec_splat_{su}{8,16,32} is const int, the actual data usage range is limited to the data range of 5 bits signed. We should limit the int_cst.val[0] data to the 5 bit signed data range without any modification in the input arg0 parameter. However, the sext_hwi function intercepts the data of TREE_INT_CST_LOW (arg0) as size bits in the sext_hwi (TREE_INT_CST_LOW (arg0), size) statement. This will cause some of the excess data to fall within the range of 5 bits signed, so that the correct diagnostic information cannot be generated, we need to remove the sext_hwi to ensure that the input data has not been modified. This patch fix range check for the vec_splat_s[8,16,32] builtins. The argument must be a 5-bit const int as specified for the vspltis[bhw] instructions. for gcc/ChangeLog PR target/88100 * gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin) <case ALTIVEC_BUILTIN_VSPLTISB, ALTIVEC_BUILTIN_VSPLTISH, ALTIVEC_BUILTIN_VSPLTISW>: Don't convert the operand before range checking it. for gcc/testsuite/ChangeLog PR target/88100 * gcc/testsuite/gcc.target/powerpc/pr88100.c: New testcase. From-SVN: r269033
Li Jia He committed -
Since my patch for 81359 allowed us to signal failure on return from maybe_instantiate_noexcept, we no longer need to turn an error into noexcept(false). We also need to handle NSDMI instantiation errors under synthesized_method_walk. This change caused some instantiation context notes to be lost in the testsuite, so I added push_tinst_level to get_defaulted_eh_spec to restore that context. * method.c (walk_field_subobs): Remember errors from get_nsdmi. (get_defaulted_eh_spec): Call push_tinst_level. * pt.c (maybe_instantiate_noexcept): Keep error_mark_node. * typeck2.c (merge_exception_specifiers): Handle error_mark_node. From-SVN: r269032
Jason Merrill committed -
From-SVN: r269031
GCC Administrator committed
-
- 19 Feb, 2019 8 commits
-
-
From-SVN: r269028
Jonathan Wakely committed -
Introduce a set debug_go_* global functions that can be used to emit AST dumps for Go statements and expressions from within GDB (for use by people developing gccgo). Reviewed-on: https://go-review.googlesource.com/c/162903 From-SVN: r269027
Ian Lance Taylor committed -
Fix pr88850.c testcase which was failing in hardfp environments. Committed as obvious. gcc/testsuite/ * gcc.target/arm/pr88850.c: Block -mfloat-abi override. From-SVN: r269026
Wilco Dijkstra committed -
2019-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de> * src/Makefile.am: Avoid the -D option which is not available with the install-sh fallback. Use $(MKDIR_P) instead. * libdruntime/Makefile.am: Likewise. * src/Makefile.in: Regenerated. * libdruntime/Makefile.in: Regenerated. From-SVN: r269025
Bernd Edlinger committed -
re PR fortran/89384 (CONTIGUOUS dummy argument in BIND(C) interface incorrect when actual is non-contiguous) 2019-02-19 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/89384 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): If the dummy argument is contiguous and the actual argument may not be, use gfc_conv_subref_array_arg. 2019-02-19 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/89384 * gfortran.dg/ISO_Fortran_binding_4.f90 From-SVN: r269024
Thomas Koenig committed -
* unwind-dw2.c (_Unwind_GetGR) [DWARF_ZERO_REG]: Compare regno instead of index to DWARF_ZERO_REG. From-SVN: r269021
Uros Bizjak committed -
... which the recent r269016 didn't do. gcc/testsuite/ PR c/87924 * c-c++-common/goacc/asyncwait-5.c: Remove XFAILs. * gfortran.dg/goacc/asyncwait-5.f: Likewise. From-SVN: r269020
Thomas Schwinge committed -
PR go/89169 internal/cpu: do not require POWER8 Although the gc toolchain requires POWER8, the gccgo toolchain does not. Fixes https://gcc.gnu.org/PR89169 Reviewed-on: https://go-review.googlesource.com/c/162979 From-SVN: r269019
Ian Lance Taylor committed
-