#include "llvm/Support/TargetSelect.h"
#include <iostream>
#include <pthread.h>
+
using namespace llvm;
static Function* createAdd1(Module *M) {
cast<Function>(M->getOrInsertFunction("add1",
Type::getInt32Ty(M->getContext()),
Type::getInt32Ty(M->getContext()),
- (Type *)0));
+ nullptr));
// Add a basic block to the function. As before, it automatically inserts
// because of the last argument.
// Get pointers to the integer argument of the add1 function...
assert(Add1F->arg_begin() != Add1F->arg_end()); // Make sure there's an arg
- Argument *ArgX = Add1F->arg_begin(); // Get the arg
+ Argument *ArgX = &*Add1F->arg_begin(); // Get the arg
ArgX->setName("AnArg"); // Give it a nice symbolic name for fun.
// Create the add instruction, inserting it into the end of BB.
cast<Function>(M->getOrInsertFunction("fib",
Type::getInt32Ty(M->getContext()),
Type::getInt32Ty(M->getContext()),
- (Type *)0));
+ nullptr));
// Add a basic block to the function.
BasicBlock *BB = BasicBlock::Create(M->getContext(), "EntryBlock", FibF);
Value *Two = ConstantInt::get(Type::getInt32Ty(M->getContext()), 2);
// Get pointer to the integer argument of the add1 function...
- Argument *ArgX = FibF->arg_begin(); // Get the arg.
+ Argument *ArgX = &*FibF->arg_begin(); // Get the arg.
ArgX->setName("AnArg"); // Give it a nice symbolic name for fun.
// Create the true_block.
n = 0;
waitFor = 0;
- int result = pthread_cond_init( &condition, NULL );
+ int result = pthread_cond_init( &condition, nullptr );
assert( result == 0 );
- result = pthread_mutex_init( &mutex, NULL );
+ result = pthread_mutex_init( &mutex, nullptr );
assert( result == 0 );
}
struct threadParams fib2 = { EE, fibF, 42 };
pthread_t add1Thread;
- int result = pthread_create( &add1Thread, NULL, callFunc, &add1 );
+ int result = pthread_create( &add1Thread, nullptr, callFunc, &add1 );
if ( result != 0 ) {
std::cerr << "Could not create thread" << std::endl;
return 1;
}
pthread_t fibThread1;
- result = pthread_create( &fibThread1, NULL, callFunc, &fib1 );
+ result = pthread_create( &fibThread1, nullptr, callFunc, &fib1 );
if ( result != 0 ) {
std::cerr << "Could not create thread" << std::endl;
return 1;
}
pthread_t fibThread2;
- result = pthread_create( &fibThread2, NULL, callFunc, &fib2 );
+ result = pthread_create( &fibThread2, nullptr, callFunc, &fib2 );
if ( result != 0 ) {
std::cerr << "Could not create thread" << std::endl;
return 1;