pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.
gcc/cp/ChangeLog 2012-08-03 Marc Glisse <marc.glisse@inria.fr> * pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars. * cp-tree.h (scalarish_type_p): Declare. * tree.c (scalarish_type_p): Make non-static. gcc/testsuite/ChangeLog 2012-08-03 Marc Glisse <marc.glisse@inria.fr> * g++.dg/ext/vector17.C: New testcase. From-SVN: r190123
This commit is contained in:
parent
b2ec94d440
commit
11f359257e
6 changed files with 25 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-08-03 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
* pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.
|
||||
* cp-tree.h (scalarish_type_p): Declare.
|
||||
* tree.c (scalarish_type_p): Make non-static.
|
||||
|
||||
2012-08-02 Jason Merrill <jason@redhat.com>
|
||||
Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
|
|
|
@ -5697,6 +5697,7 @@ extern bool layout_pod_type_p (const_tree);
|
|||
extern bool std_layout_type_p (const_tree);
|
||||
extern bool trivial_type_p (const_tree);
|
||||
extern bool trivially_copyable_p (const_tree);
|
||||
extern bool scalarish_type_p (const_tree);
|
||||
extern bool type_has_nontrivial_default_init (const_tree);
|
||||
extern bool type_has_nontrivial_copy_init (const_tree);
|
||||
extern bool class_tmpl_impl_spec_p (const_tree);
|
||||
|
|
|
@ -13851,7 +13851,7 @@ tsubst_copy_and_build (tree t,
|
|||
/* We can't do much here. */;
|
||||
else if (!CLASS_TYPE_P (object_type))
|
||||
{
|
||||
if (SCALAR_TYPE_P (object_type))
|
||||
if (scalarish_type_p (object_type))
|
||||
{
|
||||
tree s = NULL_TREE;
|
||||
tree dtor = member;
|
||||
|
|
|
@ -2818,7 +2818,7 @@ is_dummy_object (const_tree ob)
|
|||
/* Returns 1 iff type T is something we want to treat as a scalar type for
|
||||
the purpose of deciding whether it is trivial/POD/standard-layout. */
|
||||
|
||||
static bool
|
||||
bool
|
||||
scalarish_type_p (const_tree t)
|
||||
{
|
||||
if (t == error_mark_node)
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2012-08-03 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
* g++.dg/ext/vector17.C: New testcase.
|
||||
|
||||
2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
PR target/51931
|
||||
|
|
12
gcc/testsuite/g++.dg/ext/vector17.C
Normal file
12
gcc/testsuite/g++.dg/ext/vector17.C
Normal file
|
@ -0,0 +1,12 @@
|
|||
/* { dg-do compile } */
|
||||
typedef double __attribute__((vector_size(1024) )) vec;
|
||||
|
||||
template <class T>
|
||||
void f (T *p)
|
||||
{
|
||||
p->~T();
|
||||
}
|
||||
void g (vec *p)
|
||||
{
|
||||
f(p);
|
||||
}
|
Loading…
Add table
Reference in a new issue