(linenum→info "unix/slp.c:2238")

gcc/4.2.2/gcc/coretypes.h

    1: /* GCC core type declarations.
    2:    Copyright (C) 2002, 2004, 2007 Free Software Foundation, Inc.
    3: 
    4: This file is part of GCC.
    5: 
    6: GCC is free software; you can redistribute it and/or modify it under
    7: the terms of the GNU General Public License as published by the Free
    8: Software Foundation; either version 3, or (at your option) any later
    9: version.
   10: 
   11: GCC is distributed in the hope that it will be useful, but WITHOUT ANY
   12: WARRANTY; without even the implied warranty of MERCHANTABILITY or
   13: FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   14: for more details.
   15: 
   16: You should have received a copy of the GNU General Public License
   17: along with GCC; see the file COPYING3.  If not see
   18: <http://www.gnu.org/licenses/>.  */
   19: 
   20: /* Provide forward declarations of core types which are referred to by
   21:    most of the compiler.  This allows header files to use these types
   22:    (e.g. in function prototypes) without concern for whether the full
   23:    definitions are visible.  Some other declarations that need to be
   24:    universally visible are here, too.
   25: 
   26:    In the context of tconfig.h, most of these have special definitions
   27:    which prevent them from being used except in further type
   28:    declarations.  This is a kludge; the right thing is to avoid
   29:    including the "tm.h" header set in the context of tconfig.h, but
   30:    we're not there yet.  */
   31: 
   32: #ifndef GCC_CORETYPES_H
   33: #define GCC_CORETYPES_H
   34: 
   35: #define GTY(x)  /* nothing - marker for gengtype */
Permalink to this note ueno: gcc/4.2.2/gcc/coretypes.h:35-35 on Sat Jan 12 13:43:48 +0900 2008

すみません、login のはバグっぽいです。直したつもり…。

Permalink to this note guest: gcc/4.2.2/gcc/coretypes.h:35-35 on Sat Jan 12 00:54:10 +0900 2008

これがどのように働くかを調べたり、理解するのはちょっと大変そう。gccint の 19 章か 20 章に説明があるらしいけれど。 (一度 guest で書いたのですが login してから消せたので、書直しました。と思ったがまだ login 出来ていなかったか ?

36: 37: #ifndef USED_FOR_TARGET 38: 39: struct bitmap_head_def; 40: typedef struct bitmap_head_def *bitmap; 41: struct rtx_def; 42: typedef struct rtx_def *rtx; 43: struct rtvec_def; 44: typedef struct rtvec_def *rtvec; 45: union tree_node; 46: typedef union tree_node *tree; 47: union section; 48: typedef union section section; 49: 50: /* Provide forward struct declaration so that we don't have to include 51: all of cpplib.h whenever a random prototype includes a pointer. 52: Note that the cpp_reader typedef remains part of cpplib.h. */ 53: 54: struct cpp_reader; 55: 56: /* The thread-local storage model associated with a given VAR_DECL 57: or SYMBOL_REF. This isn't used much, but both trees and RTL refer 58: to it, so it's here. */ 59: enum tls_model { 60: TLS_MODEL_NONE, 61: TLS_MODEL_GLOBAL_DYNAMIC, 62: TLS_MODEL_LOCAL_DYNAMIC, 63: TLS_MODEL_INITIAL_EXEC, 64: TLS_MODEL_LOCAL_EXEC 65: }; 66: 67: #else 68: 69: struct _dont_use_rtx_here_; 70: struct _dont_use_rtvec_here_; 71: union _dont_use_tree_here_; 72: #define rtx struct _dont_use_rtx_here_ * 73: #define rtvec struct _dont_use_rtvec_here * 74: #define tree union _dont_use_tree_here_ * 75: 76: #endif 77: 78: #endif /* coretypes.h */ 79:
Syntax (Markdown)