- 10 Sep, 2015 31 commits
-
-
From-SVN: r227661
Jonathan Wakely committed -
* testsuite/21_strings/basic_string/operators/char/1.cc: Verify the string contents. From-SVN: r227660
Jonathan Wakely committed -
* shrink-wrap.c (requires_stack_frame_p): Remove static. * shrink-wrap.h (requires_stack_frame_p): Put back. From-SVN: r227659
H.J. Lu committed -
Some host-target combinations get bogus warnings about orig_dup being used uninitialized. I tried to coerce the current uninit pass to handle this case, but the patch I ended up with only worked by accident because of the strange way in which the pass handles limit cases. (If we have more than MAX_NUM_CHAINS chains, it silently drops the excess chains and continues regardless, so it's quite easy to come up with cases where the predicates for either the definition or the use consider an arbitrary subset of the actual conditions.) For now this patch turns -Wmaybe-uninitialized into a warning for the affacted function. It will be a warning even if someone turns off warnings on the command line, but I don't think that's important. Bootstrapped and regression-tested on x86_64-linux-gnu. Also tested with a cross-compiler to sparc-linux-gnu (which also triggered the warning for me). gcc/ * reload1.c (elimination_costs_in_insn): Locally turn -Wmaybe-uninitialized into a warning. From-SVN: r227658
Richard Sandiford committed -
The gcc backend throws an internal error when trying to get the size of a type which is larger than the amount of address space on the machine. This patch catches this error and reports it in a user friendly way. Fixes golang/go#11554. Reviewed-on: https://go-review.googlesource.com/13684 * go-gcc.cc (Gcc_backend::type_size): Return -1 for unrepresentable size. From-SVN: r227656
Chris Manghane committed -
2015-09-10 Segher Boessenkool <segher@kernel.crashing.org> * shrink-wrap.c (requires_stack_frame_p): Make static. (prepare_shrink_wrap): Likewise. (dup_block_and_redirect): Likewise. * shrink-wrap.h: Remove declarations of those functions. From-SVN: r227652
Segher Boessenkool committed -
2015-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67526 * gfortran.dg/pr67526.f90: New test. 2015-09-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67526 * expr.c (gfc_check_init_expr): Do not dereference a NULL pointer. From-SVN: r227651
Steven G. Kargl committed -
re PR c++/67318 (Parsing error when using abbreviated integral type names in template parameter pack declaration) /cp 2015-09-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/67318 * parser.c (cp_parser_parameter_declaration): Consume the ellipsis and set template_parameter_pack_p also when the type is null. /testsuite 2015-09-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/67318 * g++.dg/cpp0x/variadic166.C: New. From-SVN: r227650
Paolo Carlini committed -
If an argument is marked as nonnull then passing in a NULL argument will produce bad results even if the code checks against NULL. GCC might optimize such checks away so warn the user when the function contains such comparisons. nn.c: In function ‘foo’: nn.c:6:27: warning: nonnull argument ‘bar’ compared to NULL [-Wnonnull] void foo(void *bar) { if (!bar) abort(); } ^ gcc/ChangeLog * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL. gcc/c/ChangeLog * c-typeck.c (build_binary_op): Check and warn when nonnull arg parm against NULL. gcc/cp/ChangeLog * typeck.c (cp_build_binary_op): Check and warn when nonnull arg parm against NULL. gcc/testsuite/ChangeLog * c-c++-common/nonnull-1.c: New test. From-SVN: r227649
Mark Wielaard committed -
2015-09-10 Paul Thomas <pault@gcc.gnu.org> PR fortran/66993 * module.c (read_module): If a symtree exists and the symbol has been associated in a submodule from a parent (sub)module, attach the symbol to a 'unique symtree' and the new symbol to the existing symtree. 2015-09-10 Paul Thomas <pault@gcc.gnu.org> PR fortran/66993 * gfortran.dg/submodule_11.f08: New test. From-SVN: r227648
Paul Thomas committed -
gcc/ PR target/67506 * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add missing simplify_gen_subreg. gcc/testsuite/ PR target/67506 * gcc.c-torture/compile/pr67506.c: New test. From-SVN: r227646
Oleg Endo committed -
gcc/ChangeLog: 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if the vector element is bigger than 64 bit. gcc/testsuite/ChangeLog: 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/vector/vec-genbytemask-1.c: Add check for V1TI initialization with a byte mask. No change expected here. * gcc.target/s390/vector/vec-genmask-1.c: Fix whitespace. * gcc.target/s390/vector/vec-genmask-2.c: Add check for V1TI initialization with contigious bitmask. Literal pool is expectd to be used here. From-SVN: r227637
Andreas Krebbel committed -
gcc/ChangeLog: 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>") ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS. From-SVN: r227636
Andreas Krebbel committed -
gcc/ChangeLog: 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c: Add V1TImode to constant pool modes. From-SVN: r227635
Andreas Krebbel committed -
PR target/67439 * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from predicate. Set predicable_short_it attr to "no". * gcc.target/arm/pr67439_1.c: New test. From-SVN: r227630
Kyrylo Tkachov committed -
Patch background details: https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01147.html gcc/ PR rtl-optimization/67421 * expr.c (expand_expr_real_2): Cost instrcution sequences when doing left wide shift tranformation. From-SVN: r227629
Jiong Wang committed -
2015-09-10 Claudiu Zissulescu <claziss@synopsys.com> * common/config/arc/arc-common.c: Remove references to A5. * config/arc/arc-opts.h: Likewise. * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise. * config/arc/arc.opt, config/arc/constraints.md: Likewise. * config/arc/t-arc-newlib: Likewise. From-SVN: r227627
Claudiu Zissulescu committed -
2015-09-10 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (length): Fix attribute length for conditional executed instructions with long immediate. (posted as: https://gcc.gnu.org/ml/gcc/2015-03/msg00268.html) From-SVN: r227626
Claudiu Zissulescu committed -
gcc/testsuite/ * gcc.target/aarch64/pic-small.c (dg-skip-if): Skip tiny and large code model. From-SVN: r227624
Jiong Wang committed -
* config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm type for second alternative. From-SVN: r227623
Kyrylo Tkachov committed -
From-SVN: r227620
Markus Trippelsdorf committed -
Mention ./contrib/download_prerequisites on the "Downloading GCC" page. * doc/invoke.texi (Downloading GCC): Mention contrib/download_prerequisites script. From-SVN: r227619
Markus Trippelsdorf committed -
PR c++/67523 * gimplify.c (gimplify_omp_for): If inner stmt is not found for combined loop, assert seen_error () and return GS_ERROR. * g++.dg/gomp/pr67523.C: New test. From-SVN: r227611
Jakub Jelinek committed -
PR c++/67522 * semantics.c (handle_omp_array_sections_1): Only run type_dependent_expression_p on VAR_DECL/PARM_DECLs. (finish_omp_clauses) <case OMP_CLAUSE_LINEAR>: Likewise. Don't adjust OMP_CLAUSE_LINEAR_STEP if OMP_CLAUSE_DECL is not a VAR_DECL/PARM_DECL. * g++.dg/gomp/pr67522.C: New test. From-SVN: r227610
Jakub Jelinek committed -
PR middle-end/67521 * gimplify.c (gimplify_omp_for): Don't call omp_add_variable if decl is already in outer->variables. * c-c++-common/gomp/pr67521.c: New test. From-SVN: r227609
Jakub Jelinek committed -
PR middle-end/67517 * gimplify.c (gimplify_scan_omp_clauses): Instead of asserting that decl is not specified in octx->variables, break out of the loop if it is. * c-c++-common/gomp/pr67517.c: New test. From-SVN: r227608
Jakub Jelinek committed -
PR c++/67514 * gimplify.c (gimplify_omp_for): For loop SIMD construct, if iterator is not explicitly determined, but is defined inside of the combined workshare region, handle it like if it has DECL_EXPR in OMP_FOR_PRE_BODY. * g++.dg/gomp/pr67514.C: New test. From-SVN: r227607
Jakub Jelinek committed -
PR c++/67511 * semantics.c (handle_omp_for_class_iterator): Don't wrap error_mark_node into a NOP_EXPR to void_type_node. * g++.dg/gomp/pr67511.C: New test. From-SVN: r227606
Jakub Jelinek committed -
PR c/67502 * c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts into OMP_FOR_PRE_BODY rather than before the loop. * c-c++-common/gomp/pr67502.c: New test. From-SVN: r227605
Jakub Jelinek committed -
Fixes golang/go#11616. Reviewed-on: https://go-review.googlesource.com/13688 From-SVN: r227604
Ian Lance Taylor committed -
From-SVN: r227603
GCC Administrator committed
-
- 09 Sep, 2015 9 commits
-
-
* config/nvptx/nvptx.md (call_operation): Move bound out of loop. (*cmp<mode>): Add assembler spacing. (setcc_int<mode>, set_cc_float<mode>): Likewise. * config/nvptx/nvptx.c (nvptx_option_override): Override debug level. (write_func_decl_from_insn): Refactor argument loops & comma emission. (nvptx_expand_call): Likewise. (nvptx_output_call_insn): Likewise. (nvptx_reorg_subreg): Add spacing. From-SVN: r227597
Nathan Sidwell committed -
* doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document. * doc/html/manual/using_macros.html: Regenerate. * include/bits/c++config: Define _GLIBCXX_ASSERTIONS when _GLIBCXX_DEBUG is defined. Disable std::string extern templates when (_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on _GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG. * include/debug/debug.h [!_GLIBCXX_DEBUG]: Define __glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty. * include/backward/auto_ptr.h (auto_ptr::operator*, auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with __glibcxx_assert. * include/bits/basic_string.h (basic_string::operator[], basic_string::front, basic_string::back, basic_string::pop_back): Likewise. * include/bits/random.h (uniform_int_distribution::param_type::param_type, uniform_real_distribution::param_type::param_type, normal_distribution::param_type::param_type, gamma_distribution::param_type::param_type, bernoulli_distribution::param_type::param_type, binomial_distribution::param_type::param_type, geometric_distribution::param_type::param_type, negative_binomial_distribution::param_type::param_type, poisson_distribution::param_type::param_type, exponential_distribution::param_type::param_type): Likewise. * include/bits/regex.h (match_results::operator[], match_results::prefix, match_results::suffix): Likewise. * include/bits/regex.tcc (format, regex_iterator::operator++): Likewise. * include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise. * include/bits/regex_compiler.tcc (_Compiler::_Compiler, _Compiler::_M_insert_character_class_matcher): Likewise. * include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise. * include/bits/regex_scanner.tcc (_Scanner::_M_advance, _Scanner::_M_scan_normal): Likewise. * include/bits/shared_ptr_base.h (__shared_ptr::_M_reset, __shared_ptr::operator*): Likewise. * include/bits/stl_iterator_base_funcs.h (__advance): Likewise. * include/bits/unique_ptr.h (unique_ptr::operator*, unique_ptr::operator[]): Likewise. * include/experimental/fs_path.h (path::path(string_type, _Type), path::iterator::operator++, path::iterator::operator--, path::iterator::operator*): Likewise. * include/experimental/string_view (basic_string_view::operator[], basic_string_view::front, basic_string_view::back, basic_string_view::remove_prefix): Likewise. * include/ext/random (beta_distribution::param_type::param_type, normal_mv_distribution::param_type::param_type, rice_distribution::param_type::param_type, pareto_distribution::param_type::param_type, k_distribution::param_type::param_type, arcsine_distribution::param_type::param_type, hoyt_distribution::param_type::param_type, triangular_distribution::param_type::param_type, von_mises_distribution::param_type::param_type, hypergeometric_distribution::param_type::param_type, logistic_distribution::param_type::param_type): Likewise. * include/ext/vstring.h (__versa_string::operator[]): Likewise. * include/std/complex (polar): Likewise. * include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK] (timed_mutex::~timed_mutex, timed_mutex::unlock, (recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock): Likewise. * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER] (__shared_mutex_pthread::__shared_mutex_pthread, __shared_mutex_pthread::~__shared_mutex_pthread): Likewise. (__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock, __shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared, __shared_mutex_pthread::try_lock_shared): Likewise. (__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock, __shared_mutex_cv::unlock_shared): Likewise. (shared_timed_mutex::try_lock_until, shared_timed_mutex::try_lock_shared_until): Likewise. * include/std/valarray (valarray::valarray(const _Tp*, size_t), valarray::operator=, valarray::sum, valarray::min, valarray::max, _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR): Likewise. From-SVN: r227595
Jonathan Wakely committed -
PR middle-end/67512 * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison for comparisons. * gcc.dg/pr67512.c: New test. From-SVN: r227594
Marek Polacek committed -
2015-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53184 * doc/invoke.texi ([Wsubobject-linkage]): Document. /c-family 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53184 * c.opt ([Wsubobject-linkage]): Add. /cp 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53184 * decl2.c (constrain_class_visibility): Use Wsubobject-linkage. /testsuite 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53184 * g++.dg/warn/Wsubobject-linkage-1.C: New. * g++.dg/warn/Wsubobject-linkage-2.C: Likewise. * g++.dg/warn/Wsubobject-linkage-3.C: Likewise. * g++.dg/warn/Wsubobject-linkage-4.C: Likewise. From-SVN: r227593
Paolo Carlini committed -
PR sanitizer/67258 * ubsan/ubsan_type_hash.cc: Cherry pick upstream r244101. Upstraem patch: commit 1d2477faafda9ad2cc19927b3c31efd22747f013 Author: Alexey Samsonov <vonosmas@gmail.com> Date: Wed Aug 5 19:35:46 2015 +0000 [UBSan] Fix UBSan-vptr false positive. Offset from vptr to the start of most-derived object can actually be positive in some virtual base class vtables. Patch by Stephan Bergmann! git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@244101 91177308-0d34-0410-b5e6-96231b3b80d8 From-SVN: r227591
Markus Trippelsdorf committed -
2015-09-09 Tom de Vries <tom@codesourcery.com> * params-list.h: Add missing copyright notice. From-SVN: r227590
Tom de Vries committed -
* config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use sel_truesi, not andsi. From-SVN: r227587
Nathan Sidwell committed -
* config/arm/arm.md (*subsi3_compare0): Rename to... (subsi3_compare0): ... This. (modsi3): New define_expand. * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case when operand is power of 2. * gcc.target/aarch64/mod_2.x: New file. * gcc.target/aarch64/mod_256.x: Likewise. * gcc.target/arm/mod_2.c: New test. * gcc.target/arm/mod_256.c: Likewise. * gcc.target/aarch64/mod_2.c: Likewise. * gcc.target/aarch64/mod_256.c: Likewise. From-SVN: r227586
Kyrylo Tkachov committed -
* config/aarch64/aarch64.md (mod<mode>3): New define_expand. (*neg<mode>2_compare0): Rename to... (neg<mode>2_compare0): ... This. * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case): Move check for speed inside the if-then-elses. Reflect CSNEG sequence in MOD by power of 2 case. From-SVN: r227585
Kyrylo Tkachov committed
-