c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
c-family/ * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR. * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors. cp/ * decl2.c (cpp_check): Deal with IS_CONSTEXPR. From-SVN: r225585
This commit is contained in:
parent
b03b462f1f
commit
a9dcd529a9
|
@ -1,3 +1,8 @@
|
|||
2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
|
||||
* c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
|
||||
|
||||
2015-07-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
|
||||
|
|
|
@ -2887,6 +2887,7 @@ print_ada_declaration (pretty_printer *buffer, tree t, tree type, int spc)
|
|||
bool is_method = TREE_CODE (TREE_TYPE (t)) == METHOD_TYPE;
|
||||
tree decl_name = DECL_NAME (t);
|
||||
bool is_abstract = false;
|
||||
bool is_constexpr = false;
|
||||
bool is_constructor = false;
|
||||
bool is_destructor = false;
|
||||
bool is_copy_constructor = false;
|
||||
|
@ -2898,6 +2899,7 @@ print_ada_declaration (pretty_printer *buffer, tree t, tree type, int spc)
|
|||
if (cpp_check)
|
||||
{
|
||||
is_abstract = cpp_check (t, IS_ABSTRACT);
|
||||
is_constexpr = cpp_check (t, IS_CONSTEXPR);
|
||||
is_constructor = cpp_check (t, IS_CONSTRUCTOR);
|
||||
is_destructor = cpp_check (t, IS_DESTRUCTOR);
|
||||
is_copy_constructor = cpp_check (t, IS_COPY_CONSTRUCTOR);
|
||||
|
@ -2911,6 +2913,10 @@ print_ada_declaration (pretty_printer *buffer, tree t, tree type, int spc)
|
|||
|
||||
if (is_constructor || is_destructor)
|
||||
{
|
||||
/* Skip constexpr default constructors. */
|
||||
if (is_constexpr)
|
||||
return 0;
|
||||
|
||||
/* Only consider constructors/destructors for complete objects. */
|
||||
if (strncmp (IDENTIFIER_POINTER (decl_name), "__comp", 6) != 0)
|
||||
return 0;
|
||||
|
|
|
@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see
|
|||
typedef enum {
|
||||
HAS_DEPENDENT_TEMPLATE_ARGS,
|
||||
IS_ABSTRACT,
|
||||
IS_CONSTEXPR,
|
||||
IS_CONSTRUCTOR,
|
||||
IS_DESTRUCTOR,
|
||||
IS_COPY_CONSTRUCTOR,
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* decl2.c (cpp_check): Deal with IS_CONSTEXPR.
|
||||
|
||||
2015-07-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* decl.c (grokfndecl): Handle flag_openmp_simd like flag_openmp.
|
||||
|
|
|
@ -4070,6 +4070,8 @@ cpp_check (tree t, cpp_operation op)
|
|||
}
|
||||
case IS_ABSTRACT:
|
||||
return DECL_PURE_VIRTUAL_P (t);
|
||||
case IS_CONSTEXPR:
|
||||
return DECL_DECLARED_CONSTEXPR_P (t);
|
||||
case IS_CONSTRUCTOR:
|
||||
return DECL_CONSTRUCTOR_P (t);
|
||||
case IS_DESTRUCTOR:
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* g++.dg/other/dump-ada-spec-9.C: New test.
|
||||
|
||||
2015-07-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* g++.dg/vect/vect.exp: Run also simd* tests.
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-fdump-ada-spec" } */
|
||||
|
||||
class Base {
|
||||
public:
|
||||
virtual void Primitive ();
|
||||
|
||||
};
|
||||
|
||||
void Base::Primitive () {
|
||||
|
||||
}
|
||||
|
||||
void Dispatch (Base * B) {
|
||||
B->Primitive ();
|
||||
}
|
||||
|
||||
/* { dg-final { scan-ada-spec-not "CPP_Constructor" } } */
|
||||
/* { dg-final { cleanup-ada-spec } } */
|
Loading…
Reference in New Issue