[Bug target/97207] [nvptx, build] nvptx.c:3539:38: error: no matching function for call to ‘swap(bracket_vec_t&, bracket_vec_t&)’
vries at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Sep 25 11:25:46 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97207
Tom de Vries <vries at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |nvptx
CC| |rguenth at gcc dot gnu.org
--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
Regression, started at:
...
commit 4b9d61f79c0c0185a33048ae6cc72269cf7efa31
Author: Richard Biener <rguenther@suse.de>
Date: Thu Aug 6 14:50:56 2020 +0200
add move CTOR to auto_vec, use auto_vec for get_loop_exit_edges
This adds a move CTOR to auto_vec<T, 0> and makes use of a
auto_vec<edge> return value for get_loop_exit_edges denoting
that lifetime management of the vector is handed to the caller.
The move CTOR prompted the hash_table change because it appearantly
makes the copy CTOR implicitely deleted (good) and hash-table
expansion of the odr_enum_map which is
hash_map <nofree_string_hash, odr_enum> where odr_enum has an
auto_vec<odr_enum_val, 0> member triggers this. Not sure if
there's a latent bug there before this (I think we're not
invoking DTORs, but we're invoking copy-CTORs).
...
The type bracket_vec_t is defined as:
...
typedef auto_vec<bracket> bracket_vec_t;
...
so that does look at least related.
More information about the Gcc-bugs
mailing list