This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Add a test for std::condition_variable_any

We've been carrying this test internally for quite some time and I think it
would be beneficial for everyone to include it in the upstream testsuite, too.

Tested on x86_64-linux, ok for trunk and 8.3?

2018-07-26  Marek Polacek  <>

	* 30_threads/condition_variable_any/ New test.

--- gcc/testsuite/30_threads/condition_variable_any/
+++ gcc/testsuite/30_threads/condition_variable_any/
@@ -0,0 +1,35 @@
+// { dg-do run }
+// { dg-options "-pthread"  }
+// { dg-require-effective-target c++11 }
+// { dg-require-effective-target pthread }
+// { dg-require-gthreads "" }
+// Copyright (C) 2018 Free Software Foundation, Inc.
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <>.
+#include <condition_variable>
+#include <cstring>
+int main()
+  const size_t sz = sizeof(std::condition_variable_any);
+  char garbage[sz];
+  memset(garbage, 0xff, sz);
+  auto cond = new ((void*)garbage) std::condition_variable_any();
+  cond->notify_all();
+  cond->~condition_variable_any();

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]