clang++ fix.

"C++11 requires lambda with omitted result type to consist of a single return statement"
上级 cafff26f
...@@ -79,7 +79,7 @@ bget(u32 dev, u64 sector, int *writer) ...@@ -79,7 +79,7 @@ bget(u32 dev, u64 sector, int *writer)
// Allocate fresh block. // Allocate fresh block.
struct buf *victim = 0; struct buf *victim = 0;
bufns->enumerate([&victim](const pair<u32, u64>&, buf *b) { bufns->enumerate([&victim](const pair<u32, u64>&, buf *b)->bool {
acquire(&b->lock); acquire(&b->lock);
if ((b->flags & (B_BUSY | B_DIRTY | B_VALID)) == 0) { if ((b->flags & (B_BUSY | B_DIRTY | B_VALID)) == 0) {
victim = b; victim = b;
...@@ -89,7 +89,7 @@ bget(u32 dev, u64 sector, int *writer) ...@@ -89,7 +89,7 @@ bget(u32 dev, u64 sector, int *writer)
return false; return false;
}); });
if (victim == 0) if (victim == 0)
bufns->enumerate([&victim](const pair<u32, u64>&, buf *b) { bufns->enumerate([&victim](const pair<u32, u64>&, buf *b)->bool {
acquire(&b->lock); acquire(&b->lock);
if ((b->flags & (B_BUSY | B_DIRTY)) == 0) { if ((b->flags & (B_BUSY | B_DIRTY)) == 0) {
victim = b; victim = b;
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论