Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix build on FreeBSD #426

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 3 additions & 1 deletion SConstruct
Expand Up @@ -3574,6 +3574,8 @@ class DXXCommon(LazyObjectConstructor):
sys_platform = 'linux'
elif sys_platform.startswith('openbsd'):
sys_platform = 'openbsd'
elif sys_platform.startswith('freebsd'):
sys_platform = 'freebsd'
return (
{
'variable': EnumVariable,
Expand Down Expand Up @@ -3603,7 +3605,7 @@ class DXXCommon(LazyObjectConstructor):
'cross-compile to specified platform',
{
'map': {'msys':'win32'},
'allowed_values' : ('darwin', 'linux', 'openbsd', 'win32'),
'allowed_values' : ('darwin', 'linux', 'openbsd', 'win32', 'freebsd'),
}
),
('raspberrypi', None, 'build for Raspberry Pi (automatically selects opengles)', {'ignorecase': 2, 'map': {'1':'yes', 'true':'yes', '0':'no', 'false':'no'}, 'allowed_values': ('yes', 'no', 'mesa')}),
Expand Down
2 changes: 1 addition & 1 deletion similar/main/digiobj.cpp
Expand Up @@ -578,7 +578,7 @@ void digi_sync_sounds()
&s.volume, &s.pan, s.max_distance );

} else if ( s.flags & SOF_LINK_TO_OBJ ) {
const auto objp = [&vcobjptr, &s]{
const auto objp = [&s]{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NAK. This line is required by <gcc-8. If this change is merged, <gcc-8 fail to build this file.

I will push a configure test to suppress the clang warning in this case, since it actively encourages the reader to break other compilers.

if (Newdemo_state != ND_STATE_PLAYBACK)
return vcobjptr(s.link_type.obj.objnum);
auto objnum = newdemo_find_object(s.link_type.obj.objsignature);
Expand Down
4 changes: 2 additions & 2 deletions similar/main/object.cpp
Expand Up @@ -1057,7 +1057,7 @@ static void free_object_slots(uint_fast32_t num_used)

// Capture before num_to_free modified
const auto &&r = partial_const_range(obj_list, num_to_free);
auto l = [&vmobjptr, &r, &num_to_free](bool (*predicate)(const vcobjptr_t)) -> bool {
auto l = [&r, &num_to_free](bool (*predicate)(const vcobjptr_t)) -> bool {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NAK, same problem as in the other commit. This capture is required for <gcc-8.

range_for (const auto i, r)
{
const auto &&o = vmobjptr(i);
Expand Down Expand Up @@ -1508,7 +1508,7 @@ static void start_player_death_sequence(object &player)
auto &proximity = player_info.hoard.orbs;
if (proximity < player_info.max_hoard_orbs)
{
const auto is_bad_kill = [&vmobjptr]{
const auto is_bad_kill = []{
auto &lplr = get_local_player();
auto &lplrobj = get_local_plrobj();
const auto killer_objnum = lplrobj.ctype.player_info.killer_objnum;
Expand Down