2012-11-29 54 views
1

gcov的抱怨我的算法之一:的gcov報告返回語句打不到

File 'Algorithm.h' 
Lines executed:95.00% of 20 
Algorithm.h:creating 'Algorithm.h.gcov' 

    17: 25:inline std::vector<std::string> starts_with(const std::vector<std::string>& input, const std::string& startsWith) 
    -: 26:{ 
    17: 27: std::vector<std::string> output; 
    17: 28: std::remove_copy_if(input.begin(), input.end(), std::back_inserter(output), !boost::bind(&boost::starts_with<std::string,std::string>, _1, startsWith)); 
#####: 29: return output; 
    -: 30:} 

我的測試是這樣的,並把它傳遞:

TEST (TestAlgorithm, starts_with) 
{ 
    std::vector<std::string> input = boost::assign::list_of("1")("2")("22")("33")("222"); 
    EXPECT_TRUE(starts_with(input,"22") == boost::assign::list_of("22")("222")); 
} 

什麼可能的問題是什麼?我沒有使用優化。

UPDATE

我CMakeList.txt包含:

if(CMAKE_COMPILER_IS_GNUCXX) 
    set(CMAKE_CXX_FLAGS "-O0")  ## Optimize 
endif() 

回答