Annotation of gcc/halfpic.h, revision 1.1.1.6

1.1       root        1: /* OSF/rose half-pic support definitions.
                      2:    Copyright (C) 1992 Free Software Foundation, Inc.
                      3: 
                      4: This file is part of GNU CC.
                      5: 
                      6: GNU CC is free software; you can redistribute it and/or modify
                      7: it under the terms of the GNU General Public License as published by
                      8: the Free Software Foundation; either version 2, or (at your option)
                      9: any later version.
                     10: 
                     11: GNU CC is distributed in the hope that it will be useful,
                     12: but WITHOUT ANY WARRANTY; without even the implied warranty of
                     13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     14: GNU General Public License for more details.
                     15: 
                     16: You should have received a copy of the GNU General Public License
                     17: along with GNU CC; see the file COPYING.  If not, write to
1.1.1.6 ! root       18: the Free Software Foundation, 59 Temple Place - Suite 330,
        !            19: Boston, MA 02111-1307, USA.  */
1.1       root       20: 
1.1.1.4   root       21: #ifndef NO_HALF_PIC
                     22: 
1.1.1.3   root       23: /* Add prototype support.  */
                     24: #ifndef PROTO
                     25: #if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
                     26: #define PROTO(ARGS) ARGS
                     27: #else
                     28: #define PROTO(ARGS) ()
                     29: #endif
                     30: #endif
                     31: 
1.1.1.5   root       32: #if !defined(STDIO_PROTO) && !defined(NO_STDIO_H)
                     33: #ifndef BUFSIZ
                     34: #include <stdio.h>
1.1.1.3   root       35: #endif
1.1.1.5   root       36: 
                     37: #define STDIO_PROTO(ARGS) PROTO(ARGS)
1.1.1.3   root       38: #endif
                     39: 
                     40: #if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
                     41: union tree_node;               /* forward reference */
                     42: struct rtx_def;
                     43: #endif
                     44: 
                     45: /* Declare the variable flag_half_pic as 'int' instead of 'extern
                     46:    int', so that BSS variables are created (even though this is not
                     47:    strict ANSI).  This is because rtl.c now refers to the
                     48:    CONSTANT_ADDRESS_P macro, which in turn refers to flag_half_pic,
                     49:    and wants to call half_pic_address_p, whose address we also store
                     50:    in in a BSS variable.  This way, the gen* programs won't get
                     51:    unknown symbol errors when being linked (flag_half_pic will never
                     52:    be true in the gen* programs).  */
                     53: 
                     54: int flag_half_pic;                     /* Global half-pic flag.  */
                     55: int (*ptr_half_pic_address_p) ();      /* ptr to half_pic_address_p () */
                     56: 
                     57: extern int  half_pic_number_ptrs;                              /* # distinct pointers found */
                     58: extern int  half_pic_number_refs;                              /* # half-pic references */
                     59: extern void half_pic_encode PROTO((union tree_node *));                /* encode whether half-pic */
                     60: extern void half_pic_declare PROTO((char *));                  /* declare object local */
1.1.1.4   root       61: extern void half_pic_external PROTO((char *));                 /* declare object external */
1.1.1.3   root       62: extern void half_pic_init PROTO((void));                       /* half_pic initialization */
                     63: extern int  half_pic_address_p PROTO((struct rtx_def *));      /* true if an address is half-pic */
                     64: extern struct rtx_def *half_pic_ptr PROTO((struct rtx_def *)); /* return RTX for half-pic pointer */
1.1.1.5   root       65: #ifdef STDIO_PROTO
                     66: extern void half_pic_finish STDIO_PROTO((FILE *));             /* half_pic termination */
                     67: #endif
1.1       root       68: 
                     69: /* Macros to provide access to the half-pic stuff (so they can easily
                     70:    be stubbed out.  */
                     71: 
                     72: #define HALF_PIC_P()           (flag_half_pic)
1.1.1.2   root       73: #define HALF_PIC_NUMBER_PTRS   (half_pic_number_ptrs)
                     74: #define HALF_PIC_NUMBER_REFS   (half_pic_number_refs)
                     75: 
1.1       root       76: #define HALF_PIC_ENCODE(DECL)  half_pic_encode (DECL)
1.1.1.2   root       77: #define HALF_PIC_DECLARE(NAME) half_pic_declare (NAME)
1.1.1.4   root       78: #define HALF_PIC_EXTERNAL(NAME)        half_pic_external (NAME)
1.1       root       79: #define HALF_PIC_INIT()                half_pic_init ()
1.1.1.2   root       80: #define HALF_PIC_FINISH(STREAM)        half_pic_finish (STREAM)
1.1.1.3   root       81: #define HALF_PIC_ADDRESS_P(X)  ((*ptr_half_pic_address_p) (X))
1.1.1.2   root       82: #define HALF_PIC_PTR(X)                half_pic_ptr (X)
                     83: 
                     84: /* Prefix for half-pic names */
                     85: #ifndef HALF_PIC_PREFIX
                     86: #define        HALF_PIC_PREFIX "__pic_"
                     87: #endif
1.1.1.4   root       88: 
                     89: #endif /* NO_HALF_PIC */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.