亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gcov.exp

?? 用于進行gcc測試
?? EXP
字號:
#   Copyright (C) 1997, 2001, 2007 Free Software Foundation, Inc.# This program 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 of the License, or# (at your option) any later version.# # This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.# # You should have received a copy of the GNU General Public License# along with GCC; see the file COPYING3.  If not see# <http://www.gnu.org/licenses/>.# Verify various kinds of gcov output: line counts, branch percentages,# and call return percentages.  None of this is language-specific.global GCOV## clean-gcov -- delete the working files the compiler creates for gcov## TESTCASE is the name of the test.#proc clean-gcov { testcase } {    set basename [file tail $testcase]    set base [file rootname $basename]    remote_file host delete $base.gcno $base.gcda \	$basename.gcov $base.h.gcov}## verify-lines -- check that line counts are as expected## TESTCASE is the name of the test.# FILE is the name of the gcov output file.#proc verify-lines { testcase file } {    #send_user "verify-lines\n"    set failed 0    set fd [open $file r]    while { [gets $fd line] >= 0 } {        # We want to match both "-" and "#####" as count as well as numbers,        # since we want to detect lines that shouldn't be marked as covered.	if [regexp "^ *(\[^:]*): *(\[0-9\\-#]+):.*count\\((\[0-9\\-#]+)\\)" \		"$line" all is n shouldbe] {	    if { $is == "" } {		fail "$n:no data available for this line"		incr failed	    } elseif { $is != $shouldbe } {		fail "$n:is $is:should be $shouldbe"		incr failed	    }	}    }    close $fd    return $failed}## verify-branches -- check that branch percentages are as expected## TESTCASE is the name of the test.# FILE is the name of the gcov output file.## Checks are based on comments in the source file.  This means to look for# branch percentages 10 or 90, 20 or 80, and # 70 or 30:#     /* branch(10, 20, 70) */# This means that all specified percentages should have been seen by now:#     /* branch(end) */# All specified percentages must also be seen by the next branch(n) or# by the end of the file.## Each check depends on the compiler having generated the expected# branch instructions.  Don't check for branches that might be# optimized away or replaced with predicated instructions.#proc verify-branches { testcase file } {    #send_user "verify-branches\n"    set failed 0    set shouldbe ""    set fd [open $file r]    set n 0    while { [gets $fd line] >= 0 } {	regexp "^\[^:\]+: *(\[0-9\]+):" "$line" all n	if [regexp "branch" $line] {	    verbose "Processing branch line $n: $line" 3	    if [regexp "branch\\((\[0-9 \]+)\\)" "$line" all new_shouldbe] {		# All percentages in the current list should have been seen.		if {[llength $shouldbe] != 0} {		    fail "$n: expected branch percentages not found: $shouldbe"		    incr failed		    set shouldbe ""		}		set shouldbe $new_shouldbe		#send_user "$n: looking for: $shouldbe\n"	        # Record the percentages to check for. Replace percentage		# n > 50 with 100-n, since block ordering affects the		# direction of a branch.		for {set i 0} {$i < [llength $shouldbe]} {incr i} {		    set num [lindex $shouldbe $i]		    if {$num > 50} {			set shouldbe [lreplace $shouldbe $i $i [expr 100 - $num]]		    }		}	    } elseif [regexp "branch +\[0-9\]+ taken (-\[0-9\]+)%" "$line" \			all taken] {		# Percentages should never be negative.		fail "$n: negative percentage: $taken"		incr failed	    } elseif [regexp "branch +\[0-9\]+ taken (\[0-9\]+)%" "$line" \			all taken] {		#send_user "$n: taken = $taken\n"		# Percentages should never be greater than 100.		if {$taken > 100} {		    fail "$n: percentage greater than 100: $taken"		    incr failed		}		if {$taken > 50} {		    set taken [expr 100 - $taken]		}		# If this percentage is one to check for then remove it		# from the list.  It's normal to ignore some reports.		set i [lsearch $shouldbe $taken]		if {$i != -1} {		    set shouldbe [lreplace $shouldbe $i $i]		}	    } elseif [regexp "branch\\(end\\)" "$line"] {		# All percentages in the list should have been seen by now.		if {[llength $shouldbe] != 0} {		    fail "$n: expected branch percentages not found: $shouldbe"		    incr failed		}		set shouldbe ""	    }	}    }    # All percentages in the list should have been seen.    if {[llength $shouldbe] != 0} {	fail "$n: expected branch percentages not found: $shouldbe"	incr failed    }    close $fd    return $failed}## verify-calls -- check that call return percentages are as expected## TESTCASE is the name of the test.# FILE is the name of the gcov output file.## Checks are based on comments in the source file.  This means to look for# call return percentages 50, 20, 33:#     /* returns(50, 20, 33) */# This means that all specified percentages should have been seen by now:#     /* returns(end) */# All specified percentages must also be seen by the next returns(n) or# by the end of the file.## Each check depends on the compiler having generated the expected# call instructions.  Don't check for calls that are inserted by the# compiler or that might be inlined.#proc verify-calls { testcase file } {    #send_user "verify-calls\n"    set failed 0    set shouldbe ""    set fd [open $file r]    set n 0    while { [gets $fd line] >= 0 } {	regexp "^\[^:\]+: *(\[0-9\]+):" "$line" all n	if [regexp "return" $line] {	    verbose "Processing returns line $n: $line" 3	    if [regexp "returns\\((\[0-9 \]+)\\)" "$line" all new_shouldbe] {		# All percentages in the current list should have been seen.		if {[llength $shouldbe] != 0} {		    fail "$n: expected return percentages not found: $shouldbe"		    incr failed		    set shouldbe ""		}	        # Record the percentages to check for.		set shouldbe $new_shouldbe	    } elseif [regexp "call +\[0-9\]+ returned (-\[0-9\]+)%" "$line" \			all returns] {		# Percentages should never be negative.		fail "$n: negative percentage: $returns"		incr failed	    } elseif [regexp "call +\[0-9\]+ returned (\[0-9\]+)%" "$line" \			all returns] {		# For branches we check that percentages are not greater than		# 100 but call return percentages can be, as for setjmp(), so		# don't count that as an error.		#		# If this percentage is one to check for then remove it		# from the list.  It's normal to ignore some reports.		set i [lsearch $shouldbe $returns]		if {$i != -1} {		    set shouldbe [lreplace $shouldbe $i $i]		}	    } elseif [regexp "returns\\(end\\)" "$line"] {		# All percentages in the list should have been seen by now.		if {[llength $shouldbe] != 0} {		    fail "$n: expected return percentages not found: $shouldbe"		    incr failed		}		set shouldbe ""	    }	}    }    # All percentages in the list should have been seen.    if {[llength $shouldbe] != 0} {	fail "$n: expected return percentages not found: $shouldbe"	incr failed    }    close $fd    return $failed}# Called by dg-final to run gcov and analyze the results.## ARGS consists of the optional strings "branches" and/or "calls",# (indicating that these things should be verified) followed by a # list of arguments to provide to gcov, including the name of the# source file.proc run-gcov { args } {    global GCOV    global srcdir subdir    set gcov_args [lindex $args end]    set gcov_verify_calls 0    set gcov_verify_branches 0    set gcov_execute_xfail ""    set gcov_verify_xfail ""    foreach a $args {	if { $a == "calls" } {	  set gcov_verify_calls 1	} elseif { $a == "branches" } {	  set gcov_verify_branches 1	}    }    # Extract the test name from the arguments.    set testcase [lindex $gcov_args end]    if { $gcov_execute_xfail != "" } {	eval setup_xfail [split $gcov_execute_xfail]    }    verbose "Running $GCOV $testcase" 2    set testcase [remote_download host $testcase]    set result [remote_exec host $GCOV $gcov_args]    if { [lindex $result 0] != 0 } {	fail "$subdir/$testcase gcov failed: [lindex $result 1]"	clean-gcov $testcase	return    }    # Get the gcov output file after making sure it exists.    set files [glob -nocomplain $testcase.gcov]    if { $files == "" } {        fail "$subdir/$testcase gcov failed: $testcase.gcov does not exist"        clean-gcov $testcase        return    }    remote_upload host $testcase.gcov $testcase.gcov    if { $gcov_verify_xfail != "" } {	eval setup_xfail [split $gcov_verify_xfail]    }    # Check that line execution counts are as expected.    set lfailed [verify-lines $testcase $testcase.gcov]    # If requested via the .x file, check that branch and call information    # is correct.    if { $gcov_verify_branches } {	set bfailed [verify-branches $testcase $testcase.gcov]    } else {	set bfailed 0    }    if { $gcov_verify_calls } {	set cfailed [verify-calls $testcase $testcase.gcov]    } else {	set cfailed 0    }    # Report whether the gcov test passed or failed.  If there were    # multiple failures then the message is a summary.    set tfailed [expr $lfailed + $bfailed + $cfailed]    if { $tfailed > 0 } {	fail "$subdir/$testcase gcov: $lfailed failures in line counts, $bfailed in branch percentages, $cfailed in return percentages"    } else {	pass "$subdir/$testcase gcov"	clean-gcov $testcase    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲柠檬福利资源导航| 亚洲男人电影天堂| 91精品国产一区二区三区| 色偷偷一区二区三区| 一本一道久久a久久精品| 国产sm精品调教视频网站| 国产老肥熟一区二区三区| 国产在线视频精品一区| 激情综合一区二区三区| 国产在线麻豆精品观看| 国产成人高清在线| 高潮精品一区videoshd| 97精品电影院| 欧美老年两性高潮| 精品国内二区三区| 久久精品一级爱片| 亚洲天堂成人网| 亚洲成人激情综合网| 麻豆视频观看网址久久| 国产精品18久久久久| 99久久精品国产毛片| 欧美性猛片aaaaaaa做受| 欧美美女bb生活片| 久久综合五月天婷婷伊人| 国产三级精品三级在线专区| 国产精品国产三级国产| 亚洲综合色成人| 精品一区精品二区高清| 99久久综合99久久综合网站| 欧美综合在线视频| 2022国产精品视频| 国产91在线观看| 成人欧美一区二区三区视频网页| 欧美日韩黄色影视| 欧美色国产精品| 日本黄色一区二区| 成人小视频在线观看| 久久国产精品99精品国产| 亚洲综合免费观看高清完整版在线| 国产情人综合久久777777| 白白色亚洲国产精品| 国产精品久久久久9999吃药| 成年人网站91| 一区二区三区在线观看国产| 欧美另类高清zo欧美| 看片网站欧美日韩| 精品国产乱码久久久久久老虎| 日韩电影免费一区| 国产专区综合网| 日欧美一区二区| caoporn国产精品| 日韩三级视频中文字幕| 综合激情成人伊人| 国产乱码精品一品二品| 精品视频1区2区| 欧美高清在线一区二区| 日本少妇一区二区| 91国产精品成人| 国产精品你懂的在线欣赏| 久久国产尿小便嘘嘘| 欧美年轻男男videosbes| 亚洲欧洲成人自拍| 国产精品系列在线观看| 精品国精品国产| 日韩高清在线不卡| 欧美日韩在线播放三区| 一区二区三区四区高清精品免费观看| 国产成人在线观看| 久久精品一区蜜桃臀影院| 男人操女人的视频在线观看欧美| 在线免费一区三区| 亚洲美女区一区| 91免费视频观看| 综合欧美亚洲日本| 99国产精品国产精品久久| 欧美国产日韩一二三区| 黄色日韩网站视频| 久久午夜国产精品| 国产精品一区二区不卡| 久久网这里都是精品| 黄页网站大全一区二区| 亚洲精品在线三区| 国产福利视频一区二区三区| 久久久综合精品| 国产成人精品影院| 国产精品久久久久久久久快鸭 | 麻豆久久一区二区| 欧美一区二区视频观看视频| 日本亚洲最大的色成网站www| 欧美剧在线免费观看网站| 天堂va蜜桃一区二区三区| 欧美一区二区三区不卡| 久久av资源站| 中文字幕av在线一区二区三区| 成人午夜激情影院| 亚洲卡通动漫在线| 欧美视频在线一区| 免费在线观看不卡| 国产丝袜在线精品| 色噜噜狠狠色综合中国| 亚洲va天堂va国产va久| 精品奇米国产一区二区三区| 国产成人免费网站| 亚洲欧美日韩国产综合| 在线不卡免费av| 国产一区二区三区黄视频 | 亚洲精品美腿丝袜| 91精品在线麻豆| 国产不卡视频一区| 一区二区三区国产豹纹内裤在线| 欧美丰满美乳xxx高潮www| 精品综合免费视频观看| 国产欧美一区二区三区网站| 色八戒一区二区三区| 美女精品一区二区| 中文字幕第一区综合| 欧美久久久影院| 成人一区二区三区视频在线观看| 亚洲va国产va欧美va观看| 久久久久久毛片| 欧美区视频在线观看| eeuss鲁一区二区三区| 日本欧美大码aⅴ在线播放| 日韩理论电影院| 久久综合色天天久久综合图片| 色呦呦日韩精品| 丰满白嫩尤物一区二区| 麻豆精品精品国产自在97香蕉| 中文字幕日本乱码精品影院| 精品国产免费久久| 欧美乱妇一区二区三区不卡视频| 成人小视频免费在线观看| 美女国产一区二区三区| 一区二区三区毛片| 日韩一区中文字幕| 国产女人18毛片水真多成人如厕| 日韩午夜av电影| 欧美日韩一级片网站| 色8久久人人97超碰香蕉987| 国产成人免费xxxxxxxx| 韩国av一区二区| 奇米色一区二区| 香蕉久久一区二区不卡无毒影院| 亚洲日本va在线观看| 国产精品欧美久久久久一区二区| 欧美成人综合网站| 欧美大胆一级视频| 欧美一级片在线观看| 欧美日韩激情一区二区三区| 在线中文字幕一区二区| 色先锋aa成人| 欧美性猛交xxxx黑人交| 91在线观看高清| 97精品国产97久久久久久久久久久久 | 亚洲精品在线电影| 欧美一区二区三区免费视频| 91精品国产手机| 欧美成人午夜电影| 精品国产三级a在线观看| 精品国精品国产尤物美女| 久久免费偷拍视频| 国产网红主播福利一区二区| 国产女人18毛片水真多成人如厕| 国产亚洲精品精华液| 国产精品美女久久久久av爽李琼| 国产精品卡一卡二| 一卡二卡欧美日韩| 青青草成人在线观看| 美脚の诱脚舐め脚责91 | 国产精品理论片| 亚洲欧美在线另类| 亚洲国产日韩精品| 秋霞午夜av一区二区三区| 精久久久久久久久久久| 国产精品综合一区二区三区| 成人永久免费视频| 色菇凉天天综合网| 777久久久精品| 中文字幕国产一区| 一区二区三区在线视频免费| 爽爽淫人综合网网站| 精品一区二区三区久久| 99久久婷婷国产综合精品电影| 欧美视频一区二区三区在线观看 | 国产成人精品免费一区二区| 成年人午夜久久久| 欧美高清精品3d| 亚洲国产精品99久久久久久久久| 亚洲女同一区二区| 精品在线一区二区三区| 91视频免费播放| 精品理论电影在线| 一区二区三区欧美在线观看| 久久激情五月激情| 色综合久久久久综合体桃花网| 日韩精品影音先锋| 亚洲美女淫视频| 国产精品夜夜爽| 欧美日产在线观看| 亚洲欧洲美洲综合色网|