Jakub Jelinek
|
85ec4feb11
|
Update copyright years.
From-SVN: r256169
|
2018-01-03 11:03:58 +01:00 |
|
Martin Sebor
|
c3684b7b86
|
PR c++/80560 - warn on undefined memory operations involving non-trivial types
gcc/c-family/ChangeLog:
PR c++/80560
* c.opt (-Wclass-memaccess): New option.
gcc/cp/ChangeLog:
PR c++/80560
* call.c (first_non_public_field, maybe_warn_class_memaccess): New
functions.
(has_trivial_copy_assign_p, has_trivial_copy_p): Ditto.
(build_cxx_call): Call maybe_warn_class_memaccess.
gcc/ChangeLog:
PR c++/80560
* dumpfile.c (dump_register): Avoid calling memset to initialize
a class with a default ctor.
* gcc.c (struct compiler): Remove const qualification.
* genattrtab.c (gen_insn_reserv): Replace memset with initialization.
* hash-table.h: Ditto.
* ipa-cp.c (allocate_and_init_ipcp_value): Replace memset with
assignment.
* ipa-prop.c (ipa_free_edge_args_substructures): Ditto.
* omp-low.c (lower_omp_ordered_clauses): Replace memset with
default ctor.
* params.h (struct param_info): Make struct members non-const.
* tree-switch-conversion.c (emit_case_bit_tests): Replace memset
with default initialization.
* vec.h (vec_copy_construct, vec_default_construct): New helper
functions.
(vec<T>::copy, vec<T>::splice, vec<T>::reserve): Replace memcpy
with vec_copy_construct.
(vect<T>::quick_grow_cleared): Replace memset with default ctor.
(vect<T>::vec_safe_grow_cleared, vec_safe_grow_cleared): Same.
* doc/invoke.texi (-Wclass-memaccess): Document.
libcpp/ChangeLog:
PR c++/80560
* line-map.c (line_maps::~line_maps): Avoid calling htab_delete
with a null pointer.
(linemap_init): Avoid calling memset on an object of a non-trivial
type.
libitm/ChangeLog:
PR c++/80560
* beginend.cc (GTM::gtm_thread::rollback): Avoid calling memset
on an object of a non-trivial type.
(GTM::gtm_transaction_cp::commit): Use assignment instead of memcpy
to copy an object.
* method-ml.cc (orec_iterator::reinit): Avoid -Wclass-memaccess.
gcc/testsuite/ChangeLog:
PR c++/80560
* g++.dg/Wclass-memaccess.C: New test.
From-SVN: r249234
|
2017-06-15 21:48:59 -06:00 |
|
Jakub Jelinek
|
cbe34bb5ed
|
Update copyright years.
From-SVN: r243994
|
2017-01-01 13:07:43 +01:00 |
|
Torvald Riegel
|
d2653984bf
|
libitm: Ensure proxy privatization safety.
* method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
safety.
* method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
* libitm/testsuite/libitm.c/priv-1.c: New.
From-SVN: r232469
|
2016-01-16 22:08:41 +00:00 |
|
Torvald Riegel
|
629e47295b
|
libitm: Fix privatization safety interaction with serial mode.
From-SVN: r232322
|
2016-01-13 12:40:34 +00:00 |
|
Jakub Jelinek
|
818ab71a41
|
Update copyright years.
From-SVN: r232055
|
2016-01-04 15:30:50 +01:00 |
|
Torvald Riegel
|
e7f7330fed
|
libitm: Use multiplicative hashing in the multi-lock TM method.
* method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
(ml_wt_dispatch::pre_write): Adapt.
(ml_wt_dispatch::pre_load): Likewise.
From-SVN: r230975
|
2015-11-26 16:10:54 +00:00 |
|
Jakub Jelinek
|
5624e564d2
|
Update copyright years.
From-SVN: r219188
|
2015-01-05 13:33:28 +01:00 |
|
Richard Sandiford
|
f93608e6d4
|
Update copyright years in libitm/
From-SVN: r206298
|
2014-01-02 22:26:00 +00:00 |
|
Richard Sandiford
|
75f9527c9b
|
Update copyright in libitm.
From-SVN: r195697
|
2013-02-03 17:46:11 +00:00 |
|
Torvald Riegel
|
b679c81340
|
Ask dispatch whether it requires serial mode.
* retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
it requires serial mode instead of assuming that for certain
dispatchs.
* dispatch.h (abi_dispatch::requires_serial): New.
(abi_dispatch::abi_dispatch): Adapt.
* method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
* method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
* method-serial.cc (serialirr_dispatch::serialirr_dispatch,
serial_dispatch::serial_dispatch,
serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.
From-SVN: r192777
|
2012-10-24 19:52:02 +00:00 |
|
Torvald Riegel
|
31772c9507
|
libitm: Add multi-lock, write-through TM method.
libitm/
* libitm_i.h (GTM::gtm_rwlog_entry): New.
(GTM::gtm_thread): Add read and write logs.
(GTM::dispatch_ml_wt): Declare.
* retry.cc (parse_default_method): Support ml_wt.
* method-ml.cc: New file.
* Makefile.am: Add method-ml.cc.
* Makefile.in: Regenerate.
From-SVN: r184212
|
2012-02-14 13:14:27 +00:00 |
|