Thanks for the explanation. I think I'll do that and add the prototypes
to the headers (no prototypes for the inline functions).
Regards
Mihael
-----Original Message-----
From: c400-l-bounces+mihael.schmidt=rossmann.de@xxxxxxxxxxxx
[mailto:c400-l-bounces+mihael.schmidt=rossmann.de@xxxxxxxxxxxx] On
Behalf Of Simon Coulter
Sent: Friday, February 05, 2010 1:18 PM
To: C programming iSeries / AS400
Subject: Re: [C400-L] problem with inline function
On 05/02/2010, at 10:46 PM, Schmidt, Mihael wrote:
"Problem" is that this is not my source code and I am just trying to
get
this compiled on IBM i. Of course I could use #pragma and of course I
could just use __inline.
My goal is not to have to change the source code.
Hmm, reading the C/C++ Language Reference indicates inline as a
function declarator is a C++ addition so I took you previous example
code and compiled that using the C++ compiler (source type CPP) and
that changed the error. Now it complains about the prototype and the
function not matching. Adding static inline to the prototype fixed that.
So you need to ensure:
a) You use the C++ compiler
b) Prototypes and functions match
Regarding b) some compilers are less rigourous than the ILE C/C++
compiler and may tolerate mismatches between prototypes and function
declarations. Welcome to the joy of porting C/C++ to different
platforms.
Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists
http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------
As an Amazon Associate we earn from qualifying purchases.