Kouhei Sutou created ARROW-16974:
------------------------------------

             Summary: [GLib] C99 incompatible
                 Key: ARROW-16974
                 URL: https://issues.apache.org/jira/browse/ARROW-16974
             Project: Apache Arrow
          Issue Type: Improvement
          Components: GLib
            Reporter: Kouhei Sutou
            Assignee: Kouhei Sutou
             Fix For: 9.0.0


We can't use multiple {{typedef struct _XXX XXX}} in C99.

https://github.com/kou/datafusion-c/runs/7177906562?check_suite_focus=true

{noformat}
FAILED: 
datafusion-glib/libdatafusion-glib.8.dylib.p/meson-generated_.._enums.c.o 
cc -Idatafusion-glib/libdatafusion-glib.8.dylib.p -Idatafusion-glib 
-I../datafusion-glib -I. -I.. -I/usr/local/Cellar/libffi/3.4.2/include 
-I/usr/local/Cellar/apache-arrow-glib/8.0.0/include 
-I/usr/local/Cellar/glib/2.72.2/include 
-I/usr/local/Cellar/glib/2.72.2/include/glib-2.0 
-I/usr/local/Cellar/glib/2.72.2/lib/glib-2.0/include 
-I/usr/local/opt/gettext/include -I/usr/local/Cellar/pcre/8.45/include 
-I/usr/local/Cellar/apache-arrow/8.0.0_3/include -fcolor-diagnostics -Wall 
-Winvalid-pch -Werror -std=c99 -O0 -g -MD -MQ 
datafusion-glib/libdatafusion-glib.8.dylib.p/meson-generated_.._enums.c.o -MF 
datafusion-glib/libdatafusion-glib.8.dylib.p/meson-generated_.._enums.c.o.d -o 
datafusion-glib/libdatafusion-glib.8.dylib.p/meson-generated_.._enums.c.o -c 
datafusion-glib/enums.c
In file included from datafusion-glib/enums.c:23:
In file included from ../datafusion-glib/datafusion-glib.h:22:
In file included from ../datafusion-glib/data-frame.h:22:
In file included from 
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/arrow-glib.h:25:
In file included from 
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/array.h:22:
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/basic-array.h:48:26:
 error: redefinition of typedef 'GArrowArray' is a C11 feature 
[-Werror,-Wtypedef-redefinition]
G_DECLARE_DERIVABLE_TYPE(GArrowArray,
                         ^
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/basic-data-type.h:622:29:
 note: previous definition is here
typedef struct _GArrowArray GArrowArray;
                            ^
In file included from datafusion-glib/enums.c:23:
In file included from ../datafusion-glib/datafusion-glib.h:22:
In file included from ../datafusion-glib/data-frame.h:22:
In file included from 
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/arrow-glib.h:25:
In file included from 
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/array.h:22:
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/basic-array.h:768:26:
 error: redefinition of typedef 'GArrowExtensionArray' is a C11 feature 
[-Werror,-Wtypedef-redefinition]
G_DECLARE_DERIVABLE_TYPE(GArrowExtensionArray,
                         ^
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/basic-data-type.h:623:38:
 note: previous definition is here
typedef struct _GArrowExtensionArray GArrowExtensionArray;
                                     ^
In file included from datafusion-glib/enums.c:23:
In file included from ../datafusion-glib/datafusion-glib.h:22:
In file included from ../datafusion-glib/data-frame.h:22:
In file included from 
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/arrow-glib.h:27:
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/chunked-array.h:27:26:
 error: redefinition of typedef 'GArrowChunkedArray' is a C11 feature 
[-Werror,-Wtypedef-redefinition]
G_DECLARE_DERIVABLE_TYPE(GArrowChunkedArray,
                         ^
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/basic-data-type.h:630:36:
 note: previous definition is here
typedef struct _GArrowChunkedArray GArrowChunkedArray;
                                   ^
In file included from datafusion-glib/enums.c:23:
In file included from ../datafusion-glib/datafusion-glib.h:22:
In file included from ../datafusion-glib/data-frame.h:22:
In file included from 
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/arrow-glib.h:29:
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/compute.h:370:26: 
error: redefinition of typedef 'GArrowCastOptions' is a C11 feature 
[-Werror,-Wtypedef-redefinition]
G_DECLARE_DERIVABLE_TYPE(GArrowCastOptions,
                         ^
/usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/scalar.h:26:35: 
note: previous definition is here
typedef struct _GArrowCastOptions GArrowCastOptions;
                                  ^
4 errors generated.
{noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to