tum-ei-eda / etiss

Extendable Translating Instruction Set Simulator
https://tum-ei-eda.github.io/etiss/
Other
29 stars 36 forks source link

change c++std to c++17 #44

Closed JoGei closed 3 years ago

JoGei commented 3 years ago

Sets ETISS' c++std to c++17.

JoGei commented 3 years ago

Windows build fails with this:

D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(330,47): error C2143: syntax error: missing ',' before '<' [D:\a\etiss\build\ETISS.vcxproj]
D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(334): message : see reference to class template instantiation 'CSimpleIniTempl<SI_CHAR,SI_STRLESS,SI_CONVERTER>::Entry::KeyOrder' being compiled [D:\a\etiss\build\ETISS.vcxproj]
D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(346): message : see reference to class template instantiation 'CSimpleIniTempl<SI_CHAR,SI_STRLESS,SI_CONVERTER>::Entry' being compiled [D:\a\etiss\build\ETISS.vcxproj]
D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(1159): message : see reference to class template instantiation 'CSimpleIniTempl<SI_CHAR,SI_STRLESS,SI_CONVERTER>' being compiled [D:\a\etiss\build\ETISS.vcxproj]
D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(340,48): error C2143: syntax error: missing ',' before '<' [D:\a\etiss\build\ETISS.vcxproj]
D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(346): message : see reference to class template instantiation 'CSimpleIniTempl<SI_CHAR,SI_STRLESS,SI_CONVERTER>::Entry::LoadOrder' being compiled [D:\a\etiss\build\ETISS.vcxproj]
rafzi commented 3 years ago

the issue seems to be that std::binary_function was removed in c++17

https://stackoverflow.com/questions/33114656/replacement-for-stdbinary-function

maybe try just removing that inheritance?

JoGei commented 3 years ago

the issue seems to be that std::binary_function was removed in c++17

https://stackoverflow.com/questions/33114656/replacement-for-stdbinary-function

maybe try just removing that inheritance?

Yes that worked. Seems like the CI gcc has some legacy support and the Windows compiler does not.

rafzi commented 3 years ago

let's go back to c++14 according to the email discussion. we should keep the bin_func removal for the future.

JoGei commented 3 years ago

let's go back to c++14 according to the email discussion. we should keep the bin_func removal for the future.

Sure. But the bin_func deprecation should be also there for c++14?

rafzi commented 3 years ago

sorry that wasnt clearly written. i meant you can leave that change in, so that we do not have to do that again in the future

JoGei commented 3 years ago

sorry that wasnt clearly written. i meant you can leave that change in, so that we do not have to do that again in the future

Ok, I will just add this change to the open cpp14 pull request #45