[PATCH 1/8] Fix a few class/struct mixups

Tom Stellard tstellar@redhat.com
Mon Nov 30 19:58:34 GMT 2020


From: Timm Bäder <tbaeder@redhat.com>

This breaks the build with clang, e.g.:

./elaborate.h:47:1: error: 'symresolution_info' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
---
 dwflpp.h   | 2 +-
 loc2stap.h | 2 +-
 session.h  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dwflpp.h b/dwflpp.h
index 25e583908..46813805f 100644
--- a/dwflpp.h
+++ b/dwflpp.h
@@ -182,7 +182,7 @@ struct inline_instance_info : base_func_info
 };
 
 struct location;
-struct location_context;
+class location_context;
 
 struct dwflpp
 {
diff --git a/loc2stap.h b/loc2stap.h
index 818314bb2..df60571a2 100644
--- a/loc2stap.h
+++ b/loc2stap.h
@@ -41,7 +41,7 @@ struct location
   { }
 };
 
-class dwflpp;
+struct dwflpp;
 class location_context
 {
 public:
diff --git a/session.h b/session.h
index 38f1d66de..f60da3e1e 100644
--- a/session.h
+++ b/session.h
@@ -123,7 +123,7 @@ struct parse_error: public std::runtime_error
 };
 
 
-class symresolution_info;
+struct symresolution_info;
 
 struct systemtap_session
 {
-- 
2.26.2



More information about the Systemtap mailing list