Add a shared_ptr sanity check
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 14 Apr 2017 16:13:47 +0000 (12:13 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 3 May 2017 16:13:02 +0000 (12:13 -0400)
This was an example of the brutal bug that was due to the lack of GCC/C++
threads.  Now, if you look at the asm, you'll see a call to
uth_2ls_is_multithreaded().

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
tests/cpp_streams.cc

index 1e9f30a..1defe6e 100644 (file)
@@ -3,11 +3,20 @@
 #include <string>
 #include <errno.h>
 
+#include <memory>
+
 using namespace std;
 
+struct foobar {
+       int x;
+};
+
 int main() {
        string line;
        ifstream myfile;
+       /* grep the asm for M_release to verify we're using atomics */
+       std::shared_ptr<foobar> foo = make_shared<foobar>();
+
        errno = 0;
        myfile.open("hello.txt", ifstream::in);
        if (errno)