Skip to content

Conversation

@lentinj
Copy link
Collaborator

@lentinj lentinj commented Jul 7, 2025

@bthe I think this tidies up the warning that CRAN is complaining about.

The gadget3 integration tests still work, but it'd be worth trying a few more things before releasing.

Without, we get warnings such as:

modelvariablevector.cc: In member function ‘resize’:
modelvariablevector.cc:26:59: warning: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
   26 |     ModelVariable* vnew = new ModelVariable[addsize + size];
      |                                                           ^
/usr/include/c++/15/new:140:26: note: in a call to allocation function ‘operator new []’ declared here
  140 | _GLIBCXX_NODISCARD void* operator new[](std::size_t)
      |                          ^

...the aim is to make sure that we don't size an array bigger than a
signed int (which we use in gadget2 source).

To quell the warnings, explicitly cast to unsigned, first making sure
that any value isn't negative (which would cause wraparound).

This warning only occurs during LTO, add default arguments to trigger
it in future.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants