- 20 Nov, 2015 2 commits
-
-
gcc/cp/ * except.c (do_free_exception): Use transactional wrapper. libitm/ * testsuite/libitm.c++/eh-5.C: New. * libitm.h (_ITM_cxa_free_exception): New. * libitm.map (_ITM_cxa_free_exception): Add it. * libitm.texi: Update ABI docs. * libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove. (gtm_transaction_cp::cxa_uncaught_count): Add. (gtm_thread::cxa_unthrown): Remove. (gtm_thread::cxa_uncaught_count_ptr): Add. (gtm_thread::cxa_uncaught_count): Add. (gtm_thread::drop_references_allocations): Rename to... (gtm_thread::discard_allocation): ... this and adapt. (gtm_thread::init_cpp_exceptions): New. * beginend.cc (gtm_thread::gtm_thread): Adapt EH handling. (gtm_thread::begin_transaction): Likewise. (gtm_transaction_cp::save): Likewise. (gtm_thread::trycommit): Likewise. * eh_cpp.cc: Add overview comments. (__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare. (free_any_exception, _ITM_cxa_free_exception): New. (gtm_thread::init_cpp_exceptions): Define. (_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt. (_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise. (gtm_thread::revert_cpp_exceptions): Likewise. From-SVN: r230634
Torvald Riegel committed -
From-SVN: r230633
DJ Delorie committed
-
- 19 Nov, 2015 31 commits
-
-
Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r230632
Aditya Kumar committed -
Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r230631
Aditya Kumar committed -
Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r230630
Aditya Kumar committed -
PR c++/68422 * cp-tree.h (PACK_EXPANSION_SIZEOF_P): New. * parser.c (cp_parser_sizeof_pack): Set it. * pt.c (tsubst_copy) [SIZEOF_EXPR]: Likewise. (tsubst_pack_expansion): Improve T... shortcut for expression packs. From-SVN: r230629
Jason Merrill committed -
gcc/ * config/nvptx/nvptx.h (SUPPORTS_WEAK): Define. * config/nvptx/nvptx.c (nvptx_write_function_decl): Support DECL_WEAK. (nvptx_declare_objec_name): Likewise. gcc/testsuite/ * lib/target-supports.exp (check_weak_available): Add nvptx-*-*. * gcc.dg/attr-weakref-1.c: Skip for nvptx-*-* * gcc.dg/special/weak-2.c: Likewise. * gcc.dg/weak/weak-12.c: Likewise. * gcc.dg/weak/weak-15.c: Likewise. * gcc.dg/weak/weak-16.c: Likewise. * gcc.dg/weak/weak-1.c: Likewise. * gcc.dg/weak/weak-2.c: Likewise. * gcc.dg/weak/weak-4.c: Likewise. * gcc.dg/torture/pr53922.c: Likewise. * gcc.dg/torture/pr60092.c: Likewise. From-SVN: r230628
Nathan Sidwell committed -
PR c/68412 * c-typeck.c (parser_build_binary_op): Properly handle C_MAYBE_CONST_EXPR before calling warn_tautological_cmp. * gcc.dg/pr68412-2.c: New test. * gcc.dg/pr68412.c: New test. From-SVN: r230627
Marek Polacek committed -
With and without this patch passes bootstrap on x86_64-linux with and without ISL. The problem occurs on systems with older linkers that do not remove dead symbols. From-SVN: r230625
Aditya Kumar committed -
* libgomp.oacc-c-c++-common/reduction-dbl.c: New. * libgomp.oacc-c-c++-common/reduction-flt.c: New. * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests and fix. * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. From-SVN: r230621
Nathan Sidwell committed -
PR c++/68396 2015-11-19 Ryan Burn <contact@rnburn.com> * pt.c (find_parameter_packs_r) [DECLTYPE_TYPE]: When traversing the DECLTYPE_TYPE_EXPR, set type_pack_expansion_p to false. From-SVN: r230620
Ryan Burn committed -
2015-11-19 David Edelsohn <dje.gcc@gmail.com> Revert 2015-11-18 Alan Modra <amodra@gmail.com> * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore type-limits warning. From-SVN: r230619
David Edelsohn committed -
* tree.h (desired_pro_or_demotion_p): New function. * tree-vrp.c (simplify_cond_using_ranges): Call it. * gcc.dg/tree-ssa/vrp98.c: New testcase. * gcc.target/avr/uint8-single-reg.c: New testcase. From-SVN: r230618
Senthil Kumar Selvaraj committed -
2015-11-19 Bob Duff <duff@adacore.com> * sem_elab.adb (Check_Internal_Call_Continue): Correction to previous change: correctly handle generic formals/actuals that look like renamings. From-SVN: r230617
Bob Duff committed -
liboffloadmic/ * plugin/libgomp-plugin-intelmic.cpp (struct TargetImageDesc): New. (ImgDescMap): New typedef. (image_descriptors): New static var. (init): Allocate image_descriptors. (offload): Remove vars2 argument. Pass NULL to __offload_offload1 instead of vars2. (unregister_main_image): New static function. (register_main_image): Call unregister_main_image at exit. (GOMP_OFFLOAD_init_device): Print device number, fix offload args. (GOMP_OFFLOAD_fini_device): Likewise. (get_target_table): Remove vd1g and vd2g, don't pass them to offload. (offload_image): Remove declaration of the struct TargetImage. Free table. Insert new descriptor into image_descriptors. (GOMP_OFFLOAD_unload_image): Call __offload_unregister_image, free the corresponding descriptor, and remove it from address_table and image_descriptors. (GOMP_OFFLOAD_alloc): Print device number, remove vd1g. (GOMP_OFFLOAD_free): Likewise. (GOMP_OFFLOAD_host2dev): Print device number, remove vd1g and vd2g. (GOMP_OFFLOAD_dev2host): Likewise. (GOMP_OFFLOAD_run): Print device number, remove vd1g. * plugin/offload_target_main.cpp (__offload_target_table_p1): Remove vd2, don't pass it to __offload_target_enter. (__offload_target_table_p2): Likewise. (__offload_target_alloc): Likewise. (__offload_target_free): Likewise. (__offload_target_host2tgt_p1): Likewise. (__offload_target_host2tgt_p2): Likewise. (__offload_target_tgt2host_p1): Likewise. (__offload_target_tgt2host_p2): Likewise. (__offload_target_run): Likewise. (__offload_target_tgt2tgt): Remove vd1g, don't pass it to __offload_target_enter. From-SVN: r230614
Ilya Verbin committed -
PR c++/67409 * decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call emit_diagnostic instead of permerror. (check_previous_goto_1): Adjust identify_goto callers, treat all cases but crossing initialization and entering scope of decl with non-trivial dtor as unconditional hard errors. (check_goto): Use identify_goto. Treat all cases but crossing initialization and entering scope of decl with non-trivial dtor as unconditional hard errors. * g++.dg/eh/goto3.C: New test. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r230613
Jakub Jelinek committed -
* fwprop.c (update_uses): Use flag_checking instead of gcc_checking_assert. From-SVN: r230612
Michael Matz committed -
gcc/ChangeLog: * doc/gty.texi (Support for inheritance): Fix missing parentheses in example. From-SVN: r230609
David Malcolm committed -
PR tree-optimization/68431 * tree-vrp.c (extract_range_from_binary_expr_1): Fix condition. * gcc.dg/tree-ssa/pr68431.c: New test. From-SVN: r230608
Marek Polacek committed -
gcc/cp/ * parser.h (struct cp_omp_declare_simd_data): Add clauses member. (struct cp_parser): Change type the of oacc_routine to cp_omp_declare_simd_data. * parser.c (cp_ensure_no_oacc_routine): Rework to use cp_omp_declare_simd_data. (cp_parser_simple_declaration): Remove boolean first. Update call to cp_parser_init_declarator. Don't NULL out oacc_routine. (cp_parser_init_declarator): Remove boolean first parameter. Update calls to cp_finalize_oacc_routine. (cp_parser_late_return_type_opt): Handle acc routines. (cp_parser_member_declaration): Remove first variable. Handle acc routines like omp declare simd. (cp_parser_function_definition_from_specifiers_and_declarator): Update call to cp_finalize_oacc_routine. (cp_parser_single_declaration): Update call to cp_parser_init_declarator. (cp_parser_save_member_function_body): Remove first_decl parameter. Update call to cp_finalize_oacc_routine. (cp_parser_finish_oacc_routine): Delete. (cp_parser_oacc_routine): Rework to use cp_omp_declare_simd_data. (cp_parser_late_parsing_oacc_routine): New function. (cp_finalize_oacc_routine): Remove first argument. Add more error handling and set the acc routine and 'omp declare target' attributes. (cp_parser_pragma): Remove unnecessary call to cp_ensure_no_oacc_routine. From-SVN: r230607
Cesar Philippidis committed -
* config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1, atomic_exchange<mode>): Input values can be immediates. From-SVN: r230606
Nathan Sidwell committed -
PR lto/61313 * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified by the user. * configure: Regenerate. From-SVN: r230603
Eric Botcazou committed -
* clang-format: Enhance list of FOR_EACH macros. From-SVN: r230602
Martin Liska committed -
* .gitignore: Add .clang-format to ignored files. * Makefile.in: Add clang-format. * Makefile.tpl: Likewise. * clang-format: New file. From-SVN: r230601
Martin Liska committed -
PR target/68408 * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine. (DTORS_SECTION_ASM_OP): Likewise. From-SVN: r230598
Eric Botcazou committed -
PR rtl-optimization/68376 * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if encountering x <= 0 ? ~x : x or x > 0 ? ~x : x. * gcc.c-torture/execute/pr68376-1.c: New test. * gcc.c-torture/execute/pr68376-2.c: New test. From-SVN: r230596
Jakub Jelinek committed -
2015-11-19 Richard Biener <rguenther@suse.de> PR middle-end/68117 * tree-ssa.c (delete_tree_ssa): Revert removal of call to redirect_edge_var_map_destroy. From-SVN: r230594
Richard Biener committed -
PR target/67770 * config/i386/i386.md (simple_return): Disable if ix86_static_chain_on_stack is true. * gcc.target/i386/pr67770.c: New test. From-SVN: r230593
Jakub Jelinek committed -
re PR preprocessor/60736 (Crash in preprocessor including stdc-predef.h when it does not exist on glibc-based systems) PR preprocessor/60736 * include/cpplib.h (cpp_errno_filename): New prototype. * errors.c (cpp_errno): Don't handle msgid "" specially, use _(msgid) instead of msgid as argument to cpp_error. (cpp_errno_filename): New function. * files.c (read_file_guts): Use cpp_errno_filename instead of cpp_errno. (open_file_failed): Likewise. Use file->name if file->path is NULL in diagnostics. From-SVN: r230591
Jakub Jelinek committed -
Do the usual dance when assigning to SUBREG_PROMOTED_VAR_P destinations: first convert to the outer mode, then extend to the inner mode. Tested that it fixes the powerpc64le-linux-gnu breakage. Also tested on x86_64-linux-gnu and powerpc64-linux-gnu. gcc/ PR bootstrap/68393 * internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P destinations. From-SVN: r230590
Richard Sandiford committed -
* c-common.c (shorten_compare): Don't -Wtype-limits if the non-constant operand comes from a macro. From-SVN: r230589
Jason Merrill committed -
PR tree-optimization/68198 * tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish between threading a multi-way branch and a thread path that contains a multi-way branch. Disallow the case where a path contains a multi-way branch and does not thread a multi-way branch. (thread_through_all_blocks): Update comment. PR tree-optimization/68198 * gcc.dg/tree-ssa/pr66752-3.c: Update expected output for VRP1. * gcc.dg/tree-ssa/pr68198.c: New test. From-SVN: r230586
Jeff Law committed -
From-SVN: r230585
GCC Administrator committed
-
- 18 Nov, 2015 7 commits
-
-
2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/59910 * primary.c (gfc_match_structure_constructor): Reduce a structure constructor in a DATA statement. 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/59910 * gfortran.dg/pr59910.f90: New test. From-SVN: r230580
Steven G. Kargl committed -
re PR fortran/43996 (ICE in gfc_conv_array_initializer due to incomplete simplification of init expressions) 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/43996 * simplify.c (gfc_simplify_spread): Issue error for too large array constructor in a PARAMETER statement. 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/43996 * gfortran.dg/pr43996.f90: New test. From-SVN: r230579
Steven G. Kargl committed -
PR c/65083 notes that some functions in <stdatomic.h> are normal functions, not generic functions, and so need to have out-of-line copies that can be called when macro expansion is suppressed (unlike the generic functions where DR#419 makes it undefined if you suppress a macro expansion). This patch adds such out-of-line definitions in libatomic for those six functions, at a new LIBATOMIC_1.2 symbol version, as trivial wrappers to the <stdatomic.h> macros, along with declarations of those functions in <stdatomic.h>. Tests are added that are based on the corresponding tests for the macros, but with parentheses around the function names to force the out-of-line functions to be used. Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc: * ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence) (atomic_flag_test_and_set, atomic_flag_test_and_set_explicit) (atomic_flag_clear, atomic_flag_clear_explicit): Declare as functions before defining as macros. gcc/testsuite: * gcc.dg/atomic/stdatomic-fence-2.c, gcc.dg/atomic/stdatomic-flag-2.c: New tests. libatomic: * fence.c, flag.c: New files. * Makefile.am (libatomic_la_SOURCES): Add fence.c and flag.c. * Makefile.in: Regenerate. * configure.ac (libtool_VERSION): Change to 3:0:2. * configure: Regenerate. * libatomic.map (LIBATOMIC_1.2): New symbol version. From-SVN: r230578
Joseph Myers committed -
* gcc-interface/trans.c (elaborate_all_entities_for_package): New function extracted from... Recurse on packages. (elaborate_all_entities): ...here. Call it on packages. From-SVN: r230576
Eric Botcazou committed -
* gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro. * gcc-interface/gigi.h (enum standard_datatypes): Remove ADT_longjmp_decl and add ADT_not_handled_by_others_decl. (longjmp_decl): Delete. (not_handled_by_others_decl): New macro. (build_simple_component_ref): Delete. (build_component_ref): Adjust prototype. * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to build_component_ref. (gnat_to_gnu_field): Set DECL_INVARIANT_P on discriminants without default value. * gcc-interface/trans.c (gigi): Reorder initialization sequence and add not_handled_by_others_decl. (Attribute_to_gnu): Adjust calls to build_component_ref. (Subprogram_Body_to_gnu): Likewise. (Call_to_gnu): Likewise. (Exception_Handler_to_gnu_sjlj): Likewise. (gnat_to_gnu): Likewise. (range_check_info_d): Add inserted_cond field. (Loop_Statement_to_gnu): Make two passes on the recorded range checks. (build_noreturn_cond): New static function. (Raise_Error_to_gnu): Record range checks in loops at -O1 and above. (make_invariant): New static function. (Loop_Statement_to_gnu): Use it to compute invariant expressions for the loop bounds if possible, but do not require it if loop unswitching is enabled. * gcc-interface/utils.c (convert_to_fat_pointer): Likewise. (convert): Likewise. (maybe_unconstrained_array): Likewise. Call it instead of build_simple_component_ref and add guard for CONSTRUCTORs. (unchecked_convert): Likewise. * gcc-interface/utils2.c (compare_fat_pointers): Likewise. (build_simple_component_ref): Remove COMPONENT parameter, unify code dealing with VIEW_CONVERT_EXPR and make it more general, remove special treatment for CONSTRUCTORs of template types. (build_component_ref): Remove COMPONENT parameter and adjust call to build_simple_component_ref. (maybe_wrap_malloc): Likewise. (build_allocator): Likewise. (gnat_invariant_expr): Look through overflow checks, deal with addition and subtraction of constants and take into account DECL_INVARIANT_P for the COMPONENT_REF case. From-SVN: r230575
Eric Botcazou committed -
* config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace. (nvptx_record_offload_symbol): Remove code compensating for lack of default dimension handling. (nvptx_goacc_validate_dims): Remove incorrect ARG_UNUSED markers. From-SVN: r230571
Nathan Sidwell committed -
* gcc-interface/misc.c: Move global variables to the top of the file. (gnat_handle_option): Remove obsolete ATTRIBUTE_UNUSED markers. (gnat_init_options): Minor tweak. (gnat_post_options): Set -fstrict-overflow if not done by the user. (internal_error_function): Minor reformatting. From-SVN: r230569
Eric Botcazou committed
-