Re: Re: PHP 4.0 Bug #5882 Updated: Use inline directive in *.c files for global functions in Zend engine
| From: | Stanislav Malyshev | Date: | Tue, 15 Aug 2000 21:48:48 +0000 |
| Subject: | Re: Re: PHP 4.0 Bug #5882 Updated: Use inline directive in *.c files for global functions in Zend engine | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-29066@lists.php.net to get a copy of this message | ||
MB>> I am sorry, this is my mistake, this function declared as
MB>> inline, and (in ANSI compilers) cann't use as external function,
Well, ANSI says nothing on inline, AFAIK.
MB>> becouse in time of compilation, this inline function insert in
MB>> other functions that use it as source code not as call function
MB>> with out defenition as function (inline). In result library, I
MB>> checked this function by #nm foo.lib|grep "foo_inline_function",
MB>> this function not exist (it inlined in other functions, which
MB>> use it)
Seems like that compiler is weird.
MB>> No, becouse, in this situation you defined function in headers with
MB>> implemantation, and in many object files at same time will exist same
Huh? Where there is implementation in headers with -Dinline? Was I missing
something?
MB>> function with equal name - this is error for linker - it cann't choose
MB>> function which will exists in library.
Then your compiler is _really_ broken. That is, you cannot inline function
neither way - nor as gcc does (the logical way), nor as C9X defines
(standard way). What your compiler makers thought inline is for, I
wonder? Just for macros?
--
Stanislav Malyshev stas@zend.com
+972-3-6139665 ext.106