c-tree.texi (96263) | c-tree.texi (103445) |
---|---|
1@c Copyright (c) 1999, 2000, 2001 Free Software Foundation, Inc. 2@c Free Software Foundation, Inc. 3@c This is part of the GCC manual. 4@c For copying conditions, see the file gcc.texi. 5 6@c --------------------------------------------------------------------- 7@c Trees 8@c --------------------------------------------------------------------- --- 1189 unchanged lines hidden (view full) --- 1198@code{this} pointer; the thunk should add @code{THUNK_DELTA} to this 1199value. (The @code{THUNK_DELTA} is an @code{int}, not an 1200@code{INTEGER_CST}.) 1201 1202Then, if @code{THUNK_VCALL_OFFSET} (an @code{INTEGER_CST}) is nonzero 1203the adjusted @code{this} pointer must be adjusted again. The complete 1204calculation is given by the following pseudo-code: 1205 | 1@c Copyright (c) 1999, 2000, 2001 Free Software Foundation, Inc. 2@c Free Software Foundation, Inc. 3@c This is part of the GCC manual. 4@c For copying conditions, see the file gcc.texi. 5 6@c --------------------------------------------------------------------- 7@c Trees 8@c --------------------------------------------------------------------- --- 1189 unchanged lines hidden (view full) --- 1198@code{this} pointer; the thunk should add @code{THUNK_DELTA} to this 1199value. (The @code{THUNK_DELTA} is an @code{int}, not an 1200@code{INTEGER_CST}.) 1201 1202Then, if @code{THUNK_VCALL_OFFSET} (an @code{INTEGER_CST}) is nonzero 1203the adjusted @code{this} pointer must be adjusted again. The complete 1204calculation is given by the following pseudo-code: 1205 |
1206@example | 1206@smallexample |
1207this += THUNK_DELTA 1208if (THUNK_VCALL_OFFSET) 1209 this += (*((ptrdiff_t **) this))[THUNK_VCALL_OFFSET] | 1207this += THUNK_DELTA 1208if (THUNK_VCALL_OFFSET) 1209 this += (*((ptrdiff_t **) this))[THUNK_VCALL_OFFSET] |
1210@end example | 1210@end smallexample |
1211 1212Finally, the thunk should jump to the location given 1213by @code{DECL_INITIAL}; this will always be an expression for the 1214address of a function. 1215 1216@item DECL_NON_THUNK_FUNCTION_P 1217This predicate holds if the function is @emph{not} a thunk function. 1218 --- 1097 unchanged lines hidden --- | 1211 1212Finally, the thunk should jump to the location given 1213by @code{DECL_INITIAL}; this will always be an expression for the 1214address of a function. 1215 1216@item DECL_NON_THUNK_FUNCTION_P 1217This predicate holds if the function is @emph{not} a thunk function. 1218 --- 1097 unchanged lines hidden --- |