summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahoo-inc.com>2017-08-14 13:08:30 +0000
committerTor Brede Vekterli <vekterli@yahoo-inc.com>2017-08-14 13:08:30 +0000
commita6555b013546b8baf8c90cd8d1b008eaad0201e4 (patch)
tree9a9fca35a7b5ec8fd2108bd0955ea5820d48af07 /searchcore
parent1f3882bf237bb9560302241bc93f7edd89a365f0 (diff)
Selectively ignore GCC inlining warning for lambdas
Triggers inlining warnings for lambda destructors in debug builds. No way we can pull those out, so warning is pretty useless for our purposes.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp
index 84e2910d059..d371dffa319 100644
--- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp
@@ -354,6 +354,8 @@ void StoreOnlyFeedView::putSummary(SerialNum serialNum, search::DocumentIdT lid
FutureStream futureStream, OnOperationDoneType onDone)
{
_pendingLidTracker.produce(lid);
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Winline" // Avoid spurious inlining warning from GCC related to lambda destructor.
summaryExecutor().execute(
makeLambdaTask([serialNum, lid, futureStream = std::move(futureStream), onDone, this] () mutable {
(void) onDone;
@@ -363,18 +365,22 @@ void StoreOnlyFeedView::putSummary(SerialNum serialNum, search::DocumentIdT lid
}
_pendingLidTracker.consume(lid);
}));
+#pragma GCC diagnostic pop
}
void StoreOnlyFeedView::putSummary(SerialNum serialNum, search::DocumentIdT lid,
Document::SP doc, OnOperationDoneType onDone)
{
_pendingLidTracker.produce(lid);
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Winline" // Avoid spurious inlining warning from GCC related to lambda destructor.
summaryExecutor().execute(
makeLambdaTask([serialNum, doc = std::move(doc), onDone, lid, this] {
(void) onDone;
_summaryAdapter->put(serialNum, lid, *doc);
_pendingLidTracker.consume(lid);
}));
+#pragma GCC diagnostic pop
}
void StoreOnlyFeedView::removeSummary(SerialNum serialNum, search::DocumentIdT lid) {
_pendingLidTracker.produce(lid);
@@ -439,7 +445,8 @@ StoreOnlyFeedView::internalUpdate(FeedToken::UP token, const UpdateOperation &up
if (useDocumentStore(serialNum)) {
putSummary(serialNum, lid, std::move(futureStream), onWriteDone);
}
-
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Winline" // Avoid spurious inlining warning from GCC related to lambda destructor.
_writeService
.attributeFieldWriter()
.execute(serialNum,
@@ -450,6 +457,7 @@ StoreOnlyFeedView::internalUpdate(FeedToken::UP token, const UpdateOperation &up
makeUpdatedDocument(serialNum, std::move(prevDoc), upd,
onWriteDone, std::move(promisedDoc), std::move(promisedStream));
});
+#pragma GCC diagnostic pop
}
if (!updateScope._indexedFields && onWriteDone) {
if (onWriteDone->shouldTrace(1)) {