Some functions share the same name between ctf-parser/lexer and
filter-parser/lexer.
This patch protects the visibility of the functions with the same name
to avoid linkage confusions.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
#include "ctf-parser.h"
#include "ctf-ast.h"
#include "ctf-parser.h"
#include "ctf-ast.h"
+__attribute__((visibility("protected")))
void setstring(struct ctf_scanner *scanner, YYSTYPE *lvalp, const char *src);
static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
void setstring(struct ctf_scanner *scanner, YYSTYPE *lvalp, const char *src);
static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
#include "ctf-parser.h"
#include "ctf-ast.h"
#include "ctf-parser.h"
#include "ctf-ast.h"
+__attribute__((visibility("protected")))
int yydebug;
/* Join two lists, put "add" at the end of "head". */
int yydebug;
/* Join two lists, put "add" at the end of "head". */
+__attribute__((visibility("protected")))
int yyparse(struct ctf_scanner *scanner);
int yyparse(struct ctf_scanner *scanner);
+__attribute__((visibility("protected")))
int yylex(union YYSTYPE *yyval, struct ctf_scanner *scanner);
int yylex(union YYSTYPE *yyval, struct ctf_scanner *scanner);
+__attribute__((visibility("protected")))
int yylex_init_extra(struct ctf_scanner *scanner, yyscan_t * ptr_yy_globals);
int yylex_init_extra(struct ctf_scanner *scanner, yyscan_t * ptr_yy_globals);
+__attribute__((visibility("protected")))
int yylex_destroy(yyscan_t yyscanner);
int yylex_destroy(yyscan_t yyscanner);
+__attribute__((visibility("protected")))
void yyrestart(FILE * in_str, yyscan_t scanner);
struct gc_string {
void yyrestart(FILE * in_str, yyscan_t scanner);
struct gc_string {
[ NODE_STRUCT ] = "NODE_STRUCT",
};
[ NODE_STRUCT ] = "NODE_STRUCT",
};
+__attribute__((visibility("protected")))
const char *node_type(struct ctf_node *node)
{
if (node->type < NR_NODE_TYPES)
const char *node_type(struct ctf_node *node)
{
if (node->type < NR_NODE_TYPES)
* gsrc will be garbage collected immediately, and gstr might be.
* Should only be used to append characters to a string literal or constant.
*/
* gsrc will be garbage collected immediately, and gstr might be.
* Should only be used to append characters to a string literal or constant.
*/
+__attribute__((visibility("protected")))
struct gc_string *gc_string_append(struct ctf_scanner *scanner,
struct gc_string *gstr,
struct gc_string *gsrc)
struct gc_string *gc_string_append(struct ctf_scanner *scanner,
struct gc_string *gstr,
struct gc_string *gsrc)
+__attribute__((visibility("protected")))
int is_type(struct ctf_scanner *scanner, const char *id)
{
struct ctf_scanner_scope *it;
int is_type(struct ctf_scanner *scanner, const char *id)
{
struct ctf_scanner_scope *it;
+__attribute__((visibility("protected")))
void yyerror(struct ctf_scanner *scanner, const char *str)
{
fprintf(stderr, "error %s\n", str);
}
void yyerror(struct ctf_scanner *scanner, const char *str)
{
fprintf(stderr, "error %s\n", str);
}
+__attribute__((visibility("protected")))
int yywrap(void)
{
return 1;
int yywrap(void)
{
return 1;
+__attribute__((visibility("protected")))
int is_type(struct ctf_scanner *scanner, const char *id);
#endif /* _CTF_SCANNER_H */
int is_type(struct ctf_scanner *scanner, const char *id);
#endif /* _CTF_SCANNER_H */