| From 060bb7eb4d008fbd4a9fa8ef7c5e33c9e483eb52 Mon Sep 17 00:00:00 2001 |
| From: Boris Kolpackov <boris@codesynthesis.com> |
| Date: Wed, 17 Jun 2020 11:22:11 +0200 |
| Subject: [PATCH] Adjust to changes in GCC 10 |
| |
| [Upstream: 060bb7eb4d008fbd4a9fa8ef7c5e33c9e483eb52] |
| Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
| --- |
| odb/gcc.hxx | 7 +++++-- |
| odb/parser.cxx | 8 ++++---- |
| odb/semantics/elements.cxx | 4 ++-- |
| 3 files changed, 11 insertions(+), 8 deletions(-) |
| |
| diff --git a/odb/gcc.hxx b/odb/gcc.hxx |
| index 9b644d7..af0e2a0 100644 |
| --- a/odb/gcc.hxx |
| +++ b/odb/gcc.hxx |
| @@ -151,10 +151,13 @@ gcc_tree_code_name (gcc_tree_code_type tc) {return tree_code_name[tc];} |
| #define DECL_CHAIN(x) TREE_CHAIN(x) |
| #endif |
| |
| -// In GCC 6, ANON_AGGRNAME_P became anon_aggrname_p(). |
| +// In GCC 6 ANON_AGGRNAME_P became anon_aggrname_p(). |
| +// In GCC 10 anon_aggrname_p() became IDENTIFIER_ANON_P. |
| // |
| #if BUILDING_GCC_MAJOR < 6 |
| -# define anon_aggrname_p(X) ANON_AGGRNAME_P(X) |
| +# define IDENTIFIER_ANON_P(X) ANON_AGGRNAME_P(X) |
| +#elif BUILDING_GCC_MAJOR < 10 |
| +# define IDENTIFIER_ANON_P(X) anon_aggrname_p(X) |
| #endif |
| |
| // In GCC 9: |
| diff --git a/odb/parser.cxx b/odb/parser.cxx |
| index 69d9b28..58388c9 100644 |
| --- a/odb/parser.cxx |
| +++ b/odb/parser.cxx |
| @@ -1103,14 +1103,14 @@ emit_type_decl (tree decl) |
| // says that in typedef struct {} S; S becomes struct's |
| // name. |
| // |
| - if (anon_aggrname_p (decl_name)) |
| + if (IDENTIFIER_ANON_P (decl_name)) |
| { |
| tree d (TYPE_NAME (t)); |
| |
| if (d != NULL_TREE && |
| !DECL_ARTIFICIAL (d) && |
| DECL_NAME (d) != NULL_TREE && |
| - !anon_aggrname_p (DECL_NAME (d))) |
| + !IDENTIFIER_ANON_P (DECL_NAME (d))) |
| { |
| decl = d; |
| decl_name = DECL_NAME (decl); |
| @@ -1727,7 +1727,7 @@ create_type (tree t, |
| ts << "start anon/stub " << gcc_tree_code_name(tc) << " at " |
| << file << ":" << line << endl; |
| |
| - if (d == NULL_TREE || anon_aggrname_p (DECL_NAME (d))) |
| + if (d == NULL_TREE || IDENTIFIER_ANON_P (DECL_NAME (d))) |
| { |
| if (tc == RECORD_TYPE) |
| r = &emit_class<class_> (t, file, line, clmn); |
| @@ -1824,7 +1824,7 @@ create_type (tree t, |
| ts << "start anon/stub " << gcc_tree_code_name(tc) << " at " |
| << file << ":" << line << endl; |
| |
| - if (d == NULL_TREE || anon_aggrname_p (DECL_NAME (d))) |
| + if (d == NULL_TREE || IDENTIFIER_ANON_P (DECL_NAME (d))) |
| { |
| r = &emit_enum (t, access, file, line, clmn); |
| } |
| diff --git a/odb/semantics/elements.cxx b/odb/semantics/elements.cxx |
| index f937f54..2d266cf 100644 |
| --- a/odb/semantics/elements.cxx |
| +++ b/odb/semantics/elements.cxx |
| @@ -75,7 +75,7 @@ namespace semantics |
| if (tree decl = TYPE_NAME (n)) |
| name = DECL_NAME (decl); |
| |
| - return name != 0 && anon_aggrname_p (name); |
| + return name != 0 && IDENTIFIER_ANON_P (name); |
| } |
| |
| return true; |
| @@ -124,7 +124,7 @@ namespace semantics |
| if (tree decl = TYPE_NAME (type)) |
| { |
| name = DECL_NAME (decl); |
| - if (name != 0 && anon_aggrname_p (name)) |
| + if (name != 0 && IDENTIFIER_ANON_P (name)) |
| return true; |
| |
| tree s (CP_DECL_CONTEXT (decl)); |
| -- |
| 2.26.2 |
| |