From 3d723e8887a52d1445bf3a7a21b60d2d049aa07b Mon Sep 17 00:00:00 2001 From: Cuyler36 Date: Tue, 5 Dec 2023 19:42:22 -0500 Subject: [PATCH] Add pragma to fix inclusion issues with linklist.h --- include/JSystem/JGadget/linklist.h | 37 ++++++++++++--------- include/JSystem/JKernel/JKRThread.h | 3 +- include/JSystem/JUtility/JUTConsole.h | 7 +++- include/JSystem/JUtility/JUTConsoleExtern.h | 21 ------------ src/JSystem/JKernel/JKRExpHeap.cpp | 2 +- 5 files changed, 30 insertions(+), 40 deletions(-) delete mode 100644 include/JSystem/JUtility/JUTConsoleExtern.h diff --git a/include/JSystem/JGadget/linklist.h b/include/JSystem/JGadget/linklist.h index 77f88184..d375d04c 100644 --- a/include/JSystem/JGadget/linklist.h +++ b/include/JSystem/JGadget/linklist.h @@ -183,6 +183,9 @@ private: TLinkListNode oNode_; }; +#pragma push +#pragma sym off /* required to prevent messing up other TU layouts */ + template class TLinkList : public TNodeLinkList { public: @@ -245,56 +248,58 @@ public: TNodeLinkList::const_iterator mIt; }; - inline iterator begin() { return TNodeLinkList::begin(); } - inline const_iterator begin() const { return const_cast(this)->begin(); } + iterator begin() { return TNodeLinkList::begin(); } + const_iterator begin() const { return const_cast(this)->begin(); } - inline iterator end() { return TNodeLinkList::end(); } - inline const_iterator end() const { return const_cast(this)->end(); } + iterator end() { return TNodeLinkList::end(); } + const_iterator end() const { return const_cast(this)->end(); } - inline iterator Find(const T* p) { return TNodeLinkList::Find(TLinkList::Element_toNode(p)); } - inline iterator Erase(T* p) { return TNodeLinkList::Erase(Element_toNode(p)); } - inline iterator Insert(iterator it, T *p) { return TNodeLinkList::Insert(it.mIt, TLinkList::Element_toNode(p)); } - inline void Remove(T* p) { TNodeLinkList::Remove(TLinkList::Element_toNode(p)); } - inline void Push_front(T* p) { Insert(begin(), p); } - inline void Push_back(T* p) { Insert(end(), p); } + iterator Find(const T* p) { return TNodeLinkList::Find(TLinkList::Element_toNode(p)); } + iterator Erase(T* p) { return TNodeLinkList::Erase(Element_toNode(p)); } + iterator Insert(iterator it, T *p) { return TNodeLinkList::Insert(it.mIt, TLinkList::Element_toNode(p)); } + void Remove(T* p) { TNodeLinkList::Remove(TLinkList::Element_toNode(p)); } + void Push_front(T* p) { Insert(begin(), p); } + void Push_back(T* p) { Insert(end(), p); } - inline T& front() { + T& front() { #line 642 JUT_ASSERT(!empty()); return *begin(); } - inline T& back() { + T& back() { #line 652 JUT_ASSERT(!empty()); return *--end(); } - static inline TLinkListNode* Element_toNode(T* p) { + static TLinkListNode* Element_toNode(T* p) { #line 753 JUT_ASSERT(p!=0); return (TLinkListNode*)((char*)p - O); } - static inline const TLinkListNode* Element_toNode(const T* p) { + static const TLinkListNode* Element_toNode(const T* p) { #line 758 JUT_ASSERT(p!=0); return (const TLinkListNode*)((const char*)p - O); } - static inline T* Element_toValue(TLinkListNode* p) { + static T* Element_toValue(TLinkListNode* p) { #line 763 JUT_ASSERT(p!=0); return (T*)((char*)p + O); } - static inline const T* Element_toValue(const TLinkListNode* p) { + static const T* Element_toValue(const TLinkListNode* p) { #line 768 JUT_ASSERT(p!=0); return (const T*)((const char*)p + O); } }; +#pragma pop + } #endif diff --git a/include/JSystem/JKernel/JKRThread.h b/include/JSystem/JKernel/JKRThread.h index a9375a1a..bf750e82 100644 --- a/include/JSystem/JKernel/JKRThread.h +++ b/include/JSystem/JKernel/JKRThread.h @@ -8,9 +8,10 @@ #include "JSystem/JSupport/JSUList.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JKernel/JKRDisposer.h" +#include "JSystem/JUtility/JUTConsole.h" struct JKRThread; -class JUTConsole; +//class JUTConsole; struct JKRThreadName_ { diff --git a/include/JSystem/JUtility/JUTConsole.h b/include/JSystem/JUtility/JUTConsole.h index 9c8f7773..bd7e77c0 100644 --- a/include/JSystem/JUtility/JUTConsole.h +++ b/include/JSystem/JUtility/JUTConsole.h @@ -5,7 +5,6 @@ #include "JSystem/JGadget/linklist.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JUtility/JUTFont.h" -#include "JSystem/JUtility/JUTConsoleExtern.h" inline s32 colorCheck(s32 diff, s32 t) { @@ -158,6 +157,12 @@ JUTConsole* JUTGetReportConsole(); void JUTSetReportConsole(JUTConsole*); JUTConsole* JUTGetWarningConsole(); void JUTSetWarningConsole(JUTConsole*); +void JUTReportConsole(const char*); +void JUTReportConsole_f(const char*, ...); +void JUTReportConsole_f_va(const char*, va_list); +void JUTWarningConsole(const char*); +void JUTWarningConsole_f(const char*, ...); +void JUTWarningConsole_f_va(const char*, va_list); }; #endif diff --git a/include/JSystem/JUtility/JUTConsoleExtern.h b/include/JSystem/JUtility/JUTConsoleExtern.h deleted file mode 100644 index 048e5452..00000000 --- a/include/JSystem/JUtility/JUTConsoleExtern.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef JUTCONSOLEEXTERN_H -#define JUTCONSOLEEXTERN_H - -#include "types.h" -#include "va_args.h" - -#ifdef __cplusplus -extern "C" -{ -#endif -void JUTReportConsole(const char*); -void JUTReportConsole_f(const char*, ...); -void JUTReportConsole_f_va(const char*, va_list); -void JUTWarningConsole(const char*); -void JUTWarningConsole_f(const char*, ...); -void JUTWarningConsole_f_va(const char*, va_list); -#ifdef __cplusplus -}; -#endif // ifdef __cplusplus - -#endif diff --git a/src/JSystem/JKernel/JKRExpHeap.cpp b/src/JSystem/JKernel/JKRExpHeap.cpp index 44372005..9eb0e3bf 100644 --- a/src/JSystem/JKernel/JKRExpHeap.cpp +++ b/src/JSystem/JKernel/JKRExpHeap.cpp @@ -1,7 +1,7 @@ #include "JSystem/JSupport.h" #include "JSystem/JUtility/JUTAssertion.h" #include "JSystem/JKernel/JKRExpHeap.h" -#include "JSystem/JUtility/JUTConsoleExtern.h" +#include "JSystem/JUtility/JUTConsole.h" #include "JSystem/JMacro.h" static u32 whatdo;