diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-18 18:54:36 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-18 18:54:36 +0000 |
commit | a4f66bee966b2232f3d2bc30d11abadde4be94cc (patch) | |
tree | 873184a4e65c4fe3544f6b4689d5bacb6ebed1d7 /gcc/c-pragma.c | |
parent | 006523dc4793702f35c330af3b9095593c316b0e (diff) | |
download | gcc-a4f66bee966b2232f3d2bc30d11abadde4be94cc.tar.gz |
* c-pragma.c (mark_align_stack): New.
(init_pragma): New.
* c-pragma.h (init_pragma): Declare it.
* c-lex.c (init_parse): Call it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29502 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-pragma.c')
-rw-r--r-- | gcc/c-pragma.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/c-pragma.c b/gcc/c-pragma.c index c002587b4f1..ba0c8367390 100644 --- a/gcc/c-pragma.c +++ b/gcc/c-pragma.c @@ -512,3 +512,27 @@ handle_pragma_token (string, token) return 1; } #endif /* HANDLE_GENERIC_PRAGMAS */ + +#ifdef HANDLE_PRAGMA_PACK_PUSH_POP +static void +mark_align_stack (p) + void *p; +{ + align_stack *a = (align_stack *) p; + + while (a) + { + ggc_mark_tree (a->id); + a = a->prev; + } +} +#endif + +void +init_pragma () +{ +#ifdef HANDLE_PRAGMA_PACK_PUSH_POP + ggc_add_root (&alignment_stack, 1, sizeof(alignment_stack), + mark_align_stack); +#endif +} |