#define GLCPP_H
#include <stdint.h>
+#include <stdbool.h>
-#include <talloc.h>
+#include "main/mtypes.h"
+
+#include "../ralloc.h"
#include "program/hash_table.h"
token_node_t *lex_from_node;
char *output;
char *info_log;
+ size_t output_length;
+ size_t info_log_length;
int error;
+ bool has_new_line_number;
+ int new_line_number;
+ bool has_new_source_number;
+ int new_source_number;
+ bool is_gles;
};
struct gl_extensions;
glcpp_parser_t *
-glcpp_parser_create (const struct gl_extensions *extensions);
+glcpp_parser_create (const struct gl_extensions *extensions, int api);
int
glcpp_parser_parse (glcpp_parser_t *parser);
glcpp_parser_destroy (glcpp_parser_t *parser);
int
-preprocess(void *talloc_ctx, const char **shader, char **info_log,
- const struct gl_extensions *extensions);
+glcpp_preprocess(void *ralloc_ctx, const char **shader, char **info_log,
+ const struct gl_extensions *extensions, struct gl_context *g_ctx);
/* Functions for writing to the info log */
int
yyparse (glcpp_parser_t *parser);
-/* xtalloc - wrappers around talloc to check for out-of-memory */
-
-#define xtalloc(ctx, type) (type *)xtalloc_named_const(ctx, sizeof(type), #type)
-
-#define xtalloc_size(ctx, size) xtalloc_named_const(ctx, size, __location__)
-
-void *
-xtalloc_named_const (const void *context, size_t size, const char *name);
-
-char *
-xtalloc_strdup (const void *t, const char *p);
-
-char *
-xtalloc_strndup (const void *t, const char *p, size_t n);
-
-char *
-xtalloc_asprintf (const void *t, const char *fmt, ...);
-
-void *
-_xtalloc_reference_loc (const void *context,
- const void *ptr, const char *location);
-
-#define xtalloc_reference(ctx, ptr) (_TALLOC_TYPEOF(ptr))_xtalloc_reference_loc((ctx),(ptr), __location__)
-
#endif