On Fri, Aug 07, 2020 at 08:04:57PM +0200, Aldy Hernandez wrote:
> --- a/gcc/ipa-fnsummary.c
> +++ b/gcc/ipa-fnsummary.c
> @@ -82,7 +82,6 @@ along with GCC; see the file COPYING3. If not see
> #include "gimplify.h"
> #include "stringpool.h"
> #include "attribs.h"
> -#include <vector>
> #include "tree-into-ssa.h"
This part won't apply (Gerald has changed it to #define INCLUDE_VECTOR
earlier I think).
> --- a/gcc/vec.h
> +++ b/gcc/vec.h
> @@ -1281,7 +1281,10 @@ template<typename T, typename A>
> inline size_t
> vec<T, A, vl_embed>::embedded_size (unsigned alloc)
> {
> - typedef vec<T, A, vl_embed> vec_embedded;
> + struct alignas (T) U { char data[sizeof (T)]; };
> + typedef vec<U, A, vl_embed> vec_embedded;
> + static_assert(sizeof(vec_embedded) == sizeof(vec), "");
> + static_assert(alignof(vec_embedded) == alignof(vec), "");
s/(/ (/g on the above two lines please (GCC vs. libstdc++ coding
style differences).
I think it would be nice to see e.g. in -fdump-tree-gimple dump
on ipa-fnsummary.c what value_range ctors does it call for the auto_vec and
if that is what we want, other than that LGTM.
Jakub