Fix some compilation bugs in different platforms

Summary:

detect some problems when testing my 3rd party release tool.
This commit is contained in:
Kai Liu 2014-02-27 22:15:30 -08:00
parent 99e4b40a55
commit 6ba1084f24
3 changed files with 14 additions and 10 deletions

View file

@ -12,6 +12,10 @@ OPT += -O2 -fno-omit-frame-pointer -momit-leaf-frame-pointer
else else
OPT += -fno-omit-frame-pointer -momit-leaf-frame-pointer OPT += -fno-omit-frame-pointer -momit-leaf-frame-pointer
endif endif
ifeq ($(MAKECMDGOALS),shared_lib)
PLATFORM_SHARED_LDFLAGS=-fPIC
endif
#----------------------------------------------- #-----------------------------------------------
# detect what platform we're building on # detect what platform we're building on
@ -135,8 +139,8 @@ $(SHARED2): $(SHARED3)
ln -fs $(SHARED3) $(SHARED2) ln -fs $(SHARED3) $(SHARED2)
endif endif
$(SHARED3): $(LIBOBJECTS) $(SHARED3):
$(CXX) $(PLATFORM_SHARED_LDFLAGS)$(SHARED2) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(LDFLAGS) $(SOURCES)-o $@ $(CXX) $(PLATFORM_SHARED_LDFLAGS)$(SHARED2) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(LDFLAGS) $(SOURCES) -o $@
endif # PLATFORM_SHARED_EXT endif # PLATFORM_SHARED_EXT

View file

@ -245,7 +245,7 @@ TEST(AutoRollLoggerTest, InfoLogLevel) {
InitTestDb(); InitTestDb();
size_t log_size = 8192; size_t log_size = 8192;
int log_lines = 0; size_t log_lines = 0;
// an extra-scope to force the AutoRollLogger to flush the log file when it // an extra-scope to force the AutoRollLogger to flush the log file when it
// becomes out of scope. // becomes out of scope.
{ {
@ -275,7 +275,7 @@ TEST(AutoRollLoggerTest, InfoLogLevel) {
} }
} }
std::ifstream inFile(AutoRollLoggerTest::kLogFile.c_str()); std::ifstream inFile(AutoRollLoggerTest::kLogFile.c_str());
int lines = std::count(std::istreambuf_iterator<char>(inFile), size_t lines = std::count(std::istreambuf_iterator<char>(inFile),
std::istreambuf_iterator<char>(), '\n'); std::istreambuf_iterator<char>(), '\n');
ASSERT_EQ(log_lines, lines); ASSERT_EQ(log_lines, lines);
inFile.close(); inFile.close();

View file

@ -103,7 +103,7 @@ TEST(ThreadLocalTest, UniqueIdTest) {
TEST(ThreadLocalTest, SequentialReadWriteTest) { TEST(ThreadLocalTest, SequentialReadWriteTest) {
// global id list carries over 3, 1, 2, 0 // global id list carries over 3, 1, 2, 0
ASSERT_EQ(IDChecker::PeekId(), 0); ASSERT_EQ(IDChecker::PeekId(), 0u);
port::Mutex mu; port::Mutex mu;
port::CondVar cv(&mu); port::CondVar cv(&mu);
@ -133,7 +133,7 @@ TEST(ThreadLocalTest, SequentialReadWriteTest) {
}; };
for (int iter = 0; iter < 1024; ++iter) { for (int iter = 0; iter < 1024; ++iter) {
ASSERT_EQ(IDChecker::PeekId(), 1); ASSERT_EQ(IDChecker::PeekId(), 1u);
// Another new thread, read/write should not see value from previous thread // Another new thread, read/write should not see value from previous thread
env_->StartThread(func, static_cast<void*>(&p)); env_->StartThread(func, static_cast<void*>(&p));
mu.Lock(); mu.Lock();
@ -141,13 +141,13 @@ TEST(ThreadLocalTest, SequentialReadWriteTest) {
cv.Wait(); cv.Wait();
} }
mu.Unlock(); mu.Unlock();
ASSERT_EQ(IDChecker::PeekId(), 1); ASSERT_EQ(IDChecker::PeekId(), 1u);
} }
} }
TEST(ThreadLocalTest, ConcurrentReadWriteTest) { TEST(ThreadLocalTest, ConcurrentReadWriteTest) {
// global id list carries over 3, 1, 2, 0 // global id list carries over 3, 1, 2, 0
ASSERT_EQ(IDChecker::PeekId(), 0); ASSERT_EQ(IDChecker::PeekId(), 0u);
ThreadLocalPtr tls2; ThreadLocalPtr tls2;
port::Mutex mu1; port::Mutex mu1;
@ -226,11 +226,11 @@ TEST(ThreadLocalTest, ConcurrentReadWriteTest) {
} }
mu2.Unlock(); mu2.Unlock();
ASSERT_EQ(IDChecker::PeekId(), 3); ASSERT_EQ(IDChecker::PeekId(), 3u);
} }
TEST(ThreadLocalTest, Unref) { TEST(ThreadLocalTest, Unref) {
ASSERT_EQ(IDChecker::PeekId(), 0); ASSERT_EQ(IDChecker::PeekId(), 0u);
auto unref = [](void* ptr) { auto unref = [](void* ptr) {
auto& p = *static_cast<Params*>(ptr); auto& p = *static_cast<Params*>(ptr);