Opened 15 years ago

Closed 15 years ago

#3095 closed defect (worksforme)

inline use for C code fails with MSVC2003

Reported by: warmerdam Owned by: warmerdam
Priority: normal Milestone: 5.6 release
Component: Build Problems Version: svn-trunk (development)
Severity: normal Keywords: inline
Cc: tbonfort, assefa

Description

Building MapServer trunk causes a build failure due to use of inline attribute for functions compiled as C code.

        cl /nologo /Ox /MD /W3  /EHsc -I/osgeo4w/include/gd  -I/osgeo4w/include
   -I\osgeo4w\include\regex-0.12                -Ic:\warmerda\mapserver\..\zlib-
1.2.3   -I/osgeo4w/include/freetype     -DHAVE_STRING_H -DREGEX_MALLOC -DNEED_ST
RCASECMP -DNEED_STRNCASECMP -DNEED_STRLCAT -DNEED_STRRSTR -DNEED_STRCASESTR
 -DUSE_JPEG -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_GIF -DGD_HAS_GDIMA
GEGIFPTR -DUSE_GD_FT -DGD_HAS_GETBITMAPFONT -DGD_HAS_FTEX_XSHOW   -DUSE_THREAD
  -DIGNORE_MISSING_DATA               -DUSE_GD_ANTIALIAS       -DUSE_ZLIB    -DU
SE_AGG      -DWIN32 -D_WIN32 /c mapbits.c /Fomapbits.obj
mapbits.c
c:\warmerda\mapserver\mapserver.h(2541) : error C2054: expected '(' to follow 'i
nline'
c:\warmerda\mapserver\mapserver.h(2541) : error C2085: 'msBufferInit' : not in f
ormal parameter list

I was able to build after removing the inline attribute from the buffer functions, and populateRendererVTableCairoVector.

Is it really legal C to use inline? Should we make it a macro so it can be selectively disabled for compilers that don't support it?

Change History (4)

comment:1 by warmerdam, 15 years ago

Cc: tbonfort added

Adding tbonfort who appears to have added all inline use. I am willing to craft a conditional inline patch if desired.

comment:2 by dmorissette, 15 years ago

Cc: assefa added
Owner: changed from dmorissette to warmerda

comment:3 by dmorissette, 15 years ago

Owner: changed from warmerda to warmerdam

comment:4 by warmerdam, 15 years ago

Resolution: worksforme
Status: newclosed

I have not been able to reproduce this with VS2003 on my normal FWTools build, so I'm rather confused. I'm going to close for now, we can reopen if the problem comes up elsewhere.

Note: See TracTickets for help on using tickets.