LLNL / sundials

Official development repository for SUNDIALS - a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. Pull requests are welcome for bug fixes and minor changes.
https://computing.llnl.gov/projects/sundials
BSD 3-Clause "New" or "Revised" License
520 stars 129 forks source link

Avoid use of reserved names. #114

Open bangerth opened 2 years ago

bangerth commented 2 years ago

The page at https://github.com/LLNL/sundials/blob/develop/doc/shared/sundials/SUNContext.rst describes the Context structure as declared as follows:

struct _SUNContext *SUNContext

This is unfortunate: Both C and C++ reserve all names that (i) start with an underscore, followed by an uppercase letter, (ii) start with two underscores. See https://en.cppreference.com/w/cpp/language/identifiers .

I haven't checked whether that's the only name in SUNDIALS that has this problem, or whether that's a pattern. Either way, it's probably worth avoiding the issue, and because these names aren't part of the public interface, it shouldn't even be that difficult to rename things if you so chose.

balos1 commented 2 years ago

Unfortunately, SUNDIALS has used a leading underscore followed by an uppercase letter from the beginning so it is not limited to just _SUNContext. We can work towards changing these when they are not part of the public interface for now, and then look into fixing the others when a major release is on the horizon.

balos1 commented 4 months ago

I am noting that the specific example mentioned has been resolved, but there are still a number of other places in SUNDIALS with this issue (and are in the public API). All new development in SUNDIALS avoids the reserved names though. We could consider changing existing ones for SUNDIALS 8.