37 lines
1.3 KiB
Diff
37 lines
1.3 KiB
Diff
|
|
Patch from: https://github.com/bpftrace/bpftrace/pull/3648
|
|
|
|
From 986acde60552af60c0a28aac234c38a7542d2f69 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Holger=20Hoffst=C3=A4tte?= <holger@applied-asynchrony.com>
|
|
Date: Tue, 17 Dec 2024 13:27:41 +0100
|
|
Subject: [PATCH] Fix ODR violation warning when compiling with LTO
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
yy_scan_string is declared to return void* due to a lack of a proper
|
|
type definition of struct yy_buffer_state, which is only available in
|
|
lex.yy.cc. Provide a struct forward declaration so that a proper
|
|
return type can be used. This fixes the LTO complaint.
|
|
|
|
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
|
|
---
|
|
src/driver.cpp | 5 ++++-
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/driver.cpp b/src/driver.cpp
|
|
index 0cd0267323b8..b1d2f91111cd 100644
|
|
--- a/src/driver.cpp
|
|
+++ b/src/driver.cpp
|
|
@@ -5,7 +5,10 @@
|
|
#include "log.h"
|
|
#include "parser.tab.hh"
|
|
|
|
-extern void *yy_scan_string(const char *yy_str, yyscan_t yyscanner);
|
|
+struct yy_buffer_state;
|
|
+
|
|
+extern struct yy_buffer_state *yy_scan_string(const char *yy_str,
|
|
+ yyscan_t yyscanner);
|
|
extern int yylex_init(yyscan_t *scanner);
|
|
extern int yylex_destroy(yyscan_t yyscanner);
|
|
extern bpftrace::location loc;
|