0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-04 02:58:58 +02:00

Misc fixes for clang.

This commit is contained in:
Jason Volk 2019-06-23 23:09:41 -06:00
parent 49ddc6e44e
commit 80655da66e
26 changed files with 53 additions and 40 deletions

View file

@ -214,7 +214,7 @@ noexcept try
catch(const ircd::user_error &e)
{
if(ircd::debugmode)
throw;
ircd::terminate{e};
fprintf(stderr, usererrstr, e.what());
return EXIT_FAILURE;
@ -222,7 +222,7 @@ catch(const ircd::user_error &e)
catch(const std::exception &e)
{
if(ircd::debugmode)
throw;
ircd::terminate{e};
/*
* Why EXIT_FAILURE here?

View file

@ -145,7 +145,7 @@ typename std::enable_if
!std::is_constructible<dst, src>(),
void>::type
#ifdef __clang__
__attribute__((unavailable("Unhandled assignment to json::tuple property")))
//__attribute__((unavailable("Unhandled assignment to json::tuple property")))
#else
__attribute__((error("Unhandled assignment to json::tuple property")))
#endif

View file

@ -299,7 +299,12 @@ string_view
stringify(mutable_buffer &buf,
const tuple<T...> &tuple)
{
std::array<member, tuple.size()> members;
static constexpr const size_t member_count
{
json::tuple_size<json::tuple<T...>>()
};
std::array<member, member_count> members;
const auto e{_member_transform_if(tuple, begin(members), end(members), []
(auto &ret, const string_view &key, auto&& val)
{

View file

@ -27,8 +27,7 @@
/// published for demangling and use by libircd (object equivalent).
#define IRCD_MODULE_EXPORT_DATA \
__attribute__((section(IRCD_MODULE_EXPORT_DATA_SECTION))) \
__attribute__((visibility(IRCD_MODULE_EXPORT_CODE_VISIBILITY))) \
__attribute__((externally_visible))
__attribute__((visibility(IRCD_MODULE_EXPORT_CODE_VISIBILITY)))
// Common convenience aliases
#define IRCD_MODULE_EXPORT \
@ -37,7 +36,6 @@
/// Module declaration
#define IRCD_MODULE \
__attribute__((visibility("default"))) \
__attribute__((externally_visible)) \
ircd_module
/// Module API: Interface for module developers.
@ -130,8 +128,7 @@ struct ircd::mapi::metablock
fini_func fini; // Executed before dlclose()
meta_data meta; // Various key-value metadata
metablock(const string_view &, init_func &&, fini_func &&)
__attribute__((noplt));
metablock(const string_view &, init_func &&, fini_func &&);
};
static_assert

View file

@ -4261,6 +4261,7 @@ ircd::db::txn::append::append(txn &t,
append(t, *t.d, delta);
}
__attribute__((noreturn))
ircd::db::txn::append::append(txn &t,
const row::delta &delta)
{
@ -5024,7 +5025,7 @@ const
const ircd::db::gopts
ircd::db::domain::applied_opts
{
{ get::PREFIX }
get::PREFIX
};
bool
@ -5834,7 +5835,7 @@ ircd::db::has(column &column,
// NOTE disabled for rocksdb >= v5.15 due to a regression
// where rocksdb does not init SuperVersion data in the column
// family handle and this codepath triggers null derefs and ub.
if(0 && c.table_opts.filter_policy)
if((false) && c.table_opts.filter_policy)
{
const auto k(slice(key));
auto opts(make_opts(gopts));

View file

@ -744,7 +744,7 @@ ircd::m::event::conforms::conforms(const event &e)
set(MISSING_ORIGIN);
//TODO: XXX
if(false)
if((false))
set(INVALID_ORIGIN);
if(empty(json::get<"signatures"_>(e)))
@ -3172,7 +3172,7 @@ ircd::m::verify_hash(const event &event,
{
static constexpr size_t hashb64sz
{
size_t(hash.size() * 1.34) + 1
size_t(sha256::digest_size * 1.34) + 1
};
thread_local char b64buf[hashb64sz];

View file

@ -2544,18 +2544,26 @@ ircd::net::acceptor_udp::flags(const flag &flag)
ircd::net::listener_udp::datagram::datagram(const const_buffer &buf,
const ipport &remote,
const enum flag &flag)
:cbuf{buf}
,cbufs{&cbuf, 1}
,remote{remote}
:remote{remote}
,flag{flag}
{}
{
cbuf = buf;
cbufs =
{
&this->cbuf, 1
};
}
ircd::net::listener_udp::datagram::datagram(const mutable_buffer &buf,
const enum flag &flag)
:mbuf{buf}
,mbufs{&mbuf, 1}
,flag{flag}
{}
:flag{flag}
{
mbuf = buf;
mbufs =
{
&this->mbuf, 1
};
}
///////////////////////////////////////////////////////////////////////////////
//

View file

@ -419,6 +419,8 @@ catch(const db::not_found &e)
{
http::CONFLICT, "M_ROOM_ALIAS_IN_USE", "An alias of the desired room is in use."
};
//XXX: clearly a conflict
}
ircd::m::room

View file

@ -15,7 +15,7 @@ static void _rejoin_rooms(const m::user::id &user_id);
static void handle_my_profile_changed__displayname(const m::event &event);
static void handle_my_profile_changed__avatar_url(const m::event &event);
static void handle_my_profile_changed(const m::event &, m::vm::eval &);
static void rethrow(const std::exception_ptr &, const m::user &, const string_view &);
[[noreturn]] static void rethrow(const std::exception_ptr &, const m::user &, const string_view &);
static std::exception_ptr fetch_profile_remote(const m::user &, const string_view &);
static resource::response get__profile(client &, const resource::request &);
static resource::response put__profile(client &, const resource::request &);

View file

@ -176,5 +176,5 @@ get__publicrooms(client &client,
top, "next_batch", next_batch_buf
};
return response;
return std::move(response);
}

View file

@ -277,7 +277,7 @@ get__context(client &client,
counts.state,
};
return response;
return std::move(response);
}
void

View file

@ -80,7 +80,7 @@ get__initialsync(client &client,
};
get__initialsync_local(client, request, room, request.user_id, top);
return response;
return std::move(response);
}
void

View file

@ -67,7 +67,7 @@ get__members(client &client,
chunk.append(event);
});
return response;
return std::move(response);
}
resource::response
@ -146,5 +146,5 @@ get__joined_members(client &client,
});
}});
return response;
return std::move(response);
}

View file

@ -165,7 +165,7 @@ get__state(client &client,
top.append(event);
});
return response;
return std::move(response);
}
m::event::id::buf

View file

@ -230,7 +230,7 @@ get__tags(client &client,
return true;
});
return response;
return std::move(response);
}
resource::response

View file

@ -72,7 +72,7 @@ handle_get(client &client,
};
pdus.append(event);
return response;
return std::move(response);
}
resource::method method_get

View file

@ -126,7 +126,7 @@ get__event_auth(client &client,
auth_chain.append(event);
});
return response;
return std::move(response);
}
resource::method

View file

@ -171,5 +171,5 @@ get__missing_events(client &client,
break;
}
return response;
return std::move(response);
}

View file

@ -139,5 +139,5 @@ handle_get(client &client,
top, "next_batch", next_batch_buf
};
return response;
return std::move(response);
}

View file

@ -227,7 +227,7 @@ put__send_join(client &client,
}});
}
return response;
return std::move(response);
}
resource::method

View file

@ -85,6 +85,7 @@ handle_notify(const m::event &event,
}
void
__attribute__((noreturn))
send_worker()
{
while(1) try
@ -282,6 +283,7 @@ catch(const std::exception &e)
}
void
__attribute__((noreturn))
recv_worker()
{
while(1)

View file

@ -106,6 +106,4 @@ struct txn
,node{&node}
,timeout{now<steady_point>()} //TODO: conf
{}
txn() = default;
};

View file

@ -125,7 +125,7 @@ get__state(client &client,
});
}
return response;
return std::move(response);
}
resource::method

View file

@ -120,7 +120,7 @@ get__state_ids(client &client,
}});
}
return response;
return std::move(response);
}
resource::method

View file

@ -120,5 +120,5 @@ get__user_devices(client &client,
return true;
});
return response;
return std::move(response);
}

View file

@ -91,7 +91,7 @@ post__user_keys_query(client &client,
_query_user_device(client, request, user_id, device_id, response_keys_user);
}
return response;
return std::move(response);
}
void