📄 halfpic.h
字号:
/* OSF/rose half-pic support definitions. Copyright (C) 1992 Free Software Foundation, Inc.This file is part of GNU CC.GNU CC is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU CC is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU CC; see the file COPYING. If not, write tothe Free Software Foundation, 59 Temple Place - Suite 330,Boston, MA 02111-1307, USA. */#ifndef NO_HALF_PIC/* Add prototype support. */#ifndef PROTO#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)#define PROTO(ARGS) ARGS#else#define PROTO(ARGS) ()#endif#endif#if !defined(STDIO_PROTO) && !defined(NO_STDIO_H)#ifndef BUFSIZ#include <stdio.h>#endif#define STDIO_PROTO(ARGS) PROTO(ARGS)#endif#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)union tree_node; /* forward reference */struct rtx_def;#endif/* Declare the variable flag_half_pic as 'int' instead of 'extern int', so that BSS variables are created (even though this is not strict ANSI). This is because rtl.c now refers to the CONSTANT_ADDRESS_P macro, which in turn refers to flag_half_pic, and wants to call half_pic_address_p, whose address we also store in in a BSS variable. This way, the gen* programs won't get unknown symbol errors when being linked (flag_half_pic will never be true in the gen* programs). */int flag_half_pic; /* Global half-pic flag. */int (*ptr_half_pic_address_p) (); /* ptr to half_pic_address_p () */extern int half_pic_number_ptrs; /* # distinct pointers found */extern int half_pic_number_refs; /* # half-pic references */extern void half_pic_encode PROTO((union tree_node *)); /* encode whether half-pic */extern void half_pic_declare PROTO((char *)); /* declare object local */extern void half_pic_external PROTO((char *)); /* declare object external */extern void half_pic_init PROTO((void)); /* half_pic initialization */extern int half_pic_address_p PROTO((struct rtx_def *)); /* true if an address is half-pic */extern struct rtx_def *half_pic_ptr PROTO((struct rtx_def *)); /* return RTX for half-pic pointer */#ifdef STDIO_PROTOextern void half_pic_finish STDIO_PROTO((FILE *)); /* half_pic termination */#endif/* Macros to provide access to the half-pic stuff (so they can easily be stubbed out. */#define HALF_PIC_P() (flag_half_pic)#define HALF_PIC_NUMBER_PTRS (half_pic_number_ptrs)#define HALF_PIC_NUMBER_REFS (half_pic_number_refs)#define HALF_PIC_ENCODE(DECL) half_pic_encode (DECL)#define HALF_PIC_DECLARE(NAME) half_pic_declare (NAME)#define HALF_PIC_EXTERNAL(NAME) half_pic_external (NAME)#define HALF_PIC_INIT() half_pic_init ()#define HALF_PIC_FINISH(STREAM) half_pic_finish (STREAM)#define HALF_PIC_ADDRESS_P(X) ((*ptr_half_pic_address_p) (X))#define HALF_PIC_PTR(X) half_pic_ptr (X)/* Prefix for half-pic names */#ifndef HALF_PIC_PREFIX#define HALF_PIC_PREFIX "__pic_"#endif#endif /* NO_HALF_PIC */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -