diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f0673f45a23..b4f0985c781 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Jun 9 03:10:34 1999 Mumit Khan + + * c-pragma.c (handle_pragma_token): Handle `#pragma pack()' + correctly. + Tue Jun 8 13:06:15 1999 Jim Wilson * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000. diff --git a/gcc/c-pragma.c b/gcc/c-pragma.c index eedd0a13f0d..de9cfb899e5 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;