diff options
author | Mumit Khan <khan@xraylith.wisc.edu> | 1999-06-09 02:16:12 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-06-08 20:16:12 -0600 |
commit | 3cc0b5517abf97ac8b44adcfeca642410d99b441 (patch) | |
tree | 409dc9e147cd73c81e6558344513d4a13f345618 /gcc/c-pragma.c | |
parent | ef890d35d409ef65eeddb1101386f66fca36d52e (diff) | |
download | gcc-3cc0b5517abf97ac8b44adcfeca642410d99b441.zip gcc-3cc0b5517abf97ac8b44adcfeca642410d99b441.tar.gz gcc-3cc0b5517abf97ac8b44adcfeca642410d99b441.tar.bz2 |
c-pragma.c (handle_pragma_token): Handle `#pragma pack()' correctly.
* c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
correctly.
From-SVN: r27432
Diffstat (limited to 'gcc/c-pragma.c')
-rw-r--r-- | gcc/c-pragma.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/c-pragma.c b/gcc/c-pragma.c index eedd0a1..de9cfb8 100644 --- a/gcc/c-pragma.c +++ b/gcc/c-pragma.c @@ -383,8 +383,17 @@ handle_pragma_token (string, token) case ps_left: if (token == NULL_TREE) - state = (strcmp (string, ")") ? ps_bad : ps_right); - + { + /* #pragma pack () resets packing rules to their + defaults. */ + if (strcmp (string, ")") == 0) + { + align = 0; + state = ps_right; + } + else + state = ps_bad; + } else if (TREE_CODE (token) == INTEGER_CST) goto handle_align; |