/* Marshalling and unmarshalling.
- Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ Copyright (C) 2014-2020 Free Software Foundation, Inc.
This file is part of GCC.
#define CC1_PLUGIN_MARSHALL_HH
#include "status.hh"
-#include "gcc-c-interface.h"
+#include "gcc-interface.h"
namespace cc1_plugin
{
// integer store it in the out argument.
status unmarshall_intlike (connection *, protocol_int *);
+ status marshall_array_start (connection *, char, size_t);
+ status marshall_array_elmts (connection *, size_t, void *);
+
+ status unmarshall_array_start (connection *, char, size_t *);
+ status unmarshall_array_elmts (connection *, size_t, void *);
+
// A template function that can handle marshalling various integer
// objects to the connection.
template<typename T>
return OK;
}
- // Unmarshallers for some specific enum types. With C++11 we
- // wouldn't need these, as we could add type traits to the scalar
- // unmarshaller.
- status unmarshall (connection *, enum gcc_c_symbol_kind *);
- status unmarshall (connection *, enum gcc_qualifiers *);
- status unmarshall (connection *, enum gcc_c_oracle_request *);
-
// Send a string type marker followed by a string.
status marshall (connection *, const char *);