Commit 04a2ecf7 by Jason Merrill Committed by Jason Merrill

cp-tree.def (TEMPLATE_PARM_INDEX): Calculate size using sizeof (struct tree_common).

	* cp-tree.def (TEMPLATE_PARM_INDEX): Calculate size using
	sizeof (struct tree_common).

From-SVN: r30949
parent 03c3ba39
1999-12-15 Jason Merrill <jason@yorick.cygnus.com>
* cp-tree.def (TEMPLATE_PARM_INDEX): Calculate size using
sizeof (struct tree_common).
1999-12-14 Jason Merrill <jason@casey.cygnus.com> 1999-12-14 Jason Merrill <jason@casey.cygnus.com>
* optimize.c (expand_call_inline): Set BLOCK_ABSTRACT_ORIGIN on the * optimize.c (expand_call_inline): Set BLOCK_ABSTRACT_ORIGIN on the
......
/* This file contains the definitions and documentation for the /* This file contains the definitions and documentation for the
additional tree codes used in the GNU C++ compiler (see tree.def additional tree codes used in the GNU C++ compiler (see tree.def
for the standard codes). for the standard codes).
Copyright (C) 1987, 1988, 1990, 1993, 1997, 1998 Free Software Foundation, Inc. Copyright (C) 1987,88,90,93,97-8,1999 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com) Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -125,12 +125,15 @@ DEFTREECODE (TEMPLATE_DECL, "template_decl", 'd', 0) ...@@ -125,12 +125,15 @@ DEFTREECODE (TEMPLATE_DECL, "template_decl", 'd', 0)
the types of things; the ORIG_LEVEL is the level when we are the types of things; the ORIG_LEVEL is the level when we are
worrying about instantiating things. */ worrying about instantiating things. */
DEFTREECODE (TEMPLATE_PARM_INDEX, "template_parm_index", 'x', DEFTREECODE (TEMPLATE_PARM_INDEX, "template_parm_index", 'x',
/* The addition of (sizeof(char*) - 1) in the next /* The addition of (sizeof(tree) - 1) in the next expression
expression is to ensure against the case where is to handle the case when padding pushes us past an even
sizeof(char*) does not evenly divide multiple of sizeof(tree). */
sizeof(HOST_WIDE_INT). */ /* We used to try to calculate this using
1 + ((3 * sizeof (HOST_WIDE_INT) + sizeof(char*) - 1) 1+3*sizeof(HOST_WIDE_INT), but that fails if alignment
/ sizeof (char*))) makes it bigger. */
((sizeof (template_parm_index) - sizeof (struct tree_common))
+ sizeof (tree) - 1)
/ sizeof (tree))
/* Index into a template parameter list. This parameter must be a type. /* Index into a template parameter list. This parameter must be a type.
The TYPE_FIELDS value will be a TEMPLATE_PARM_INDEX. */ The TYPE_FIELDS value will be a TEMPLATE_PARM_INDEX. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment