On 10/14/2024 9:47 AM, Rebecca Cran wrote:
On 10/14/24 9:22 AM, Oliver Smith-Denny wrote:
In GoogleTest, you often cannot directly include the C file in the
GoogleTest file, because C++ complains about many Cisms, mostly
our use of casting.

Do you have an example of that?

This was a little while back, so my only memory is of the Mu code I
updated the STATIC undef'ing for, one of these two:

https://github.com/microsoft/mu_plus/blob/dev/202405/AdvLoggerPkg/AdvLoggerOsConnectorPrm/GoogleTest/AdvLoggerOsConnectorPrmGoogleTest.cpp

https://github.com/microsoft/mu_plus/blob/dev/202405/AdvLoggerPkg/AdvLoggerOsConnectorPrm/Library/AdvLoggerOsConnectorPrmConfigLib/GoogleTest/AdvLoggerPrmConfigLibGoogleTest.cpp

We had issues in edk2 as well, I just don't remember specific examples.
It is more likely than not that if you try to write a GoogleTest and
include the C file you'll fail compilation.


Also, I've seen suggestions (I think on the FreeBSD mailing lists) of using C++ as "a better C". That is, not using any C++ specific features but building the code as C++ because apparently you get better code checking and diagnostics with it. Though you do lose some features like implicit casts from void* when using C++.

I would take umbrage with the statement that C++ is a better C :). I do
not think we gain value and in fact lose quite a lot of things,
name mangling, lots of churn, etc.

TBH, I have not been convinced of the value of adding C++ into edk2 with
GoogleTest, I think it has added complications and very few new edk2
unit tests. Hopefully platform owners are getting good usage out of it.

Oliver





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120622): https://edk2.groups.io/g/devel/message/120622
Mute This Topic: https://groups.io/mt/108941574/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to