diff options
author | Nathan Sidwell <nathan@acm.org> | 2022-06-16 10:14:56 -0700 |
---|---|---|
committer | Nathan Sidwell <nathan@acm.org> | 2022-06-16 11:41:07 -0700 |
commit | 9ca05d5d9b9b2bcbdc00add8a3b86d3c3361f1a1 (patch) | |
tree | f6a67972fdbc47ac105cd85f0305a9c86605d60c /libgo | |
parent | 6c849e2fab3f682b715a81cb4ccc792f20c00eeb (diff) | |
download | gcc-9ca05d5d9b9b2bcbdc00add8a3b86d3c3361f1a1.zip gcc-9ca05d5d9b9b2bcbdc00add8a3b86d3c3361f1a1.tar.gz gcc-9ca05d5d9b9b2bcbdc00add8a3b86d3c3361f1a1.tar.bz2 |
c++: Elide inactive initializer fns from init array
There's no point adding no-op initializer fns (that a module might
have) to the static initializer list. Also, we can add any objc
initializer call to a partial initializer function and simplify some
control flow.
gcc/cp/
* decl2.cc (finish_objects): Add startp parameter, adjust.
(generate_ctor_or_dtor_function): Detect empty fn, and don't
generate unnecessary code. Remove objc startup here ...
(c_parse_final_cleanyps): ... do it here.
gcc/testsuite/
* g++.dg/modules/init-2_b.C: Add init check.
* g++.dg/modules/init-2_c.C: Add init check.
Diffstat (limited to 'libgo')
0 files changed, 0 insertions, 0 deletions