#include <string.h>
#include <stdlib.h>
#include <inttypes.h>
-#include "common/bytecode/bytecode.h"
-#include "filter-ast.h"
+#include "common/bytecode/bytecode.hpp"
+#include "filter-ast.hpp"
#include "filter-parser.hpp"
-#include "memstream.h"
+#include "memstream.hpp"
-#include <common/compat/errno.h>
-#include <common/macros.h>
+#include <common/compat/errno.hpp>
+#include <common/compiler.hpp>
+#include <common/macros.hpp>
#define WIDTH_u64_SCANF_IS_A_BROKEN_API "20"
#define WIDTH_o64_SCANF_IS_A_BROKEN_API "22"
#define WIDTH_x64_SCANF_IS_A_BROKEN_API "17"
#define WIDTH_lg_SCANF_IS_A_BROKEN_API "4096" /* Hugely optimistic approximation */
+/*
+ * bison 3.8.2 produces a parser with unused, but set, which results in warnings
+ * at build time.
+ */
+#ifdef __clang__
+#pragma clang diagnostic ignored "-Wunused-but-set-variable"
+#endif /* __clang__ */
+
#ifdef DEBUG
static const int print_xml = 1;
#define dbg_printf(fmt, args...) \
struct gc_string {
struct cds_list_head gc;
size_t alloclen;
- char s[];
+ char s[LTTNG_FLEXIBLE_ARRAY_MEMBER_LENGTH];
};
static
for (alloclen = 8; alloclen < sizeof(long) + sizeof(*gstr) + len;
alloclen *= 2);
- gstr = (gc_string *) zmalloc(alloclen);
+ gstr = zmalloc<gc_string>(alloclen);
if (!gstr) {
goto end;
}
struct filter_ast *ast = filter_parser_get_ast(scanner);
struct filter_node *node;
- node = (filter_node *) zmalloc(sizeof(*node));
+ node = zmalloc<filter_node>();
if (!node)
return NULL;
memset(node, 0, sizeof(*node));
struct filter_ast *ast = filter_parser_get_ast(scanner);
struct filter_node *node;
- node = (filter_node *) zmalloc(sizeof(*node));
+ node = zmalloc<filter_node>();
if (!node)
return NULL;
memset(node, 0, sizeof(*node));
{
struct filter_ast *ast;
- ast = (filter_ast *) zmalloc(sizeof(*ast));
+ ast = zmalloc<filter_ast>();
if (!ast)
return NULL;
memset(ast, 0, sizeof(*ast));
yydebug = filter_parser_debug;
- parser_ctx = (filter_parser_ctx *) zmalloc(sizeof(*parser_ctx));
+ parser_ctx = zmalloc<filter_parser_ctx>();
if (!parser_ctx)
return NULL;
memset(parser_ctx, 0, sizeof(*parser_ctx));
%code provides
{
-#include "common/macros.h"
+#include "common/macros.hpp"
void setstring(struct filter_parser_ctx *parser_ctx, YYSTYPE *lvalp, const char *src);
}