aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorCharles Hannum <mycroft@gnu.org>1992-06-30 03:10:12 +0000
committerCharles Hannum <mycroft@gnu.org>1992-06-30 03:10:12 +0000
commitd3414ccbd1d1e56b9376e1d317c223ed162c8d72 (patch)
tree8ad1158275568e8fb1ff0d18c7ce7ec3e37d9a56 /gcc
parentd4c40650c2b74ed0bd3c17970e7d38f64c91a3cd (diff)
downloadgcc-d3414ccbd1d1e56b9376e1d317c223ed162c8d72.zip
gcc-d3414ccbd1d1e56b9376e1d317c223ed162c8d72.tar.gz
gcc-d3414ccbd1d1e56b9376e1d317c223ed162c8d72.tar.bz2
entered into RCS
From-SVN: r1356
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/i386.c172
1 files changed, 1 insertions, 171 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 6dcf07b..d539482 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for Intel 80386.
- Copyright (C) 1988 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1992 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1852,173 +1852,3 @@ output_fp_cc0_set (insn)
}
RET;
}
-
-#ifdef HANDLE_PRAGMA
-
-/* When structure field packing is in effect, this variable is the
- number of bits to use as the maximum alignment. When packing is not
- in effect, this is zero. */
-
-int maximum_field_alignment = 0;
-
-/* Handle a pragma directive. HANDLE_PRAGMA conspires to parse the
- input following #pragma into tokens based on yylex. TOKEN is the
- current token, and STRING is its printable form. */
-
-void
-handle_pragma_token (string, token)
- char *string;
- tree token;
-{
- static enum pragma_state
- {
- ps_start,
- ps_done,
- ps_bad,
- ps_weak,
- ps_name,
- ps_equals,
- ps_value,
- ps_pack,
- ps_left,
- ps_align,
- ps_right
- } state = ps_start, type;
- static char *name;
- static char *value;
- static int align;
-
- if (string == 0)
- {
- if (type == ps_pack)
- {
- if (state == ps_right)
- maximum_field_alignment = align * 8;
- else
- warning ("ignoring malformed #pragma pack( [ 1 | 2 | 4 ] )");
- }
-#ifdef WEAK_ASM_OP
- else if (type == ps_weak)
- {
- if (state == ps_name || state == ps_value)
- {
- fprintf (asm_out_file, "\t%s\t", WEAK_ASM_OP);
- ASM_OUTPUT_LABELREF (asm_out_file, name);
- fputc ('\n', asm_out_file);
- if (state == ps_value)
- {
- fprintf (asm_out_file, "\t%s\t", SET_ASM_OP);
- ASM_OUTPUT_LABELREF (asm_out_file, name);
- fputc (',', asm_out_file);
- ASM_OUTPUT_LABELREF (asm_out_file, value);
- fputc ('\n', asm_out_file);
- }
- }
- else if (! (state == ps_done || state == ps_start))
- warning ("ignoring malformed #pragma weak symbol [=value]");
- }
-#endif /* WEAK_ASM_OP */
-
- type = state = ps_start;
- return;
- }
-
- switch (state)
- {
- case ps_start:
- if (token && TREE_CODE (token) == IDENTIFIER_NODE)
- {
- if (strcmp (IDENTIFIER_POINTER (token), "pack") == 0)
- type = state = ps_pack;
-#ifdef WEAK_ASM_OP
- else if (strcmp (IDENTIFIER_POINTER (token), "weak") == 0)
- type = state = ps_weak;
-#endif
- else
- type = state = ps_done;
- }
- else
- type = state = ps_done;
- break;
-
-#ifdef WEAK_ASM_OP
- case ps_weak:
- if (token && TREE_CODE (token) == IDENTIFIER_NODE)
- {
- name = IDENTIFIER_POINTER (token);
- state = ps_name;
- }
- else
- state = ps_bad;
- break;
-
- case ps_name:
- state = (strcmp (string, "=") ? ps_bad : ps_equals);
- break;
-
- case ps_equals:
- if (token && TREE_CODE (token) == IDENTIFIER_NODE)
- {
- value = IDENTIFIER_POINTER (token);
- state = ps_value;
- }
- else
- state = ps_bad;
- break;
-
- case ps_value:
- state = ps_bad;
- break;
-#endif /* WEAK_ASM_OP */
-
- case ps_pack:
- if (strcmp (string, "(") == 0)
- state = ps_left;
- else
- state = ps_bad;
- break;
-
- case ps_left:
- if (token && TREE_CODE (token) == INTEGER_CST
- && TREE_INT_CST_HIGH (token) == 0)
- switch (TREE_INT_CST_LOW (token))
- {
- case 1:
- case 2:
- case 4:
- align = TREE_INT_CST_LOW (token);
- state = ps_align;
- break;
-
- default:
- state = ps_bad;
- }
- else if (! token && strcmp (string, ")") == 0)
- {
- align = 0;
- state = ps_right;
- }
- else
- state = ps_bad;
- break;
-
- case ps_align:
- if (strcmp (string, ")") == 0)
- state = ps_right;
- else
- state = ps_bad;
- break;
-
- case ps_right:
- state = ps_bad;
- break;
-
- case ps_bad:
- case ps_done:
- break;
-
- default:
- abort ();
- }
-}
-#endif /* HANDLE_PRAGMA */