aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMumit Khan <khan@xraylith.wisc.edu>1999-06-09 02:16:12 +0000
committerJeff Law <law@gcc.gnu.org>1999-06-08 20:16:12 -0600
commit3cc0b5517abf97ac8b44adcfeca642410d99b441 (patch)
tree409dc9e147cd73c81e6558344513d4a13f345618 /gcc
parentef890d35d409ef65eeddb1101386f66fca36d52e (diff)
downloadgcc-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')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/c-pragma.c13
2 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f0673f4..b4f0985 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jun 9 03:10:34 1999 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
+ correctly.
+
Tue Jun 8 13:06:15 1999 Jim Wilson <wilson@cygnus.com>
* configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
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;