libiodbc: use gnu17 and ignore incompatible-pointer-types to allow building with gcc-15

A fix was sent in:
https://lists.openembedded.org/g/openembedded-devel/message/116537
but it causes issues with clang as well as older gcc as reported on
ML and also in upstream PR:
https://github.com/openlink/iODBC/pull/111

Use gnu17 until this is properly resolved to avoid:
http://errors.yoctoproject.org/Errors/Details/852861/

In file included from ../../libiodbc-3.52.16/iodbc/execute.c:94:
../../libiodbc-3.52.16/iodbc/execute.c: In function '_ReBindParam':
../../libiodbc-3.52.16/iodbc/execute.c:643:49: error: too many arguments to function 'hproc3'; expected 0, have 8
  643 |       CALL_DRIVER (pstmt->hdbc, pstmt, retcode, hproc3,
      |                                                 ^~~~~~

http://errors.yoctoproject.org/Errors/Details/853276/
../../libiodbc-3.52.16/iodbcinst/unicode.c: In function 'dm_AtoUW':
../../libiodbc-3.52.16/iodbcinst/unicode.c:1565:16: error: initialization of 'ucs4_t *' {aka 'unsigned int *'} from incompatible pointer type 'wchar_t *' {aka 'long int *'} [-Wincompatible-pointer-types]
 1565 |   ucs4_t *us = dest;
      |                ^~~~

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Martin Jansa 2025-04-29 12:52:24 +02:00 committed by Khem Raj
parent f9275b880e
commit 5955ed4da2
No known key found for this signature in database
GPG Key ID: BB053355919D3314

View File

@ -31,3 +31,9 @@ EXTRA_OECONF += " --prefix=/usr/local \
inherit multilib_script
MULTILIB_SCRIPTS = "${PN}:${bindir}/iodbc-config"
# avoid http://errors.yoctoproject.org/Errors/Details/852861/
CFLAGS += "-std=gnu17"
# http://errors.yoctoproject.org/Errors/Details/853276/
# libiodbc-3.52.16/iodbcinst/unicode.c:1565:16: error: initialization of 'ucs4_t *' {aka 'unsigned int *'} from incompatible pointer type 'wchar_t *' {aka 'long int *'} [-Wincompatible-pointer-types]
CFLAGS += "-Wno-error=incompatible-pointer-types"