summaryrefslogtreecommitdiff
path: root/gcc/attribs.h
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2021-02-01 09:08:21 -0700
committerMartin Sebor <msebor@redhat.com>2021-02-01 09:09:52 -0700
commit0718336a5284dd5b40fd6691a94d6be93a80f279 (patch)
treeb873cfd81012cb3152afe090d344c4cb7f9aa89b /gcc/attribs.h
parent90c9b2c17688f7be434415e90c5a655a6ecfaa9e (diff)
downloadgcc-0718336a5284dd5b40fd6691a94d6be93a80f279.tar.gz
Reset front end trees before they make it into the middle end (PR middle-end/97172).
gcc/ChangeLog: PR middle-end/97172 * attribs.c (attr_access::free_lang_data): Define new function. * attribs.h (attr_access::free_lang_data): Declare new function. gcc/c/ChangeLog: PR middle-end/97172 * c-decl.c (free_attr_access_data): New function. (c_parse_final_cleanups): Call free_attr_access_data. gcc/testsuite/ChangeLog: PR middle-end/97172 * gcc.dg/pr97172.c: New test.
Diffstat (limited to 'gcc/attribs.h')
-rw-r--r--gcc/attribs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/attribs.h b/gcc/attribs.h
index 21d28a47f39..898e73db3e4 100644
--- a/gcc/attribs.h
+++ b/gcc/attribs.h
@@ -274,6 +274,9 @@ struct attr_access
/* Return the access mode corresponding to the character code. */
static access_mode from_mode_char (char);
+ /* Reset front end-specific attribute access data from attributes. */
+ static void free_lang_data (tree);
+
/* The character codes corresponding to all the access modes. */
static constexpr char mode_chars[5] = { '-', 'r', 'w', 'x', '^' };