mirror of
https://github.com/github/codeql.git
synced 2026-05-26 00:51:25 +02:00
Compare commits
1 Commits
dbartol/co
...
dbartol/re
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd07af62e9 |
197
Cargo.lock
generated
197
Cargo.lock
generated
@@ -156,9 +156,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.7.0"
|
||||
version = "2.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be"
|
||||
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
||||
|
||||
[[package]]
|
||||
name = "borsh"
|
||||
@@ -268,7 +268,7 @@ version = "0.98.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d5f2eb1cd6054da221bd1ac0197fb2fe5e2caf3dcb93619398fc1433f8f09093"
|
||||
dependencies = [
|
||||
"bitflags 2.7.0",
|
||||
"bitflags 2.6.0",
|
||||
"chalk-derive",
|
||||
]
|
||||
|
||||
@@ -318,9 +318,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.26"
|
||||
version = "4.5.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783"
|
||||
checksum = "9560b07a799281c7e0958b9296854d6fafd4c5f31444a7e5bb1ad6dde5ccf1bd"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
@@ -328,9 +328,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.26"
|
||||
version = "4.5.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121"
|
||||
checksum = "874e0dd3eb68bf99058751ac9712f622e61e6f393a94f7128fa26e3f02f5c7cd"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
@@ -436,7 +436,6 @@ dependencies = [
|
||||
"serde_json",
|
||||
"serde_with",
|
||||
"stderrlog",
|
||||
"toml",
|
||||
"triomphe",
|
||||
]
|
||||
|
||||
@@ -999,7 +998,7 @@ version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
|
||||
dependencies = [
|
||||
"bitflags 2.7.0",
|
||||
"bitflags 2.6.0",
|
||||
"libc",
|
||||
"redox_syscall",
|
||||
]
|
||||
@@ -1121,7 +1120,7 @@ version = "6.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
|
||||
dependencies = [
|
||||
"bitflags 2.7.0",
|
||||
"bitflags 2.6.0",
|
||||
"crossbeam-channel",
|
||||
"filetime",
|
||||
"fsevent-sys",
|
||||
@@ -1294,9 +1293,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.93"
|
||||
version = "1.0.92"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
|
||||
checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
@@ -1329,7 +1328,7 @@ version = "0.87.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28b782af0a7a8df16ddf43cd70da9f17bc3b1ce712c9e4992b6edb16f5f53632"
|
||||
dependencies = [
|
||||
"bitflags 2.7.0",
|
||||
"bitflags 2.6.0",
|
||||
"ra-ap-rustc_index",
|
||||
"tracing",
|
||||
]
|
||||
@@ -1390,9 +1389,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_base_db"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "548b95b278a8f6f888a0bb6cb7bf4201fe920d3800cd99770054e5eb72f3cd6a"
|
||||
checksum = "55bd06c212246716572baf2babd2f4e8b2bbfedccdb2deb5107dc67f0cd9f727"
|
||||
dependencies = [
|
||||
"la-arena",
|
||||
"lz4_flex",
|
||||
@@ -1411,9 +1410,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_cfg"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "921e2b0232d1e8352eb9f476bb55c1d8bcbed0531adc17c74aa711fef015c851"
|
||||
checksum = "4b507e0a9d182ac490400992264006b057d24f26164fb015a4927bedf4381d9f"
|
||||
dependencies = [
|
||||
"ra_ap_intern",
|
||||
"ra_ap_tt",
|
||||
@@ -1423,15 +1422,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_edition"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a7cc6633305d878cafb4a4482e7e7002d1a5d7b15fa837728b6613ff5336f8a4"
|
||||
checksum = "287c134d67e3bfb606211b039acc711c3dfd74b61dc570beb18556901d2a4cde"
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_hir"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6e3f6b31381a297e5bb4fa76108a2cf7bf8d35067a130f932aa6fdfb733ba3a1"
|
||||
checksum = "cf94ce7ef4564b34584ddecc20c948c746370256c1dd96babe1dff06f9992821"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"either",
|
||||
@@ -1454,12 +1453,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_hir_def"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "84144bdda7af170e660d312982889622f4a5361c1bb74df2afa2a6ce17d48644"
|
||||
checksum = "95b60cb43d1dd97c6288436277174f09440a81e56c42c9c00b3747669ec18933"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"bitflags 2.7.0",
|
||||
"bitflags 2.6.0",
|
||||
"cov-mark",
|
||||
"dashmap",
|
||||
"drop_bomb",
|
||||
@@ -1491,9 +1490,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_hir_expand"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "441661b394acfa4f3ac4cb54386f8ee8b451504ec167b0bf0e4200da1bbca50d"
|
||||
checksum = "0e2884baf95b2ab8b7f6d88e0b3d3dcf9bc9c9fede8b6353cca1f93ec0db02df"
|
||||
dependencies = [
|
||||
"cov-mark",
|
||||
"either",
|
||||
@@ -1519,12 +1518,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_hir_ty"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6feea30dff289f33a8ed76172ff4cb299db22d224f88735aa2c7f49ba1e5e77f"
|
||||
checksum = "562c8a0bf46e3ace2493b8c42b6cfb506a6b992e2376e3f1b18b0252bf8b226b"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"bitflags 2.7.0",
|
||||
"bitflags 2.6.0",
|
||||
"chalk-derive",
|
||||
"chalk-ir",
|
||||
"chalk-recursive",
|
||||
@@ -1559,12 +1558,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_ide_db"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7e33bd5a0139b6c74d34ed963494115abe3f9c95cf5936871ab3d9b548ccbbdf"
|
||||
checksum = "d16df71464447314e043790d407246af3d692815cd826bbfab9318ba50b0543a"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"bitflags 2.7.0",
|
||||
"bitflags 2.6.0",
|
||||
"cov-mark",
|
||||
"crossbeam-channel",
|
||||
"either",
|
||||
@@ -1590,9 +1589,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_intern"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "faa7ee24ae9bf4d2536ef7fb6de35f30856edbf7b3d6ac02e5a2532118896569"
|
||||
checksum = "29dd636c9c7c0b3ac0736a8e6e31202cae7b0b378ac1a8d73dd2c1f71c5931a4"
|
||||
dependencies = [
|
||||
"dashmap",
|
||||
"hashbrown 0.14.5",
|
||||
@@ -1603,15 +1602,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_limit"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "90d8a2aecbd488cf79b430bd5abe6650da44ae58b31cd6052c909dbd3f5d5926"
|
||||
checksum = "4d1d98e79549c0a75f35d534042cbb3358a498985726bd5ae8f8f420e323a6ea"
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_load-cargo"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6e2372aadd32e85460de595891c8b3562126166bc94fdc24508d6784c9d93357"
|
||||
checksum = "7d448f55f96ac9c5ecfdea9261bc122f9b586f4e43b8fb53e62a54a11090d479"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"crossbeam-channel",
|
||||
@@ -1631,9 +1630,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_mbe"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bf69ba82adb6e436617ecd09c0ff58006f376060dff437eb9fd383c2983f6d01"
|
||||
checksum = "5ff107e50b96ceacd2046e9c1ffae526721f14a6e5c6671dff2be8ad6252fb23"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"cov-mark",
|
||||
@@ -1652,9 +1651,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_parser"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f499b6c33a588d60ed9722d057954a21ec01913b97a5693ff40ba4828ffa7b9"
|
||||
checksum = "af7c6b15845145bc4f1351c4e6f3a06c3c390dfc0a8fd1e40ee3f05b6f73ba77"
|
||||
dependencies = [
|
||||
"drop_bomb",
|
||||
"ra-ap-rustc_lexer",
|
||||
@@ -1665,18 +1664,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_paths"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b5a16df131fa641a4af4d9488152b7b332a6a30e93bc655fdbe88f555ba28825"
|
||||
checksum = "01e41f198abdce6161d071fb88fb906189f9a6ee55dd7cfa1ba7bf5da41b2cd2"
|
||||
dependencies = [
|
||||
"camino",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_proc_macro_api"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3480e0d07197ebcc2db5836b0c39625e07b0d77c6471a2a748e5bdf54ce556e3"
|
||||
checksum = "c719165f2e0e42706644e223f3b80dbab41061c4f60132d4a6a282bb67df6ef2"
|
||||
dependencies = [
|
||||
"indexmap 2.7.0",
|
||||
"ra_ap_intern",
|
||||
@@ -1693,9 +1692,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_profile"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "95b707dd9c92139030587d81b3333428f48af8f4728330ed12101ab0bb431d72"
|
||||
checksum = "43cf9a02881c4ce8107d2eb7454a4d386438fc99ee5bba021ff829b76cf29807"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
@@ -1705,9 +1704,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_project_model"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "551a0de5a16f0538fbaf401a319d81d1a034f7aa014e46ac87c5bd74229a211b"
|
||||
checksum = "9238f0e90f2f9e7ab6a8c27916326668ab9d0971a1131b3d2ce51d806077af6a"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"cargo_metadata",
|
||||
@@ -1731,9 +1730,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_salsa"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6ec0c82d9e5affbf7d582750b301d279589787a5ac729f95756f5a0b0bf2b4a4"
|
||||
checksum = "288a0cd35aca45106f613e92a52c7fe63109c8ad2adfddd9181b55a8ced5fba4"
|
||||
dependencies = [
|
||||
"indexmap 2.7.0",
|
||||
"itertools 0.12.1",
|
||||
@@ -1749,9 +1748,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_salsa-macros"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8440192eb549dda1cdefc95eaa1fc42ad13cfbd303add757517d77c81e7dc2e1"
|
||||
checksum = "a417dc1192f6e1739560dac84f4d8ed18e4e0228144f13eba66191d7be494528"
|
||||
dependencies = [
|
||||
"heck 0.4.1",
|
||||
"proc-macro2",
|
||||
@@ -1761,9 +1760,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_span"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "18690685d10da2577d7821d46c0de5a884bf1755e59635cbb1a795451e2a4acc"
|
||||
checksum = "10c82d730d56e5c0fadb2029f4347ef67b2453586a94cee40a151178ba77d1b4"
|
||||
dependencies = [
|
||||
"hashbrown 0.14.5",
|
||||
"la-arena",
|
||||
@@ -1777,9 +1776,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_stdx"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4016934faae8413b4ad3f1bf063c7ffccdcfdf3f67ff32f4a79a197a3c1cb0da"
|
||||
checksum = "0b39817ff288eb2d922878e8b517a4569246606dab4313665e2fa9470ae3602a"
|
||||
dependencies = [
|
||||
"always-assert",
|
||||
"crossbeam-channel",
|
||||
@@ -1792,9 +1791,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_syntax"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8e381d21d166d12b11906171f82382473d60abfead0c4acc6d7d07150f87f73"
|
||||
checksum = "135493df963d932d4e4a9d9058db990384eb0a2fa694a06ecd1b161b0502c32e"
|
||||
dependencies = [
|
||||
"cov-mark",
|
||||
"either",
|
||||
@@ -1812,9 +1811,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_syntax-bridge"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "65f1960218acd2ed8e486e7bd24f80a7eb89591906c6b0831296b2a75c556b2f"
|
||||
checksum = "a95c0fd654ff10425387c24c9b28004fda5794db212990b2a997938429e0c499"
|
||||
dependencies = [
|
||||
"ra_ap_intern",
|
||||
"ra_ap_parser",
|
||||
@@ -1828,9 +1827,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_toolchain"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c9195f69ff02f076f5a726c7fbafa2b4639d00235906cb44e52ca75cd8b33c30"
|
||||
checksum = "1b5e4c88d75ba247f15dfa28a1291e3e75c887bc2b6d00f1fa0cc17789111840"
|
||||
dependencies = [
|
||||
"camino",
|
||||
"home",
|
||||
@@ -1838,9 +1837,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_tt"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ac261d79d3ec475a1f3b2a758d3e466f2b9d7d883fb72239b06979bf6880018"
|
||||
checksum = "f04de8deab5777101652f9c79275785589fe5c7375d0f18207edb040ffaead9b"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"ra-ap-rustc_lexer",
|
||||
@@ -1851,9 +1850,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_vfs"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee35a171beccbb01b4ede1d9ad91dee487a3742d7cc39efd7aed6961027cbe78"
|
||||
checksum = "78c33cc88cb19b3b6d8af79d07a6989871025ef092af61f8d261a5e63117390e"
|
||||
dependencies = [
|
||||
"crossbeam-channel",
|
||||
"fst",
|
||||
@@ -1867,9 +1866,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ra_ap_vfs-notify"
|
||||
version = "0.0.258"
|
||||
version = "0.0.257"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b234b7651eb5d61f18d4f4643590bb8b1fd59ef766a1059741c09c540ec8cd86"
|
||||
checksum = "f690622dc77b2f6cae03ad3a019fca808802dae0915977d186928d9a202c4761"
|
||||
dependencies = [
|
||||
"crossbeam-channel",
|
||||
"notify",
|
||||
@@ -1938,7 +1937,7 @@ version = "0.5.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834"
|
||||
dependencies = [
|
||||
"bitflags 2.7.0",
|
||||
"bitflags 2.6.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2095,15 +2094,6 @@ dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_spanned"
|
||||
version = "0.6.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_with"
|
||||
version = "3.12.0"
|
||||
@@ -2217,9 +2207,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.96"
|
||||
version = "2.0.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
|
||||
checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -2313,40 +2303,6 @@ dependencies = [
|
||||
"time-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.8.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
"toml_edit",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_datetime"
|
||||
version = "0.6.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.22.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
|
||||
dependencies = [
|
||||
"indexmap 2.7.0",
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
"winnow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing"
|
||||
version = "0.1.41"
|
||||
@@ -2798,15 +2754,6 @@ version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
version = "0.6.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "yansi"
|
||||
version = "1.0.1"
|
||||
|
||||
37
MODULE.bazel
37
MODULE.bazel
@@ -86,7 +86,7 @@ use_repo(
|
||||
"vendor__anyhow-1.0.95",
|
||||
"vendor__argfile-0.2.1",
|
||||
"vendor__chrono-0.4.39",
|
||||
"vendor__clap-4.5.26",
|
||||
"vendor__clap-4.5.24",
|
||||
"vendor__dunce-1.0.5",
|
||||
"vendor__either-1.13.0",
|
||||
"vendor__encoding-0.2.33",
|
||||
@@ -100,23 +100,23 @@ use_repo(
|
||||
"vendor__mustache-0.9.0",
|
||||
"vendor__num-traits-0.2.19",
|
||||
"vendor__num_cpus-1.16.0",
|
||||
"vendor__proc-macro2-1.0.93",
|
||||
"vendor__proc-macro2-1.0.92",
|
||||
"vendor__quote-1.0.38",
|
||||
"vendor__ra_ap_base_db-0.0.258",
|
||||
"vendor__ra_ap_cfg-0.0.258",
|
||||
"vendor__ra_ap_hir-0.0.258",
|
||||
"vendor__ra_ap_hir_def-0.0.258",
|
||||
"vendor__ra_ap_hir_expand-0.0.258",
|
||||
"vendor__ra_ap_ide_db-0.0.258",
|
||||
"vendor__ra_ap_intern-0.0.258",
|
||||
"vendor__ra_ap_load-cargo-0.0.258",
|
||||
"vendor__ra_ap_parser-0.0.258",
|
||||
"vendor__ra_ap_paths-0.0.258",
|
||||
"vendor__ra_ap_project_model-0.0.258",
|
||||
"vendor__ra_ap_span-0.0.258",
|
||||
"vendor__ra_ap_stdx-0.0.258",
|
||||
"vendor__ra_ap_syntax-0.0.258",
|
||||
"vendor__ra_ap_vfs-0.0.258",
|
||||
"vendor__ra_ap_base_db-0.0.257",
|
||||
"vendor__ra_ap_cfg-0.0.257",
|
||||
"vendor__ra_ap_hir-0.0.257",
|
||||
"vendor__ra_ap_hir_def-0.0.257",
|
||||
"vendor__ra_ap_hir_expand-0.0.257",
|
||||
"vendor__ra_ap_ide_db-0.0.257",
|
||||
"vendor__ra_ap_intern-0.0.257",
|
||||
"vendor__ra_ap_load-cargo-0.0.257",
|
||||
"vendor__ra_ap_parser-0.0.257",
|
||||
"vendor__ra_ap_paths-0.0.257",
|
||||
"vendor__ra_ap_project_model-0.0.257",
|
||||
"vendor__ra_ap_span-0.0.257",
|
||||
"vendor__ra_ap_stdx-0.0.257",
|
||||
"vendor__ra_ap_syntax-0.0.257",
|
||||
"vendor__ra_ap_vfs-0.0.257",
|
||||
"vendor__rand-0.8.5",
|
||||
"vendor__rayon-1.10.0",
|
||||
"vendor__regex-1.11.1",
|
||||
@@ -124,8 +124,7 @@ use_repo(
|
||||
"vendor__serde_json-1.0.135",
|
||||
"vendor__serde_with-3.12.0",
|
||||
"vendor__stderrlog-0.6.0",
|
||||
"vendor__syn-2.0.96",
|
||||
"vendor__toml-0.8.19",
|
||||
"vendor__syn-2.0.95",
|
||||
"vendor__tracing-0.1.41",
|
||||
"vendor__tracing-subscriber-0.3.19",
|
||||
"vendor__tree-sitter-0.24.6",
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
- description: Extended and experimental security queries for GitHub Actions
|
||||
- import: codeql-suites/actions-code-scanning.qls
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,17 +0,0 @@
|
||||
class Stmt extends @stmt {
|
||||
string toString() { none() }
|
||||
}
|
||||
|
||||
class Location extends @location_stmt {
|
||||
string toString() { none() }
|
||||
}
|
||||
|
||||
predicate isConstevalIf(Stmt stmt) {
|
||||
exists(int kind | stmts(stmt, kind, _) | kind = 38 or kind = 39)
|
||||
}
|
||||
|
||||
from Stmt stmt, int kind, int kind_new, Location location
|
||||
where
|
||||
stmts(stmt, kind, location) and
|
||||
if isConstevalIf(stmt) then kind_new = 7 else kind_new = kind // Turns consteval if into a block with two block statements in it
|
||||
select stmt, kind_new, location
|
||||
@@ -1,5 +0,0 @@
|
||||
description: Support (not) consteval if
|
||||
compatibility: full
|
||||
consteval_if_then.rel: delete
|
||||
consteval_if_else.rel: delete
|
||||
stmts.rel: run stmts.qlo
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,3 +0,0 @@
|
||||
description: Improve user types and proxy classes
|
||||
compatibility: full
|
||||
usertypes.rel: run usertypes.qlo
|
||||
@@ -1,10 +0,0 @@
|
||||
class UserType extends @usertype {
|
||||
string toString() { none() }
|
||||
}
|
||||
|
||||
bindingset[kind]
|
||||
int getKind(int kind) { if kind in [15, 16, 17] then result = 6 else result = kind }
|
||||
|
||||
from UserType usertype, string name, int kind
|
||||
where usertypes(usertype, name, kind)
|
||||
select usertype, name, getKind(kind)
|
||||
@@ -2,10 +2,6 @@
|
||||
|
||||
### New Features
|
||||
|
||||
* Add a new predicate `getAnIndirectBarrier` to the parameterized module `InstructionBarrierGuard` in `semmle.code.cpp.dataflow.new.DataFlow` for computing indirect dataflow nodes that are guarded by a given instruction. This predicate is similar to the `getAnIndirectBarrier` predicate on the parameterized module `BarrierGuard`.
|
||||
* A new predicate `getDecltype` was added to the `ProxyClass` class, which yields the decltype for the proxy class.
|
||||
* Template classes that are of `struct` type are now also instances of the `Struct` class.
|
||||
* Template classes that are of `union` type are now also instances of the `Union` class.
|
||||
* A new abstract class `ConfigurationTestFile` (`semmle.code.cpp.ConfigurationTestFile.ConfigurationTestFile`) was introduced, which represents files created to test the build configuration. A subclass `CmakeTryCompileFile` of `ConfigurationTestFile` was also introduced, which represents files created by CMake to test the build configuration.
|
||||
* New predicates `getARequiresClause`, `getTemplateRequiresClause` and `getFunctionRequiresClause` were added to the `FunctionDeclarationEntry` class, which yield the requires clauses when the entry represents a function template declaration with requires clauses.
|
||||
* A new predicate `getRequiresClause` was added to the `TypeDeclarationEntry` class, which yields the requires clause when the entry represents a class template declaration with a requires clause.
|
||||
@@ -16,11 +12,6 @@
|
||||
* A new class `ConceptIdExpr` was introduced, which represents C++20 concept id expressions.
|
||||
* A new class `Concept` was introduced, which represents C++20 concepts.
|
||||
* The `getTemplateArgumentType` and `getTemplateArgumentValue` predicates of the `Declaration` class now also yield template arguments of concepts.
|
||||
* A new class `ConstevalIfStmt` was introduced, which represents the C++23 `if consteval` and `if ! consteval` statements.
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
* `DefaultOptions::exits` now holds for C23 functions with the `_Noreturn` or `___Noreturn__` attribute.
|
||||
|
||||
## 3.1.0
|
||||
|
||||
|
||||
@@ -54,11 +54,11 @@ class Options extends string {
|
||||
*
|
||||
* By default, this holds for `exit`, `_exit`, `_Exit`, `abort`,
|
||||
* `__assert_fail`, `longjmp`, `__builtin_unreachable` and any
|
||||
* function with a `noreturn`, `__noreturn__`, or `_Noreturn`
|
||||
* attribute or `noreturn` specifier.
|
||||
* function with a `noreturn` or `__noreturn__` attribute or
|
||||
* `noreturn` specifier.
|
||||
*/
|
||||
predicate exits(Function f) {
|
||||
f.getAnAttribute().hasName(["noreturn", "__noreturn__", "_Noreturn"])
|
||||
f.getAnAttribute().hasName(["noreturn", "__noreturn__"])
|
||||
or
|
||||
f.getASpecifier().hasName("noreturn")
|
||||
or
|
||||
|
||||
@@ -2,10 +2,6 @@
|
||||
|
||||
### New Features
|
||||
|
||||
* Add a new predicate `getAnIndirectBarrier` to the parameterized module `InstructionBarrierGuard` in `semmle.code.cpp.dataflow.new.DataFlow` for computing indirect dataflow nodes that are guarded by a given instruction. This predicate is similar to the `getAnIndirectBarrier` predicate on the parameterized module `BarrierGuard`.
|
||||
* A new predicate `getDecltype` was added to the `ProxyClass` class, which yields the decltype for the proxy class.
|
||||
* Template classes that are of `struct` type are now also instances of the `Struct` class.
|
||||
* Template classes that are of `union` type are now also instances of the `Union` class.
|
||||
* A new abstract class `ConfigurationTestFile` (`semmle.code.cpp.ConfigurationTestFile.ConfigurationTestFile`) was introduced, which represents files created to test the build configuration. A subclass `CmakeTryCompileFile` of `ConfigurationTestFile` was also introduced, which represents files created by CMake to test the build configuration.
|
||||
* New predicates `getARequiresClause`, `getTemplateRequiresClause` and `getFunctionRequiresClause` were added to the `FunctionDeclarationEntry` class, which yield the requires clauses when the entry represents a function template declaration with requires clauses.
|
||||
* A new predicate `getRequiresClause` was added to the `TypeDeclarationEntry` class, which yields the requires clause when the entry represents a class template declaration with a requires clause.
|
||||
@@ -16,8 +12,3 @@
|
||||
* A new class `ConceptIdExpr` was introduced, which represents C++20 concept id expressions.
|
||||
* A new class `Concept` was introduced, which represents C++20 concepts.
|
||||
* The `getTemplateArgumentType` and `getTemplateArgumentValue` predicates of the `Declaration` class now also yield template arguments of concepts.
|
||||
* A new class `ConstevalIfStmt` was introduced, which represents the C++23 `if consteval` and `if ! consteval` statements.
|
||||
|
||||
### Minor Analysis Improvements
|
||||
|
||||
* `DefaultOptions::exits` now holds for C23 functions with the `_Noreturn` or `___Noreturn__` attribute.
|
||||
|
||||
@@ -869,7 +869,7 @@ class AbstractClass extends Class {
|
||||
* `FullClassTemplateSpecialization`.
|
||||
*/
|
||||
class TemplateClass extends Class {
|
||||
TemplateClass() { usertypes(underlyingElement(this), _, [15, 16, 17]) }
|
||||
TemplateClass() { usertypes(underlyingElement(this), _, 6) }
|
||||
|
||||
/**
|
||||
* Gets a class instantiated from this template.
|
||||
@@ -1076,19 +1076,13 @@ class VirtualBaseClass extends Class {
|
||||
}
|
||||
|
||||
/**
|
||||
* The proxy class (where needed) associated with a template parameter or a
|
||||
* decltype, as in the following code:
|
||||
* ```cpp
|
||||
* The proxy class (where needed) associated with a template parameter, as
|
||||
* in the following code:
|
||||
* ```
|
||||
* template <typename T>
|
||||
* struct S : T { // the type of this T is a proxy class
|
||||
* ...
|
||||
* };
|
||||
*
|
||||
* template <typename T>
|
||||
* concept C =
|
||||
* decltype(std::span{std::declval<T&>()})::extent
|
||||
* != std::dynamic_extent;
|
||||
* // the type of decltype(std::span{std::declval<T&>()}) is a proxy class
|
||||
* ```
|
||||
*/
|
||||
class ProxyClass extends UserType {
|
||||
@@ -1099,13 +1093,10 @@ class ProxyClass extends UserType {
|
||||
/** Gets the location of the proxy class. */
|
||||
override Location getLocation() { result = this.getTemplateParameter().getDefinitionLocation() }
|
||||
|
||||
/** Gets the template parameter for which this is the proxy class, if any. */
|
||||
/** Gets the template parameter for which this is the proxy class. */
|
||||
TypeTemplateParameter getTemplateParameter() {
|
||||
is_proxy_class_for(underlyingElement(this), unresolveElement(result))
|
||||
}
|
||||
|
||||
/** Gets the decltype for which this is the proxy class, if any. */
|
||||
Decltype getDecltype() { is_proxy_class_for(underlyingElement(this), unresolveElement(result)) }
|
||||
}
|
||||
|
||||
// Unpacks "array of ... of array of t" into t.
|
||||
|
||||
@@ -912,10 +912,6 @@ private predicate namedStmtChildPredicates(Locatable s, Element e, string pred)
|
||||
or
|
||||
s.(ConstexprIfStmt).getElse() = e and pred = "getElse()"
|
||||
or
|
||||
s.(ConstevalIfStmt).getThen() = e and pred = "getThen()"
|
||||
or
|
||||
s.(ConstevalIfStmt).getElse() = e and pred = "getElse()"
|
||||
or
|
||||
s.(Handler).getParameter() = e and pred = "getParameter()"
|
||||
or
|
||||
s.(IfStmt).getInitialization() = e and pred = "getInitialization()"
|
||||
|
||||
@@ -20,7 +20,7 @@ import semmle.code.cpp.Class
|
||||
* ```
|
||||
*/
|
||||
class Struct extends Class {
|
||||
Struct() { usertypes(underlyingElement(this), _, [1, 3, 15, 17]) }
|
||||
Struct() { usertypes(underlyingElement(this), _, 1) or usertypes(underlyingElement(this), _, 3) }
|
||||
|
||||
override string getAPrimaryQlClass() { result = "Struct" }
|
||||
|
||||
|
||||
@@ -52,7 +52,9 @@ deprecated class TemplateParameter = TypeTemplateParameter;
|
||||
* ```
|
||||
*/
|
||||
class TypeTemplateParameter extends UserType, TemplateParameterImpl {
|
||||
TypeTemplateParameter() { usertypes(underlyingElement(this), _, [7, 8]) }
|
||||
TypeTemplateParameter() {
|
||||
usertypes(underlyingElement(this), _, 7) or usertypes(underlyingElement(this), _, 8)
|
||||
}
|
||||
|
||||
override string getAPrimaryQlClass() { result = "TypeTemplateParameter" }
|
||||
|
||||
|
||||
@@ -406,7 +406,10 @@ class IntegralOrEnumType extends Type {
|
||||
isIntegralType(underlyingElement(this), _)
|
||||
or
|
||||
// Enum type
|
||||
usertypes(underlyingElement(this), _, [4, 13])
|
||||
(
|
||||
usertypes(underlyingElement(this), _, 4) or
|
||||
usertypes(underlyingElement(this), _, 13)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,10 @@ private import semmle.code.cpp.internal.ResolveClass
|
||||
* ```
|
||||
*/
|
||||
class TypedefType extends UserType {
|
||||
TypedefType() { usertypes(underlyingElement(this), _, [5, 14]) }
|
||||
TypedefType() {
|
||||
usertypes(underlyingElement(this), _, 5) or
|
||||
usertypes(underlyingElement(this), _, 14)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the base type of this typedef type.
|
||||
|
||||
@@ -15,7 +15,7 @@ import semmle.code.cpp.Struct
|
||||
* ```
|
||||
*/
|
||||
class Union extends Struct {
|
||||
Union() { usertypes(underlyingElement(this), _, [3, 17]) }
|
||||
Union() { usertypes(underlyingElement(this), _, 3) }
|
||||
|
||||
override string getAPrimaryQlClass() { result = "Union" }
|
||||
|
||||
|
||||
@@ -233,114 +233,6 @@ private class GuardConditionFromBinaryLogicalOperator extends GuardConditionImpl
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `ir` controls `block`, meaning that `block` is only
|
||||
* entered if the value of this condition is `v`. This helper
|
||||
* predicate does not necessarily hold for binary logical operations like
|
||||
* `&&` and `||`. See the detailed explanation on predicate `controls`.
|
||||
*/
|
||||
private predicate controlsBlock(IRGuardCondition ir, BasicBlock controlled, AbstractValue v) {
|
||||
exists(IRBlock irb |
|
||||
ir.valueControls(irb, v) and
|
||||
nonExcludedIRAndBasicBlock(irb, controlled) and
|
||||
not isUnreachedBlock(irb)
|
||||
)
|
||||
}
|
||||
|
||||
private class GuardConditionFromNotExpr extends GuardConditionImpl {
|
||||
IRGuardCondition ir;
|
||||
|
||||
GuardConditionFromNotExpr() {
|
||||
// Users often expect the `x` in `!x` to also be a guard condition. But
|
||||
// from the perspective of the IR the `x` is just the left-hand side of a
|
||||
// comparison against 0 so it's not included as a normal
|
||||
// `IRGuardCondition`. So to align with user expectations we make that `x`
|
||||
// a `GuardCondition`.
|
||||
exists(NotExpr notExpr |
|
||||
this = notExpr.getOperand() and
|
||||
ir.getUnconvertedResultExpression() = notExpr
|
||||
)
|
||||
}
|
||||
|
||||
override predicate valueControls(BasicBlock controlled, AbstractValue v) {
|
||||
// This condition must determine the flow of control; that is, this
|
||||
// node must be a top-level condition.
|
||||
controlsBlock(ir, controlled, v.getDualValue())
|
||||
}
|
||||
|
||||
pragma[inline]
|
||||
override predicate comparesLt(Expr left, Expr right, int k, boolean isLessThan, boolean testIsTrue) {
|
||||
exists(Instruction li, Instruction ri |
|
||||
li.getUnconvertedResultExpression() = left and
|
||||
ri.getUnconvertedResultExpression() = right and
|
||||
ir.comparesLt(li.getAUse(), ri.getAUse(), k, isLessThan, testIsTrue.booleanNot())
|
||||
)
|
||||
}
|
||||
|
||||
pragma[inline]
|
||||
override predicate comparesLt(Expr e, int k, boolean isLessThan, AbstractValue value) {
|
||||
exists(Instruction i |
|
||||
i.getUnconvertedResultExpression() = e and
|
||||
ir.comparesLt(i.getAUse(), k, isLessThan, value.getDualValue())
|
||||
)
|
||||
}
|
||||
|
||||
pragma[inline]
|
||||
override predicate ensuresLt(Expr left, Expr right, int k, BasicBlock block, boolean isLessThan) {
|
||||
exists(Instruction li, Instruction ri, boolean testIsTrue |
|
||||
li.getUnconvertedResultExpression() = left and
|
||||
ri.getUnconvertedResultExpression() = right and
|
||||
ir.comparesLt(li.getAUse(), ri.getAUse(), k, isLessThan, testIsTrue.booleanNot()) and
|
||||
this.controls(block, testIsTrue)
|
||||
)
|
||||
}
|
||||
|
||||
pragma[inline]
|
||||
override predicate ensuresLt(Expr e, int k, BasicBlock block, boolean isLessThan) {
|
||||
exists(Instruction i, AbstractValue value |
|
||||
i.getUnconvertedResultExpression() = e and
|
||||
ir.comparesLt(i.getAUse(), k, isLessThan, value.getDualValue()) and
|
||||
this.valueControls(block, value)
|
||||
)
|
||||
}
|
||||
|
||||
pragma[inline]
|
||||
override predicate comparesEq(Expr left, Expr right, int k, boolean areEqual, boolean testIsTrue) {
|
||||
exists(Instruction li, Instruction ri |
|
||||
li.getUnconvertedResultExpression() = left and
|
||||
ri.getUnconvertedResultExpression() = right and
|
||||
ir.comparesEq(li.getAUse(), ri.getAUse(), k, areEqual, testIsTrue.booleanNot())
|
||||
)
|
||||
}
|
||||
|
||||
pragma[inline]
|
||||
override predicate ensuresEq(Expr left, Expr right, int k, BasicBlock block, boolean areEqual) {
|
||||
exists(Instruction li, Instruction ri, boolean testIsTrue |
|
||||
li.getUnconvertedResultExpression() = left and
|
||||
ri.getUnconvertedResultExpression() = right and
|
||||
ir.comparesEq(li.getAUse(), ri.getAUse(), k, areEqual, testIsTrue.booleanNot()) and
|
||||
this.controls(block, testIsTrue)
|
||||
)
|
||||
}
|
||||
|
||||
pragma[inline]
|
||||
override predicate comparesEq(Expr e, int k, boolean areEqual, AbstractValue value) {
|
||||
exists(Instruction i |
|
||||
i.getUnconvertedResultExpression() = e and
|
||||
ir.comparesEq(i.getAUse(), k, areEqual, value.getDualValue())
|
||||
)
|
||||
}
|
||||
|
||||
pragma[inline]
|
||||
override predicate ensuresEq(Expr e, int k, BasicBlock block, boolean areEqual) {
|
||||
exists(Instruction i, AbstractValue value |
|
||||
i.getUnconvertedResultExpression() = e and
|
||||
ir.comparesEq(i.getAUse(), k, areEqual, value.getDualValue()) and
|
||||
this.valueControls(block, value)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A Boolean condition in the AST that guards one or more basic blocks and has a corresponding IR
|
||||
* instruction.
|
||||
@@ -353,7 +245,7 @@ private class GuardConditionFromIR extends GuardConditionImpl {
|
||||
override predicate valueControls(BasicBlock controlled, AbstractValue v) {
|
||||
// This condition must determine the flow of control; that is, this
|
||||
// node must be a top-level condition.
|
||||
controlsBlock(ir, controlled, v)
|
||||
this.controlsBlock(controlled, v)
|
||||
}
|
||||
|
||||
pragma[inline]
|
||||
@@ -427,6 +319,20 @@ private class GuardConditionFromIR extends GuardConditionImpl {
|
||||
this.valueControls(block, value)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if this condition controls `block`, meaning that `block` is only
|
||||
* entered if the value of this condition is `v`. This helper
|
||||
* predicate does not necessarily hold for binary logical operations like
|
||||
* `&&` and `||`. See the detailed explanation on predicate `controls`.
|
||||
*/
|
||||
private predicate controlsBlock(BasicBlock controlled, AbstractValue v) {
|
||||
exists(IRBlock irb |
|
||||
ir.valueControls(irb, v) and
|
||||
nonExcludedIRAndBasicBlock(irb, controlled) and
|
||||
not isUnreachedBlock(irb)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private predicate excludeAsControlledInstruction(Instruction instr) {
|
||||
@@ -682,7 +588,7 @@ class IRGuardCondition extends Instruction {
|
||||
/** Holds if (determined by this guard) `op == k` evaluates to `areEqual` if this expression evaluates to `value`. */
|
||||
pragma[inline]
|
||||
predicate comparesEq(Operand op, int k, boolean areEqual, AbstractValue value) {
|
||||
unary_compares_eq(valueNumber(this), op, k, areEqual, value)
|
||||
unary_compares_eq(valueNumber(this), op, k, areEqual, false, value)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -704,7 +610,7 @@ class IRGuardCondition extends Instruction {
|
||||
pragma[inline]
|
||||
predicate ensuresEq(Operand op, int k, IRBlock block, boolean areEqual) {
|
||||
exists(AbstractValue value |
|
||||
unary_compares_eq(valueNumber(this), op, k, areEqual, value) and
|
||||
unary_compares_eq(valueNumber(this), op, k, areEqual, false, value) and
|
||||
this.valueControls(block, value)
|
||||
)
|
||||
}
|
||||
@@ -730,7 +636,7 @@ class IRGuardCondition extends Instruction {
|
||||
pragma[inline]
|
||||
predicate ensuresEqEdge(Operand op, int k, IRBlock pred, IRBlock succ, boolean areEqual) {
|
||||
exists(AbstractValue value |
|
||||
unary_compares_eq(valueNumber(this), op, k, areEqual, value) and
|
||||
unary_compares_eq(valueNumber(this), op, k, areEqual, false, value) and
|
||||
this.valueControlsEdge(pred, succ, value)
|
||||
)
|
||||
}
|
||||
@@ -941,71 +847,77 @@ private module Cached {
|
||||
compares_eq(test.(BuiltinExpectCallValueNumber).getCondition(), left, right, k, areEqual, value)
|
||||
}
|
||||
|
||||
private predicate isConvertedBool(Instruction instr) {
|
||||
instr.getResultIRType() instanceof IRBooleanType
|
||||
or
|
||||
isConvertedBool(instr.(ConvertInstruction).getUnary())
|
||||
or
|
||||
isConvertedBool(instr.(BuiltinExpectCallInstruction).getCondition())
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `op == k` is `areEqual` given that `test` is equal to `value`.
|
||||
*
|
||||
* Many internal predicates in this file have a `inNonZeroCase` column.
|
||||
* Ideally, the `k` column would be a type such as `Option<int>::Option`, to
|
||||
* represent whether we have a concrete value `k` such that `op == k`, or whether
|
||||
* we only know that `op != 0`.
|
||||
* However, cannot instantiate `Option` with an infinite type. Thus the boolean
|
||||
* `inNonZeroCase` is used to distinquish the `Some` (where we have a concrete
|
||||
* value `k`) and `None` cases (where we only know that `op != 0`).
|
||||
*
|
||||
* Thus, if `inNonZeroCase = true` then `op != 0` and the value of `k` is
|
||||
* meaningless.
|
||||
*
|
||||
* To see why `inNonZeroCase` is needed consider the following C program:
|
||||
* ```c
|
||||
* char* p = ...;
|
||||
* if(p) {
|
||||
* use(p);
|
||||
* }
|
||||
* ```
|
||||
* in C++ there would be an int-to-bool conversion on `p`. However, since C
|
||||
* does not have booleans there is no conversion. We want to be able to
|
||||
* conclude that `p` is non-zero in the true branch, so we need to give `k`
|
||||
* some value. However, simply setting `k = 1` would make the rest of the
|
||||
* analysis think that `k == 1` holds inside the branch. So we distinquish
|
||||
* between the above case and
|
||||
* ```c
|
||||
* if(p == 1) {
|
||||
* use(p)
|
||||
* }
|
||||
* ```
|
||||
* by setting `inNonZeroCase` to `true` in the former case, but not in the
|
||||
* latter.
|
||||
*/
|
||||
cached
|
||||
predicate unary_compares_eq(
|
||||
ValueNumber test, Operand op, int k, boolean areEqual, AbstractValue value
|
||||
ValueNumber test, Operand op, int k, boolean areEqual, boolean inNonZeroCase,
|
||||
AbstractValue value
|
||||
) {
|
||||
/* The simple case where the test *is* the comparison so areEqual = testIsTrue xor eq. */
|
||||
exists(AbstractValue v | unary_simple_comparison_eq(test, op, k, v) |
|
||||
exists(AbstractValue v | unary_simple_comparison_eq(test, op, k, inNonZeroCase, v) |
|
||||
areEqual = true and value = v
|
||||
or
|
||||
areEqual = false and value = v.getDualValue()
|
||||
)
|
||||
or
|
||||
unary_complex_eq(test, op, k, areEqual, value)
|
||||
unary_complex_eq(test, op, k, areEqual, inNonZeroCase, value)
|
||||
or
|
||||
/* (x is true => (op == k)) => (!x is false => (op == k)) */
|
||||
exists(AbstractValue dual |
|
||||
exists(AbstractValue dual, boolean inNonZeroCase0 |
|
||||
value = dual.getDualValue() and
|
||||
unary_compares_eq(test.(LogicalNotValueNumber).getUnary(), op, k, areEqual, dual)
|
||||
unary_compares_eq(test.(LogicalNotValueNumber).getUnary(), op, k, inNonZeroCase0, areEqual,
|
||||
dual)
|
||||
|
|
||||
k = 0 and inNonZeroCase = inNonZeroCase0
|
||||
or
|
||||
k != 0 and inNonZeroCase = true
|
||||
)
|
||||
or
|
||||
// ((test is `areEqual` => op == const + k2) and const == `k1`) =>
|
||||
// test is `areEqual` => op == k1 + k2
|
||||
inNonZeroCase = false and
|
||||
exists(int k1, int k2, Instruction const |
|
||||
compares_eq(test, op, const.getAUse(), k2, areEqual, value) and
|
||||
int_value(const) = k1 and
|
||||
k = k1 + k2
|
||||
)
|
||||
or
|
||||
exists(CompareValueNumber cmp, Operand left, Operand right, AbstractValue v |
|
||||
test = cmp and
|
||||
cmp.hasOperands(left, right) and
|
||||
isConvertedBool(left.getDef()) and
|
||||
int_value(right.getDef()) = 0 and
|
||||
unary_compares_eq(valueNumberOfOperand(left), op, k, areEqual, v)
|
||||
|
|
||||
cmp instanceof CompareNEValueNumber and
|
||||
v = value
|
||||
or
|
||||
cmp instanceof CompareEQValueNumber and
|
||||
v.getDualValue() = value
|
||||
)
|
||||
or
|
||||
unary_compares_eq(test.(BuiltinExpectCallValueNumber).getCondition(), op, k, areEqual, value)
|
||||
or
|
||||
exists(BinaryLogicalOperation logical, Expr operand, boolean b |
|
||||
test.getAnInstruction().getUnconvertedResultExpression() = logical and
|
||||
op.getDef().getUnconvertedResultExpression() = operand and
|
||||
logical.impliesValue(operand, b, value.(BooleanValue).getValue())
|
||||
|
|
||||
k = 1 and
|
||||
areEqual = b
|
||||
or
|
||||
k = 0 and
|
||||
areEqual = b.booleanNot()
|
||||
)
|
||||
unary_compares_eq(test.(BuiltinExpectCallValueNumber).getCondition(), op, k, areEqual,
|
||||
inNonZeroCase, value)
|
||||
}
|
||||
|
||||
/** Rearrange various simple comparisons into `left == right + k` form. */
|
||||
@@ -1027,64 +939,74 @@ private module Cached {
|
||||
* Holds if `op` is an operand that is eventually used in a unary comparison
|
||||
* with a constant.
|
||||
*/
|
||||
private predicate mayBranchOn(Instruction instr) {
|
||||
exists(ConditionalBranchInstruction branch | branch.getCondition() = instr)
|
||||
private predicate isRelevantUnaryComparisonOperand(Operand op) {
|
||||
// Base case: `op` is an operand of a `CompareEQInstruction` or `CompareNEInstruction`,
|
||||
// and the other operand is a constant.
|
||||
exists(CompareInstruction eq, Instruction instr |
|
||||
eq.hasOperands(op, instr.getAUse()) and
|
||||
exists(int_value(instr))
|
||||
|
|
||||
eq instanceof CompareEQInstruction
|
||||
or
|
||||
eq instanceof CompareNEInstruction
|
||||
)
|
||||
or
|
||||
// C doesn't have int-to-bool conversions, so `if(x)` will just generate:
|
||||
// r2_1(glval<int>) = VariableAddress[x]
|
||||
// r2_2(int) = Load[x] : &:r2_1, m1_6
|
||||
// v2_3(void) = ConditionalBranch : r2_2
|
||||
exists(ConditionalBranchInstruction branch | branch.getConditionOperand() = op)
|
||||
or
|
||||
// If `!x` is a relevant unary comparison then so is `x`.
|
||||
exists(LogicalNotInstruction logicalNot |
|
||||
mayBranchOn(logicalNot) and
|
||||
logicalNot.getUnary() = instr
|
||||
isRelevantUnaryComparisonOperand(unique( | | logicalNot.getAUse())) and
|
||||
logicalNot.getUnaryOperand() = op
|
||||
)
|
||||
or
|
||||
// If `y` is a relevant unary comparison and `y = x` then so is `x`.
|
||||
not op.isDefinitionInexact() and
|
||||
exists(CopyInstruction copy |
|
||||
mayBranchOn(copy) and
|
||||
instr = copy.getSourceValue()
|
||||
isRelevantUnaryComparisonOperand(unique( | | copy.getAUse())) and
|
||||
op = copy.getSourceValueOperand()
|
||||
)
|
||||
or
|
||||
// If phi(x1, x2) is a relevant unary comparison then so are `x1` and `x2`.
|
||||
not op.isDefinitionInexact() and
|
||||
exists(PhiInstruction phi |
|
||||
mayBranchOn(phi) and
|
||||
instr = phi.getAnInput()
|
||||
isRelevantUnaryComparisonOperand(unique( | | phi.getAUse())) and
|
||||
op = phi.getAnInputOperand()
|
||||
)
|
||||
or
|
||||
// If `__builtin_expect(x)` is a relevant unary comparison then so is `x`.
|
||||
exists(BuiltinExpectCallInstruction call |
|
||||
mayBranchOn(call) and
|
||||
instr = call.getCondition()
|
||||
isRelevantUnaryComparisonOperand(unique( | | call.getAUse())) and
|
||||
op = call.getConditionOperand()
|
||||
)
|
||||
}
|
||||
|
||||
/** Rearrange various simple comparisons into `op == k` form. */
|
||||
private predicate unary_simple_comparison_eq(
|
||||
ValueNumber test, Operand op, int k, AbstractValue value
|
||||
ValueNumber test, Operand op, int k, boolean inNonZeroCase, AbstractValue value
|
||||
) {
|
||||
exists(CaseEdge case, SwitchConditionValueNumber condition |
|
||||
condition = test and
|
||||
op = condition.getExpressionOperand() and
|
||||
case = value.(MatchValue).getCase() and
|
||||
exists(condition.getSuccessor(case)) and
|
||||
case.getValue().toInt() = k
|
||||
case.getValue().toInt() = k and
|
||||
inNonZeroCase = false
|
||||
)
|
||||
or
|
||||
exists(Instruction const | int_value(const) = k |
|
||||
value.(BooleanValue).getValue() = true and
|
||||
test.(CompareEQValueNumber).hasOperands(op, const.getAUse())
|
||||
or
|
||||
value.(BooleanValue).getValue() = false and
|
||||
test.(CompareNEValueNumber).hasOperands(op, const.getAUse())
|
||||
)
|
||||
or
|
||||
exists(BooleanValue bv |
|
||||
bv = value and
|
||||
mayBranchOn(op.getDef()) and
|
||||
op = test.getAUse()
|
||||
|
|
||||
k = 0 and
|
||||
bv.getValue() = false
|
||||
or
|
||||
isRelevantUnaryComparisonOperand(op) and
|
||||
op.getDef() = test.getAnInstruction() and
|
||||
(
|
||||
k = 1 and
|
||||
bv.getValue() = true
|
||||
value.(BooleanValue).getValue() = true and
|
||||
inNonZeroCase = true
|
||||
or
|
||||
k = 0 and
|
||||
value.(BooleanValue).getValue() = false and
|
||||
inNonZeroCase = false
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1139,12 +1061,13 @@ private module Cached {
|
||||
* an instruction that compares the value of `__builtin_expect(op == k, _)` to `0`.
|
||||
*/
|
||||
private predicate unary_builtin_expect_eq(
|
||||
CompareValueNumber cmp, Operand op, int k, boolean areEqual, AbstractValue value
|
||||
CompareValueNumber cmp, Operand op, int k, boolean areEqual, boolean inNonZeroCase,
|
||||
AbstractValue value
|
||||
) {
|
||||
exists(BuiltinExpectCallValueNumber call, Instruction const, AbstractValue innerValue |
|
||||
int_value(const) = 0 and
|
||||
cmp.hasOperands(call.getAUse(), const.getAUse()) and
|
||||
unary_compares_eq(call.getCondition(), op, k, areEqual, innerValue)
|
||||
unary_compares_eq(call.getCondition(), op, k, areEqual, inNonZeroCase, innerValue)
|
||||
|
|
||||
cmp instanceof CompareNEValueNumber and
|
||||
value = innerValue
|
||||
@@ -1155,13 +1078,14 @@ private module Cached {
|
||||
}
|
||||
|
||||
private predicate unary_complex_eq(
|
||||
ValueNumber test, Operand op, int k, boolean areEqual, AbstractValue value
|
||||
ValueNumber test, Operand op, int k, boolean areEqual, boolean inNonZeroCase,
|
||||
AbstractValue value
|
||||
) {
|
||||
unary_sub_eq(test, op, k, areEqual, value)
|
||||
unary_sub_eq(test, op, k, areEqual, inNonZeroCase, value)
|
||||
or
|
||||
unary_add_eq(test, op, k, areEqual, value)
|
||||
unary_add_eq(test, op, k, areEqual, inNonZeroCase, value)
|
||||
or
|
||||
unary_builtin_expect_eq(test, op, k, areEqual, value)
|
||||
unary_builtin_expect_eq(test, op, k, areEqual, inNonZeroCase, value)
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1423,17 +1347,20 @@ private module Cached {
|
||||
|
||||
// op - x == c => op == (c+x)
|
||||
private predicate unary_sub_eq(
|
||||
ValueNumber test, Operand op, int k, boolean areEqual, AbstractValue value
|
||||
ValueNumber test, Operand op, int k, boolean areEqual, boolean inNonZeroCase,
|
||||
AbstractValue value
|
||||
) {
|
||||
inNonZeroCase = false and
|
||||
exists(SubInstruction sub, int c, int x |
|
||||
unary_compares_eq(test, sub.getAUse(), c, areEqual, value) and
|
||||
unary_compares_eq(test, sub.getAUse(), c, areEqual, inNonZeroCase, value) and
|
||||
op = sub.getLeftOperand() and
|
||||
x = int_value(sub.getRight()) and
|
||||
k = c + x
|
||||
)
|
||||
or
|
||||
inNonZeroCase = false and
|
||||
exists(PointerSubInstruction sub, int c, int x |
|
||||
unary_compares_eq(test, sub.getAUse(), c, areEqual, value) and
|
||||
unary_compares_eq(test, sub.getAUse(), c, areEqual, inNonZeroCase, value) and
|
||||
op = sub.getLeftOperand() and
|
||||
x = int_value(sub.getRight()) and
|
||||
k = c + x
|
||||
@@ -1488,10 +1415,12 @@ private module Cached {
|
||||
|
||||
// left + x == right + c => left == right + (c-x)
|
||||
private predicate unary_add_eq(
|
||||
ValueNumber test, Operand left, int k, boolean areEqual, AbstractValue value
|
||||
ValueNumber test, Operand left, int k, boolean areEqual, boolean inNonZeroCase,
|
||||
AbstractValue value
|
||||
) {
|
||||
inNonZeroCase = false and
|
||||
exists(AddInstruction lhs, int c, int x |
|
||||
unary_compares_eq(test, lhs.getAUse(), c, areEqual, value) and
|
||||
unary_compares_eq(test, lhs.getAUse(), c, areEqual, inNonZeroCase, value) and
|
||||
(
|
||||
left = lhs.getLeftOperand() and x = int_value(lhs.getRight())
|
||||
or
|
||||
@@ -1500,8 +1429,9 @@ private module Cached {
|
||||
k = c - x
|
||||
)
|
||||
or
|
||||
inNonZeroCase = false and
|
||||
exists(PointerAddInstruction lhs, int c, int x |
|
||||
unary_compares_eq(test, lhs.getAUse(), c, areEqual, value) and
|
||||
unary_compares_eq(test, lhs.getAUse(), c, areEqual, inNonZeroCase, value) and
|
||||
(
|
||||
left = lhs.getLeftOperand() and x = int_value(lhs.getRight())
|
||||
or
|
||||
@@ -1523,25 +1453,3 @@ private module Cached {
|
||||
}
|
||||
|
||||
private import Cached
|
||||
|
||||
/**
|
||||
* Holds if `left < right + k` evaluates to `isLt` given that some guard
|
||||
* evaluates to `value`.
|
||||
*
|
||||
* To find the specific guard that performs the comparison
|
||||
* use `IRGuards.comparesLt`.
|
||||
*/
|
||||
predicate comparesLt(Operand left, Operand right, int k, boolean isLt, AbstractValue value) {
|
||||
compares_lt(_, left, right, k, isLt, value)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `left = right + k` evaluates to `isLt` given that some guard
|
||||
* evaluates to `value`.
|
||||
*
|
||||
* To find the specific guard that performs the comparison
|
||||
* use `IRGuards.comparesEq`.
|
||||
*/
|
||||
predicate comparesEq(Operand left, Operand right, int k, boolean isLt, AbstractValue value) {
|
||||
compares_eq(_, left, right, k, isLt, value)
|
||||
}
|
||||
|
||||
@@ -876,25 +876,6 @@ private predicate subEdge(Pos p1, Node n1, Node n2, Pos p2) {
|
||||
p2.nodeAfter(n2, s)
|
||||
)
|
||||
or
|
||||
// NotConstevalIfStmt -> { then, else } ->
|
||||
exists(ConstevalIfStmt s |
|
||||
p1.nodeAt(n1, s) and
|
||||
p2.nodeBefore(n2, s.getThen())
|
||||
or
|
||||
p1.nodeAt(n1, s) and
|
||||
p2.nodeBefore(n2, s.getElse())
|
||||
or
|
||||
p1.nodeAt(n1, s) and
|
||||
not exists(s.getElse()) and
|
||||
p2.nodeAfter(n2, s)
|
||||
or
|
||||
p1.nodeAfter(n1, s.getThen()) and
|
||||
p2.nodeAfter(n2, s)
|
||||
or
|
||||
p1.nodeAfter(n1, s.getElse()) and
|
||||
p2.nodeAfter(n2, s)
|
||||
)
|
||||
or
|
||||
// WhileStmt -> condition ; body -> condition ; after dtors -> after
|
||||
exists(WhileStmt s |
|
||||
p1.nodeAt(n1, s) and
|
||||
|
||||
@@ -227,11 +227,11 @@ class ProxyClass extends UserType {
|
||||
}
|
||||
|
||||
class TypeTemplateParameter extends UserType {
|
||||
TypeTemplateParameter() { usertypes(this, _, [7, 8]) }
|
||||
TypeTemplateParameter() { usertypes(this, _, 7) or usertypes(this, _, 8) }
|
||||
}
|
||||
|
||||
class TemplateClass extends UserType {
|
||||
TemplateClass() { usertypes(this, _, [15, 16, 17]) }
|
||||
TemplateClass() { usertypes(this, _, 6) }
|
||||
|
||||
UserType getAnInstantiation() {
|
||||
class_instantiation(result, this) and
|
||||
|
||||
@@ -114,7 +114,15 @@ private module Cached {
|
||||
* Holds if `t` is a struct, class, union, or template.
|
||||
*/
|
||||
cached
|
||||
predicate isClass(@usertype t) { usertypes(t, _, [1, 2, 3, 15, 16, 17]) }
|
||||
predicate isClass(@usertype t) {
|
||||
usertypes(t, _, 1) or
|
||||
usertypes(t, _, 2) or
|
||||
usertypes(t, _, 3) or
|
||||
usertypes(t, _, 6) or
|
||||
usertypes(t, _, 10) or
|
||||
usertypes(t, _, 11) or
|
||||
usertypes(t, _, 12)
|
||||
}
|
||||
|
||||
cached
|
||||
predicate isType(@type t) {
|
||||
|
||||
@@ -382,7 +382,7 @@ private class SideEffectArgumentNode extends ArgumentNode, SideEffectOperandNode
|
||||
exists(int indirectionIndex |
|
||||
pos = TIndirectionPosition(argumentIndex, pragma[only_bind_into](indirectionIndex)) and
|
||||
this.getCallInstruction() = dfCall.asCallInstruction() and
|
||||
super.hasAddressOperandAndIndirectionIndex(arg, pragma[only_bind_into](indirectionIndex))
|
||||
super.hasAddressOperandAndIndirectionIndex(_, pragma[only_bind_into](indirectionIndex))
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -757,11 +757,9 @@ class SsaIteratorNode extends Node, TSsaIteratorNode {
|
||||
class SideEffectOperandNode extends Node instanceof IndirectOperand {
|
||||
CallInstruction call;
|
||||
int argumentIndex;
|
||||
ArgumentOperand arg;
|
||||
|
||||
SideEffectOperandNode() {
|
||||
arg = call.getArgumentOperand(argumentIndex) and
|
||||
IndirectOperand.super.hasOperandAndIndirectionIndex(arg, _)
|
||||
IndirectOperand.super.hasOperandAndIndirectionIndex(call.getArgumentOperand(argumentIndex), _)
|
||||
}
|
||||
|
||||
CallInstruction getCallInstruction() { result = call }
|
||||
@@ -2496,36 +2494,6 @@ module InstructionBarrierGuard<instructionGuardChecksSig/3 instructionGuardCheck
|
||||
result = TSsaPhiInputNode(phi, input)
|
||||
)
|
||||
}
|
||||
|
||||
bindingset[value, n]
|
||||
pragma[inline_late]
|
||||
private predicate indirectOperandHasValueNumber(ValueNumber value, int indirectionIndex, Node n) {
|
||||
exists(Operand use |
|
||||
use = value.getAnInstruction().getAUse() and
|
||||
n.asIndirectOperand(indirectionIndex) = use
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets an indirect node with indirection index `indirectionIndex` that is
|
||||
* safely guarded by the given guard check.
|
||||
*/
|
||||
Node getAnIndirectBarrierNode(int indirectionIndex) {
|
||||
exists(IRGuardCondition g, ValueNumber value, boolean edge |
|
||||
instructionGuardChecks(g, pragma[only_bind_into](value.getAnInstruction()), edge) and
|
||||
indirectOperandHasValueNumber(value, indirectionIndex, result) and
|
||||
controls(g, result, edge)
|
||||
)
|
||||
or
|
||||
exists(
|
||||
IRGuardCondition g, boolean branch, Ssa::DefinitionExt def, IRBlock input, Ssa::PhiNode phi
|
||||
|
|
||||
instructionGuardChecks(g, def.getARead().asIndirectOperand(indirectionIndex).getDef(), branch) and
|
||||
guardControlsPhiInput(g, branch, def, pragma[only_bind_into](input),
|
||||
pragma[only_bind_into](phi)) and
|
||||
result = TSsaPhiInputNode(phi, input)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -899,24 +899,6 @@ class MemoryLocation extends FinalMemoryLocation {
|
||||
MemoryLocation() { not useOverlapWithBusyDef(this) }
|
||||
}
|
||||
|
||||
bindingset[fun]
|
||||
pragma[inline_late]
|
||||
private MemoryLocation getUnknownMemoryLocation(IRFunction fun, boolean isMayAccess) {
|
||||
result = TUnknownMemoryLocation(fun, isMayAccess)
|
||||
}
|
||||
|
||||
bindingset[fun]
|
||||
pragma[inline_late]
|
||||
private MemoryLocation getAllAliasedMemory(IRFunction fun, boolean isMayAccess) {
|
||||
result = TAllAliasedMemory(fun, isMayAccess)
|
||||
}
|
||||
|
||||
bindingset[fun]
|
||||
pragma[inline_late]
|
||||
private MemoryLocation getAllNonLocalMemory(IRFunction fun, boolean isMayAccess) {
|
||||
result = TAllNonLocalMemory(fun, isMayAccess)
|
||||
}
|
||||
|
||||
MemoryLocation getResultMemoryLocation(Instruction instr) {
|
||||
not canReuseSsaForOldResult(instr) and
|
||||
exists(MemoryAccessKind kind, boolean isMayAccess |
|
||||
@@ -944,7 +926,7 @@ MemoryLocation getResultMemoryLocation(Instruction instr) {
|
||||
// And otherwise we assign it a memory location that groups all the relevant memory locations into one.
|
||||
result = getGroupedMemoryLocation(var, unbindBool(isMayAccess), false)
|
||||
)
|
||||
else result = getUnknownMemoryLocation(instr.getEnclosingIRFunction(), isMayAccess)
|
||||
else result = TUnknownMemoryLocation(instr.getEnclosingIRFunction(), isMayAccess)
|
||||
)
|
||||
or
|
||||
kind instanceof EntireAllocationMemoryAccess and
|
||||
@@ -953,10 +935,10 @@ MemoryLocation getResultMemoryLocation(Instruction instr) {
|
||||
unbindBool(isMayAccess))
|
||||
or
|
||||
kind instanceof EscapedMemoryAccess and
|
||||
result = getAllAliasedMemory(instr.getEnclosingIRFunction(), isMayAccess)
|
||||
result = TAllAliasedMemory(instr.getEnclosingIRFunction(), isMayAccess)
|
||||
or
|
||||
kind instanceof NonLocalMemoryAccess and
|
||||
result = getAllNonLocalMemory(instr.getEnclosingIRFunction(), isMayAccess)
|
||||
result = TAllNonLocalMemory(instr.getEnclosingIRFunction(), isMayAccess)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -171,23 +171,6 @@ module Raw {
|
||||
// forwarded the result of another translated expression.
|
||||
instruction = translatedExpr.getInstruction(_)
|
||||
)
|
||||
or
|
||||
// Consider the snippet `if(x) { ... }` where `x` is an integer.
|
||||
// In C++ there is a `BoolConversion` conversion on `x` which generates a
|
||||
// `CompareNEInstruction` whose `getInstructionConvertedResultExpression`
|
||||
// is the `BoolConversion` (by the logic in the disjunct above). Thus,
|
||||
// calling `getInstructionUnconvertedResultExpression` on the
|
||||
// `CompareNEInstruction` gives `x` in C++ code.
|
||||
// However, in C there is no such conversion to return. So instead we have
|
||||
// to map the result of `getInstructionConvertedResultExpression` on the
|
||||
// `CompareNEInstruction` to `x` manually. This ensures that calling
|
||||
// `getInstructionUnconvertedResultExpression` on the `CompareNEInstruction`
|
||||
// gives `x` in both the C case and C++ case.
|
||||
exists(TranslatedValueCondition translatedValueCondition |
|
||||
translatedValueCondition = getTranslatedCondition(result) and
|
||||
translatedValueCondition.shouldGenerateCompareNE() and
|
||||
instruction = translatedValueCondition.getInstruction(ValueConditionCompareTag())
|
||||
)
|
||||
}
|
||||
|
||||
cached
|
||||
|
||||
@@ -38,11 +38,7 @@ newtype TInstructionTag =
|
||||
AllocationSizeTag() or
|
||||
AllocationElementSizeTag() or
|
||||
AllocationExtentConvertTag() or
|
||||
ValueConditionCompareTag() or
|
||||
ValueConditionConstantTag() or
|
||||
ValueConditionConditionalBranchTag() or
|
||||
ValueConditionConditionalConstantTag() or
|
||||
ValueConditionConditionalCompareTag() or
|
||||
ConditionValueTrueTempAddressTag() or
|
||||
ConditionValueTrueConstantTag() or
|
||||
ConditionValueTrueStoreTag() or
|
||||
@@ -53,8 +49,6 @@ newtype TInstructionTag =
|
||||
ConditionValueResultLoadTag() or
|
||||
BoolConversionConstantTag() or
|
||||
BoolConversionCompareTag() or
|
||||
NotExprOperationTag() or
|
||||
NotExprConstantTag() or
|
||||
ResultCopyTag() or
|
||||
LoadTag() or // Implicit load due to lvalue-to-rvalue conversion
|
||||
CatchTag() or
|
||||
@@ -173,14 +167,6 @@ string getInstructionTagId(TInstructionTag tag) {
|
||||
or
|
||||
tag = ValueConditionConditionalBranchTag() and result = "ValCondCondBranch"
|
||||
or
|
||||
tag = ValueConditionConditionalConstantTag() and result = "ValueConditionConditionalConstant"
|
||||
or
|
||||
tag = ValueConditionConditionalCompareTag() and result = "ValueConditionConditionalCompare"
|
||||
or
|
||||
tag = ValueConditionCompareTag() and result = "ValCondCondCompare"
|
||||
or
|
||||
tag = ValueConditionConstantTag() and result = "ValCondConstant"
|
||||
or
|
||||
tag = ConditionValueTrueTempAddressTag() and result = "CondValTrueTempAddr"
|
||||
or
|
||||
tag = ConditionValueTrueConstantTag() and result = "CondValTrueConst"
|
||||
@@ -201,10 +187,6 @@ string getInstructionTagId(TInstructionTag tag) {
|
||||
or
|
||||
tag = BoolConversionCompareTag() and result = "BoolConvComp"
|
||||
or
|
||||
tag = NotExprOperationTag() and result = "NotExprOperation"
|
||||
or
|
||||
tag = NotExprConstantTag() and result = "NotExprWithBoolConversionConstant"
|
||||
or
|
||||
tag = ResultCopyTag() and result = "ResultCopy"
|
||||
or
|
||||
tag = LoadTag() and result = "Load" // Implicit load due to lvalue-to-rvalue conversion
|
||||
|
||||
@@ -47,7 +47,7 @@ abstract class TranslatedFlexibleCondition extends TranslatedCondition, Conditio
|
||||
{
|
||||
TranslatedFlexibleCondition() { this = TTranslatedFlexibleCondition(expr) }
|
||||
|
||||
final override predicate handlesDestructorsExplicitly() { none() } // TODO: this needs to be revisited when we get unnamed destructors
|
||||
final override predicate handlesDestructorsExplicitly() { none() } // TODO: this needs to be revisted when we get unnamed destructors
|
||||
|
||||
final override TranslatedElement getChild(int id) { id = 0 and result = this.getOperand() }
|
||||
|
||||
@@ -187,24 +187,7 @@ class TranslatedValueCondition extends TranslatedCondition, TTranslatedValueCond
|
||||
|
||||
final override predicate handlesDestructorsExplicitly() { none() } // TODO: this needs to be revisted when we get unnamed destructors
|
||||
|
||||
private Type getValueExprType() {
|
||||
result = this.getValueExpr().getExprType().getUnspecifiedType()
|
||||
}
|
||||
|
||||
predicate shouldGenerateCompareNE() { not this.getValueExprType() instanceof BoolType }
|
||||
|
||||
override predicate hasInstruction(Opcode opcode, InstructionTag tag, CppType resultType) {
|
||||
this.shouldGenerateCompareNE() and
|
||||
(
|
||||
tag = ValueConditionCompareTag() and
|
||||
opcode instanceof Opcode::CompareNE and
|
||||
resultType = getBoolType()
|
||||
or
|
||||
tag = ValueConditionConstantTag() and
|
||||
opcode instanceof Opcode::Constant and
|
||||
resultType = getTypeForPRValue(this.getValueExprType())
|
||||
)
|
||||
or
|
||||
tag = ValueConditionConditionalBranchTag() and
|
||||
opcode instanceof Opcode::ConditionalBranch and
|
||||
resultType = getVoidType()
|
||||
@@ -212,24 +195,11 @@ class TranslatedValueCondition extends TranslatedCondition, TTranslatedValueCond
|
||||
|
||||
override Instruction getChildSuccessorInternal(TranslatedElement child, EdgeKind kind) {
|
||||
child = this.getValueExpr() and
|
||||
kind instanceof GotoEdge and
|
||||
if this.shouldGenerateCompareNE()
|
||||
then result = this.getInstruction(ValueConditionConstantTag())
|
||||
else result = this.getInstruction(ValueConditionConditionalBranchTag())
|
||||
result = this.getInstruction(ValueConditionConditionalBranchTag()) and
|
||||
kind instanceof GotoEdge
|
||||
}
|
||||
|
||||
override Instruction getInstructionSuccessorInternal(InstructionTag tag, EdgeKind kind) {
|
||||
this.shouldGenerateCompareNE() and
|
||||
(
|
||||
tag = ValueConditionConstantTag() and
|
||||
kind instanceof GotoEdge and
|
||||
result = this.getInstruction(ValueConditionCompareTag())
|
||||
or
|
||||
tag = ValueConditionCompareTag() and
|
||||
kind instanceof GotoEdge and
|
||||
result = this.getInstruction(ValueConditionConditionalBranchTag())
|
||||
)
|
||||
or
|
||||
tag = ValueConditionConditionalBranchTag() and
|
||||
(
|
||||
kind instanceof TrueEdge and
|
||||
@@ -241,26 +211,9 @@ class TranslatedValueCondition extends TranslatedCondition, TTranslatedValueCond
|
||||
}
|
||||
|
||||
override Instruction getInstructionRegisterOperand(InstructionTag tag, OperandTag operandTag) {
|
||||
this.shouldGenerateCompareNE() and
|
||||
tag = ValueConditionCompareTag() and
|
||||
(
|
||||
operandTag instanceof LeftOperandTag and
|
||||
result = this.getValueExpr().getResult()
|
||||
or
|
||||
operandTag instanceof RightOperandTag and
|
||||
result = this.getInstruction(ValueConditionConstantTag())
|
||||
)
|
||||
or
|
||||
tag = ValueConditionConditionalBranchTag() and
|
||||
operandTag instanceof ConditionOperandTag and
|
||||
if this.shouldGenerateCompareNE()
|
||||
then result = this.getInstruction(ValueConditionCompareTag())
|
||||
else result = this.getValueExpr().getResult()
|
||||
}
|
||||
|
||||
override string getInstructionConstantValue(InstructionTag tag) {
|
||||
tag = ValueConditionConstantTag() and
|
||||
result = "0"
|
||||
result = this.getValueExpr().getResult()
|
||||
}
|
||||
|
||||
private TranslatedExpr getValueExpr() { result = getTranslatedExpr(expr) }
|
||||
|
||||
@@ -166,7 +166,7 @@ private predicate ignoreExpr(Expr expr) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if the side effects of `expr` should be ignored for the purposes of IR generation.
|
||||
* Holds if the side effects of `expr` should be ignoredf for the purposes of IR generation.
|
||||
*
|
||||
* In cases involving `constexpr`, a call can wind up as a constant expression. `ignoreExpr()` will
|
||||
* not hold for such a call, since we do need to translate the call (as a constant), but we need to
|
||||
|
||||
@@ -59,19 +59,10 @@ abstract class TranslatedExpr extends TranslatedElement {
|
||||
|
||||
final CppType getResultType() {
|
||||
if this.isResultGLValue()
|
||||
then result = getTypeForGLValue(this.getExprType())
|
||||
else result = getTypeForPRValue(this.getExprType())
|
||||
then result = getTypeForGLValue(expr.getType())
|
||||
else result = getTypeForPRValue(expr.getType())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the type of `expr`.
|
||||
*
|
||||
* This predicate can be overwritten in subclasses to modify the result
|
||||
* of `getResultType` which determines the type of the instruction that
|
||||
* generates the result of `expr`.
|
||||
*/
|
||||
Type getExprType() { result = expr.getType() }
|
||||
|
||||
/**
|
||||
* Holds if the result of this `TranslatedExpr` is a glvalue.
|
||||
*/
|
||||
@@ -1271,10 +1262,9 @@ abstract class TranslatedSingleInstructionExpr extends TranslatedNonConstantExpr
|
||||
|
||||
class TranslatedUnaryExpr extends TranslatedSingleInstructionExpr {
|
||||
TranslatedUnaryExpr() {
|
||||
expr instanceof ComplementExpr
|
||||
or
|
||||
expr instanceof UnaryPlusExpr
|
||||
or
|
||||
expr instanceof NotExpr or
|
||||
expr instanceof ComplementExpr or
|
||||
expr instanceof UnaryPlusExpr or
|
||||
expr instanceof UnaryMinusExpr
|
||||
}
|
||||
|
||||
@@ -1308,6 +1298,8 @@ class TranslatedUnaryExpr extends TranslatedSingleInstructionExpr {
|
||||
}
|
||||
|
||||
final override Opcode getOpcode() {
|
||||
expr instanceof NotExpr and result instanceof Opcode::LogicalNot
|
||||
or
|
||||
expr instanceof ComplementExpr and result instanceof Opcode::BitComplement
|
||||
or
|
||||
expr instanceof UnaryPlusExpr and result instanceof Opcode::CopyValue
|
||||
@@ -1320,100 +1312,6 @@ class TranslatedUnaryExpr extends TranslatedSingleInstructionExpr {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The IR translation of a `NotExpr`.
|
||||
*
|
||||
* In C++ an operation such as `!x` where `x` is an `int` will generate
|
||||
* ```
|
||||
* r1(glval<int>) = VariableAddress[x] :
|
||||
* r2(int) = Load : &r1
|
||||
* r3(int) = Constant[0] :
|
||||
* r4(bool) = CompareNE : r2, r3
|
||||
* r5(bool) = LogicalNot : r4
|
||||
* ```
|
||||
* since C does not do implicit int-to-bool casts we need to generate the
|
||||
* `Constant[0]`, `CompareNE`, and `LogicalNot` instructions manually, but
|
||||
* we simplify this and generate `Constant[0]`, `CompareEQ` instead.
|
||||
*/
|
||||
class TranslatedNotExpr extends TranslatedNonConstantExpr {
|
||||
override NotExpr expr;
|
||||
|
||||
override Type getExprType() { result instanceof BoolType }
|
||||
|
||||
private Type getOperandType() { result = this.getOperand().getExprType().getUnspecifiedType() }
|
||||
|
||||
predicate shouldGenerateEq() { not this.getOperandType() instanceof BoolType }
|
||||
|
||||
final override Instruction getFirstInstruction(EdgeKind kind) {
|
||||
result = this.getOperand().getFirstInstruction(kind)
|
||||
}
|
||||
|
||||
override Instruction getALastInstructionInternal() {
|
||||
result = this.getInstruction(NotExprOperationTag())
|
||||
}
|
||||
|
||||
final override TranslatedElement getChildInternal(int id) {
|
||||
id = 0 and result = this.getOperand()
|
||||
}
|
||||
|
||||
override predicate hasInstruction(Opcode opcode, InstructionTag tag, CppType resultType) {
|
||||
this.shouldGenerateEq() and
|
||||
tag = NotExprConstantTag() and
|
||||
opcode instanceof Opcode::Constant and
|
||||
resultType = getTypeForPRValue(this.getOperandType())
|
||||
or
|
||||
resultType = getBoolType() and
|
||||
tag = NotExprOperationTag() and
|
||||
if this.shouldGenerateEq()
|
||||
then opcode instanceof Opcode::CompareEQ
|
||||
else opcode instanceof Opcode::LogicalNot
|
||||
}
|
||||
|
||||
final override Instruction getInstructionSuccessorInternal(InstructionTag tag, EdgeKind kind) {
|
||||
tag = NotExprOperationTag() and
|
||||
result = this.getParent().getChildSuccessor(this, kind)
|
||||
or
|
||||
tag = NotExprConstantTag() and
|
||||
kind instanceof GotoEdge and
|
||||
result = this.getInstruction(NotExprOperationTag())
|
||||
}
|
||||
|
||||
final override Instruction getChildSuccessorInternal(TranslatedElement child, EdgeKind kind) {
|
||||
child = this.getOperand() and
|
||||
kind instanceof GotoEdge and
|
||||
if this.shouldGenerateEq()
|
||||
then result = this.getInstruction(NotExprConstantTag())
|
||||
else result = this.getInstruction(NotExprOperationTag())
|
||||
}
|
||||
|
||||
final override Instruction getInstructionRegisterOperand(InstructionTag tag, OperandTag operandTag) {
|
||||
tag = NotExprOperationTag() and
|
||||
if this.shouldGenerateEq()
|
||||
then (
|
||||
result = this.getOperand().getResult() and
|
||||
operandTag instanceof LeftOperandTag
|
||||
or
|
||||
result = this.getInstruction(NotExprConstantTag()) and
|
||||
operandTag instanceof RightOperandTag
|
||||
) else (
|
||||
operandTag instanceof UnaryOperandTag and
|
||||
result = this.getOperand().getResult()
|
||||
)
|
||||
}
|
||||
|
||||
private TranslatedExpr getOperand() {
|
||||
result = getTranslatedExpr(expr.getOperand().getFullyConverted())
|
||||
}
|
||||
|
||||
final override Instruction getResult() { result = this.getInstruction(NotExprOperationTag()) }
|
||||
|
||||
override string getInstructionConstantValue(InstructionTag tag) {
|
||||
this.shouldGenerateEq() and
|
||||
tag = NotExprConstantTag() and
|
||||
result = "0"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* IR translation of a `co_await` or `co_yield` expression.
|
||||
*
|
||||
@@ -1856,12 +1754,6 @@ class TranslatedBinaryOperation extends TranslatedSingleInstructionExpr {
|
||||
result = comparisonOpcode(expr)
|
||||
}
|
||||
|
||||
override Type getExprType() {
|
||||
if exists(comparisonOpcode(expr))
|
||||
then result instanceof BoolType
|
||||
else result = super.getExprType()
|
||||
}
|
||||
|
||||
override int getInstructionElementSize(InstructionTag tag) {
|
||||
tag = OnlyInstructionTag() and
|
||||
exists(Opcode opcode |
|
||||
@@ -2965,10 +2857,6 @@ class TranslatedBinaryConditionalExpr extends TranslatedConditionalExpr {
|
||||
result = this.getCondition().getFirstInstruction(kind)
|
||||
}
|
||||
|
||||
private Type getConditionType() {
|
||||
result = this.getCondition().getExprType().getUnspecifiedType()
|
||||
}
|
||||
|
||||
override predicate hasInstruction(Opcode opcode, InstructionTag tag, CppType resultType) {
|
||||
super.hasInstruction(opcode, tag, resultType)
|
||||
or
|
||||
@@ -2976,35 +2864,11 @@ class TranslatedBinaryConditionalExpr extends TranslatedConditionalExpr {
|
||||
tag = ValueConditionConditionalBranchTag() and
|
||||
opcode instanceof Opcode::ConditionalBranch and
|
||||
resultType = getVoidType()
|
||||
or
|
||||
exists(Type t |
|
||||
t = this.getConditionType() and
|
||||
not t instanceof BoolType
|
||||
|
|
||||
tag = ValueConditionConditionalConstantTag() and
|
||||
opcode instanceof Opcode::Constant and
|
||||
resultType = getTypeForPRValue(t)
|
||||
or
|
||||
tag = ValueConditionConditionalCompareTag() and
|
||||
opcode instanceof Opcode::CompareNE and
|
||||
resultType = getBoolType()
|
||||
)
|
||||
}
|
||||
|
||||
override Instruction getInstructionSuccessorInternal(InstructionTag tag, EdgeKind kind) {
|
||||
result = super.getInstructionSuccessorInternal(tag, kind)
|
||||
or
|
||||
not this.getConditionType() instanceof BoolType and
|
||||
(
|
||||
tag = ValueConditionConditionalConstantTag() and
|
||||
kind instanceof GotoEdge and
|
||||
result = this.getInstruction(ValueConditionConditionalCompareTag())
|
||||
or
|
||||
tag = ValueConditionConditionalCompareTag() and
|
||||
kind instanceof GotoEdge and
|
||||
result = this.getInstruction(ValueConditionConditionalBranchTag())
|
||||
)
|
||||
or
|
||||
tag = ValueConditionConditionalBranchTag() and
|
||||
(
|
||||
kind instanceof TrueEdge and
|
||||
@@ -3020,19 +2884,7 @@ class TranslatedBinaryConditionalExpr extends TranslatedConditionalExpr {
|
||||
or
|
||||
tag = ValueConditionConditionalBranchTag() and
|
||||
operandTag instanceof ConditionOperandTag and
|
||||
if this.getConditionType() instanceof BoolType
|
||||
then result = this.getCondition().getResult()
|
||||
else result = this.getInstruction(ValueConditionConditionalCompareTag())
|
||||
or
|
||||
not this.getConditionType() instanceof BoolType and
|
||||
tag = ValueConditionConditionalCompareTag() and
|
||||
(
|
||||
operandTag instanceof LeftOperandTag and
|
||||
result = this.getCondition().getResult()
|
||||
or
|
||||
operandTag instanceof RightOperandTag and
|
||||
result = this.getInstruction(ValueConditionConditionalConstantTag())
|
||||
)
|
||||
result = this.getCondition().getResult()
|
||||
}
|
||||
|
||||
override Instruction getChildSuccessorInternal(TranslatedElement child, EdgeKind kind) {
|
||||
@@ -3040,9 +2892,7 @@ class TranslatedBinaryConditionalExpr extends TranslatedConditionalExpr {
|
||||
or
|
||||
kind instanceof GotoEdge and
|
||||
child = this.getCondition() and
|
||||
if this.getConditionType() instanceof BoolType
|
||||
then result = this.getInstruction(ValueConditionConditionalBranchTag())
|
||||
else result = this.getInstruction(ValueConditionConditionalConstantTag())
|
||||
result = this.getInstruction(ValueConditionConditionalBranchTag())
|
||||
}
|
||||
|
||||
private TranslatedExpr getCondition() {
|
||||
@@ -3059,11 +2909,6 @@ class TranslatedBinaryConditionalExpr extends TranslatedConditionalExpr {
|
||||
// always converting the "then" operand to `bool`, which is almost always the wrong type.
|
||||
result = getTranslatedExpr(expr.getThen().getExplicitlyConverted())
|
||||
}
|
||||
|
||||
override string getInstructionConstantValue(InstructionTag tag) {
|
||||
tag = ValueConditionConditionalConstantTag() and
|
||||
result = "0"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1098,61 +1098,6 @@ class TranslatedConstExprIfStmt extends TranslatedIfLikeStmt {
|
||||
override predicate hasElse() { exists(stmt.getElse()) }
|
||||
}
|
||||
|
||||
class TranslatedConstevalIfStmt extends TranslatedStmt {
|
||||
override ConstevalIfStmt stmt;
|
||||
|
||||
override Instruction getFirstInstruction(EdgeKind kind) {
|
||||
if not this.hasEvaluatedBranch()
|
||||
then
|
||||
kind instanceof GotoEdge and
|
||||
result = this.getInstruction(OnlyInstructionTag())
|
||||
else result = this.getEvaluatedBranch().getFirstInstruction(kind)
|
||||
}
|
||||
|
||||
override TranslatedElement getChildInternal(int id) {
|
||||
id = 0 and
|
||||
result = this.getThen()
|
||||
or
|
||||
id = 1 and
|
||||
result = this.getElse()
|
||||
}
|
||||
|
||||
override predicate hasInstruction(Opcode opcode, InstructionTag tag, CppType resultType) {
|
||||
not this.hasEvaluatedBranch() and
|
||||
opcode instanceof Opcode::NoOp and
|
||||
tag = OnlyInstructionTag() and
|
||||
resultType = getVoidType()
|
||||
}
|
||||
|
||||
override Instruction getALastInstructionInternal() {
|
||||
if not this.hasEvaluatedBranch()
|
||||
then result = this.getInstruction(OnlyInstructionTag())
|
||||
else result = this.getEvaluatedBranch().getALastInstruction()
|
||||
}
|
||||
|
||||
override TranslatedElement getLastChild() { result = this.getEvaluatedBranch() }
|
||||
|
||||
override Instruction getInstructionSuccessorInternal(InstructionTag tag, EdgeKind kind) {
|
||||
tag = OnlyInstructionTag() and
|
||||
result = this.getParent().getChildSuccessor(this, kind)
|
||||
}
|
||||
|
||||
override Instruction getChildSuccessorInternal(TranslatedElement child, EdgeKind kind) {
|
||||
(child = this.getThen() or child = this.getElse()) and
|
||||
result = this.getParent().getChildSuccessor(this, kind)
|
||||
}
|
||||
|
||||
TranslatedStmt getEvaluatedBranch() {
|
||||
result = getTranslatedStmt(stmt.getRuntimeEvaluatedBranch())
|
||||
}
|
||||
|
||||
predicate hasEvaluatedBranch() { stmt.hasRuntimeEvaluatedBranch() }
|
||||
|
||||
TranslatedStmt getThen() { result = getTranslatedStmt(stmt.getThen()) }
|
||||
|
||||
TranslatedStmt getElse() { result = getTranslatedStmt(stmt.getElse()) }
|
||||
}
|
||||
|
||||
abstract class TranslatedLoop extends TranslatedStmt, ConditionContext {
|
||||
override Loop stmt;
|
||||
|
||||
|
||||
@@ -121,11 +121,11 @@ predicate relOpWithSwapAndNegate(
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `cmp` is an equality operation (`==` or `!=`) with fully-converted
|
||||
* Holds if `cmp` is an equality operation (`==` or `!=`) with fully-converted
|
||||
* children `lhs` and `rhs`, and `isEQ` is true if `cmp` is an
|
||||
* `==` operation and false if it is an `!=` operation.
|
||||
*
|
||||
* For example, if `cmp` is `x == 5` then
|
||||
* For example, if `rel` is `x == 5` then
|
||||
* `eqOpWithSwap(cmp, x, 5, true)` holds.
|
||||
*/
|
||||
private predicate eqOp(EqualityOperation cmp, Expr lhs, Expr rhs, boolean isEQ) {
|
||||
|
||||
@@ -769,32 +769,26 @@ private float getLowerBoundsImpl(Expr expr) {
|
||||
exists(float x, float y |
|
||||
x = getFullyConvertedLowerBounds(maxExpr.getLeftOperand()) and
|
||||
y = getFullyConvertedLowerBounds(maxExpr.getRightOperand()) and
|
||||
result = x.maximum(y)
|
||||
if x >= y then result = x else result = y
|
||||
)
|
||||
)
|
||||
or
|
||||
exists(ConditionalExpr condExpr, Expr conv, float ub, float lb |
|
||||
// ConditionalExpr (true branch)
|
||||
exists(ConditionalExpr condExpr |
|
||||
expr = condExpr and
|
||||
conv = condExpr.getCondition().getFullyConverted() and
|
||||
// Use `boolConversionUpperBound` to determine whether the condition
|
||||
// might evaluate to `true`.
|
||||
lb = boolConversionLowerBound(conv) and
|
||||
ub = boolConversionUpperBound(conv)
|
||||
|
|
||||
// Both branches can be taken
|
||||
ub = 1 and
|
||||
lb = 0 and
|
||||
exists(float thenLb, float elseLb |
|
||||
thenLb = getFullyConvertedLowerBounds(condExpr.getThen()) and
|
||||
elseLb = getFullyConvertedLowerBounds(condExpr.getElse()) and
|
||||
result = thenLb.minimum(elseLb)
|
||||
)
|
||||
or
|
||||
// Only the `true` branch can be taken
|
||||
ub = 1 and lb != 0 and result = getFullyConvertedLowerBounds(condExpr.getThen())
|
||||
or
|
||||
// Only the `false` branch can be taken
|
||||
ub != 1 and lb = 0 and result = getFullyConvertedLowerBounds(condExpr.getElse())
|
||||
boolConversionUpperBound(condExpr.getCondition().getFullyConverted()) = 1 and
|
||||
result = getFullyConvertedLowerBounds(condExpr.getThen())
|
||||
)
|
||||
or
|
||||
// ConditionalExpr (false branch)
|
||||
exists(ConditionalExpr condExpr |
|
||||
expr = condExpr and
|
||||
// Use `boolConversionLowerBound` to determine whether the condition
|
||||
// might evaluate to `false`.
|
||||
boolConversionLowerBound(condExpr.getCondition().getFullyConverted()) = 0 and
|
||||
result = getFullyConvertedLowerBounds(condExpr.getElse())
|
||||
)
|
||||
or
|
||||
exists(AddExpr addExpr, float xLow, float yLow |
|
||||
@@ -979,32 +973,26 @@ private float getUpperBoundsImpl(Expr expr) {
|
||||
exists(float x, float y |
|
||||
x = getFullyConvertedUpperBounds(minExpr.getLeftOperand()) and
|
||||
y = getFullyConvertedUpperBounds(minExpr.getRightOperand()) and
|
||||
result = x.minimum(y)
|
||||
if x <= y then result = x else result = y
|
||||
)
|
||||
)
|
||||
or
|
||||
exists(ConditionalExpr condExpr, Expr conv, float ub, float lb |
|
||||
// ConditionalExpr (true branch)
|
||||
exists(ConditionalExpr condExpr |
|
||||
expr = condExpr and
|
||||
conv = condExpr.getCondition().getFullyConverted() and
|
||||
// Use `boolConversionUpperBound` to determine whether the condition
|
||||
// might evaluate to `true`.
|
||||
lb = boolConversionLowerBound(conv) and
|
||||
ub = boolConversionUpperBound(conv)
|
||||
|
|
||||
// Both branches can be taken
|
||||
ub = 1 and
|
||||
lb = 0 and
|
||||
exists(float thenLb, float elseLb |
|
||||
thenLb = getFullyConvertedUpperBounds(condExpr.getThen()) and
|
||||
elseLb = getFullyConvertedUpperBounds(condExpr.getElse()) and
|
||||
result = thenLb.maximum(elseLb)
|
||||
)
|
||||
or
|
||||
// Only the `true` branch can be taken
|
||||
ub = 1 and lb != 0 and result = getFullyConvertedUpperBounds(condExpr.getThen())
|
||||
or
|
||||
// Only the `false` branch can be taken
|
||||
ub != 1 and lb = 0 and result = getFullyConvertedUpperBounds(condExpr.getElse())
|
||||
boolConversionUpperBound(condExpr.getCondition().getFullyConverted()) = 1 and
|
||||
result = getFullyConvertedUpperBounds(condExpr.getThen())
|
||||
)
|
||||
or
|
||||
// ConditionalExpr (false branch)
|
||||
exists(ConditionalExpr condExpr |
|
||||
expr = condExpr and
|
||||
// Use `boolConversionLowerBound` to determine whether the condition
|
||||
// might evaluate to `false`.
|
||||
boolConversionLowerBound(condExpr.getCondition().getFullyConverted()) = 0 and
|
||||
result = getFullyConvertedUpperBounds(condExpr.getElse())
|
||||
)
|
||||
or
|
||||
exists(AddExpr addExpr, float xHigh, float yHigh |
|
||||
@@ -1152,7 +1140,10 @@ private float getUpperBoundsImpl(Expr expr) {
|
||||
not expr instanceof SimpleRangeAnalysisExpr
|
||||
or
|
||||
// A modeled expression for range analysis
|
||||
result = expr.(SimpleRangeAnalysisExpr).getUpperBounds()
|
||||
exists(SimpleRangeAnalysisExpr rangeAnalysisExpr |
|
||||
rangeAnalysisExpr = expr and
|
||||
result = rangeAnalysisExpr.getUpperBounds()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1603,7 +1594,7 @@ private module SimpleRangeAnalysisCached {
|
||||
* the lower bound of the expression after all the casts have been applied,
|
||||
* call `lowerBound` like this:
|
||||
*
|
||||
* lowerBound(expr.getFullyConverted())
|
||||
* `lowerBound(expr.getFullyConverted())`
|
||||
*/
|
||||
cached
|
||||
float lowerBound(Expr expr) {
|
||||
@@ -1622,7 +1613,7 @@ private module SimpleRangeAnalysisCached {
|
||||
* the upper bound of the expression after all the casts have been applied,
|
||||
* call `upperBound` like this:
|
||||
*
|
||||
* upperBound(expr.getFullyConverted())
|
||||
* `upperBound(expr.getFullyConverted())`
|
||||
*/
|
||||
cached
|
||||
float upperBound(Expr expr) {
|
||||
|
||||
@@ -437,154 +437,6 @@ class ConstexprIfStmt extends ConditionalStmt, @stmt_constexpr_if {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A C/C++ '(not) consteval if'. For example, the `if consteval` statement
|
||||
* in the following code:
|
||||
* ```cpp
|
||||
* if consteval {
|
||||
* ...
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class ConstevalIfStmt extends Stmt, @stmt_consteval_or_not_consteval_if {
|
||||
override string getAPrimaryQlClass() { result = "ConstevalIfStmt" }
|
||||
|
||||
override string toString() {
|
||||
if this.isNot() then result = "if ! consteval ..." else result = "if consteval ..."
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if this is a 'not consteval if' statement.
|
||||
*
|
||||
* For example, this holds for
|
||||
* ```cpp
|
||||
* if ! consteval { return true; }
|
||||
* ```
|
||||
* but not for
|
||||
* ```cpp
|
||||
* if consteval { return true; }
|
||||
* ```
|
||||
*/
|
||||
predicate isNot() { this instanceof @stmt_not_consteval_if }
|
||||
|
||||
/**
|
||||
* Gets the 'then' statement of this '(not) consteval if' statement.
|
||||
*
|
||||
* For example, for
|
||||
* ```cpp
|
||||
* if consteval { return true; }
|
||||
* ```
|
||||
* the result is the `BlockStmt` `{ return true; }`.
|
||||
*/
|
||||
Stmt getThen() { consteval_if_then(underlyingElement(this), unresolveElement(result)) }
|
||||
|
||||
/**
|
||||
* Gets the 'else' statement of this '(not) constexpr if' statement, if any.
|
||||
*
|
||||
* For example, for
|
||||
* ```cpp
|
||||
* if consteval { return true; } else { return false; }
|
||||
* ```
|
||||
* the result is the `BlockStmt` `{ return false; }`, and for
|
||||
* ```cpp
|
||||
* if consteval { return true; }
|
||||
* ```
|
||||
* there is no result.
|
||||
*/
|
||||
Stmt getElse() { consteval_if_else(underlyingElement(this), unresolveElement(result)) }
|
||||
|
||||
/**
|
||||
* Holds if this '(not) constexpr if' statement has an 'else' statement.
|
||||
*
|
||||
* For example, this holds for
|
||||
* ```cpp
|
||||
* if consteval { return true; } else { return false; }
|
||||
* ```
|
||||
* but not for
|
||||
* ```cpp
|
||||
* if consteval { return true; }
|
||||
* ```
|
||||
*/
|
||||
predicate hasElse() { exists(this.getElse()) }
|
||||
|
||||
override predicate mayBeImpure() {
|
||||
this.getThen().mayBeImpure() or
|
||||
this.getElse().mayBeImpure()
|
||||
}
|
||||
|
||||
override predicate mayBeGloballyImpure() {
|
||||
this.getThen().mayBeGloballyImpure() or
|
||||
this.getElse().mayBeGloballyImpure()
|
||||
}
|
||||
|
||||
override MacroInvocation getGeneratingMacro() {
|
||||
this.getThen().getGeneratingMacro() = result and
|
||||
(this.hasElse() implies this.getElse().getGeneratingMacro() = result)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the statement of this '(not) consteval if' statement evaluated during compile time, if any.
|
||||
*
|
||||
* For example, for
|
||||
* ```cpp
|
||||
* if ! consteval { return true; } else { return false; }
|
||||
* ```
|
||||
* the result is the `BlockStmt` `{ return false; }`, and for
|
||||
* ```cpp
|
||||
* if ! consteval { return true; }
|
||||
* ```
|
||||
* there is no result.
|
||||
*/
|
||||
Stmt getCompileTimeEvaluatedBranch() {
|
||||
if this.isNot() then result = this.getElse() else result = this.getThen()
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if this '(not) constexpr if' statement has a compile time evaluated statement.
|
||||
*
|
||||
* For example, this holds for
|
||||
* ```cpp
|
||||
* if ! consteval { return true; } else { return false; }
|
||||
* ```
|
||||
* but not for
|
||||
* ```cpp
|
||||
* if ! consteval { return true; }
|
||||
* ```
|
||||
*/
|
||||
predicate hasCompileTimeEvaluatedBranch() { exists(this.getCompileTimeEvaluatedBranch()) }
|
||||
|
||||
/**
|
||||
* Gets the statement of this '(not) consteval if' statement evaluated during runtime, if any.
|
||||
*
|
||||
* For example, for
|
||||
* ```cpp
|
||||
* if consteval { return true; } else { return false; }
|
||||
* ```
|
||||
* the result is the `BlockStmt` `{ return false; }`, and for
|
||||
* ```cpp
|
||||
* if consteval { return true; }
|
||||
* ```
|
||||
* there is no result.
|
||||
*/
|
||||
Stmt getRuntimeEvaluatedBranch() {
|
||||
if this.isNot() then result = this.getThen() else result = this.getElse()
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if this '(not) constexpr if' statement has a runtime evaluated statement.
|
||||
*
|
||||
* For example, this holds for
|
||||
* ```cpp
|
||||
* if consteval { return true; } else { return false; }
|
||||
* ```
|
||||
* but not for
|
||||
* ```cpp
|
||||
* if consteval { return true; }
|
||||
* ```
|
||||
*/
|
||||
predicate hasRuntimeEvaluatedBranch() { exists(this.getRuntimeEvaluatedBranch()) }
|
||||
}
|
||||
|
||||
private class TLoop = @stmt_while or @stmt_end_test_while or @stmt_range_based_for or @stmt_for;
|
||||
|
||||
/**
|
||||
|
||||
@@ -771,13 +771,12 @@ decltypes(
|
||||
|
||||
/*
|
||||
case @usertype.kind of
|
||||
| 0 = @unknown_usertype
|
||||
| 1 = @struct
|
||||
1 = @struct
|
||||
| 2 = @class
|
||||
| 3 = @union
|
||||
| 4 = @enum
|
||||
| 5 = @typedef // classic C: typedef typedef type name
|
||||
// ... 6 = @template deprecated
|
||||
| 6 = @template
|
||||
| 7 = @template_parameter
|
||||
| 8 = @template_template_parameter
|
||||
| 9 = @proxy_class // a proxy class associated with a template parameter
|
||||
@@ -786,9 +785,6 @@ case @usertype.kind of
|
||||
// ... 12 objc_category deprecated
|
||||
| 13 = @scoped_enum
|
||||
| 14 = @using_alias // a using name = type style typedef
|
||||
| 15 = @template_struct
|
||||
| 16 = @template_class
|
||||
| 17 = @template_union
|
||||
;
|
||||
*/
|
||||
|
||||
@@ -847,11 +843,9 @@ class_template_argument_value(
|
||||
int arg_value: @expr ref
|
||||
);
|
||||
|
||||
@user_or_decltype = @usertype | @decltype;
|
||||
|
||||
is_proxy_class_for(
|
||||
unique int id: @usertype ref,
|
||||
int templ_param_id: @user_or_decltype ref
|
||||
unique int templ_param_id: @usertype ref
|
||||
);
|
||||
|
||||
type_mentions(
|
||||
@@ -2152,8 +2146,6 @@ case @stmt.kind of
|
||||
// ... 34 @stmt_finally_end deprecated
|
||||
| 35 = @stmt_constexpr_if
|
||||
| 37 = @stmt_co_return
|
||||
| 38 = @stmt_consteval_if
|
||||
| 39 = @stmt_not_consteval_if
|
||||
;
|
||||
|
||||
type_vla(
|
||||
@@ -2196,18 +2188,6 @@ constexpr_if_else(
|
||||
int else_id: @stmt ref
|
||||
);
|
||||
|
||||
@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if;
|
||||
|
||||
consteval_if_then(
|
||||
unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref,
|
||||
int then_id: @stmt ref
|
||||
);
|
||||
|
||||
consteval_if_else(
|
||||
unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref,
|
||||
int else_id: @stmt ref
|
||||
);
|
||||
|
||||
while_body(
|
||||
unique int while_stmt: @stmt_while ref,
|
||||
int body_id: @stmt ref
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,2 +0,0 @@
|
||||
description: Support (not) consteval if
|
||||
compatibility: partial
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,3 +0,0 @@
|
||||
description: Improve user types and proxy classes
|
||||
compatibility: partial
|
||||
usertypes.rel: run usertypes.qlo
|
||||
@@ -1,17 +0,0 @@
|
||||
class UserType extends @usertype {
|
||||
string toString() { none() }
|
||||
}
|
||||
|
||||
bindingset[kind]
|
||||
int getKind(int kind) {
|
||||
if kind in [10, 11, 12]
|
||||
then result = 0
|
||||
else
|
||||
if kind = 6
|
||||
then result = 16
|
||||
else result = kind
|
||||
}
|
||||
|
||||
from UserType usertype, string name, int kind
|
||||
where usertypes(usertype, name, kind)
|
||||
select usertype, name, getKind(kind)
|
||||
@@ -21,7 +21,7 @@ string kindstr(Class c) {
|
||||
or
|
||||
kind = 2 and result = "Class"
|
||||
or
|
||||
kind = [15, 16] and result = "Template class"
|
||||
kind = 6 and result = "Template class"
|
||||
)
|
||||
}
|
||||
|
||||
@@ -168,7 +168,12 @@ where
|
||||
strictcount(string fieldName |
|
||||
exists(Field f |
|
||||
f.getDeclaringType() = c and
|
||||
fieldName = f.getName()
|
||||
fieldName = f.getName() and
|
||||
// IBOutlet's are a way of building GUIs
|
||||
// automatically out of ObjC properties.
|
||||
// We don't want to count those for the
|
||||
// purposes of this query.
|
||||
not f.getType().getAnAttribute().hasName("iboutlet")
|
||||
)
|
||||
) and
|
||||
n > 15 and
|
||||
|
||||
@@ -37,7 +37,7 @@ private string getEofValue() {
|
||||
*/
|
||||
private predicate checkedForEof(ScanfFunctionCall call) {
|
||||
exists(IRGuardCondition gc |
|
||||
exists(CallInstruction i | i.getUnconvertedResultExpression() = call |
|
||||
exists(Instruction i | i.getUnconvertedResultExpression() = call |
|
||||
exists(int val | gc.comparesEq(valueNumber(i).getAUse(), val, _, _) |
|
||||
// call == EOF
|
||||
val = getEofValue().toInt()
|
||||
|
||||
@@ -73,42 +73,11 @@ predicate isSink(DataFlow::Node sink, BufferWrite bw, boolean qualifier) {
|
||||
unboundedWriteSource(sink.asDefiningArgument(), bw, qualifier)
|
||||
}
|
||||
|
||||
/**
|
||||
* A configuration that specifies flow from a `FlowSource` to a relational
|
||||
* comparison.
|
||||
*
|
||||
* This configuration is used to speed up the barrier computations in Config.
|
||||
*/
|
||||
module BarrierConfig implements DataFlow::ConfigSig {
|
||||
predicate isSource(DataFlow::Node source) { isSource(source, _) }
|
||||
|
||||
predicate isSink(DataFlow::Node sink) {
|
||||
comparesEq(sink.asOperand(), _, _, true, _) or
|
||||
comparesLt(sink.asOperand(), _, _, true, _)
|
||||
}
|
||||
}
|
||||
|
||||
module BarrierFlow = TaintTracking::Global<BarrierConfig>;
|
||||
|
||||
import semmle.code.cpp.ir.dataflow.internal.DataFlowImplCommon as DataFlowImplCommon
|
||||
|
||||
/**
|
||||
* Holds if `left` is a left operand of some relational comparison that may
|
||||
* depend on user input.
|
||||
*/
|
||||
predicate interestingLessThanOrEqual(Operand left) {
|
||||
exists(DataFlowImplCommon::NodeEx node |
|
||||
node.asNode().asOperand() = left and
|
||||
BarrierFlow::Stages::Stage1::sinkNode(node, _)
|
||||
)
|
||||
}
|
||||
|
||||
predicate lessThanOrEqual(IRGuardCondition g, Expr e, boolean branch) {
|
||||
exists(Operand left |
|
||||
g.comparesLt(left, _, _, true, branch) or
|
||||
g.comparesEq(left, _, _, true, branch)
|
||||
|
|
||||
interestingLessThanOrEqual(left) and
|
||||
left.getDef().getUnconvertedResultExpression() = e
|
||||
)
|
||||
}
|
||||
|
||||
@@ -497,18 +497,18 @@
|
||||
| test.c:358:24:358:24 | Load: x | positive |
|
||||
| test.c:365:7:365:7 | Load: x | positive |
|
||||
| test.c:365:11:365:13 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:366:5:366:15 | Store: ... = ... | positive strictlyPositive |
|
||||
| test.c:366:5:366:15 | Store: ... = ... | positive |
|
||||
| test.c:366:10:366:10 | Load: x | positive |
|
||||
| test.c:366:10:366:15 | Load: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:366:10:366:15 | Phi: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:366:10:366:15 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:366:10:366:15 | Load: ... ? ... : ... | positive |
|
||||
| test.c:366:10:366:15 | Phi: ... ? ... : ... | positive |
|
||||
| test.c:366:10:366:15 | Store: ... ? ... : ... | positive |
|
||||
| test.c:366:10:366:15 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:366:15:366:15 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:367:5:367:17 | Store: ... = ... | positive strictlyPositive |
|
||||
| test.c:367:5:367:17 | Store: ... = ... | positive |
|
||||
| test.c:367:10:367:10 | Load: x | positive |
|
||||
| test.c:367:10:367:17 | Load: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:367:10:367:17 | Phi: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:367:10:367:17 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:367:10:367:17 | Load: ... ? ... : ... | positive |
|
||||
| test.c:367:10:367:17 | Phi: ... ? ... : ... | positive |
|
||||
| test.c:367:10:367:17 | Store: ... ? ... : ... | positive |
|
||||
| test.c:367:10:367:17 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:367:15:367:17 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:368:5:368:21 | Store: ... = ... | positive strictlyPositive |
|
||||
@@ -520,33 +520,33 @@
|
||||
| test.c:368:11:368:13 | Add: ... + ... | positive strictlyPositive |
|
||||
| test.c:368:13:368:13 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:368:19:368:21 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:369:5:369:36 | Store: ... = ... | positive strictlyPositive |
|
||||
| test.c:369:10:369:36 | Convert: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:369:10:369:36 | Load: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:369:10:369:36 | Phi: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:369:10:369:36 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:369:5:369:36 | Store: ... = ... | positive |
|
||||
| test.c:369:10:369:36 | Convert: (unsigned int)... | positive |
|
||||
| test.c:369:10:369:36 | Load: ... ? ... : ... | positive |
|
||||
| test.c:369:10:369:36 | Phi: ... ? ... : ... | positive |
|
||||
| test.c:369:10:369:36 | Store: ... ? ... : ... | positive |
|
||||
| test.c:369:10:369:36 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:369:11:369:30 | Convert: (unsigned char)... | positive |
|
||||
| test.c:369:27:369:27 | Load: x | positive |
|
||||
| test.c:369:27:369:29 | Add: ... + ... | positive strictlyPositive |
|
||||
| test.c:369:29:369:29 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:369:36:369:36 | Constant: 5 | positive strictlyPositive |
|
||||
| test.c:370:5:370:38 | Store: ... = ... | positive strictlyPositive |
|
||||
| test.c:370:10:370:38 | Convert: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:370:10:370:38 | Load: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:370:10:370:38 | Phi: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:370:10:370:38 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:370:5:370:38 | Store: ... = ... | positive |
|
||||
| test.c:370:10:370:38 | Convert: (unsigned int)... | positive |
|
||||
| test.c:370:10:370:38 | Load: ... ? ... : ... | positive |
|
||||
| test.c:370:10:370:38 | Phi: ... ? ... : ... | positive |
|
||||
| test.c:370:10:370:38 | Store: ... ? ... : ... | positive |
|
||||
| test.c:370:10:370:38 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:370:11:370:30 | Convert: (unsigned char)... | positive |
|
||||
| test.c:370:27:370:27 | Load: x | positive |
|
||||
| test.c:370:27:370:29 | Add: ... + ... | positive strictlyPositive |
|
||||
| test.c:370:29:370:29 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:370:36:370:38 | Constant: 500 | positive strictlyPositive |
|
||||
| test.c:371:5:371:39 | Store: ... = ... | positive strictlyPositive |
|
||||
| test.c:371:10:371:39 | Convert: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:371:10:371:39 | Load: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:371:10:371:39 | Phi: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:371:10:371:39 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:371:5:371:39 | Store: ... = ... | positive |
|
||||
| test.c:371:10:371:39 | Convert: (unsigned int)... | positive |
|
||||
| test.c:371:10:371:39 | Load: ... ? ... : ... | positive |
|
||||
| test.c:371:10:371:39 | Phi: ... ? ... : ... | positive |
|
||||
| test.c:371:10:371:39 | Store: ... ? ... : ... | positive |
|
||||
| test.c:371:10:371:39 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:371:11:371:31 | Convert: (unsigned short)... | positive |
|
||||
| test.c:371:28:371:28 | Load: x | positive |
|
||||
@@ -607,38 +607,38 @@
|
||||
| test.c:383:8:383:11 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:384:7:384:7 | Load: x | positive |
|
||||
| test.c:384:12:384:14 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:385:5:385:21 | Store: ... = ... | positive strictlyPositive |
|
||||
| test.c:385:10:385:21 | Load: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:385:10:385:21 | Phi: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:385:10:385:21 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:385:5:385:21 | Store: ... = ... | positive |
|
||||
| test.c:385:10:385:21 | Load: ... ? ... : ... | positive |
|
||||
| test.c:385:10:385:21 | Phi: ... ? ... : ... | positive |
|
||||
| test.c:385:10:385:21 | Store: ... ? ... : ... | positive |
|
||||
| test.c:385:10:385:21 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:385:11:385:11 | Load: x | positive strictlyPositive |
|
||||
| test.c:385:11:385:15 | Sub: ... - ... | positive |
|
||||
| test.c:385:13:385:15 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:385:21:385:21 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:386:5:386:21 | Store: ... = ... | positive strictlyPositive |
|
||||
| test.c:386:10:386:21 | Load: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:386:10:386:21 | Phi: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:386:10:386:21 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:386:5:386:21 | Store: ... = ... | positive |
|
||||
| test.c:386:10:386:21 | Load: ... ? ... : ... | positive |
|
||||
| test.c:386:10:386:21 | Phi: ... ? ... : ... | positive |
|
||||
| test.c:386:10:386:21 | Store: ... ? ... : ... | positive |
|
||||
| test.c:386:10:386:21 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:386:11:386:11 | Load: x | positive strictlyPositive |
|
||||
| test.c:386:11:386:15 | Sub: ... - ... | positive |
|
||||
| test.c:386:13:386:15 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:386:21:386:21 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:387:5:387:38 | Store: ... = ... | positive strictlyPositive |
|
||||
| test.c:387:10:387:38 | Convert: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:387:10:387:38 | Load: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:387:10:387:38 | Phi: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:387:10:387:38 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:387:5:387:38 | Store: ... = ... | positive |
|
||||
| test.c:387:10:387:38 | Convert: (unsigned int)... | positive |
|
||||
| test.c:387:10:387:38 | Load: ... ? ... : ... | positive |
|
||||
| test.c:387:10:387:38 | Phi: ... ? ... : ... | positive |
|
||||
| test.c:387:10:387:38 | Store: ... ? ... : ... | positive |
|
||||
| test.c:387:10:387:38 | Store: ... ? ... : ... | positive strictlyPositive |
|
||||
| test.c:387:11:387:32 | Convert: (unsigned char)... | positive |
|
||||
| test.c:387:27:387:27 | Load: x | positive strictlyPositive |
|
||||
| test.c:387:27:387:31 | Sub: ... - ... | positive |
|
||||
| test.c:387:29:387:31 | Constant: (unsigned int)... | positive strictlyPositive |
|
||||
| test.c:387:38:387:38 | Constant: 5 | positive strictlyPositive |
|
||||
| test.c:389:3:389:32 | Phi: return ... | positive strictlyPositive |
|
||||
| test.c:389:3:389:32 | Phi: return ... | positive strictlyPositive |
|
||||
| test.c:389:3:389:32 | Phi: return ... | positive strictlyPositive |
|
||||
| test.c:389:3:389:32 | Phi: return ... | positive |
|
||||
| test.c:389:3:389:32 | Phi: return ... | positive |
|
||||
| test.c:389:3:389:32 | Phi: return ... | positive |
|
||||
| test.c:389:10:389:11 | Load: y1 | positive strictlyPositive |
|
||||
| test.c:389:10:389:16 | Add: ... + ... | positive strictlyPositive |
|
||||
| test.c:389:10:389:21 | Add: ... + ... | positive strictlyPositive |
|
||||
@@ -646,9 +646,9 @@
|
||||
| test.c:389:10:389:31 | Add: ... + ... | positive strictlyPositive |
|
||||
| test.c:389:10:389:31 | Store: ... + ... | positive strictlyPositive |
|
||||
| test.c:389:15:389:16 | Load: y2 | positive strictlyPositive |
|
||||
| test.c:389:20:389:21 | Load: y3 | positive strictlyPositive |
|
||||
| test.c:389:25:389:26 | Load: y4 | positive strictlyPositive |
|
||||
| test.c:389:30:389:31 | Load: y5 | positive strictlyPositive |
|
||||
| test.c:389:20:389:21 | Load: y3 | positive |
|
||||
| test.c:389:25:389:26 | Load: y4 | positive |
|
||||
| test.c:389:30:389:31 | Load: y5 | positive |
|
||||
| test.c:393:40:393:40 | InitializeParameter: x | positive |
|
||||
| test.c:394:20:394:20 | Load: x | positive |
|
||||
| test.c:394:20:394:36 | Load: ... ? ... : ... | positive |
|
||||
|
||||
@@ -33,9 +33,13 @@ edges
|
||||
| main.cpp:10:24:10:27 | minizip_test output argument | main.cpp:11:21:11:24 | **argv | provenance | |
|
||||
| main.cpp:10:24:10:27 | minizip_test output argument | main.cpp:12:21:12:24 | **argv | provenance | |
|
||||
| main.cpp:11:21:11:24 | **argv | main.cpp:11:21:11:24 | zlib_test output argument | provenance | |
|
||||
| main.cpp:11:21:11:24 | **argv | main.cpp:11:21:11:24 | zlib_test output argument | provenance | |
|
||||
| main.cpp:11:21:11:24 | **argv | zlibTest.cpp:80:33:80:36 | **argv | provenance | |
|
||||
| main.cpp:11:21:11:24 | zlib_test output argument | main.cpp:12:21:12:24 | **argv | provenance | |
|
||||
| main.cpp:11:21:11:24 | zlib_test output argument | main.cpp:12:21:12:24 | *argv | provenance | |
|
||||
| main.cpp:12:21:12:24 | **argv | zstdTest.cpp:26:39:26:42 | **argv | provenance | |
|
||||
| main.cpp:12:21:12:24 | *argv | zstdTest.cpp:26:39:26:42 | **argv | provenance | |
|
||||
| main.cpp:12:21:12:24 | *argv | zstdTest.cpp:26:39:26:42 | *argv | provenance | |
|
||||
| minizipTest.cpp:12:42:12:45 | **argv | minizipTest.cpp:12:42:12:45 | **argv | provenance | |
|
||||
| minizipTest.cpp:12:42:12:45 | **argv | minizipTest.cpp:17:52:17:67 | *access to array | provenance | |
|
||||
| minizipTest.cpp:12:42:12:45 | **argv | minizipTest.cpp:24:41:24:47 | *access to array | provenance | |
|
||||
@@ -103,6 +107,7 @@ edges
|
||||
| zlibTest.cpp:85:19:85:25 | InflateString output argument | zlibTest.cpp:80:33:80:36 | **argv | provenance | |
|
||||
| zlibTest.cpp:85:19:85:25 | InflateString output argument | zlibTest.cpp:80:33:80:36 | **argv [Return] | provenance | |
|
||||
| zstdTest.cpp:26:39:26:42 | **argv | zstdTest.cpp:27:35:27:41 | *access to array | provenance | |
|
||||
| zstdTest.cpp:26:39:26:42 | *argv | zstdTest.cpp:27:35:27:41 | *access to array | provenance | |
|
||||
| zstdTest.cpp:27:23:27:33 | call to fopen_orDie | zstdTest.cpp:27:23:27:33 | call to fopen_orDie | provenance | |
|
||||
| zstdTest.cpp:27:23:27:33 | call to fopen_orDie | zstdTest.cpp:35:52:35:54 | fin | provenance | |
|
||||
| zstdTest.cpp:27:35:27:41 | *access to array | zstdTest.cpp:27:23:27:33 | call to fopen_orDie | provenance | Config |
|
||||
@@ -142,7 +147,9 @@ nodes
|
||||
| main.cpp:10:24:10:27 | minizip_test output argument | semmle.label | minizip_test output argument |
|
||||
| main.cpp:11:21:11:24 | **argv | semmle.label | **argv |
|
||||
| main.cpp:11:21:11:24 | zlib_test output argument | semmle.label | zlib_test output argument |
|
||||
| main.cpp:11:21:11:24 | zlib_test output argument | semmle.label | zlib_test output argument |
|
||||
| main.cpp:12:21:12:24 | **argv | semmle.label | **argv |
|
||||
| main.cpp:12:21:12:24 | *argv | semmle.label | *argv |
|
||||
| minizipTest.cpp:12:42:12:45 | **argv | semmle.label | **argv |
|
||||
| minizipTest.cpp:12:42:12:45 | **argv | semmle.label | **argv |
|
||||
| minizipTest.cpp:17:52:17:67 | *access to array | semmle.label | *access to array |
|
||||
@@ -192,6 +199,7 @@ nodes
|
||||
| zlibTest.cpp:85:19:85:25 | *access to array | semmle.label | *access to array |
|
||||
| zlibTest.cpp:85:19:85:25 | InflateString output argument | semmle.label | InflateString output argument |
|
||||
| zstdTest.cpp:26:39:26:42 | **argv | semmle.label | **argv |
|
||||
| zstdTest.cpp:26:39:26:42 | *argv | semmle.label | *argv |
|
||||
| zstdTest.cpp:27:23:27:33 | call to fopen_orDie | semmle.label | call to fopen_orDie |
|
||||
| zstdTest.cpp:27:23:27:33 | call to fopen_orDie | semmle.label | call to fopen_orDie |
|
||||
| zstdTest.cpp:27:35:27:41 | *access to array | semmle.label | *access to array |
|
||||
@@ -209,6 +217,7 @@ subpaths
|
||||
| main.cpp:10:24:10:27 | **argv | minizipTest.cpp:12:42:12:45 | **argv | minizipTest.cpp:12:42:12:45 | **argv | main.cpp:10:24:10:27 | minizip_test output argument |
|
||||
| main.cpp:11:21:11:24 | **argv | zlibTest.cpp:80:33:80:36 | **argv | zlibTest.cpp:80:33:80:36 | **argv | main.cpp:11:21:11:24 | zlib_test output argument |
|
||||
| main.cpp:11:21:11:24 | **argv | zlibTest.cpp:80:33:80:36 | **argv | zlibTest.cpp:80:33:80:36 | **argv [Return] | main.cpp:11:21:11:24 | zlib_test output argument |
|
||||
| main.cpp:11:21:11:24 | **argv | zlibTest.cpp:80:33:80:36 | **argv | zlibTest.cpp:80:33:80:36 | **argv [Return] | main.cpp:11:21:11:24 | zlib_test output argument |
|
||||
| zlibTest.cpp:81:19:81:25 | *access to array | zlibTest.cpp:47:26:47:33 | *fileName | zlibTest.cpp:47:26:47:33 | *fileName | zlibTest.cpp:81:19:81:25 | UnsafeGzfread output argument |
|
||||
| zlibTest.cpp:82:18:82:24 | *access to array | zlibTest.cpp:57:25:57:32 | *fileName | zlibTest.cpp:57:25:57:32 | *fileName | zlibTest.cpp:82:18:82:24 | UnsafeGzgets output argument |
|
||||
| zlibTest.cpp:83:19:83:25 | *access to array | zlibTest.cpp:16:26:16:30 | *input | zlibTest.cpp:16:26:16:30 | *input | zlibTest.cpp:83:19:83:25 | UnsafeInflate output argument |
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
| ClassWithDestructor::ClassWithDestructor | false | 157 | 157 | ClassWithDestructor |
|
||||
| ClassWithDestructor::ClassWithDestructor | false | 296 | 296 | ClassWithDestructor |
|
||||
| ClassWithDestructor::ClassWithDestructor | false | 302 | 302 | ClassWithDestructor |
|
||||
| ClassWithDestructor::operator bool | false | 173 | 173 | operator bool |
|
||||
| ClassWithDestructor::operator= | false | 288 | 288 | operator= |
|
||||
| ClassWithDestructor::~ClassWithDestructor | false | 190 | 190 | ~ClassWithDestructor |
|
||||
| __va_list_tag::operator= | false | 66 | 66 | operator= |
|
||||
| __va_list_tag::operator= | false | 72 | 72 | operator= |
|
||||
| destruction_on_consteval | false | 193 | 193 | destruction_on_consteval |
|
||||
| destruction_on_consteval | false | 198 | 198 | if consteval ... |
|
||||
| destruction_on_consteval | false | 200 | 200 | return ... |
|
||||
| destruction_on_consteval | false | 204 | 204 | 1 |
|
||||
| destruction_on_consteval | false | 205 | 205 | { ... } |
|
||||
| destruction_on_consteval | false | 208 | 208 | call to ClassWithDestructor |
|
||||
| destruction_on_consteval | false | 210 | 210 | initializer for cwd |
|
||||
| destruction_on_consteval | false | 213 | 213 | declaration |
|
||||
| destruction_on_consteval | false | 215 | 215 | return ... |
|
||||
| destruction_on_consteval | false | 218 | 218 | call to operator bool |
|
||||
| destruction_on_consteval | false | 219 | 219 | cwd |
|
||||
| destruction_on_consteval | false | 221 | 221 | (const ClassWithDestructor)... |
|
||||
| destruction_on_consteval | false | 222 | 222 | { ... } |
|
||||
| destruction_on_consteval | false | 224 | 224 | { ... } |
|
||||
| destruction_on_consteval | false | 226 | 226 | cwd |
|
||||
| destruction_on_consteval | false | 228 | 228 | call to cwd.~ClassWithDestructor |
|
||||
| destruction_on_consteval | false | 229 | 229 | cwd |
|
||||
| destruction_on_consteval | false | 230 | 230 | call to cwd.~ClassWithDestructor |
|
||||
| destruction_on_consteval | true | 198 | 205 | |
|
||||
| destruction_on_consteval | true | 198 | 222 | |
|
||||
| destruction_on_consteval | true | 200 | 204 | |
|
||||
| destruction_on_consteval | true | 204 | 193 | |
|
||||
| destruction_on_consteval | true | 205 | 200 | |
|
||||
| destruction_on_consteval | true | 208 | 215 | |
|
||||
| destruction_on_consteval | true | 210 | 208 | |
|
||||
| destruction_on_consteval | true | 213 | 210 | |
|
||||
| destruction_on_consteval | true | 215 | 219 | |
|
||||
| destruction_on_consteval | true | 218 | 226 | |
|
||||
| destruction_on_consteval | true | 219 | 218 | |
|
||||
| destruction_on_consteval | true | 222 | 213 | |
|
||||
| destruction_on_consteval | true | 224 | 198 | |
|
||||
| destruction_on_consteval | true | 226 | 228 | |
|
||||
| destruction_on_consteval | true | 228 | 193 | |
|
||||
| destruction_on_consteval | true | 229 | 230 | |
|
||||
| destruction_on_consteval | true | 230 | 193 | |
|
||||
| destruction_on_consteval2 | false | 147 | 147 | destruction_on_consteval2 |
|
||||
| destruction_on_consteval2 | false | 152 | 152 | declaration |
|
||||
| destruction_on_consteval2 | false | 155 | 155 | call to ClassWithDestructor |
|
||||
| destruction_on_consteval2 | false | 158 | 158 | initializer for cwd |
|
||||
| destruction_on_consteval2 | false | 161 | 161 | if consteval ... |
|
||||
| destruction_on_consteval2 | false | 163 | 163 | return ... |
|
||||
| destruction_on_consteval2 | false | 167 | 167 | 1 |
|
||||
| destruction_on_consteval2 | false | 168 | 168 | { ... } |
|
||||
| destruction_on_consteval2 | false | 170 | 170 | return ... |
|
||||
| destruction_on_consteval2 | false | 178 | 178 | call to operator bool |
|
||||
| destruction_on_consteval2 | false | 179 | 179 | cwd |
|
||||
| destruction_on_consteval2 | false | 182 | 182 | (const ClassWithDestructor)... |
|
||||
| destruction_on_consteval2 | false | 183 | 183 | { ... } |
|
||||
| destruction_on_consteval2 | false | 185 | 185 | { ... } |
|
||||
| destruction_on_consteval2 | false | 187 | 187 | cwd |
|
||||
| destruction_on_consteval2 | false | 189 | 189 | call to cwd.~ClassWithDestructor |
|
||||
| destruction_on_consteval2 | false | 191 | 191 | cwd |
|
||||
| destruction_on_consteval2 | false | 192 | 192 | call to cwd.~ClassWithDestructor |
|
||||
| destruction_on_consteval2 | true | 152 | 158 | |
|
||||
| destruction_on_consteval2 | true | 155 | 161 | |
|
||||
| destruction_on_consteval2 | true | 158 | 155 | |
|
||||
| destruction_on_consteval2 | true | 161 | 168 | |
|
||||
| destruction_on_consteval2 | true | 161 | 183 | |
|
||||
| destruction_on_consteval2 | true | 163 | 167 | |
|
||||
| destruction_on_consteval2 | true | 167 | 187 | |
|
||||
| destruction_on_consteval2 | true | 168 | 163 | |
|
||||
| destruction_on_consteval2 | true | 170 | 179 | |
|
||||
| destruction_on_consteval2 | true | 178 | 191 | |
|
||||
| destruction_on_consteval2 | true | 179 | 178 | |
|
||||
| destruction_on_consteval2 | true | 183 | 170 | |
|
||||
| destruction_on_consteval2 | true | 185 | 152 | |
|
||||
| destruction_on_consteval2 | true | 187 | 189 | |
|
||||
| destruction_on_consteval2 | true | 189 | 147 | |
|
||||
| destruction_on_consteval2 | true | 191 | 192 | |
|
||||
| destruction_on_consteval2 | true | 192 | 147 | |
|
||||
| test | false | 231 | 231 | test |
|
||||
| test | false | 236 | 236 | declaration |
|
||||
| test | false | 241 | 241 | if consteval ... |
|
||||
| test | false | 243 | 243 | ExprStmt |
|
||||
| test | false | 245 | 245 | x |
|
||||
| test | false | 249 | 249 | 1 |
|
||||
| test | false | 250 | 250 | ... = ... |
|
||||
| test | false | 252 | 252 | { ... } |
|
||||
| test | false | 254 | 254 | ExprStmt |
|
||||
| test | false | 256 | 256 | x |
|
||||
| test | false | 260 | 260 | 2 |
|
||||
| test | false | 261 | 261 | ... = ... |
|
||||
| test | false | 263 | 263 | { ... } |
|
||||
| test | false | 265 | 265 | if consteval ... |
|
||||
| test | false | 267 | 267 | ExprStmt |
|
||||
| test | false | 269 | 269 | x |
|
||||
| test | false | 273 | 273 | 3 |
|
||||
| test | false | 274 | 274 | ... = ... |
|
||||
| test | false | 276 | 276 | { ... } |
|
||||
| test | false | 278 | 278 | return ... |
|
||||
| test | false | 280 | 280 | x |
|
||||
| test | false | 282 | 282 | (bool)... |
|
||||
| test | false | 283 | 283 | { ... } |
|
||||
| test | true | 236 | 241 | |
|
||||
| test | true | 241 | 252 | |
|
||||
| test | true | 241 | 263 | |
|
||||
| test | true | 243 | 249 | |
|
||||
| test | true | 245 | 250 | |
|
||||
| test | true | 249 | 245 | |
|
||||
| test | true | 250 | 265 | |
|
||||
| test | true | 252 | 243 | |
|
||||
| test | true | 254 | 260 | |
|
||||
| test | true | 256 | 261 | |
|
||||
| test | true | 260 | 256 | |
|
||||
| test | true | 261 | 265 | |
|
||||
| test | true | 263 | 254 | |
|
||||
| test | true | 265 | 276 | |
|
||||
| test | true | 265 | 278 | |
|
||||
| test | true | 267 | 273 | |
|
||||
| test | true | 269 | 274 | |
|
||||
| test | true | 273 | 269 | |
|
||||
| test | true | 274 | 278 | |
|
||||
| test | true | 276 | 267 | |
|
||||
| test | true | 278 | 280 | |
|
||||
| test | true | 280 | 231 | |
|
||||
| test | true | 283 | 236 | |
|
||||
@@ -1,42 +0,0 @@
|
||||
/**
|
||||
* query-type: graph
|
||||
*
|
||||
* @kind graph-equivalence-test
|
||||
*/
|
||||
|
||||
import cpp
|
||||
|
||||
class DestructorCallEnhanced extends DestructorCall {
|
||||
override string toString() {
|
||||
if exists(this.getQualifier().(VariableAccess).getTarget().getName())
|
||||
then
|
||||
result =
|
||||
"call to " + this.getQualifier().(VariableAccess).getTarget().getName() + "." +
|
||||
this.getTarget().getName()
|
||||
else result = super.toString()
|
||||
}
|
||||
}
|
||||
|
||||
string scope(ControlFlowNode x) {
|
||||
if exists(x.getControlFlowScope().getQualifiedName())
|
||||
then result = x.getControlFlowScope().getQualifiedName()
|
||||
else result = "<no scope>"
|
||||
}
|
||||
|
||||
predicate isNode(boolean isEdge, ControlFlowNode x, ControlFlowNode y, string label) {
|
||||
isEdge = false and x = y and label = x.toString()
|
||||
}
|
||||
|
||||
predicate isSuccessor(boolean isEdge, ControlFlowNode x, ControlFlowNode y, string label) {
|
||||
exists(string truelabel, string falselabel |
|
||||
isEdge = true and
|
||||
x.getASuccessor() = y and
|
||||
(if x.getATrueSuccessor() = y then truelabel = "T" else truelabel = "") and
|
||||
(if x.getAFalseSuccessor() = y then falselabel = "F" else falselabel = "") and
|
||||
label = truelabel + falselabel
|
||||
)
|
||||
}
|
||||
|
||||
from boolean isEdge, ControlFlowNode x, ControlFlowNode y, string label
|
||||
where isNode(isEdge, x, y, label) or isSuccessor(isEdge, x, y, label)
|
||||
select scope(x), isEdge, x, y, label
|
||||
@@ -1,25 +0,0 @@
|
||||
| test.cpp:3:23:14:1 | { ... } |
|
||||
| test.cpp:4:5:4:10 | declaration |
|
||||
| test.cpp:5:5:9:5 | if consteval ... |
|
||||
| test.cpp:5:18:7:5 | { ... } |
|
||||
| test.cpp:6:9:6:14 | ExprStmt |
|
||||
| test.cpp:7:12:9:5 | { ... } |
|
||||
| test.cpp:8:9:8:14 | ExprStmt |
|
||||
| test.cpp:10:5:12:5 | if consteval ... |
|
||||
| test.cpp:10:18:12:5 | { ... } |
|
||||
| test.cpp:11:9:11:14 | ExprStmt |
|
||||
| test.cpp:13:5:13:13 | return ... |
|
||||
| test.cpp:24:33:31:1 | { ... } |
|
||||
| test.cpp:25:3:30:3 | if consteval ... |
|
||||
| test.cpp:25:16:27:3 | { ... } |
|
||||
| test.cpp:26:5:26:16 | return ... |
|
||||
| test.cpp:27:10:30:3 | { ... } |
|
||||
| test.cpp:28:5:28:28 | declaration |
|
||||
| test.cpp:29:5:29:15 | return ... |
|
||||
| test.cpp:33:34:40:1 | { ... } |
|
||||
| test.cpp:34:3:34:26 | declaration |
|
||||
| test.cpp:35:3:39:3 | if consteval ... |
|
||||
| test.cpp:35:16:37:3 | { ... } |
|
||||
| test.cpp:36:5:36:16 | return ... |
|
||||
| test.cpp:37:10:39:3 | { ... } |
|
||||
| test.cpp:38:5:38:15 | return ... |
|
||||
@@ -1,4 +0,0 @@
|
||||
import cpp
|
||||
|
||||
from Stmt s
|
||||
select s
|
||||
@@ -1,40 +0,0 @@
|
||||
// semmle-extractor-options: -std=c++23
|
||||
|
||||
constexpr bool test() {
|
||||
int x;
|
||||
if consteval {
|
||||
x = 1;
|
||||
} else {
|
||||
x = 2;
|
||||
}
|
||||
if consteval {
|
||||
x = 3;
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
struct ClassWithDestructor
|
||||
{
|
||||
ClassWithDestructor();
|
||||
ClassWithDestructor(const char*);
|
||||
~ClassWithDestructor();
|
||||
operator bool() const;
|
||||
};
|
||||
|
||||
bool destruction_on_consteval() {
|
||||
if consteval {
|
||||
return true;
|
||||
} else {
|
||||
ClassWithDestructor cwd;
|
||||
return cwd;
|
||||
}
|
||||
}
|
||||
|
||||
bool destruction_on_consteval2() {
|
||||
ClassWithDestructor cwd;
|
||||
if consteval {
|
||||
return true;
|
||||
} else {
|
||||
return cwd;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -32,18 +32,6 @@
|
||||
| test.c:164:8:164:8 | s |
|
||||
| test.c:170:8:170:9 | ! ... |
|
||||
| test.c:170:9:170:9 | s |
|
||||
| test.c:176:8:176:15 | ! ... |
|
||||
| test.c:176:10:176:14 | ... < ... |
|
||||
| test.c:182:8:182:34 | ! ... |
|
||||
| test.c:182:10:182:20 | ... >= ... |
|
||||
| test.c:182:10:182:33 | ... && ... |
|
||||
| test.c:182:25:182:33 | ... < ... |
|
||||
| test.c:190:7:190:8 | ! ... |
|
||||
| test.c:190:8:190:8 | c |
|
||||
| test.c:198:7:198:8 | ! ... |
|
||||
| test.c:198:8:198:8 | b |
|
||||
| test.c:206:7:206:8 | ! ... |
|
||||
| test.c:206:8:206:8 | c |
|
||||
| test.cpp:18:8:18:10 | call to get |
|
||||
| test.cpp:31:7:31:13 | ... == ... |
|
||||
| test.cpp:42:13:42:20 | call to getABool |
|
||||
@@ -61,19 +49,3 @@
|
||||
| test.cpp:135:6:135:21 | call to __builtin_expect |
|
||||
| test.cpp:141:6:141:21 | call to __builtin_expect |
|
||||
| test.cpp:145:6:145:21 | call to __builtin_expect |
|
||||
| test.cpp:152:7:152:8 | ! ... |
|
||||
| test.cpp:152:8:152:8 | b |
|
||||
| test.cpp:160:7:160:8 | ! ... |
|
||||
| test.cpp:160:8:160:8 | c |
|
||||
| test.cpp:168:7:168:8 | ! ... |
|
||||
| test.cpp:168:8:168:8 | b |
|
||||
| test.cpp:176:7:176:8 | ! ... |
|
||||
| test.cpp:176:8:176:8 | c |
|
||||
| test.cpp:182:6:182:16 | ! ... |
|
||||
| test.cpp:182:8:182:9 | b1 |
|
||||
| test.cpp:182:8:182:15 | ... && ... |
|
||||
| test.cpp:182:14:182:15 | b2 |
|
||||
| test.cpp:193:6:193:16 | ! ... |
|
||||
| test.cpp:193:8:193:9 | b1 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... |
|
||||
| test.cpp:193:14:193:15 | b2 |
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
| 7 | 0 < x+0 when ... > ... is true |
|
||||
| 7 | 0 >= x+0 when ... > ... is false |
|
||||
| 7 | ... > ... != 0 when ... > ... is true |
|
||||
| 7 | ... > ... != 1 when ... > ... is false |
|
||||
| 7 | ... > ... == 0 when ... > ... is false |
|
||||
| 7 | ... > ... == 1 when ... > ... is true |
|
||||
| 7 | x < 0+1 when ... > ... is false |
|
||||
| 7 | x < 1 when ... > ... is false |
|
||||
| 7 | x >= 0+1 when ... > ... is true |
|
||||
@@ -16,16 +14,10 @@
|
||||
| 17 | 1 >= y+0 when ... > ... is false |
|
||||
| 17 | ... < ... != 0 when ... && ... is true |
|
||||
| 17 | ... < ... != 0 when ... < ... is true |
|
||||
| 17 | ... < ... != 1 when ... < ... is false |
|
||||
| 17 | ... < ... == 0 when ... < ... is false |
|
||||
| 17 | ... < ... == 1 when ... && ... is true |
|
||||
| 17 | ... < ... == 1 when ... < ... is true |
|
||||
| 17 | ... > ... != 0 when ... && ... is true |
|
||||
| 17 | ... > ... != 0 when ... > ... is true |
|
||||
| 17 | ... > ... != 1 when ... > ... is false |
|
||||
| 17 | ... > ... == 0 when ... > ... is false |
|
||||
| 17 | ... > ... == 1 when ... && ... is true |
|
||||
| 17 | ... > ... == 1 when ... > ... is true |
|
||||
| 17 | x < 0 when ... && ... is true |
|
||||
| 17 | x < 0 when ... < ... is true |
|
||||
| 17 | x < 0+0 when ... && ... is true |
|
||||
@@ -39,15 +31,11 @@
|
||||
| 17 | y >= 2 when ... && ... is true |
|
||||
| 17 | y >= 2 when ... > ... is true |
|
||||
| 18 | call to get != 0 when call to get is true |
|
||||
| 18 | call to get != 1 when call to get is false |
|
||||
| 18 | call to get == 0 when call to get is false |
|
||||
| 18 | call to get == 1 when call to get is true |
|
||||
| 26 | 0 < x+0 when ... > ... is true |
|
||||
| 26 | 0 >= x+0 when ... > ... is false |
|
||||
| 26 | ... > ... != 0 when ... > ... is true |
|
||||
| 26 | ... > ... != 1 when ... > ... is false |
|
||||
| 26 | ... > ... == 0 when ... > ... is false |
|
||||
| 26 | ... > ... == 1 when ... > ... is true |
|
||||
| 26 | x < 0+1 when ... > ... is false |
|
||||
| 26 | x < 1 when ... > ... is false |
|
||||
| 26 | x >= 0+1 when ... > ... is true |
|
||||
@@ -55,9 +43,7 @@
|
||||
| 31 | - ... != x+0 when ... == ... is false |
|
||||
| 31 | - ... == x+0 when ... == ... is true |
|
||||
| 31 | ... == ... != 0 when ... == ... is true |
|
||||
| 31 | ... == ... != 1 when ... == ... is false |
|
||||
| 31 | ... == ... == 0 when ... == ... is false |
|
||||
| 31 | ... == ... == 1 when ... == ... is true |
|
||||
| 31 | x != -1 when ... == ... is false |
|
||||
| 31 | x != - ...+0 when ... == ... is false |
|
||||
| 31 | x == -1 when ... == ... is true |
|
||||
@@ -65,9 +51,7 @@
|
||||
| 34 | 10 < j+1 when ... < ... is false |
|
||||
| 34 | 10 >= j+1 when ... < ... is true |
|
||||
| 34 | ... < ... != 0 when ... < ... is true |
|
||||
| 34 | ... < ... != 1 when ... < ... is false |
|
||||
| 34 | ... < ... == 0 when ... < ... is false |
|
||||
| 34 | ... < ... == 1 when ... < ... is true |
|
||||
| 34 | j < 10 when ... < ... is true |
|
||||
| 34 | j < 10+0 when ... < ... is true |
|
||||
| 34 | j >= 10 when ... < ... is false |
|
||||
@@ -75,13 +59,9 @@
|
||||
| 42 | 10 < j+1 when ... < ... is false |
|
||||
| 42 | 10 >= j+1 when ... < ... is true |
|
||||
| 42 | ... < ... != 0 when ... < ... is true |
|
||||
| 42 | ... < ... != 1 when ... < ... is false |
|
||||
| 42 | ... < ... == 0 when ... < ... is false |
|
||||
| 42 | ... < ... == 1 when ... < ... is true |
|
||||
| 42 | call to getABool != 0 when call to getABool is true |
|
||||
| 42 | call to getABool != 1 when call to getABool is false |
|
||||
| 42 | call to getABool == 0 when call to getABool is false |
|
||||
| 42 | call to getABool == 1 when call to getABool is true |
|
||||
| 42 | j < 10 when ... < ... is true |
|
||||
| 42 | j < 10+0 when ... < ... is true |
|
||||
| 42 | j >= 10 when ... < ... is false |
|
||||
@@ -89,9 +69,7 @@
|
||||
| 44 | 0 < z+0 when ... > ... is true |
|
||||
| 44 | 0 >= z+0 when ... > ... is false |
|
||||
| 44 | ... > ... != 0 when ... > ... is true |
|
||||
| 44 | ... > ... != 1 when ... > ... is false |
|
||||
| 44 | ... > ... == 0 when ... > ... is false |
|
||||
| 44 | ... > ... == 1 when ... > ... is true |
|
||||
| 44 | z < 0+1 when ... > ... is false |
|
||||
| 44 | z < 1 when ... > ... is false |
|
||||
| 44 | z >= 0+1 when ... > ... is true |
|
||||
@@ -99,9 +77,7 @@
|
||||
| 45 | 0 < y+0 when ... > ... is true |
|
||||
| 45 | 0 >= y+0 when ... > ... is false |
|
||||
| 45 | ... > ... != 0 when ... > ... is true |
|
||||
| 45 | ... > ... != 1 when ... > ... is false |
|
||||
| 45 | ... > ... == 0 when ... > ... is false |
|
||||
| 45 | ... > ... == 1 when ... > ... is true |
|
||||
| 45 | y < 0+1 when ... > ... is false |
|
||||
| 45 | y < 1 when ... > ... is false |
|
||||
| 45 | y >= 0+1 when ... > ... is true |
|
||||
@@ -113,17 +89,11 @@
|
||||
| 58 | 0 == x+0 when ... == ... is true |
|
||||
| 58 | 0 >= y+1 when ... < ... is true |
|
||||
| 58 | ... < ... != 0 when ... < ... is true |
|
||||
| 58 | ... < ... != 1 when ... < ... is false |
|
||||
| 58 | ... < ... != 1 when ... \|\| ... is false |
|
||||
| 58 | ... < ... == 0 when ... < ... is false |
|
||||
| 58 | ... < ... == 0 when ... \|\| ... is false |
|
||||
| 58 | ... < ... == 1 when ... < ... is true |
|
||||
| 58 | ... == ... != 0 when ... == ... is true |
|
||||
| 58 | ... == ... != 1 when ... == ... is false |
|
||||
| 58 | ... == ... != 1 when ... \|\| ... is false |
|
||||
| 58 | ... == ... == 0 when ... == ... is false |
|
||||
| 58 | ... == ... == 0 when ... \|\| ... is false |
|
||||
| 58 | ... == ... == 1 when ... == ... is true |
|
||||
| 58 | x != 0 when ... == ... is false |
|
||||
| 58 | x != 0 when ... \|\| ... is false |
|
||||
| 58 | x != 0+0 when ... == ... is false |
|
||||
@@ -146,9 +116,7 @@
|
||||
| 75 | 0 != x+0 when ... == ... is false |
|
||||
| 75 | 0 == x+0 when ... == ... is true |
|
||||
| 75 | ... == ... != 0 when ... == ... is true |
|
||||
| 75 | ... == ... != 1 when ... == ... is false |
|
||||
| 75 | ... == ... == 0 when ... == ... is false |
|
||||
| 75 | ... == ... == 1 when ... == ... is true |
|
||||
| 75 | x != 0 when ... == ... is false |
|
||||
| 75 | x != 0+0 when ... == ... is false |
|
||||
| 75 | x == 0 when ... == ... is true |
|
||||
@@ -161,16 +129,10 @@
|
||||
| 85 | 0 == y+0 when ... != ... is false |
|
||||
| 85 | ... != ... != 0 when ... != ... is true |
|
||||
| 85 | ... != ... != 0 when ... && ... is true |
|
||||
| 85 | ... != ... != 1 when ... != ... is false |
|
||||
| 85 | ... != ... == 0 when ... != ... is false |
|
||||
| 85 | ... != ... == 1 when ... != ... is true |
|
||||
| 85 | ... != ... == 1 when ... && ... is true |
|
||||
| 85 | ... == ... != 0 when ... && ... is true |
|
||||
| 85 | ... == ... != 0 when ... == ... is true |
|
||||
| 85 | ... == ... != 1 when ... == ... is false |
|
||||
| 85 | ... == ... == 0 when ... == ... is false |
|
||||
| 85 | ... == ... == 1 when ... && ... is true |
|
||||
| 85 | ... == ... == 1 when ... == ... is true |
|
||||
| 85 | x != 0 when ... == ... is false |
|
||||
| 85 | x != 0+0 when ... == ... is false |
|
||||
| 85 | x == 0 when ... && ... is true |
|
||||
@@ -184,29 +146,21 @@
|
||||
| 85 | y == 0 when ... != ... is false |
|
||||
| 85 | y == 0+0 when ... != ... is false |
|
||||
| 93 | c != 0 when c is true |
|
||||
| 93 | c != 1 when c is false |
|
||||
| 93 | c == 0 when c is false |
|
||||
| 93 | c == 1 when c is true |
|
||||
| 94 | 0 != x+0 when ... != ... is true |
|
||||
| 94 | 0 == x+0 when ... != ... is false |
|
||||
| 94 | ... != ... != 0 when ... != ... is true |
|
||||
| 94 | ... != ... != 1 when ... != ... is false |
|
||||
| 94 | ... != ... == 0 when ... != ... is false |
|
||||
| 94 | ... != ... == 1 when ... != ... is true |
|
||||
| 94 | x != 0 when ... != ... is true |
|
||||
| 94 | x != 0+0 when ... != ... is true |
|
||||
| 94 | x == 0 when ... != ... is false |
|
||||
| 94 | x == 0+0 when ... != ... is false |
|
||||
| 99 | f != 0 when f is true |
|
||||
| 99 | f != 1 when f is false |
|
||||
| 99 | f == 0 when f is false |
|
||||
| 99 | f == 1 when f is true |
|
||||
| 102 | 10 < j+1 when ... < ... is false |
|
||||
| 102 | 10 >= j+1 when ... < ... is true |
|
||||
| 102 | ... < ... != 0 when ... < ... is true |
|
||||
| 102 | ... < ... != 1 when ... < ... is false |
|
||||
| 102 | ... < ... == 0 when ... < ... is false |
|
||||
| 102 | ... < ... == 1 when ... < ... is true |
|
||||
| 102 | j < 10 when ... < ... is true |
|
||||
| 102 | j < 10+0 when ... < ... is true |
|
||||
| 102 | j >= 10 when ... < ... is false |
|
||||
@@ -214,9 +168,7 @@
|
||||
| 105 | 0.0 != f+0 when ... != ... is true |
|
||||
| 105 | 0.0 == f+0 when ... != ... is false |
|
||||
| 105 | ... != ... != 0 when ... != ... is true |
|
||||
| 105 | ... != ... != 1 when ... != ... is false |
|
||||
| 105 | ... != ... == 0 when ... != ... is false |
|
||||
| 105 | ... != ... == 1 when ... != ... is true |
|
||||
| 105 | f != 0.0+0 when ... != ... is true |
|
||||
| 105 | f == 0.0+0 when ... != ... is false |
|
||||
| 109 | 0 != x+0 when ... == ... is false |
|
||||
@@ -226,17 +178,11 @@
|
||||
| 109 | 0 == x+0 when ... == ... is true |
|
||||
| 109 | 0 >= y+1 when ... < ... is true |
|
||||
| 109 | ... < ... != 0 when ... < ... is true |
|
||||
| 109 | ... < ... != 1 when ... < ... is false |
|
||||
| 109 | ... < ... != 1 when ... \|\| ... is false |
|
||||
| 109 | ... < ... == 0 when ... < ... is false |
|
||||
| 109 | ... < ... == 0 when ... \|\| ... is false |
|
||||
| 109 | ... < ... == 1 when ... < ... is true |
|
||||
| 109 | ... == ... != 0 when ... == ... is true |
|
||||
| 109 | ... == ... != 1 when ... == ... is false |
|
||||
| 109 | ... == ... != 1 when ... \|\| ... is false |
|
||||
| 109 | ... == ... == 0 when ... == ... is false |
|
||||
| 109 | ... == ... == 0 when ... \|\| ... is false |
|
||||
| 109 | ... == ... == 1 when ... == ... is true |
|
||||
| 109 | x != 0 when ... == ... is false |
|
||||
| 109 | x != 0 when ... \|\| ... is false |
|
||||
| 109 | x != 0+0 when ... == ... is false |
|
||||
@@ -252,59 +198,38 @@
|
||||
| 111 | 0.0 != i+0 when ... != ... is true |
|
||||
| 111 | 0.0 == i+0 when ... != ... is false |
|
||||
| 111 | ... != ... != 0 when ... != ... is true |
|
||||
| 111 | ... != ... != 1 when ... != ... is false |
|
||||
| 111 | ... != ... == 0 when ... != ... is false |
|
||||
| 111 | ... != ... == 1 when ... != ... is true |
|
||||
| 111 | i != 0.0+0 when ... != ... is true |
|
||||
| 111 | i == 0.0+0 when ... != ... is false |
|
||||
| 122 | b != 0 when b is true |
|
||||
| 122 | b != 1 when b is false |
|
||||
| 122 | b == 0 when b is false |
|
||||
| 122 | b == 1 when b is true |
|
||||
| 125 | ! ... != 0 when ! ... is true |
|
||||
| 125 | ! ... != 0 when call to safe is false |
|
||||
| 125 | ! ... != 1 when ! ... is false |
|
||||
| 125 | ! ... != 1 when call to safe is true |
|
||||
| 125 | ! ... == 0 when ! ... is false |
|
||||
| 125 | ! ... == 0 when call to safe is true |
|
||||
| 125 | ! ... == 1 when ! ... is true |
|
||||
| 125 | ! ... == 1 when call to safe is false |
|
||||
| 125 | call to safe != 0 when ! ... is false |
|
||||
| 125 | call to safe != 0 when call to safe is true |
|
||||
| 125 | call to safe != 1 when ! ... is true |
|
||||
| 125 | call to safe != 1 when call to safe is false |
|
||||
| 125 | call to safe == 0 when ! ... is true |
|
||||
| 125 | call to safe == 0 when call to safe is false |
|
||||
| 125 | call to safe == 1 when ! ... is false |
|
||||
| 125 | call to safe == 1 when call to safe is true |
|
||||
| 126 | 1 != 0 when 1 is true |
|
||||
| 126 | 1 != 0 when ... && ... is true |
|
||||
| 126 | 1 != 1 when 1 is false |
|
||||
| 126 | 1 == 0 when 1 is false |
|
||||
| 126 | 1 == 1 when 1 is true |
|
||||
| 126 | 1 == 1 when ... && ... is true |
|
||||
| 126 | call to test3_condition != 0 when ... && ... is true |
|
||||
| 126 | call to test3_condition != 0 when call to test3_condition is true |
|
||||
| 126 | call to test3_condition != 1 when call to test3_condition is false |
|
||||
| 126 | call to test3_condition == 0 when call to test3_condition is false |
|
||||
| 126 | call to test3_condition == 1 when ... && ... is true |
|
||||
| 126 | call to test3_condition == 1 when call to test3_condition is true |
|
||||
| 131 | ... + ... != a+0 when call to __builtin_expect is false |
|
||||
| 131 | ... + ... == a+0 when call to __builtin_expect is true |
|
||||
| 131 | ... == ... != 0 when call to __builtin_expect is true |
|
||||
| 131 | ... == ... == 0 when call to __builtin_expect is false |
|
||||
| 131 | a != ... + ...+0 when call to __builtin_expect is false |
|
||||
| 131 | a != b+42 when call to __builtin_expect is false |
|
||||
| 131 | a == ... + ...+0 when call to __builtin_expect is true |
|
||||
| 131 | a == b+42 when call to __builtin_expect is true |
|
||||
| 131 | b != 0 when b is true |
|
||||
| 131 | b != 1 when b is false |
|
||||
| 131 | b != a+-42 when call to __builtin_expect is false |
|
||||
| 131 | b == 0 when b is false |
|
||||
| 131 | b == 1 when b is true |
|
||||
| 131 | b == a+-42 when call to __builtin_expect is true |
|
||||
| 131 | call to __builtin_expect != 0 when call to __builtin_expect is true |
|
||||
| 131 | call to __builtin_expect != 1 when call to __builtin_expect is false |
|
||||
| 131 | call to __builtin_expect == 0 when call to __builtin_expect is false |
|
||||
| 131 | call to __builtin_expect == 1 when call to __builtin_expect is true |
|
||||
| 135 | ... != ... != 0 when call to __builtin_expect is true |
|
||||
| 135 | ... != ... == 0 when call to __builtin_expect is false |
|
||||
| 135 | ... + ... != a+0 when call to __builtin_expect is true |
|
||||
| 135 | ... + ... == a+0 when call to __builtin_expect is false |
|
||||
| 135 | a != ... + ...+0 when call to __builtin_expect is true |
|
||||
@@ -314,342 +239,45 @@
|
||||
| 135 | b != a+-42 when call to __builtin_expect is true |
|
||||
| 135 | b == a+-42 when call to __builtin_expect is false |
|
||||
| 135 | call to __builtin_expect != 0 when call to __builtin_expect is true |
|
||||
| 135 | call to __builtin_expect != 1 when call to __builtin_expect is false |
|
||||
| 135 | call to __builtin_expect == 0 when call to __builtin_expect is false |
|
||||
| 135 | call to __builtin_expect == 1 when call to __builtin_expect is true |
|
||||
| 137 | 0 != 0 when 0 is true |
|
||||
| 137 | 0 != 1 when 0 is false |
|
||||
| 137 | 0 == 0 when 0 is false |
|
||||
| 137 | 0 == 1 when 0 is true |
|
||||
| 141 | 42 != a+0 when call to __builtin_expect is false |
|
||||
| 141 | 42 == a+0 when call to __builtin_expect is true |
|
||||
| 141 | ... == ... != 0 when call to __builtin_expect is true |
|
||||
| 141 | ... == ... == 0 when call to __builtin_expect is false |
|
||||
| 141 | a != 42 when call to __builtin_expect is false |
|
||||
| 141 | a != 42+0 when call to __builtin_expect is false |
|
||||
| 141 | a == 42 when call to __builtin_expect is true |
|
||||
| 141 | a == 42+0 when call to __builtin_expect is true |
|
||||
| 141 | call to __builtin_expect != 0 when call to __builtin_expect is true |
|
||||
| 141 | call to __builtin_expect != 1 when call to __builtin_expect is false |
|
||||
| 141 | call to __builtin_expect == 0 when call to __builtin_expect is false |
|
||||
| 141 | call to __builtin_expect == 1 when call to __builtin_expect is true |
|
||||
| 145 | 42 != a+0 when call to __builtin_expect is true |
|
||||
| 145 | 42 == a+0 when call to __builtin_expect is false |
|
||||
| 145 | ... != ... != 0 when call to __builtin_expect is true |
|
||||
| 145 | ... != ... == 0 when call to __builtin_expect is false |
|
||||
| 145 | a != 42 when call to __builtin_expect is true |
|
||||
| 145 | a != 42+0 when call to __builtin_expect is true |
|
||||
| 145 | a == 42 when call to __builtin_expect is false |
|
||||
| 145 | a == 42+0 when call to __builtin_expect is false |
|
||||
| 145 | call to __builtin_expect != 0 when call to __builtin_expect is true |
|
||||
| 145 | call to __builtin_expect != 1 when call to __builtin_expect is false |
|
||||
| 145 | call to __builtin_expect == 0 when call to __builtin_expect is false |
|
||||
| 145 | call to __builtin_expect == 1 when call to __builtin_expect is true |
|
||||
| 146 | ! ... != 0 when ! ... is true |
|
||||
| 146 | ! ... != 0 when x is false |
|
||||
| 146 | ! ... != 1 when ! ... is false |
|
||||
| 146 | ! ... != 1 when x is true |
|
||||
| 146 | ! ... == 0 when ! ... is false |
|
||||
| 146 | ! ... == 0 when x is true |
|
||||
| 146 | ! ... == 1 when ! ... is true |
|
||||
| 146 | ! ... == 1 when x is false |
|
||||
| 146 | x != 0 when ! ... is false |
|
||||
| 146 | x != 0 when x is true |
|
||||
| 146 | x == 0 when ! ... is true |
|
||||
| 146 | x == 0 when x is false |
|
||||
| 152 | 10 < a+1 when ! ... is true |
|
||||
| 152 | 10 < a+1 when b is false |
|
||||
| 152 | 10 >= a+1 when ! ... is false |
|
||||
| 152 | 10 >= a+1 when b is true |
|
||||
| 152 | ! ... != 0 when ! ... is true |
|
||||
| 152 | ! ... != 0 when b is false |
|
||||
| 152 | ! ... != 1 when ! ... is false |
|
||||
| 152 | ! ... != 1 when b is true |
|
||||
| 152 | ! ... == 0 when ! ... is false |
|
||||
| 152 | ! ... == 0 when b is true |
|
||||
| 152 | ! ... == 1 when ! ... is true |
|
||||
| 152 | ! ... == 1 when b is false |
|
||||
| 152 | ... < ... != 0 when ! ... is false |
|
||||
| 152 | ... < ... != 0 when b is true |
|
||||
| 152 | ... < ... != 1 when ! ... is true |
|
||||
| 152 | ... < ... != 1 when b is false |
|
||||
| 152 | ... < ... == 0 when ! ... is true |
|
||||
| 152 | ... < ... == 0 when b is false |
|
||||
| 152 | ... < ... == 1 when ! ... is false |
|
||||
| 152 | ... < ... == 1 when b is true |
|
||||
| 152 | a < 10 when ! ... is false |
|
||||
| 152 | a < 10 when b is true |
|
||||
| 152 | a < 10+0 when ! ... is false |
|
||||
| 152 | a < 10+0 when b is true |
|
||||
| 152 | a >= 10 when ! ... is true |
|
||||
| 152 | a >= 10 when b is false |
|
||||
| 152 | a >= 10+0 when ! ... is true |
|
||||
| 152 | a >= 10+0 when b is false |
|
||||
| 152 | b != 0 when ! ... is false |
|
||||
| 152 | b != 0 when b is true |
|
||||
| 152 | b != 1 when ! ... is true |
|
||||
| 152 | b != 1 when b is false |
|
||||
| 152 | b == 0 when ! ... is true |
|
||||
| 152 | b == 0 when b is false |
|
||||
| 152 | b == 1 when ! ... is false |
|
||||
| 152 | b == 1 when b is true |
|
||||
| 152 | p != 0 when p is true |
|
||||
| 152 | p != 1 when p is false |
|
||||
| 152 | p == 0 when p is false |
|
||||
| 152 | p == 1 when p is true |
|
||||
| 158 | ! ... != 0 when ! ... is true |
|
||||
| 158 | ! ... != 0 when p is false |
|
||||
| 158 | ! ... != 1 when ! ... is false |
|
||||
| 158 | ! ... != 1 when p is true |
|
||||
| 158 | ! ... == 0 when ! ... is false |
|
||||
| 158 | ! ... == 0 when p is true |
|
||||
| 158 | ! ... == 1 when ! ... is true |
|
||||
| 158 | ! ... == 1 when p is false |
|
||||
| 158 | p != 0 when ! ... is false |
|
||||
| 158 | p != 0 when p is true |
|
||||
| 158 | p == 0 when ! ... is true |
|
||||
| 158 | p == 0 when p is false |
|
||||
| 160 | ! ... != 0 when ! ... is true |
|
||||
| 160 | ! ... != 0 when c is false |
|
||||
| 160 | ! ... != 1 when ! ... is false |
|
||||
| 160 | ! ... != 1 when c is true |
|
||||
| 160 | ! ... == 0 when ! ... is false |
|
||||
| 160 | ! ... == 0 when c is true |
|
||||
| 160 | ! ... == 1 when ! ... is true |
|
||||
| 160 | ! ... == 1 when c is false |
|
||||
| 160 | ... != ... != 0 when ! ... is false |
|
||||
| 160 | ... != ... != 0 when c is true |
|
||||
| 160 | ... != ... != 1 when ! ... is true |
|
||||
| 160 | ... != ... != 1 when c is false |
|
||||
| 160 | ... != ... == 0 when ! ... is true |
|
||||
| 160 | ... != ... == 0 when c is false |
|
||||
| 160 | ... != ... == 1 when ! ... is false |
|
||||
| 160 | ... != ... == 1 when c is true |
|
||||
| 160 | a != b+0 when ! ... is false |
|
||||
| 160 | a != b+0 when c is true |
|
||||
| 160 | a == b+0 when ! ... is true |
|
||||
| 160 | a == b+0 when c is false |
|
||||
| 160 | b != a+0 when ! ... is false |
|
||||
| 160 | b != a+0 when c is true |
|
||||
| 160 | b == a+0 when ! ... is true |
|
||||
| 160 | b == a+0 when c is false |
|
||||
| 160 | c != 0 when ! ... is false |
|
||||
| 160 | c != 0 when c is true |
|
||||
| 160 | c != 1 when ! ... is true |
|
||||
| 160 | c != 1 when c is false |
|
||||
| 160 | c == 0 when ! ... is true |
|
||||
| 160 | c == 0 when c is false |
|
||||
| 160 | c == 1 when ! ... is false |
|
||||
| 160 | c == 1 when c is true |
|
||||
| 164 | s != 0 when s is true |
|
||||
| 164 | s != 1 when s is false |
|
||||
| 164 | s == 0 when s is false |
|
||||
| 164 | s == 1 when s is true |
|
||||
| 168 | 10 < a+0 when ! ... is false |
|
||||
| 168 | 10 < a+0 when b is true |
|
||||
| 168 | 10 >= a+0 when ! ... is true |
|
||||
| 168 | 10 >= a+0 when b is false |
|
||||
| 168 | ! ... != 0 when ! ... is true |
|
||||
| 168 | ! ... != 0 when b is false |
|
||||
| 168 | ! ... != 1 when ! ... is false |
|
||||
| 168 | ! ... != 1 when b is true |
|
||||
| 168 | ! ... == 0 when ! ... is false |
|
||||
| 168 | ! ... == 0 when b is true |
|
||||
| 168 | ! ... == 1 when ! ... is true |
|
||||
| 168 | ! ... == 1 when b is false |
|
||||
| 168 | ... > ... != 0 when ! ... is false |
|
||||
| 168 | ... > ... != 0 when b is true |
|
||||
| 168 | ... > ... != 1 when ! ... is true |
|
||||
| 168 | ... > ... != 1 when b is false |
|
||||
| 168 | ... > ... == 0 when ! ... is true |
|
||||
| 168 | ... > ... == 0 when b is false |
|
||||
| 168 | ... > ... == 1 when ! ... is false |
|
||||
| 168 | ... > ... == 1 when b is true |
|
||||
| 168 | a < 10+1 when ! ... is true |
|
||||
| 168 | a < 10+1 when b is false |
|
||||
| 168 | a < 11 when ! ... is true |
|
||||
| 168 | a < 11 when b is false |
|
||||
| 168 | a >= 10+1 when ! ... is false |
|
||||
| 168 | a >= 10+1 when b is true |
|
||||
| 168 | a >= 11 when ! ... is false |
|
||||
| 168 | a >= 11 when b is true |
|
||||
| 168 | b != 0 when ! ... is false |
|
||||
| 168 | b != 0 when b is true |
|
||||
| 168 | b != 1 when ! ... is true |
|
||||
| 168 | b != 1 when b is false |
|
||||
| 168 | b == 0 when ! ... is true |
|
||||
| 168 | b == 0 when b is false |
|
||||
| 168 | b == 1 when ! ... is false |
|
||||
| 168 | b == 1 when b is true |
|
||||
| 170 | ! ... != 0 when ! ... is true |
|
||||
| 170 | ! ... != 0 when s is false |
|
||||
| 170 | ! ... != 1 when ! ... is false |
|
||||
| 170 | ! ... != 1 when s is true |
|
||||
| 170 | ! ... == 0 when ! ... is false |
|
||||
| 170 | ! ... == 0 when s is true |
|
||||
| 170 | ! ... == 1 when ! ... is true |
|
||||
| 170 | ! ... == 1 when s is false |
|
||||
| 170 | s != 0 when ! ... is false |
|
||||
| 170 | s != 0 when s is true |
|
||||
| 170 | s == 0 when ! ... is true |
|
||||
| 170 | s == 0 when s is false |
|
||||
| 176 | ! ... != 0 when ! ... is true |
|
||||
| 176 | ! ... != 0 when ... < ... is false |
|
||||
| 176 | ! ... != 0 when c is false |
|
||||
| 176 | ! ... != 1 when ! ... is false |
|
||||
| 176 | ! ... != 1 when ... < ... is true |
|
||||
| 176 | ! ... != 1 when c is true |
|
||||
| 176 | ! ... == 0 when ! ... is false |
|
||||
| 176 | ! ... == 0 when ... < ... is true |
|
||||
| 176 | ! ... == 0 when c is true |
|
||||
| 176 | ! ... == 1 when ! ... is true |
|
||||
| 176 | ! ... == 1 when ... < ... is false |
|
||||
| 176 | ! ... == 1 when c is false |
|
||||
| 176 | ... < ... != 0 when ! ... is false |
|
||||
| 176 | ... < ... != 0 when ... < ... is true |
|
||||
| 176 | ... < ... == 0 when ! ... is true |
|
||||
| 176 | ... < ... == 0 when ... < ... is false |
|
||||
| 176 | ... > ... != 0 when ! ... is false |
|
||||
| 176 | ... > ... != 0 when c is true |
|
||||
| 176 | ... > ... != 1 when ! ... is true |
|
||||
| 176 | ... > ... != 1 when c is false |
|
||||
| 176 | ... > ... == 0 when ! ... is true |
|
||||
| 176 | ... > ... == 0 when c is false |
|
||||
| 176 | ... > ... == 1 when ! ... is false |
|
||||
| 176 | ... > ... == 1 when c is true |
|
||||
| 176 | a < b+1 when ! ... is true |
|
||||
| 176 | a < b+1 when c is false |
|
||||
| 176 | a >= b+1 when ! ... is false |
|
||||
| 176 | a >= b+1 when c is true |
|
||||
| 176 | b < a+0 when ! ... is false |
|
||||
| 176 | b < a+0 when c is true |
|
||||
| 176 | b >= a+0 when ! ... is true |
|
||||
| 176 | b >= a+0 when c is false |
|
||||
| 176 | c != 0 when ! ... is false |
|
||||
| 176 | c != 0 when c is true |
|
||||
| 176 | c != 1 when ! ... is true |
|
||||
| 176 | c != 1 when c is false |
|
||||
| 176 | c == 0 when ! ... is true |
|
||||
| 176 | c == 0 when c is false |
|
||||
| 176 | c == 1 when ! ... is false |
|
||||
| 176 | c == 1 when c is true |
|
||||
| 182 | 1.0 < foo+1 when ... < ... is false |
|
||||
| 182 | 1.0 >= foo+1 when ... && ... is true |
|
||||
| 182 | 1.0 >= foo+1 when ... < ... is true |
|
||||
| 182 | 9.999999999999999547e-07 < foo+1 when ... && ... is true |
|
||||
| 182 | 9.999999999999999547e-07 < foo+1 when ... >= ... is true |
|
||||
| 182 | 9.999999999999999547e-07 >= foo+1 when ... >= ... is false |
|
||||
| 182 | ! ... != 0 when ! ... is true |
|
||||
| 182 | ! ... != 0 when ... && ... is false |
|
||||
| 182 | ! ... != 1 when ! ... is false |
|
||||
| 182 | ! ... != 1 when ... && ... is true |
|
||||
| 182 | ! ... == 0 when ! ... is false |
|
||||
| 182 | ! ... == 0 when ... && ... is true |
|
||||
| 182 | ! ... == 1 when ! ... is true |
|
||||
| 182 | ! ... == 1 when ... && ... is false |
|
||||
| 182 | ... && ... != 0 when ! ... is false |
|
||||
| 182 | ... && ... != 0 when ... && ... is true |
|
||||
| 182 | ... && ... != 1 when ! ... is true |
|
||||
| 182 | ... && ... != 1 when ... && ... is false |
|
||||
| 182 | ... && ... == 0 when ! ... is true |
|
||||
| 182 | ... && ... == 0 when ... && ... is false |
|
||||
| 182 | ... && ... == 1 when ! ... is false |
|
||||
| 182 | ... && ... == 1 when ... && ... is true |
|
||||
| 182 | ... < ... != 0 when ... && ... is true |
|
||||
| 182 | ... < ... != 0 when ... < ... is true |
|
||||
| 182 | ... < ... != 1 when ... < ... is false |
|
||||
| 182 | ... < ... == 0 when ... < ... is false |
|
||||
| 182 | ... < ... == 1 when ... && ... is true |
|
||||
| 182 | ... < ... == 1 when ... < ... is true |
|
||||
| 182 | ... >= ... != 0 when ... && ... is true |
|
||||
| 182 | ... >= ... != 0 when ... >= ... is true |
|
||||
| 182 | ... >= ... != 1 when ... >= ... is false |
|
||||
| 182 | ... >= ... == 0 when ... >= ... is false |
|
||||
| 182 | ... >= ... == 1 when ... && ... is true |
|
||||
| 182 | ... >= ... == 1 when ... >= ... is true |
|
||||
| 182 | b1 != 0 when ! ... is false |
|
||||
| 182 | b1 != 0 when ... && ... is true |
|
||||
| 182 | b1 != 0 when b1 is true |
|
||||
| 182 | b1 != 1 when b1 is false |
|
||||
| 182 | b1 == 0 when b1 is false |
|
||||
| 182 | b1 == 1 when ! ... is false |
|
||||
| 182 | b1 == 1 when ... && ... is true |
|
||||
| 182 | b1 == 1 when b1 is true |
|
||||
| 182 | b2 != 0 when ! ... is false |
|
||||
| 182 | b2 != 0 when ... && ... is true |
|
||||
| 182 | b2 != 0 when b2 is true |
|
||||
| 182 | b2 != 1 when b2 is false |
|
||||
| 182 | b2 == 0 when b2 is false |
|
||||
| 182 | b2 == 1 when ! ... is false |
|
||||
| 182 | b2 == 1 when ... && ... is true |
|
||||
| 182 | b2 == 1 when b2 is true |
|
||||
| 182 | foo < 1.0+0 when ... && ... is true |
|
||||
| 182 | foo < 1.0+0 when ... < ... is true |
|
||||
| 182 | foo < 9.999999999999999547e-07+0 when ... >= ... is false |
|
||||
| 182 | foo >= 1.0+0 when ... < ... is false |
|
||||
| 182 | foo >= 9.999999999999999547e-07+0 when ... && ... is true |
|
||||
| 182 | foo >= 9.999999999999999547e-07+0 when ... >= ... is true |
|
||||
| 190 | ! ... != 0 when ! ... is true |
|
||||
| 190 | ! ... != 0 when c is false |
|
||||
| 190 | ! ... != 1 when ! ... is false |
|
||||
| 190 | ! ... != 1 when c is true |
|
||||
| 190 | ! ... == 0 when ! ... is false |
|
||||
| 190 | ! ... == 0 when c is true |
|
||||
| 190 | ! ... == 1 when ! ... is true |
|
||||
| 190 | ! ... == 1 when c is false |
|
||||
| 190 | c != 0 when ! ... is false |
|
||||
| 190 | c != 0 when c is true |
|
||||
| 190 | c == 0 when ! ... is true |
|
||||
| 190 | c == 0 when c is false |
|
||||
| 193 | ! ... != 0 when ! ... is true |
|
||||
| 193 | ! ... != 0 when ... \|\| ... is false |
|
||||
| 193 | ! ... != 1 when ! ... is false |
|
||||
| 193 | ! ... != 1 when ... \|\| ... is true |
|
||||
| 193 | ! ... == 0 when ! ... is false |
|
||||
| 193 | ! ... == 0 when ... \|\| ... is true |
|
||||
| 193 | ! ... == 1 when ! ... is true |
|
||||
| 193 | ! ... == 1 when ... \|\| ... is false |
|
||||
| 193 | ... \|\| ... != 0 when ! ... is false |
|
||||
| 193 | ... \|\| ... != 0 when ... \|\| ... is true |
|
||||
| 193 | ... \|\| ... != 1 when ! ... is true |
|
||||
| 193 | ... \|\| ... != 1 when ... \|\| ... is false |
|
||||
| 193 | ... \|\| ... == 0 when ! ... is true |
|
||||
| 193 | ... \|\| ... == 0 when ... \|\| ... is false |
|
||||
| 193 | ... \|\| ... == 1 when ! ... is false |
|
||||
| 193 | ... \|\| ... == 1 when ... \|\| ... is true |
|
||||
| 193 | b1 != 0 when b1 is true |
|
||||
| 193 | b1 != 1 when ! ... is true |
|
||||
| 193 | b1 != 1 when ... \|\| ... is false |
|
||||
| 193 | b1 != 1 when b1 is false |
|
||||
| 193 | b1 == 0 when ! ... is true |
|
||||
| 193 | b1 == 0 when ... \|\| ... is false |
|
||||
| 193 | b1 == 0 when b1 is false |
|
||||
| 193 | b1 == 1 when b1 is true |
|
||||
| 193 | b2 != 0 when b2 is true |
|
||||
| 193 | b2 != 1 when ! ... is true |
|
||||
| 193 | b2 != 1 when ... \|\| ... is false |
|
||||
| 193 | b2 != 1 when b2 is false |
|
||||
| 193 | b2 == 0 when ! ... is true |
|
||||
| 193 | b2 == 0 when ... \|\| ... is false |
|
||||
| 193 | b2 == 0 when b2 is false |
|
||||
| 193 | b2 == 1 when b2 is true |
|
||||
| 198 | ! ... != 0 when ! ... is true |
|
||||
| 198 | ! ... != 0 when b is false |
|
||||
| 198 | ! ... != 1 when ! ... is false |
|
||||
| 198 | ! ... != 1 when b is true |
|
||||
| 198 | ! ... == 0 when ! ... is false |
|
||||
| 198 | ! ... == 0 when b is true |
|
||||
| 198 | ! ... == 1 when ! ... is true |
|
||||
| 198 | ! ... == 1 when b is false |
|
||||
| 198 | b != 0 when ! ... is false |
|
||||
| 198 | b != 0 when b is true |
|
||||
| 198 | b == 0 when ! ... is true |
|
||||
| 198 | b == 0 when b is false |
|
||||
| 206 | ! ... != 0 when ! ... is true |
|
||||
| 206 | ! ... != 0 when c is false |
|
||||
| 206 | ! ... != 1 when ! ... is false |
|
||||
| 206 | ! ... != 1 when c is true |
|
||||
| 206 | ! ... == 0 when ! ... is false |
|
||||
| 206 | ! ... == 0 when c is true |
|
||||
| 206 | ! ... == 1 when ! ... is true |
|
||||
| 206 | ! ... == 1 when c is false |
|
||||
| 206 | c != 0 when ! ... is false |
|
||||
| 206 | c != 0 when c is true |
|
||||
| 206 | c == 0 when ! ... is true |
|
||||
| 206 | c == 0 when c is false |
|
||||
|
||||
@@ -85,20 +85,6 @@
|
||||
| test.c:164:8:164:8 | s | true | 164 | 166 |
|
||||
| test.c:170:8:170:9 | ! ... | true | 170 | 172 |
|
||||
| test.c:170:9:170:9 | s | false | 170 | 172 |
|
||||
| test.c:176:8:176:15 | ! ... | true | 176 | 178 |
|
||||
| test.c:176:10:176:14 | ... < ... | false | 176 | 178 |
|
||||
| test.c:182:8:182:34 | ! ... | true | 182 | 184 |
|
||||
| test.c:182:10:182:20 | ... >= ... | true | 181 | 182 |
|
||||
| test.c:182:10:182:20 | ... >= ... | true | 182 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | false | 182 | 184 |
|
||||
| test.c:182:10:182:33 | ... && ... | true | 181 | 182 |
|
||||
| test.c:182:25:182:33 | ... < ... | true | 181 | 182 |
|
||||
| test.c:190:7:190:8 | ! ... | true | 190 | 192 |
|
||||
| test.c:190:8:190:8 | c | false | 190 | 192 |
|
||||
| test.c:198:7:198:8 | ! ... | true | 198 | 200 |
|
||||
| test.c:198:8:198:8 | b | false | 198 | 200 |
|
||||
| test.c:206:7:206:8 | ! ... | true | 206 | 208 |
|
||||
| test.c:206:8:206:8 | c | false | 206 | 208 |
|
||||
| test.cpp:18:8:18:10 | call to get | true | 19 | 19 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | false | 30 | 30 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | false | 34 | 34 |
|
||||
@@ -122,27 +108,3 @@
|
||||
| test.cpp:135:6:135:21 | call to __builtin_expect | true | 135 | 136 |
|
||||
| test.cpp:141:6:141:21 | call to __builtin_expect | true | 141 | 142 |
|
||||
| test.cpp:145:6:145:21 | call to __builtin_expect | true | 145 | 146 |
|
||||
| test.cpp:152:7:152:8 | ! ... | true | 152 | 153 |
|
||||
| test.cpp:152:8:152:8 | b | false | 152 | 153 |
|
||||
| test.cpp:160:7:160:8 | ! ... | true | 160 | 162 |
|
||||
| test.cpp:160:8:160:8 | c | false | 160 | 162 |
|
||||
| test.cpp:168:7:168:8 | ! ... | true | 168 | 170 |
|
||||
| test.cpp:168:8:168:8 | b | false | 168 | 170 |
|
||||
| test.cpp:176:7:176:8 | ! ... | true | 176 | 178 |
|
||||
| test.cpp:176:8:176:8 | c | false | 176 | 178 |
|
||||
| test.cpp:182:6:182:16 | ! ... | false | 185 | 188 |
|
||||
| test.cpp:182:6:182:16 | ! ... | true | 182 | 184 |
|
||||
| test.cpp:182:8:182:9 | b1 | true | 181 | 182 |
|
||||
| test.cpp:182:8:182:9 | b1 | true | 182 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | false | 182 | 184 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | true | 181 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | true | 185 | 188 |
|
||||
| test.cpp:182:14:182:15 | b2 | true | 181 | 182 |
|
||||
| test.cpp:193:6:193:16 | ! ... | false | 197 | 199 |
|
||||
| test.cpp:193:6:193:16 | ! ... | true | 193 | 196 |
|
||||
| test.cpp:193:8:193:9 | b1 | false | 192 | 193 |
|
||||
| test.cpp:193:8:193:9 | b1 | false | 193 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | false | 192 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | false | 193 | 196 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | true | 197 | 199 |
|
||||
| test.cpp:193:14:193:15 | b2 | false | 192 | 193 |
|
||||
|
||||
@@ -157,16 +157,6 @@ binary
|
||||
| test.c:109:9:109:23 | ... \|\| ... | test.c:109:23:109:23 | 0 | < | test.c:109:19:109:19 | y | 1 | 113 | 113 |
|
||||
| test.c:109:19:109:23 | ... < ... | test.c:109:19:109:19 | y | >= | test.c:109:23:109:23 | 0 | 0 | 113 | 113 |
|
||||
| test.c:109:19:109:23 | ... < ... | test.c:109:23:109:23 | 0 | < | test.c:109:19:109:19 | y | 1 | 113 | 113 |
|
||||
| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 9.999999999999999547e-07 | 0 | 181 | 182 |
|
||||
| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 9.999999999999999547e-07 | 0 | 182 | 182 |
|
||||
| test.c:182:10:182:20 | ... >= ... | test.c:182:17:182:20 | 9.999999999999999547e-07 | < | test.c:182:10:182:12 | foo | 1 | 181 | 182 |
|
||||
| test.c:182:10:182:20 | ... >= ... | test.c:182:17:182:20 | 9.999999999999999547e-07 | < | test.c:182:10:182:12 | foo | 1 | 182 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 9.999999999999999547e-07 | 0 | 181 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:17:182:20 | 9.999999999999999547e-07 | < | test.c:182:10:182:12 | foo | 1 | 181 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:25:182:27 | foo | < | test.c:182:31:182:33 | 1.0 | 0 | 181 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:31:182:33 | 1.0 | >= | test.c:182:25:182:27 | foo | 1 | 181 | 182 |
|
||||
| test.c:182:25:182:33 | ... < ... | test.c:182:25:182:27 | foo | < | test.c:182:31:182:33 | 1.0 | 0 | 181 | 182 |
|
||||
| test.c:182:25:182:33 | ... < ... | test.c:182:31:182:33 | 1.0 | >= | test.c:182:25:182:27 | foo | 1 | 181 | 182 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | test.cpp:31:12:31:13 | - ... | 0 | 30 | 30 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | test.cpp:31:12:31:13 | - ... | 0 | 34 | 34 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | test.cpp:31:12:31:13 | - ... | 0 | 30 | 30 |
|
||||
@@ -191,44 +181,21 @@ binary
|
||||
| test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:28:141:29 | 42 | == | test.cpp:141:23:141:23 | a | 0 | 141 | 142 |
|
||||
| test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:23:145:23 | a | != | test.cpp:145:28:145:29 | 42 | 0 | 145 | 146 |
|
||||
| test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:28:145:29 | 42 | != | test.cpp:145:23:145:23 | a | 0 | 145 | 146 |
|
||||
| test.cpp:152:7:152:8 | ! ... | test.cpp:151:8:151:8 | a | >= | test.cpp:151:12:151:13 | 10 | 0 | 152 | 153 |
|
||||
| test.cpp:152:7:152:8 | ! ... | test.cpp:151:12:151:13 | 10 | < | test.cpp:151:8:151:8 | a | 1 | 152 | 153 |
|
||||
| test.cpp:152:8:152:8 | b | test.cpp:151:8:151:8 | a | >= | test.cpp:151:12:151:13 | 10 | 0 | 152 | 153 |
|
||||
| test.cpp:152:8:152:8 | b | test.cpp:151:12:151:13 | 10 | < | test.cpp:151:8:151:8 | a | 1 | 152 | 153 |
|
||||
| test.cpp:160:7:160:8 | ! ... | test.cpp:158:12:158:12 | a | == | test.cpp:158:17:158:17 | b | 0 | 160 | 162 |
|
||||
| test.cpp:160:7:160:8 | ! ... | test.cpp:158:17:158:17 | b | == | test.cpp:158:12:158:12 | a | 0 | 160 | 162 |
|
||||
| test.cpp:160:8:160:8 | c | test.cpp:158:12:158:12 | a | == | test.cpp:158:17:158:17 | b | 0 | 160 | 162 |
|
||||
| test.cpp:160:8:160:8 | c | test.cpp:158:17:158:17 | b | == | test.cpp:158:12:158:12 | a | 0 | 160 | 162 |
|
||||
| test.cpp:168:7:168:8 | ! ... | test.cpp:166:12:166:12 | a | < | test.cpp:166:16:166:17 | 10 | 1 | 168 | 170 |
|
||||
| test.cpp:168:7:168:8 | ! ... | test.cpp:166:16:166:17 | 10 | >= | test.cpp:166:12:166:12 | a | 0 | 168 | 170 |
|
||||
| test.cpp:168:8:168:8 | b | test.cpp:166:12:166:12 | a | < | test.cpp:166:16:166:17 | 10 | 1 | 168 | 170 |
|
||||
| test.cpp:168:8:168:8 | b | test.cpp:166:16:166:17 | 10 | >= | test.cpp:166:12:166:12 | a | 0 | 168 | 170 |
|
||||
| test.cpp:176:7:176:8 | ! ... | test.cpp:174:12:174:12 | a | < | test.cpp:174:16:174:16 | b | 1 | 176 | 178 |
|
||||
| test.cpp:176:7:176:8 | ! ... | test.cpp:174:16:174:16 | b | >= | test.cpp:174:12:174:12 | a | 0 | 176 | 178 |
|
||||
| test.cpp:176:8:176:8 | c | test.cpp:174:12:174:12 | a | < | test.cpp:174:16:174:16 | b | 1 | 176 | 178 |
|
||||
| test.cpp:176:8:176:8 | c | test.cpp:174:16:174:16 | b | >= | test.cpp:174:12:174:12 | a | 0 | 176 | 178 |
|
||||
unary
|
||||
| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:9 | x | < | 1 | 10 | 11 |
|
||||
| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:9 | x | >= | 1 | 7 | 9 |
|
||||
| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | != | 0 | 7 | 9 |
|
||||
| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | != | 1 | 10 | 11 |
|
||||
| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | == | 0 | 10 | 11 |
|
||||
| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | == | 1 | 7 | 9 |
|
||||
| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:8 | x | < | 0 | 17 | 17 |
|
||||
| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:8 | x | < | 0 | 18 | 18 |
|
||||
| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | != | 0 | 17 | 17 |
|
||||
| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | != | 0 | 18 | 18 |
|
||||
| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | == | 1 | 17 | 17 |
|
||||
| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | == | 1 | 18 | 18 |
|
||||
| test.c:17:8:17:21 | ... && ... | test.c:17:8:17:8 | x | < | 0 | 18 | 18 |
|
||||
| test.c:17:8:17:21 | ... && ... | test.c:17:8:17:12 | ... < ... | != | 0 | 18 | 18 |
|
||||
| test.c:17:8:17:21 | ... && ... | test.c:17:8:17:12 | ... < ... | == | 1 | 18 | 18 |
|
||||
| test.c:17:8:17:21 | ... && ... | test.c:17:17:17:17 | y | >= | 2 | 18 | 18 |
|
||||
| test.c:17:8:17:21 | ... && ... | test.c:17:17:17:21 | ... > ... | != | 0 | 18 | 18 |
|
||||
| test.c:17:8:17:21 | ... && ... | test.c:17:17:17:21 | ... > ... | == | 1 | 18 | 18 |
|
||||
| test.c:17:17:17:21 | ... > ... | test.c:17:17:17:17 | y | >= | 2 | 18 | 18 |
|
||||
| test.c:17:17:17:21 | ... > ... | test.c:17:17:17:21 | ... > ... | != | 0 | 18 | 18 |
|
||||
| test.c:17:17:17:21 | ... > ... | test.c:17:17:17:21 | ... > ... | == | 1 | 18 | 18 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 2 | 2 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 31 | 34 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 34 | 34 |
|
||||
@@ -244,19 +211,6 @@ unary
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 62 | 62 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | >= | 1 | 26 | 28 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 0 | 26 | 28 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 2 | 2 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 31 | 34 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 34 | 34 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 39 | 42 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 42 | 42 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 42 | 44 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 45 | 45 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 45 | 47 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 51 | 53 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 56 | 58 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 58 | 58 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 58 | 66 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 1 | 62 | 62 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 2 | 2 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 31 | 34 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 34 | 34 |
|
||||
@@ -270,7 +224,6 @@ unary
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 58 | 58 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 58 | 66 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 62 | 62 |
|
||||
| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 1 | 26 | 28 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | < | 10 | 34 | 34 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 2 | 2 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 39 | 42 |
|
||||
@@ -284,17 +237,6 @@ unary
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 58 | 66 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 62 | 62 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 0 | 34 | 34 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 2 | 2 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 39 | 42 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 42 | 42 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 42 | 44 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 45 | 45 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 45 | 47 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 51 | 53 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 56 | 58 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 58 | 58 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 58 | 66 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 1 | 62 | 62 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 2 | 2 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 39 | 42 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 42 | 42 |
|
||||
@@ -306,7 +248,6 @@ unary
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 58 | 58 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 58 | 66 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 62 | 62 |
|
||||
| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 1 | 34 | 34 |
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 42 | 42 |
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 42 | 44 |
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 45 | 45 |
|
||||
@@ -317,77 +258,50 @@ unary
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 45 | 45 |
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 45 | 47 |
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 51 | 53 |
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | == | 1 | 42 | 42 |
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | == | 1 | 42 | 44 |
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | == | 1 | 45 | 45 |
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | == | 1 | 45 | 47 |
|
||||
| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | == | 1 | 51 | 53 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | < | 1 | 42 | 42 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | < | 1 | 51 | 53 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | >= | 1 | 45 | 45 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | >= | 1 | 45 | 47 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 0 | 45 | 45 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 0 | 45 | 47 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 1 | 42 | 42 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 1 | 51 | 53 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 0 | 42 | 42 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 0 | 51 | 53 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 1 | 45 | 45 |
|
||||
| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 1 | 45 | 47 |
|
||||
| test.c:45:16:45:20 | ... > ... | test.c:45:16:45:16 | y | >= | 1 | 45 | 47 |
|
||||
| test.c:45:16:45:20 | ... > ... | test.c:45:16:45:20 | ... > ... | != | 0 | 45 | 47 |
|
||||
| test.c:45:16:45:20 | ... > ... | test.c:45:16:45:20 | ... > ... | == | 1 | 45 | 47 |
|
||||
| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 58 | 58 |
|
||||
| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 |
|
||||
| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | != | 1 | 58 | 58 |
|
||||
| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | != | 1 | 62 | 62 |
|
||||
| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | == | 0 | 58 | 58 |
|
||||
| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | == | 0 | 62 | 62 |
|
||||
| test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 |
|
||||
| test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:14 | ... == ... | != | 1 | 62 | 62 |
|
||||
| test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:14 | ... == ... | == | 0 | 62 | 62 |
|
||||
| test.c:58:9:58:23 | ... \|\| ... | test.c:58:19:58:19 | y | >= | 0 | 62 | 62 |
|
||||
| test.c:58:9:58:23 | ... \|\| ... | test.c:58:19:58:23 | ... < ... | != | 1 | 62 | 62 |
|
||||
| test.c:58:9:58:23 | ... \|\| ... | test.c:58:19:58:23 | ... < ... | == | 0 | 62 | 62 |
|
||||
| test.c:58:19:58:23 | ... < ... | test.c:58:19:58:19 | y | >= | 0 | 62 | 62 |
|
||||
| test.c:58:19:58:23 | ... < ... | test.c:58:19:58:23 | ... < ... | != | 1 | 62 | 62 |
|
||||
| test.c:58:19:58:23 | ... < ... | test.c:58:19:58:23 | ... < ... | == | 0 | 62 | 62 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | != | 0 | 78 | 79 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 75 | 77 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 75 | 77 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 1 | 78 | 79 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | == | 0 | 78 | 79 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | == | 1 | 75 | 77 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | != | 0 | 78 | 79 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 75 | 77 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 75 | 77 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 1 | 78 | 79 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | == | 0 | 78 | 79 |
|
||||
| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | == | 1 | 75 | 77 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 85 | 85 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 86 | 86 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 85 | 85 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 86 | 86 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | == | 1 | 85 | 85 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | == | 1 | 86 | 86 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 85 | 85 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 85 | 85 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 86 | 86 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | == | 1 | 85 | 85 |
|
||||
| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | == | 1 | 86 | 86 |
|
||||
| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:9 | x | == | 0 | 86 | 86 |
|
||||
| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:14 | ... == ... | != | 0 | 86 | 86 |
|
||||
| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:14 | ... == ... | == | 1 | 86 | 86 |
|
||||
| test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 |
|
||||
| test.c:85:8:85:23 | ... && ... | test.c:85:8:85:13 | ... == ... | != | 0 | 86 | 86 |
|
||||
| test.c:85:8:85:23 | ... && ... | test.c:85:8:85:13 | ... == ... | == | 1 | 86 | 86 |
|
||||
| test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 |
|
||||
| test.c:85:8:85:23 | ... && ... | test.c:85:18:85:23 | ... != ... | != | 0 | 86 | 86 |
|
||||
| test.c:85:8:85:23 | ... && ... | test.c:85:18:85:23 | ... != ... | == | 1 | 86 | 86 |
|
||||
| test.c:85:18:85:23 | ... != ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 |
|
||||
| test.c:85:18:85:23 | ... != ... | test.c:85:18:85:23 | ... != ... | != | 0 | 86 | 86 |
|
||||
| test.c:85:18:85:23 | ... != ... | test.c:85:18:85:23 | ... != ... | == | 1 | 86 | 86 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | != | 0 | 94 | 96 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 70 | 70 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 99 | 102 |
|
||||
@@ -397,13 +311,6 @@ unary
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 117 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 113 | 113 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 0 | 94 | 96 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 1 | 70 | 70 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 1 | 99 | 102 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 1 | 102 | 102 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 1 | 107 | 109 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 1 | 109 | 109 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 1 | 109 | 117 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 1 | 113 | 113 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 70 | 70 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 99 | 102 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 102 | 102 |
|
||||
@@ -411,7 +318,6 @@ unary
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 109 | 109 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 109 | 117 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 113 | 113 |
|
||||
| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 1 | 94 | 96 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | < | 10 | 102 | 102 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 70 | 70 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 107 | 109 |
|
||||
@@ -419,135 +325,56 @@ unary
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 109 | 117 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 113 | 113 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | != | 0 | 102 | 102 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | != | 1 | 70 | 70 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | != | 1 | 107 | 109 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | != | 1 | 109 | 109 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | != | 1 | 109 | 117 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | != | 1 | 113 | 113 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 70 | 70 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 107 | 109 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 109 | 109 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 109 | 117 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 113 | 113 |
|
||||
| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 1 | 102 | 102 |
|
||||
| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 109 | 109 |
|
||||
| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 |
|
||||
| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | != | 1 | 109 | 109 |
|
||||
| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | != | 1 | 113 | 113 |
|
||||
| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | == | 0 | 109 | 109 |
|
||||
| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | == | 0 | 113 | 113 |
|
||||
| test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 |
|
||||
| test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:14 | ... == ... | != | 1 | 113 | 113 |
|
||||
| test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:14 | ... == ... | == | 0 | 113 | 113 |
|
||||
| test.c:109:9:109:23 | ... \|\| ... | test.c:109:19:109:19 | y | >= | 0 | 113 | 113 |
|
||||
| test.c:109:9:109:23 | ... \|\| ... | test.c:109:19:109:23 | ... < ... | != | 1 | 113 | 113 |
|
||||
| test.c:109:9:109:23 | ... \|\| ... | test.c:109:19:109:23 | ... < ... | == | 0 | 113 | 113 |
|
||||
| test.c:109:19:109:23 | ... < ... | test.c:109:19:109:19 | y | >= | 0 | 113 | 113 |
|
||||
| test.c:109:19:109:23 | ... < ... | test.c:109:19:109:23 | ... < ... | != | 1 | 113 | 113 |
|
||||
| test.c:109:19:109:23 | ... < ... | test.c:109:19:109:23 | ... < ... | == | 0 | 113 | 113 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 126 | 126 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 126 | 128 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 131 | 131 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 131 | 132 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 134 | 123 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | == | 1 | 126 | 126 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | == | 1 | 126 | 128 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | == | 1 | 131 | 131 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | == | 1 | 131 | 132 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | == | 1 | 134 | 123 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 126 | 126 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 126 | 128 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 131 | 131 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 131 | 132 |
|
||||
| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 134 | 123 |
|
||||
| test.c:126:7:126:28 | ... && ... | test.c:126:7:126:7 | 1 | != | 0 | 126 | 128 |
|
||||
| test.c:126:7:126:28 | ... && ... | test.c:126:7:126:7 | 1 | == | 1 | 126 | 128 |
|
||||
| test.c:126:7:126:28 | ... && ... | test.c:126:12:126:26 | call to test3_condition | != | 0 | 126 | 128 |
|
||||
| test.c:126:7:126:28 | ... && ... | test.c:126:12:126:26 | call to test3_condition | == | 1 | 126 | 128 |
|
||||
| test.c:126:7:126:28 | ... && ... | test.c:127:9:127:9 | 1 | != | 0 | 126 | 128 |
|
||||
| test.c:126:12:126:26 | call to test3_condition | test.c:126:12:126:26 | call to test3_condition | != | 0 | 126 | 128 |
|
||||
| test.c:126:12:126:26 | call to test3_condition | test.c:126:12:126:26 | call to test3_condition | == | 1 | 126 | 128 |
|
||||
| test.c:131:7:131:7 | b | test.c:131:7:131:7 | b | != | 0 | 131 | 132 |
|
||||
| test.c:131:7:131:7 | b | test.c:131:7:131:7 | b | == | 1 | 131 | 132 |
|
||||
| test.c:137:7:137:7 | 0 | test.c:137:7:137:7 | 0 | != | 1 | 142 | 136 |
|
||||
| test.c:137:7:137:7 | 0 | test.c:137:7:137:7 | 0 | == | 0 | 142 | 136 |
|
||||
| test.c:146:7:146:8 | ! ... | test.c:146:7:146:8 | ! ... | != | 0 | 146 | 147 |
|
||||
| test.c:146:7:146:8 | ! ... | test.c:146:7:146:8 | ! ... | == | 1 | 146 | 147 |
|
||||
| test.c:146:7:146:8 | ! ... | test.c:146:8:146:8 | x | == | 0 | 146 | 147 |
|
||||
| test.c:146:8:146:8 | x | test.c:146:7:146:8 | ! ... | != | 0 | 146 | 147 |
|
||||
| test.c:146:8:146:8 | x | test.c:146:7:146:8 | ! ... | == | 1 | 146 | 147 |
|
||||
| test.c:146:8:146:8 | x | test.c:146:8:146:8 | x | == | 0 | 146 | 147 |
|
||||
| test.c:152:8:152:8 | p | test.c:152:8:152:8 | p | != | 0 | 152 | 154 |
|
||||
| test.c:152:8:152:8 | p | test.c:152:8:152:8 | p | == | 1 | 152 | 154 |
|
||||
| test.c:158:8:158:9 | ! ... | test.c:158:8:158:9 | ! ... | != | 0 | 158 | 160 |
|
||||
| test.c:158:8:158:9 | ! ... | test.c:158:8:158:9 | ! ... | == | 1 | 158 | 160 |
|
||||
| test.c:158:8:158:9 | ! ... | test.c:158:9:158:9 | p | == | 0 | 158 | 160 |
|
||||
| test.c:158:9:158:9 | p | test.c:158:8:158:9 | ! ... | != | 0 | 158 | 160 |
|
||||
| test.c:158:9:158:9 | p | test.c:158:8:158:9 | ! ... | == | 1 | 158 | 160 |
|
||||
| test.c:158:9:158:9 | p | test.c:158:9:158:9 | p | == | 0 | 158 | 160 |
|
||||
| test.c:164:8:164:8 | s | test.c:164:8:164:8 | s | != | 0 | 164 | 166 |
|
||||
| test.c:164:8:164:8 | s | test.c:164:8:164:8 | s | == | 1 | 164 | 166 |
|
||||
| test.c:170:8:170:9 | ! ... | test.c:170:8:170:9 | ! ... | != | 0 | 170 | 172 |
|
||||
| test.c:170:8:170:9 | ! ... | test.c:170:8:170:9 | ! ... | == | 1 | 170 | 172 |
|
||||
| test.c:170:8:170:9 | ! ... | test.c:170:9:170:9 | s | == | 0 | 170 | 172 |
|
||||
| test.c:170:9:170:9 | s | test.c:170:8:170:9 | ! ... | != | 0 | 170 | 172 |
|
||||
| test.c:170:9:170:9 | s | test.c:170:8:170:9 | ! ... | == | 1 | 170 | 172 |
|
||||
| test.c:170:9:170:9 | s | test.c:170:9:170:9 | s | == | 0 | 170 | 172 |
|
||||
| test.c:176:8:176:15 | ! ... | test.c:176:8:176:15 | ! ... | != | 0 | 176 | 178 |
|
||||
| test.c:176:8:176:15 | ! ... | test.c:176:8:176:15 | ! ... | == | 1 | 176 | 178 |
|
||||
| test.c:176:8:176:15 | ! ... | test.c:176:10:176:14 | ... < ... | == | 0 | 176 | 178 |
|
||||
| test.c:176:10:176:14 | ... < ... | test.c:176:8:176:15 | ! ... | != | 0 | 176 | 178 |
|
||||
| test.c:176:10:176:14 | ... < ... | test.c:176:8:176:15 | ! ... | == | 1 | 176 | 178 |
|
||||
| test.c:176:10:176:14 | ... < ... | test.c:176:10:176:14 | ... < ... | == | 0 | 176 | 178 |
|
||||
| test.c:182:8:182:34 | ! ... | test.c:182:8:182:34 | ! ... | != | 0 | 182 | 184 |
|
||||
| test.c:182:8:182:34 | ! ... | test.c:182:8:182:34 | ! ... | == | 1 | 182 | 184 |
|
||||
| test.c:182:8:182:34 | ! ... | test.c:182:10:182:33 | ... && ... | == | 0 | 182 | 184 |
|
||||
| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:20 | ... >= ... | != | 0 | 181 | 182 |
|
||||
| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:20 | ... >= ... | != | 0 | 182 | 182 |
|
||||
| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:20 | ... >= ... | == | 1 | 181 | 182 |
|
||||
| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:20 | ... >= ... | == | 1 | 182 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:8:182:34 | ! ... | != | 0 | 182 | 184 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:8:182:34 | ! ... | != | 1 | 181 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:8:182:34 | ! ... | == | 0 | 181 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:8:182:34 | ! ... | == | 1 | 182 | 184 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:10:182:20 | ... >= ... | != | 0 | 181 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:10:182:20 | ... >= ... | == | 1 | 181 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:10:182:33 | ... && ... | != | 0 | 181 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:10:182:33 | ... && ... | == | 0 | 182 | 184 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:25:182:33 | ... < ... | != | 0 | 181 | 182 |
|
||||
| test.c:182:10:182:33 | ... && ... | test.c:182:25:182:33 | ... < ... | == | 1 | 181 | 182 |
|
||||
| test.c:182:25:182:33 | ... < ... | test.c:182:25:182:33 | ... < ... | != | 0 | 181 | 182 |
|
||||
| test.c:182:25:182:33 | ... < ... | test.c:182:25:182:33 | ... < ... | == | 1 | 181 | 182 |
|
||||
| test.c:190:7:190:8 | ! ... | test.c:190:7:190:8 | ! ... | != | 0 | 190 | 192 |
|
||||
| test.c:190:7:190:8 | ! ... | test.c:190:7:190:8 | ! ... | == | 1 | 190 | 192 |
|
||||
| test.c:190:7:190:8 | ! ... | test.c:190:8:190:8 | c | == | 0 | 190 | 192 |
|
||||
| test.c:190:8:190:8 | c | test.c:190:7:190:8 | ! ... | != | 0 | 190 | 192 |
|
||||
| test.c:190:8:190:8 | c | test.c:190:7:190:8 | ! ... | == | 1 | 190 | 192 |
|
||||
| test.c:190:8:190:8 | c | test.c:190:8:190:8 | c | == | 0 | 190 | 192 |
|
||||
| test.c:198:7:198:8 | ! ... | test.c:198:7:198:8 | ! ... | != | 0 | 198 | 200 |
|
||||
| test.c:198:7:198:8 | ! ... | test.c:198:7:198:8 | ! ... | == | 1 | 198 | 200 |
|
||||
| test.c:198:7:198:8 | ! ... | test.c:198:8:198:8 | b | == | 0 | 198 | 200 |
|
||||
| test.c:198:8:198:8 | b | test.c:198:7:198:8 | ! ... | != | 0 | 198 | 200 |
|
||||
| test.c:198:8:198:8 | b | test.c:198:7:198:8 | ! ... | == | 1 | 198 | 200 |
|
||||
| test.c:198:8:198:8 | b | test.c:198:8:198:8 | b | == | 0 | 198 | 200 |
|
||||
| test.c:206:7:206:8 | ! ... | test.c:206:7:206:8 | ! ... | != | 0 | 206 | 208 |
|
||||
| test.c:206:7:206:8 | ! ... | test.c:206:7:206:8 | ! ... | == | 1 | 206 | 208 |
|
||||
| test.c:206:7:206:8 | ! ... | test.c:206:8:206:8 | c | == | 0 | 206 | 208 |
|
||||
| test.c:206:8:206:8 | c | test.c:206:7:206:8 | ! ... | != | 0 | 206 | 208 |
|
||||
| test.c:206:8:206:8 | c | test.c:206:7:206:8 | ! ... | == | 1 | 206 | 208 |
|
||||
| test.c:206:8:206:8 | c | test.c:206:8:206:8 | c | == | 0 | 206 | 208 |
|
||||
| test.cpp:18:8:18:10 | call to get | test.cpp:18:8:18:10 | call to get | != | 0 | 19 | 19 |
|
||||
| test.cpp:18:8:18:10 | call to get | test.cpp:18:8:18:10 | call to get | == | 1 | 19 | 19 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | -1 | 30 | 30 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | -1 | 34 | 34 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 30 | 30 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 31 | 32 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 0 | 30 | 30 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 0 | 31 | 32 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 1 | 30 | 30 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 1 | 34 | 34 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 0 | 30 | 30 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 0 | 34 | 34 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 1 | 30 | 30 |
|
||||
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 1 | 31 | 32 |
|
||||
| test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | != | 0 | 43 | 45 |
|
||||
| test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | != | 1 | 53 | 53 |
|
||||
| test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | == | 0 | 53 | 53 |
|
||||
| test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | == | 1 | 43 | 45 |
|
||||
| test.cpp:61:10:61:10 | i | test.cpp:61:10:61:10 | i | == | 0 | 62 | 64 |
|
||||
| test.cpp:61:10:61:10 | i | test.cpp:61:10:61:10 | i | == | 1 | 65 | 66 |
|
||||
| test.cpp:74:10:74:10 | i | test.cpp:74:10:74:10 | i | < | 11 | 75 | 77 |
|
||||
@@ -555,160 +382,20 @@ unary
|
||||
| test.cpp:74:10:74:10 | i | test.cpp:74:10:74:10 | i | >= | 0 | 75 | 77 |
|
||||
| test.cpp:74:10:74:10 | i | test.cpp:74:10:74:10 | i | >= | 11 | 78 | 79 |
|
||||
| test.cpp:93:6:93:6 | c | test.cpp:93:6:93:6 | c | != | 0 | 93 | 94 |
|
||||
| test.cpp:93:6:93:6 | c | test.cpp:93:6:93:6 | c | == | 1 | 93 | 94 |
|
||||
| test.cpp:99:6:99:6 | f | test.cpp:99:6:99:6 | f | != | 0 | 99 | 100 |
|
||||
| test.cpp:99:6:99:6 | f | test.cpp:99:6:99:6 | f | == | 1 | 99 | 100 |
|
||||
| test.cpp:105:6:105:14 | ... != ... | test.cpp:105:6:105:14 | ... != ... | != | 0 | 105 | 106 |
|
||||
| test.cpp:105:6:105:14 | ... != ... | test.cpp:105:6:105:14 | ... != ... | == | 1 | 105 | 106 |
|
||||
| test.cpp:111:6:111:14 | ... != ... | test.cpp:111:6:111:14 | ... != ... | != | 0 | 111 | 112 |
|
||||
| test.cpp:111:6:111:14 | ... != ... | test.cpp:111:6:111:14 | ... != ... | == | 1 | 111 | 112 |
|
||||
| test.cpp:122:9:122:9 | b | test.cpp:122:9:122:9 | b | != | 0 | 123 | 125 |
|
||||
| test.cpp:122:9:122:9 | b | test.cpp:122:9:122:9 | b | != | 0 | 125 | 125 |
|
||||
| test.cpp:122:9:122:9 | b | test.cpp:122:9:122:9 | b | == | 1 | 123 | 125 |
|
||||
| test.cpp:122:9:122:9 | b | test.cpp:122:9:122:9 | b | == | 1 | 125 | 125 |
|
||||
| test.cpp:125:13:125:20 | ! ... | test.cpp:125:13:125:20 | ! ... | != | 0 | 125 | 125 |
|
||||
| test.cpp:125:13:125:20 | ! ... | test.cpp:125:13:125:20 | ! ... | == | 1 | 125 | 125 |
|
||||
| test.cpp:125:13:125:20 | ! ... | test.cpp:125:14:125:17 | call to safe | != | 1 | 125 | 125 |
|
||||
| test.cpp:125:13:125:20 | ! ... | test.cpp:125:14:125:17 | call to safe | == | 0 | 125 | 125 |
|
||||
| test.cpp:125:14:125:17 | call to safe | test.cpp:125:13:125:20 | ! ... | != | 0 | 125 | 125 |
|
||||
| test.cpp:125:14:125:17 | call to safe | test.cpp:125:13:125:20 | ! ... | == | 1 | 125 | 125 |
|
||||
| test.cpp:125:14:125:17 | call to safe | test.cpp:125:14:125:17 | call to safe | != | 1 | 125 | 125 |
|
||||
| test.cpp:125:14:125:17 | call to safe | test.cpp:125:14:125:17 | call to safe | == | 0 | 125 | 125 |
|
||||
| test.cpp:131:6:131:21 | call to __builtin_expect | test.cpp:131:6:131:21 | call to __builtin_expect | != | 0 | 131 | 132 |
|
||||
| test.cpp:131:6:131:21 | call to __builtin_expect | test.cpp:131:6:131:21 | call to __builtin_expect | == | 1 | 131 | 132 |
|
||||
| test.cpp:131:6:131:21 | call to __builtin_expect | test.cpp:131:23:131:33 | ... == ... | != | 0 | 131 | 132 |
|
||||
| test.cpp:135:6:135:21 | call to __builtin_expect | test.cpp:135:6:135:21 | call to __builtin_expect | != | 0 | 135 | 136 |
|
||||
| test.cpp:135:6:135:21 | call to __builtin_expect | test.cpp:135:6:135:21 | call to __builtin_expect | == | 1 | 135 | 136 |
|
||||
| test.cpp:135:6:135:21 | call to __builtin_expect | test.cpp:135:23:135:33 | ... != ... | != | 0 | 135 | 136 |
|
||||
| test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:6:141:21 | call to __builtin_expect | != | 0 | 141 | 142 |
|
||||
| test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:6:141:21 | call to __builtin_expect | == | 1 | 141 | 142 |
|
||||
| test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:23:141:23 | a | == | 42 | 141 | 142 |
|
||||
| test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:23:141:29 | ... == ... | != | 0 | 141 | 142 |
|
||||
| test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:6:145:21 | call to __builtin_expect | != | 0 | 145 | 146 |
|
||||
| test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:6:145:21 | call to __builtin_expect | == | 1 | 145 | 146 |
|
||||
| test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:23:145:23 | a | != | 42 | 145 | 146 |
|
||||
| test.cpp:152:7:152:8 | ! ... | test.cpp:151:8:151:8 | a | >= | 10 | 152 | 153 |
|
||||
| test.cpp:152:7:152:8 | ! ... | test.cpp:151:8:151:13 | ... < ... | != | 1 | 152 | 153 |
|
||||
| test.cpp:152:7:152:8 | ! ... | test.cpp:151:8:151:13 | ... < ... | == | 0 | 152 | 153 |
|
||||
| test.cpp:152:7:152:8 | ! ... | test.cpp:152:7:152:8 | ! ... | != | 0 | 152 | 153 |
|
||||
| test.cpp:152:7:152:8 | ! ... | test.cpp:152:7:152:8 | ! ... | == | 1 | 152 | 153 |
|
||||
| test.cpp:152:7:152:8 | ! ... | test.cpp:152:8:152:8 | b | != | 1 | 152 | 153 |
|
||||
| test.cpp:152:7:152:8 | ! ... | test.cpp:152:8:152:8 | b | == | 0 | 152 | 153 |
|
||||
| test.cpp:152:8:152:8 | b | test.cpp:151:8:151:8 | a | >= | 10 | 152 | 153 |
|
||||
| test.cpp:152:8:152:8 | b | test.cpp:151:8:151:13 | ... < ... | != | 1 | 152 | 153 |
|
||||
| test.cpp:152:8:152:8 | b | test.cpp:151:8:151:13 | ... < ... | == | 0 | 152 | 153 |
|
||||
| test.cpp:152:8:152:8 | b | test.cpp:152:7:152:8 | ! ... | != | 0 | 152 | 153 |
|
||||
| test.cpp:152:8:152:8 | b | test.cpp:152:7:152:8 | ! ... | == | 1 | 152 | 153 |
|
||||
| test.cpp:152:8:152:8 | b | test.cpp:152:8:152:8 | b | != | 1 | 152 | 153 |
|
||||
| test.cpp:152:8:152:8 | b | test.cpp:152:8:152:8 | b | == | 0 | 152 | 153 |
|
||||
| test.cpp:160:7:160:8 | ! ... | test.cpp:158:12:158:17 | ... != ... | != | 1 | 160 | 162 |
|
||||
| test.cpp:160:7:160:8 | ! ... | test.cpp:158:12:158:17 | ... != ... | == | 0 | 160 | 162 |
|
||||
| test.cpp:160:7:160:8 | ! ... | test.cpp:160:7:160:8 | ! ... | != | 0 | 160 | 162 |
|
||||
| test.cpp:160:7:160:8 | ! ... | test.cpp:160:7:160:8 | ! ... | == | 1 | 160 | 162 |
|
||||
| test.cpp:160:7:160:8 | ! ... | test.cpp:160:8:160:8 | c | != | 1 | 160 | 162 |
|
||||
| test.cpp:160:7:160:8 | ! ... | test.cpp:160:8:160:8 | c | == | 0 | 160 | 162 |
|
||||
| test.cpp:160:8:160:8 | c | test.cpp:158:12:158:17 | ... != ... | != | 1 | 160 | 162 |
|
||||
| test.cpp:160:8:160:8 | c | test.cpp:158:12:158:17 | ... != ... | == | 0 | 160 | 162 |
|
||||
| test.cpp:160:8:160:8 | c | test.cpp:160:7:160:8 | ! ... | != | 0 | 160 | 162 |
|
||||
| test.cpp:160:8:160:8 | c | test.cpp:160:7:160:8 | ! ... | == | 1 | 160 | 162 |
|
||||
| test.cpp:160:8:160:8 | c | test.cpp:160:8:160:8 | c | != | 1 | 160 | 162 |
|
||||
| test.cpp:160:8:160:8 | c | test.cpp:160:8:160:8 | c | == | 0 | 160 | 162 |
|
||||
| test.cpp:168:7:168:8 | ! ... | test.cpp:166:12:166:12 | a | < | 11 | 168 | 170 |
|
||||
| test.cpp:168:7:168:8 | ! ... | test.cpp:166:12:166:17 | ... > ... | != | 1 | 168 | 170 |
|
||||
| test.cpp:168:7:168:8 | ! ... | test.cpp:166:12:166:17 | ... > ... | == | 0 | 168 | 170 |
|
||||
| test.cpp:168:7:168:8 | ! ... | test.cpp:168:7:168:8 | ! ... | != | 0 | 168 | 170 |
|
||||
| test.cpp:168:7:168:8 | ! ... | test.cpp:168:7:168:8 | ! ... | == | 1 | 168 | 170 |
|
||||
| test.cpp:168:7:168:8 | ! ... | test.cpp:168:8:168:8 | b | != | 1 | 168 | 170 |
|
||||
| test.cpp:168:7:168:8 | ! ... | test.cpp:168:8:168:8 | b | == | 0 | 168 | 170 |
|
||||
| test.cpp:168:8:168:8 | b | test.cpp:166:12:166:12 | a | < | 11 | 168 | 170 |
|
||||
| test.cpp:168:8:168:8 | b | test.cpp:166:12:166:17 | ... > ... | != | 1 | 168 | 170 |
|
||||
| test.cpp:168:8:168:8 | b | test.cpp:166:12:166:17 | ... > ... | == | 0 | 168 | 170 |
|
||||
| test.cpp:168:8:168:8 | b | test.cpp:168:7:168:8 | ! ... | != | 0 | 168 | 170 |
|
||||
| test.cpp:168:8:168:8 | b | test.cpp:168:7:168:8 | ! ... | == | 1 | 168 | 170 |
|
||||
| test.cpp:168:8:168:8 | b | test.cpp:168:8:168:8 | b | != | 1 | 168 | 170 |
|
||||
| test.cpp:168:8:168:8 | b | test.cpp:168:8:168:8 | b | == | 0 | 168 | 170 |
|
||||
| test.cpp:176:7:176:8 | ! ... | test.cpp:174:12:174:16 | ... > ... | != | 1 | 176 | 178 |
|
||||
| test.cpp:176:7:176:8 | ! ... | test.cpp:174:12:174:16 | ... > ... | == | 0 | 176 | 178 |
|
||||
| test.cpp:176:7:176:8 | ! ... | test.cpp:176:7:176:8 | ! ... | != | 0 | 176 | 178 |
|
||||
| test.cpp:176:7:176:8 | ! ... | test.cpp:176:7:176:8 | ! ... | == | 1 | 176 | 178 |
|
||||
| test.cpp:176:7:176:8 | ! ... | test.cpp:176:8:176:8 | c | != | 1 | 176 | 178 |
|
||||
| test.cpp:176:7:176:8 | ! ... | test.cpp:176:8:176:8 | c | == | 0 | 176 | 178 |
|
||||
| test.cpp:176:8:176:8 | c | test.cpp:174:12:174:16 | ... > ... | != | 1 | 176 | 178 |
|
||||
| test.cpp:176:8:176:8 | c | test.cpp:174:12:174:16 | ... > ... | == | 0 | 176 | 178 |
|
||||
| test.cpp:176:8:176:8 | c | test.cpp:176:7:176:8 | ! ... | != | 0 | 176 | 178 |
|
||||
| test.cpp:176:8:176:8 | c | test.cpp:176:7:176:8 | ! ... | == | 1 | 176 | 178 |
|
||||
| test.cpp:176:8:176:8 | c | test.cpp:176:8:176:8 | c | != | 1 | 176 | 178 |
|
||||
| test.cpp:176:8:176:8 | c | test.cpp:176:8:176:8 | c | == | 0 | 176 | 178 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:6:182:16 | ! ... | != | 0 | 182 | 184 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:6:182:16 | ! ... | != | 1 | 185 | 188 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:6:182:16 | ! ... | == | 0 | 185 | 188 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:6:182:16 | ! ... | == | 1 | 182 | 184 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:8:182:9 | b1 | != | 0 | 185 | 188 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:8:182:9 | b1 | == | 1 | 185 | 188 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:8:182:15 | ... && ... | != | 0 | 185 | 188 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:8:182:15 | ... && ... | != | 1 | 182 | 184 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:8:182:15 | ... && ... | == | 0 | 182 | 184 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:8:182:15 | ... && ... | == | 1 | 185 | 188 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:14:182:15 | b2 | != | 0 | 185 | 188 |
|
||||
| test.cpp:182:6:182:16 | ! ... | test.cpp:182:14:182:15 | b2 | == | 1 | 185 | 188 |
|
||||
| test.cpp:182:8:182:9 | b1 | test.cpp:182:8:182:9 | b1 | != | 0 | 181 | 182 |
|
||||
| test.cpp:182:8:182:9 | b1 | test.cpp:182:8:182:9 | b1 | != | 0 | 182 | 182 |
|
||||
| test.cpp:182:8:182:9 | b1 | test.cpp:182:8:182:9 | b1 | == | 1 | 181 | 182 |
|
||||
| test.cpp:182:8:182:9 | b1 | test.cpp:182:8:182:9 | b1 | == | 1 | 182 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:6:182:16 | ! ... | != | 0 | 182 | 184 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:6:182:16 | ! ... | != | 1 | 181 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:6:182:16 | ! ... | != | 1 | 185 | 188 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:6:182:16 | ! ... | == | 0 | 181 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:6:182:16 | ! ... | == | 0 | 185 | 188 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:6:182:16 | ! ... | == | 1 | 182 | 184 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:8:182:9 | b1 | != | 0 | 181 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:8:182:9 | b1 | != | 0 | 185 | 188 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:8:182:9 | b1 | == | 1 | 181 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:8:182:9 | b1 | == | 1 | 185 | 188 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:8:182:15 | ... && ... | != | 0 | 181 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:8:182:15 | ... && ... | != | 0 | 185 | 188 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:8:182:15 | ... && ... | != | 1 | 182 | 184 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:8:182:15 | ... && ... | == | 0 | 182 | 184 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:8:182:15 | ... && ... | == | 1 | 181 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:8:182:15 | ... && ... | == | 1 | 185 | 188 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:14:182:15 | b2 | != | 0 | 181 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:14:182:15 | b2 | != | 0 | 185 | 188 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:14:182:15 | b2 | == | 1 | 181 | 182 |
|
||||
| test.cpp:182:8:182:15 | ... && ... | test.cpp:182:14:182:15 | b2 | == | 1 | 185 | 188 |
|
||||
| test.cpp:182:14:182:15 | b2 | test.cpp:182:14:182:15 | b2 | != | 0 | 181 | 182 |
|
||||
| test.cpp:182:14:182:15 | b2 | test.cpp:182:14:182:15 | b2 | == | 1 | 181 | 182 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:6:193:16 | ! ... | != | 0 | 193 | 196 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:6:193:16 | ! ... | != | 1 | 197 | 199 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:6:193:16 | ! ... | == | 0 | 197 | 199 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:6:193:16 | ! ... | == | 1 | 193 | 196 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:8:193:9 | b1 | != | 1 | 193 | 196 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:8:193:9 | b1 | == | 0 | 193 | 196 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:8:193:15 | ... \|\| ... | != | 0 | 197 | 199 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:8:193:15 | ... \|\| ... | != | 1 | 193 | 196 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:8:193:15 | ... \|\| ... | == | 0 | 193 | 196 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:8:193:15 | ... \|\| ... | == | 1 | 197 | 199 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:14:193:15 | b2 | != | 1 | 193 | 196 |
|
||||
| test.cpp:193:6:193:16 | ! ... | test.cpp:193:14:193:15 | b2 | == | 0 | 193 | 196 |
|
||||
| test.cpp:193:8:193:9 | b1 | test.cpp:193:8:193:9 | b1 | != | 1 | 192 | 193 |
|
||||
| test.cpp:193:8:193:9 | b1 | test.cpp:193:8:193:9 | b1 | != | 1 | 193 | 193 |
|
||||
| test.cpp:193:8:193:9 | b1 | test.cpp:193:8:193:9 | b1 | == | 0 | 192 | 193 |
|
||||
| test.cpp:193:8:193:9 | b1 | test.cpp:193:8:193:9 | b1 | == | 0 | 193 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:6:193:16 | ! ... | != | 0 | 192 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:6:193:16 | ! ... | != | 0 | 193 | 196 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:6:193:16 | ! ... | != | 1 | 197 | 199 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:6:193:16 | ! ... | == | 0 | 197 | 199 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:6:193:16 | ! ... | == | 1 | 192 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:6:193:16 | ! ... | == | 1 | 193 | 196 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:8:193:9 | b1 | != | 1 | 192 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:8:193:9 | b1 | != | 1 | 193 | 196 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:8:193:9 | b1 | == | 0 | 192 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:8:193:9 | b1 | == | 0 | 193 | 196 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:8:193:15 | ... \|\| ... | != | 0 | 197 | 199 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:8:193:15 | ... \|\| ... | != | 1 | 192 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:8:193:15 | ... \|\| ... | != | 1 | 193 | 196 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:8:193:15 | ... \|\| ... | == | 0 | 192 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:8:193:15 | ... \|\| ... | == | 0 | 193 | 196 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:8:193:15 | ... \|\| ... | == | 1 | 197 | 199 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:14:193:15 | b2 | != | 1 | 192 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:14:193:15 | b2 | != | 1 | 193 | 196 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:14:193:15 | b2 | == | 0 | 192 | 193 |
|
||||
| test.cpp:193:8:193:15 | ... \|\| ... | test.cpp:193:14:193:15 | b2 | == | 0 | 193 | 196 |
|
||||
| test.cpp:193:14:193:15 | b2 | test.cpp:193:14:193:15 | b2 | != | 1 | 192 | 193 |
|
||||
| test.cpp:193:14:193:15 | b2 | test.cpp:193:14:193:15 | b2 | == | 0 | 192 | 193 |
|
||||
| test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:23:145:29 | ... != ... | != | 0 | 145 | 146 |
|
||||
|
||||
@@ -170,40 +170,4 @@ void test9(short s) {
|
||||
if(!s) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void test10(int a, int b) {
|
||||
if(!(a < b)) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void test11(double foo) {
|
||||
if(!(foo >= 1e-6 && foo < 1.0)) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void test12(int a, int b) {
|
||||
int c = a != b;
|
||||
|
||||
if (!c) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void test13(int a) {
|
||||
int b = a > 10;
|
||||
|
||||
if (!b) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void test14(int a, int b) {
|
||||
int c = a > b;
|
||||
|
||||
if (!c) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -145,57 +145,4 @@ void unary_test_builtin_expected(int a) {
|
||||
if(__builtin_expect(a != 42, 0)) {
|
||||
use(a);
|
||||
}
|
||||
}
|
||||
|
||||
void test_with_reference(bool& b, int a) {
|
||||
b = a < 10;
|
||||
if(!b) {
|
||||
use(a);
|
||||
}
|
||||
}
|
||||
|
||||
void test_with_negated_binary_equality(int a, int b) {
|
||||
bool c = a != b;
|
||||
|
||||
if (!c) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void test_with_negated_unary_relational(int a) {
|
||||
bool b = a > 10;
|
||||
|
||||
if (!b) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void test_with_negated_binary_relational(int a, int b) {
|
||||
bool c = a > b;
|
||||
|
||||
if (!c) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void test_logical_and(bool b1, bool b2) {
|
||||
if(!(b1 && b2)) {
|
||||
use(b1);
|
||||
use(b2);
|
||||
} else {
|
||||
// b1 = true and b2 = true
|
||||
use(b1);
|
||||
use(b2);
|
||||
}
|
||||
}
|
||||
|
||||
void test_logical_or(bool b1, bool b2) {
|
||||
if(!(b1 || b2)) {
|
||||
// b1 = false and b2 = false
|
||||
use(b1);
|
||||
use(b2);
|
||||
} else {
|
||||
use(b1);
|
||||
use(b2);
|
||||
}
|
||||
}
|
||||
@@ -185,8 +185,6 @@ postWithInFlow
|
||||
| test.cpp:1138:5:1138:8 | data [inner post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| test.cpp:1139:3:1139:7 | * ... [post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| test.cpp:1139:4:1139:7 | data [inner post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| test.cpp:1153:5:1153:6 | * ... [post update] | PostUpdateNode should not be the target of local flow. |
|
||||
| test.cpp:1153:6:1153:6 | p [inner post update] | PostUpdateNode should not be the target of local flow. |
|
||||
viableImplInCallContextTooLarge
|
||||
uniqueParameterNodeAtPosition
|
||||
uniqueParameterNodePosition
|
||||
|
||||
@@ -1138,19 +1138,4 @@ void test_uncertain_array(int n1, int n2) {
|
||||
*(data + 1) = source();
|
||||
*data = 0;
|
||||
sink(*(data + 1)); // $ ast=1138:17 ast=1137:7 ir
|
||||
}
|
||||
|
||||
namespace conflation_regression {
|
||||
|
||||
char* source(int);
|
||||
|
||||
void read_deref_deref(char **l) { // $ ast-def=l ir-def=*l ir-def=**l
|
||||
sink(**l); // Clean. Only *l is tainted
|
||||
}
|
||||
|
||||
void f(char ** p) // $ ast-def=p ir-def=*p ir-def=**p
|
||||
{
|
||||
*p = source(0);
|
||||
read_deref_deref(p);
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
bool checkArgument(int* x);
|
||||
|
||||
void sink(int);
|
||||
|
||||
void testCheckArgument(int* p) {
|
||||
if (checkArgument(p)) {
|
||||
sink(*p); // $ barrier barrier=1
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
import cpp
|
||||
import semmle.code.cpp.dataflow.new.DataFlow
|
||||
import semmle.code.cpp.controlflow.IRGuards
|
||||
import utils.test.InlineExpectationsTest
|
||||
|
||||
predicate instructionGuardChecks(IRGuardCondition gc, Instruction checked, boolean branch) {
|
||||
exists(CallInstruction call |
|
||||
call.getStaticCallTarget().hasName("checkArgument") and
|
||||
checked = call.getAnArgument() and
|
||||
gc.comparesEq(call.getAUse(), 0, false, any(BooleanValue bv | bv.getValue() = branch))
|
||||
)
|
||||
}
|
||||
|
||||
module BarrierGuard = DataFlow::InstructionBarrierGuard<instructionGuardChecks/3>;
|
||||
|
||||
predicate indirectBarrierGuard(DataFlow::Node node, int indirectionIndex) {
|
||||
node = BarrierGuard::getAnIndirectBarrierNode(indirectionIndex)
|
||||
}
|
||||
|
||||
predicate barrierGuard(DataFlow::Node node) { node = BarrierGuard::getABarrierNode() }
|
||||
|
||||
module Test implements TestSig {
|
||||
string getARelevantTag() { result = "barrier" }
|
||||
|
||||
predicate hasActualResult(Location location, string element, string tag, string value) {
|
||||
exists(DataFlow::Node node |
|
||||
barrierGuard(node) and
|
||||
value = ""
|
||||
or
|
||||
exists(int indirectionIndex |
|
||||
indirectBarrierGuard(node, indirectionIndex) and
|
||||
value = indirectionIndex.toString()
|
||||
)
|
||||
|
|
||||
tag = "barrier" and
|
||||
element = node.toString() and
|
||||
location = node.getLocation()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
import MakeTest<Test>
|
||||
@@ -1,4 +1,4 @@
|
||||
| ODASA-5186.cpp:4:8:4:14 | MyClass<T> | Struct | ODASA-5186.cpp:5:8:5:17 | operator== | |
|
||||
| ODASA-5186.cpp:4:8:4:14 | MyClass<T> | Class | ODASA-5186.cpp:5:8:5:17 | operator== | |
|
||||
| ODASA-5186.cpp:4:8:4:14 | MyClass<int> | Struct | ODASA-5186.cpp:5:8:5:8 | operator== | |
|
||||
| file://:0:0:0:0 | __va_list_tag | Struct | file://:0:0:0:0 | operator= | |
|
||||
| file://:0:0:0:0 | __va_list_tag | Struct | file://:0:0:0:0 | operator= | |
|
||||
|
||||
@@ -4351,33 +4351,6 @@ generic.c:
|
||||
# 28| Type = [IntType] unsigned int
|
||||
# 28| ValueCategory = prvalue
|
||||
# 29| getStmt(2): [ReturnStmt] return ...
|
||||
ir-not-microsoft.c:
|
||||
# 1| [TopLevelFunction] void gnuConditionalOmittedOperand()
|
||||
# 1| <params>:
|
||||
# 1| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2| getStmt(0): [DeclStmt] declaration
|
||||
# 2| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i
|
||||
# 2| Type = [IntType] int
|
||||
# 2| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j
|
||||
# 2| Type = [IntType] int
|
||||
# 3| getStmt(1): [ExprStmt] ExprStmt
|
||||
# 3| getExpr(): [AssignExpr] ... = ...
|
||||
# 3| Type = [IntType] int
|
||||
# 3| ValueCategory = prvalue
|
||||
# 3| getLValue(): [VariableAccess] i
|
||||
# 3| Type = [IntType] int
|
||||
# 3| ValueCategory = lvalue
|
||||
# 3| getRValue(): [ConditionalExpr] ... ? ... : ...
|
||||
# 3| Type = [IntType] int
|
||||
# 3| ValueCategory = prvalue(load)
|
||||
# 3| getCondition(): [VariableAccess] j
|
||||
# 3| Type = [IntType] int
|
||||
# 3| ValueCategory = prvalue(load)
|
||||
# 3| getElse(): [Literal] 2
|
||||
# 3| Type = [IntType] int
|
||||
# 3| Value = [Literal] 2
|
||||
# 3| ValueCategory = prvalue
|
||||
# 4| getStmt(2): [ReturnStmt] return ...
|
||||
ir.c:
|
||||
# 5| [TopLevelFunction] int getX(MyCoords*)
|
||||
# 5| <params>:
|
||||
@@ -12472,11 +12445,11 @@ ir.cpp:
|
||||
# 1088| [ConstMemberFunction] bool std::iterator<Category, value_type, difference_type, pointer_type, reference_type>::operator==(std::iterator<Category, value_type, difference_type, pointer_type, reference_type>) const
|
||||
# 1088| <params>:
|
||||
# 1088| getParameter(0): [Parameter] other
|
||||
# 1088| Type = [Struct,TemplateClass] iterator<Category, value_type, difference_type, pointer_type, reference_type>
|
||||
# 1088| Type = [TemplateClass] iterator<Category, value_type, difference_type, pointer_type, reference_type>
|
||||
# 1089| [ConstMemberFunction] bool std::iterator<Category, value_type, difference_type, pointer_type, reference_type>::operator!=(std::iterator<Category, value_type, difference_type, pointer_type, reference_type>) const
|
||||
# 1089| <params>:
|
||||
# 1089| getParameter(0): [Parameter] other
|
||||
# 1089| Type = [Struct,TemplateClass] iterator<Category, value_type, difference_type, pointer_type, reference_type>
|
||||
# 1089| Type = [TemplateClass] iterator<Category, value_type, difference_type, pointer_type, reference_type>
|
||||
# 1089| [ConstMemberFunction] bool std::iterator<std::random_access_iterator_tag, ClassWithDestructor, std::ptrdiff_t, ClassWithDestructor*, ClassWithDestructor&>::operator!=(std::iterator<std::random_access_iterator_tag, ClassWithDestructor, std::ptrdiff_t, ClassWithDestructor*, ClassWithDestructor&>) const
|
||||
# 1089| <params>:
|
||||
# 1089| getParameter(0): [Parameter] other
|
||||
@@ -12524,7 +12497,7 @@ ir.cpp:
|
||||
# 1096| [MemberFunction] int std::iterator<Category, value_type, difference_type, pointer_type, reference_type>::operator-(std::iterator<Category, value_type, difference_type, pointer_type, reference_type>)
|
||||
# 1096| <params>:
|
||||
# 1096| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
# 1096| Type = [Struct,TemplateClass] iterator<Category, value_type, difference_type, pointer_type, reference_type>
|
||||
# 1096| Type = [TemplateClass] iterator<Category, value_type, difference_type, pointer_type, reference_type>
|
||||
# 1097| [MemberFunction] reference_type std::iterator<Category, value_type, difference_type, pointer_type, reference_type>::operator[](int)
|
||||
# 1097| <params>:
|
||||
# 1097| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
@@ -24145,125 +24118,6 @@ ir.cpp:
|
||||
# 2725| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 2725| Type = [PlainCharType] char
|
||||
# 2725| ValueCategory = prvalue(load)
|
||||
ir23.cpp:
|
||||
# 1| [TopLevelFunction] bool consteval_1()
|
||||
# 1| <params>:
|
||||
# 2| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 3| getStmt(0): [ConstevalIfStmt] if consteval ...
|
||||
# 3| getThen(): [BlockStmt] { ... }
|
||||
# 4| getStmt(0): [ReturnStmt] return ...
|
||||
# 4| getExpr(): [Literal] 1
|
||||
# 4| Type = [BoolType] bool
|
||||
# 4| Value = [Literal] 1
|
||||
# 4| ValueCategory = prvalue
|
||||
# 5| getElse(): [BlockStmt] { ... }
|
||||
# 6| getStmt(0): [ReturnStmt] return ...
|
||||
# 6| getExpr(): [Literal] 0
|
||||
# 6| Type = [BoolType] bool
|
||||
# 6| Value = [Literal] 0
|
||||
# 6| ValueCategory = prvalue
|
||||
# 10| [TopLevelFunction] bool consteval_2()
|
||||
# 10| <params>:
|
||||
# 11| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 12| getStmt(0): [ConstevalIfStmt] if ! consteval ...
|
||||
# 12| getThen(): [BlockStmt] { ... }
|
||||
# 13| getStmt(0): [ReturnStmt] return ...
|
||||
# 13| getExpr(): [Literal] 1
|
||||
# 13| Type = [BoolType] bool
|
||||
# 13| Value = [Literal] 1
|
||||
# 13| ValueCategory = prvalue
|
||||
# 14| getElse(): [BlockStmt] { ... }
|
||||
# 15| getStmt(0): [ReturnStmt] return ...
|
||||
# 15| getExpr(): [Literal] 0
|
||||
# 15| Type = [BoolType] bool
|
||||
# 15| Value = [Literal] 0
|
||||
# 15| ValueCategory = prvalue
|
||||
# 19| [TopLevelFunction] bool consteval_3()
|
||||
# 19| <params>:
|
||||
# 20| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 21| getStmt(0): [ConstevalIfStmt] if consteval ...
|
||||
# 21| getThen(): [BlockStmt] { ... }
|
||||
# 22| getStmt(0): [ReturnStmt] return ...
|
||||
# 22| getExpr(): [Literal] 1
|
||||
# 22| Type = [BoolType] bool
|
||||
# 22| Value = [Literal] 1
|
||||
# 22| ValueCategory = prvalue
|
||||
# 25| getStmt(1): [ReturnStmt] return ...
|
||||
# 25| getExpr(): [Literal] 0
|
||||
# 25| Type = [BoolType] bool
|
||||
# 25| Value = [Literal] 0
|
||||
# 25| ValueCategory = prvalue
|
||||
# 28| [TopLevelFunction] bool consteval_4()
|
||||
# 28| <params>:
|
||||
# 29| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 30| getStmt(0): [ConstevalIfStmt] if ! consteval ...
|
||||
# 30| getThen(): [BlockStmt] { ... }
|
||||
# 31| getStmt(0): [ReturnStmt] return ...
|
||||
# 31| getExpr(): [Literal] 1
|
||||
# 31| Type = [BoolType] bool
|
||||
# 31| Value = [Literal] 1
|
||||
# 31| ValueCategory = prvalue
|
||||
# 34| getStmt(1): [ReturnStmt] return ...
|
||||
# 34| getExpr(): [Literal] 0
|
||||
# 34| Type = [BoolType] bool
|
||||
# 34| Value = [Literal] 0
|
||||
# 34| ValueCategory = prvalue
|
||||
# 37| [TopLevelFunction] bool consteval_5()
|
||||
# 37| <params>:
|
||||
# 38| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 39| getStmt(0): [DeclStmt] declaration
|
||||
# 39| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r
|
||||
# 39| Type = [BoolType] bool
|
||||
# 39| getVariable().getInitializer(): [Initializer] initializer for r
|
||||
# 39| getExpr(): [Literal] 1
|
||||
# 39| Type = [BoolType] bool
|
||||
# 39| Value = [Literal] 1
|
||||
# 39| ValueCategory = prvalue
|
||||
# 41| getStmt(1): [ConstevalIfStmt] if ! consteval ...
|
||||
# 41| getThen(): [BlockStmt] { ... }
|
||||
# 42| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 42| getExpr(): [AssignExpr] ... = ...
|
||||
# 42| Type = [BoolType] bool
|
||||
# 42| ValueCategory = lvalue
|
||||
# 42| getLValue(): [VariableAccess] r
|
||||
# 42| Type = [BoolType] bool
|
||||
# 42| ValueCategory = lvalue
|
||||
# 42| getRValue(): [Literal] 0
|
||||
# 42| Type = [BoolType] bool
|
||||
# 42| Value = [Literal] 0
|
||||
# 42| ValueCategory = prvalue
|
||||
# 45| getStmt(2): [ReturnStmt] return ...
|
||||
# 45| getExpr(): [VariableAccess] r
|
||||
# 45| Type = [BoolType] bool
|
||||
# 45| ValueCategory = prvalue(load)
|
||||
# 48| [TopLevelFunction] bool consteval_6()
|
||||
# 48| <params>:
|
||||
# 49| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 50| getStmt(0): [DeclStmt] declaration
|
||||
# 50| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r
|
||||
# 50| Type = [BoolType] bool
|
||||
# 50| getVariable().getInitializer(): [Initializer] initializer for r
|
||||
# 50| getExpr(): [Literal] 1
|
||||
# 50| Type = [BoolType] bool
|
||||
# 50| Value = [Literal] 1
|
||||
# 50| ValueCategory = prvalue
|
||||
# 52| getStmt(1): [ConstevalIfStmt] if consteval ...
|
||||
# 52| getThen(): [BlockStmt] { ... }
|
||||
# 53| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 53| getExpr(): [AssignExpr] ... = ...
|
||||
# 53| Type = [BoolType] bool
|
||||
# 53| ValueCategory = lvalue
|
||||
# 53| getLValue(): [VariableAccess] r
|
||||
# 53| Type = [BoolType] bool
|
||||
# 53| ValueCategory = lvalue
|
||||
# 53| getRValue(): [Literal] 0
|
||||
# 53| Type = [BoolType] bool
|
||||
# 53| Value = [Literal] 0
|
||||
# 53| ValueCategory = prvalue
|
||||
# 56| getStmt(2): [ReturnStmt] return ...
|
||||
# 56| getExpr(): [VariableAccess] r
|
||||
# 56| Type = [BoolType] bool
|
||||
# 56| ValueCategory = prvalue(load)
|
||||
many-defs-per-use.cpp:
|
||||
# 34| [TopLevelFunction] void many_defs_per_use()
|
||||
# 34| <params>:
|
||||
|
||||
@@ -3032,47 +3032,6 @@ generic.c:
|
||||
# 26| v26_8(void) = AliasedUse : m26_3
|
||||
# 26| v26_9(void) = ExitFunction :
|
||||
|
||||
ir-not-microsoft.c:
|
||||
# 1| void gnuConditionalOmittedOperand()
|
||||
# 1| Block 0
|
||||
# 1| v1_1(void) = EnterFunction :
|
||||
# 1| m1_2(unknown) = AliasedDefinition :
|
||||
# 1| m1_3(unknown) = InitializeNonLocal :
|
||||
# 1| m1_4(unknown) = Chi : total:m1_2, partial:m1_3
|
||||
# 2| r2_1(glval<int>) = VariableAddress[i] :
|
||||
# 2| m2_2(int) = Uninitialized[i] : &:r2_1
|
||||
# 2| r2_3(glval<int>) = VariableAddress[j] :
|
||||
# 2| m2_4(int) = Uninitialized[j] : &:r2_3
|
||||
# 3| r3_1(glval<int>) = VariableAddress[j] :
|
||||
# 3| r3_2(int) = Load[j] : &:r3_1, m2_4
|
||||
# 3| r3_3(int) = Constant[0] :
|
||||
# 3| r3_4(bool) = CompareNE : r3_2, r3_3
|
||||
# 3| v3_5(void) = ConditionalBranch : r3_4
|
||||
#-----| False -> Block 3
|
||||
#-----| True -> Block 2
|
||||
|
||||
# 3| Block 1
|
||||
# 3| m3_6(int) = Phi : from 2:m3_12, from 3:m3_15
|
||||
# 3| r3_7(glval<int>) = VariableAddress[#temp3:9] :
|
||||
# 3| r3_8(int) = Load[#temp3:9] : &:r3_7, m3_6
|
||||
# 3| r3_9(glval<int>) = VariableAddress[i] :
|
||||
# 3| m3_10(int) = Store[i] : &:r3_9, r3_8
|
||||
# 4| v4_1(void) = NoOp :
|
||||
# 1| v1_5(void) = ReturnVoid :
|
||||
# 1| v1_6(void) = AliasedUse : m1_3
|
||||
# 1| v1_7(void) = ExitFunction :
|
||||
|
||||
# 3| Block 2
|
||||
# 3| r3_11(glval<int>) = VariableAddress[#temp3:9] :
|
||||
# 3| m3_12(int) = Store[#temp3:9] : &:r3_11, r3_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 3| Block 3
|
||||
# 3| r3_13(int) = Constant[2] :
|
||||
# 3| r3_14(glval<int>) = VariableAddress[#temp3:9] :
|
||||
# 3| m3_15(int) = Store[#temp3:9] : &:r3_14, r3_13
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
ir.c:
|
||||
# 7| void MyCoordsTest(int)
|
||||
# 7| Block 0
|
||||
@@ -3349,296 +3308,258 @@ ir.c:
|
||||
# 84| m84_8(int) = InitializeParameter[x2] : &:r84_7
|
||||
# 85| r85_1(glval<int>) = VariableAddress[x1] :
|
||||
# 85| r85_2(int) = Load[x1] : &:r85_1, m84_6
|
||||
# 85| r85_3(int) = Constant[0] :
|
||||
# 85| r85_4(bool) = CompareNE : r85_2, r85_3
|
||||
# 85| v85_5(void) = ConditionalBranch : r85_4
|
||||
# 85| v85_3(void) = ConditionalBranch : r85_2
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 85| Block 1
|
||||
# 85| v85_6(void) = NoOp :
|
||||
# 85| v85_4(void) = NoOp :
|
||||
#-----| Goto -> Block 2
|
||||
|
||||
# 86| Block 2
|
||||
# 86| r86_1(glval<int>) = VariableAddress[x1] :
|
||||
# 86| r86_2(int) = Load[x1] : &:r86_1, m84_6
|
||||
# 86| r86_3(int) = Constant[0] :
|
||||
# 86| r86_4(bool) = CompareEQ : r86_2, r86_3
|
||||
# 86| v86_5(void) = ConditionalBranch : r86_4
|
||||
# 86| r86_3(int) = LogicalNot : r86_2
|
||||
# 86| v86_4(void) = ConditionalBranch : r86_3
|
||||
#-----| False -> Block 4
|
||||
#-----| True -> Block 3
|
||||
|
||||
# 86| Block 3
|
||||
# 86| v86_6(void) = NoOp :
|
||||
# 86| v86_5(void) = NoOp :
|
||||
#-----| Goto -> Block 4
|
||||
|
||||
# 88| Block 4
|
||||
# 88| r88_1(glval<int>) = VariableAddress[y] :
|
||||
# 88| r88_2(glval<int>) = VariableAddress[x1] :
|
||||
# 88| r88_3(int) = Load[x1] : &:r88_2, m84_6
|
||||
# 88| r88_4(int) = Constant[0] :
|
||||
# 88| r88_5(bool) = CompareEQ : r88_3, r88_4
|
||||
# 88| m88_6(int) = Store[y] : &:r88_1, r88_5
|
||||
# 88| r88_4(int) = LogicalNot : r88_3
|
||||
# 88| m88_5(int) = Store[y] : &:r88_1, r88_4
|
||||
# 89| r89_1(glval<int>) = VariableAddress[y] :
|
||||
# 89| r89_2(int) = Load[y] : &:r89_1, m88_6
|
||||
# 89| r89_3(int) = Constant[0] :
|
||||
# 89| r89_4(bool) = CompareNE : r89_2, r89_3
|
||||
# 89| v89_5(void) = ConditionalBranch : r89_4
|
||||
# 89| r89_2(int) = Load[y] : &:r89_1, m88_5
|
||||
# 89| v89_3(void) = ConditionalBranch : r89_2
|
||||
#-----| False -> Block 6
|
||||
#-----| True -> Block 5
|
||||
|
||||
# 89| Block 5
|
||||
# 89| v89_6(void) = NoOp :
|
||||
# 89| v89_4(void) = NoOp :
|
||||
#-----| Goto -> Block 6
|
||||
|
||||
# 90| Block 6
|
||||
# 90| r90_1(glval<int>) = VariableAddress[y] :
|
||||
# 90| r90_2(int) = Load[y] : &:r90_1, m88_6
|
||||
# 90| r90_3(int) = Constant[0] :
|
||||
# 90| r90_4(bool) = CompareEQ : r90_2, r90_3
|
||||
# 90| v90_5(void) = ConditionalBranch : r90_4
|
||||
# 90| r90_2(int) = Load[y] : &:r90_1, m88_5
|
||||
# 90| r90_3(int) = LogicalNot : r90_2
|
||||
# 90| v90_4(void) = ConditionalBranch : r90_3
|
||||
#-----| False -> Block 8
|
||||
#-----| True -> Block 7
|
||||
|
||||
# 90| Block 7
|
||||
# 90| v90_6(void) = NoOp :
|
||||
# 90| v90_5(void) = NoOp :
|
||||
#-----| Goto -> Block 8
|
||||
|
||||
# 92| Block 8
|
||||
# 92| r92_1(glval<int>) = VariableAddress[x1] :
|
||||
# 92| r92_2(int) = Load[x1] : &:r92_1, m84_6
|
||||
# 92| r92_3(int) = Constant[0] :
|
||||
# 92| r92_4(bool) = CompareNE : r92_2, r92_3
|
||||
# 92| v92_5(void) = ConditionalBranch : r92_4
|
||||
# 92| v92_3(void) = ConditionalBranch : r92_2
|
||||
#-----| False -> Block 11
|
||||
#-----| True -> Block 9
|
||||
|
||||
# 92| Block 9
|
||||
# 92| r92_6(glval<int>) = VariableAddress[x2] :
|
||||
# 92| r92_7(int) = Load[x2] : &:r92_6, m84_8
|
||||
# 92| r92_8(int) = Constant[0] :
|
||||
# 92| r92_9(bool) = CompareNE : r92_7, r92_8
|
||||
# 92| v92_10(void) = ConditionalBranch : r92_9
|
||||
# 92| r92_4(glval<int>) = VariableAddress[x2] :
|
||||
# 92| r92_5(int) = Load[x2] : &:r92_4, m84_8
|
||||
# 92| v92_6(void) = ConditionalBranch : r92_5
|
||||
#-----| False -> Block 11
|
||||
#-----| True -> Block 10
|
||||
|
||||
# 92| Block 10
|
||||
# 92| v92_11(void) = NoOp :
|
||||
# 92| v92_7(void) = NoOp :
|
||||
#-----| Goto -> Block 11
|
||||
|
||||
# 93| Block 11
|
||||
# 93| r93_1(glval<int>) = VariableAddress[x1] :
|
||||
# 93| r93_2(int) = Load[x1] : &:r93_1, m84_6
|
||||
# 93| r93_3(int) = Constant[0] :
|
||||
# 93| r93_4(bool) = CompareEQ : r93_2, r93_3
|
||||
# 93| v93_5(void) = ConditionalBranch : r93_4
|
||||
# 93| r93_3(int) = LogicalNot : r93_2
|
||||
# 93| v93_4(void) = ConditionalBranch : r93_3
|
||||
#-----| False -> Block 14
|
||||
#-----| True -> Block 12
|
||||
|
||||
# 93| Block 12
|
||||
# 93| r93_6(glval<int>) = VariableAddress[x2] :
|
||||
# 93| r93_7(int) = Load[x2] : &:r93_6, m84_8
|
||||
# 93| r93_8(int) = Constant[0] :
|
||||
# 93| r93_9(bool) = CompareNE : r93_7, r93_8
|
||||
# 93| v93_10(void) = ConditionalBranch : r93_9
|
||||
# 93| r93_5(glval<int>) = VariableAddress[x2] :
|
||||
# 93| r93_6(int) = Load[x2] : &:r93_5, m84_8
|
||||
# 93| v93_7(void) = ConditionalBranch : r93_6
|
||||
#-----| False -> Block 14
|
||||
#-----| True -> Block 13
|
||||
|
||||
# 93| Block 13
|
||||
# 93| v93_11(void) = NoOp :
|
||||
# 93| v93_8(void) = NoOp :
|
||||
#-----| Goto -> Block 14
|
||||
|
||||
# 94| Block 14
|
||||
# 94| r94_1(glval<int>) = VariableAddress[x1] :
|
||||
# 94| r94_2(int) = Load[x1] : &:r94_1, m84_6
|
||||
# 94| r94_3(int) = Constant[0] :
|
||||
# 94| r94_4(bool) = CompareNE : r94_2, r94_3
|
||||
# 94| v94_5(void) = ConditionalBranch : r94_4
|
||||
# 94| v94_3(void) = ConditionalBranch : r94_2
|
||||
#-----| False -> Block 17
|
||||
#-----| True -> Block 15
|
||||
|
||||
# 94| Block 15
|
||||
# 94| r94_6(glval<int>) = VariableAddress[x2] :
|
||||
# 94| r94_7(int) = Load[x2] : &:r94_6, m84_8
|
||||
# 94| r94_8(int) = Constant[0] :
|
||||
# 94| r94_9(bool) = CompareEQ : r94_7, r94_8
|
||||
# 94| v94_10(void) = ConditionalBranch : r94_9
|
||||
# 94| r94_4(glval<int>) = VariableAddress[x2] :
|
||||
# 94| r94_5(int) = Load[x2] : &:r94_4, m84_8
|
||||
# 94| r94_6(int) = LogicalNot : r94_5
|
||||
# 94| v94_7(void) = ConditionalBranch : r94_6
|
||||
#-----| False -> Block 17
|
||||
#-----| True -> Block 16
|
||||
|
||||
# 94| Block 16
|
||||
# 94| v94_11(void) = NoOp :
|
||||
# 94| v94_8(void) = NoOp :
|
||||
#-----| Goto -> Block 17
|
||||
|
||||
# 95| Block 17
|
||||
# 95| r95_1(glval<int>) = VariableAddress[x1] :
|
||||
# 95| r95_2(int) = Load[x1] : &:r95_1, m84_6
|
||||
# 95| r95_3(int) = Constant[0] :
|
||||
# 95| r95_4(bool) = CompareEQ : r95_2, r95_3
|
||||
# 95| v95_5(void) = ConditionalBranch : r95_4
|
||||
# 95| r95_3(int) = LogicalNot : r95_2
|
||||
# 95| v95_4(void) = ConditionalBranch : r95_3
|
||||
#-----| False -> Block 20
|
||||
#-----| True -> Block 18
|
||||
|
||||
# 95| Block 18
|
||||
# 95| r95_6(glval<int>) = VariableAddress[x2] :
|
||||
# 95| r95_7(int) = Load[x2] : &:r95_6, m84_8
|
||||
# 95| r95_8(int) = Constant[0] :
|
||||
# 95| r95_9(bool) = CompareEQ : r95_7, r95_8
|
||||
# 95| v95_10(void) = ConditionalBranch : r95_9
|
||||
# 95| r95_5(glval<int>) = VariableAddress[x2] :
|
||||
# 95| r95_6(int) = Load[x2] : &:r95_5, m84_8
|
||||
# 95| r95_7(int) = LogicalNot : r95_6
|
||||
# 95| v95_8(void) = ConditionalBranch : r95_7
|
||||
#-----| False -> Block 20
|
||||
#-----| True -> Block 19
|
||||
|
||||
# 95| Block 19
|
||||
# 95| v95_11(void) = NoOp :
|
||||
# 95| v95_9(void) = NoOp :
|
||||
#-----| Goto -> Block 20
|
||||
|
||||
# 96| Block 20
|
||||
# 96| r96_1(glval<int>) = VariableAddress[x1] :
|
||||
# 96| r96_2(int) = Load[x1] : &:r96_1, m84_6
|
||||
# 96| r96_3(int) = Constant[0] :
|
||||
# 96| r96_4(bool) = CompareNE : r96_2, r96_3
|
||||
# 96| v96_5(void) = ConditionalBranch : r96_4
|
||||
# 96| v96_3(void) = ConditionalBranch : r96_2
|
||||
#-----| False -> Block 21
|
||||
#-----| True -> Block 22
|
||||
|
||||
# 96| Block 21
|
||||
# 96| r96_6(glval<int>) = VariableAddress[x2] :
|
||||
# 96| r96_7(int) = Load[x2] : &:r96_6, m84_8
|
||||
# 96| r96_8(int) = Constant[0] :
|
||||
# 96| r96_9(bool) = CompareNE : r96_7, r96_8
|
||||
# 96| v96_10(void) = ConditionalBranch : r96_9
|
||||
# 96| r96_4(glval<int>) = VariableAddress[x2] :
|
||||
# 96| r96_5(int) = Load[x2] : &:r96_4, m84_8
|
||||
# 96| v96_6(void) = ConditionalBranch : r96_5
|
||||
#-----| False -> Block 23
|
||||
#-----| True -> Block 22
|
||||
|
||||
# 96| Block 22
|
||||
# 96| v96_11(void) = NoOp :
|
||||
# 96| v96_7(void) = NoOp :
|
||||
#-----| Goto -> Block 23
|
||||
|
||||
# 97| Block 23
|
||||
# 97| r97_1(glval<int>) = VariableAddress[x1] :
|
||||
# 97| r97_2(int) = Load[x1] : &:r97_1, m84_6
|
||||
# 97| r97_3(int) = Constant[0] :
|
||||
# 97| r97_4(bool) = CompareEQ : r97_2, r97_3
|
||||
# 97| v97_5(void) = ConditionalBranch : r97_4
|
||||
# 97| r97_3(int) = LogicalNot : r97_2
|
||||
# 97| v97_4(void) = ConditionalBranch : r97_3
|
||||
#-----| False -> Block 24
|
||||
#-----| True -> Block 25
|
||||
|
||||
# 97| Block 24
|
||||
# 97| r97_6(glval<int>) = VariableAddress[x2] :
|
||||
# 97| r97_7(int) = Load[x2] : &:r97_6, m84_8
|
||||
# 97| r97_8(int) = Constant[0] :
|
||||
# 97| r97_9(bool) = CompareNE : r97_7, r97_8
|
||||
# 97| v97_10(void) = ConditionalBranch : r97_9
|
||||
# 97| r97_5(glval<int>) = VariableAddress[x2] :
|
||||
# 97| r97_6(int) = Load[x2] : &:r97_5, m84_8
|
||||
# 97| v97_7(void) = ConditionalBranch : r97_6
|
||||
#-----| False -> Block 26
|
||||
#-----| True -> Block 25
|
||||
|
||||
# 97| Block 25
|
||||
# 97| v97_11(void) = NoOp :
|
||||
# 97| v97_8(void) = NoOp :
|
||||
#-----| Goto -> Block 26
|
||||
|
||||
# 98| Block 26
|
||||
# 98| r98_1(glval<int>) = VariableAddress[x1] :
|
||||
# 98| r98_2(int) = Load[x1] : &:r98_1, m84_6
|
||||
# 98| r98_3(int) = Constant[0] :
|
||||
# 98| r98_4(bool) = CompareNE : r98_2, r98_3
|
||||
# 98| v98_5(void) = ConditionalBranch : r98_4
|
||||
# 98| v98_3(void) = ConditionalBranch : r98_2
|
||||
#-----| False -> Block 27
|
||||
#-----| True -> Block 28
|
||||
|
||||
# 98| Block 27
|
||||
# 98| r98_6(glval<int>) = VariableAddress[x2] :
|
||||
# 98| r98_7(int) = Load[x2] : &:r98_6, m84_8
|
||||
# 98| r98_8(int) = Constant[0] :
|
||||
# 98| r98_9(bool) = CompareEQ : r98_7, r98_8
|
||||
# 98| v98_10(void) = ConditionalBranch : r98_9
|
||||
# 98| r98_4(glval<int>) = VariableAddress[x2] :
|
||||
# 98| r98_5(int) = Load[x2] : &:r98_4, m84_8
|
||||
# 98| r98_6(int) = LogicalNot : r98_5
|
||||
# 98| v98_7(void) = ConditionalBranch : r98_6
|
||||
#-----| False -> Block 29
|
||||
#-----| True -> Block 28
|
||||
|
||||
# 98| Block 28
|
||||
# 98| v98_11(void) = NoOp :
|
||||
# 98| v98_8(void) = NoOp :
|
||||
#-----| Goto -> Block 29
|
||||
|
||||
# 99| Block 29
|
||||
# 99| r99_1(glval<int>) = VariableAddress[x1] :
|
||||
# 99| r99_2(int) = Load[x1] : &:r99_1, m84_6
|
||||
# 99| r99_3(int) = Constant[0] :
|
||||
# 99| r99_4(bool) = CompareEQ : r99_2, r99_3
|
||||
# 99| v99_5(void) = ConditionalBranch : r99_4
|
||||
# 99| r99_3(int) = LogicalNot : r99_2
|
||||
# 99| v99_4(void) = ConditionalBranch : r99_3
|
||||
#-----| False -> Block 30
|
||||
#-----| True -> Block 31
|
||||
|
||||
# 99| Block 30
|
||||
# 99| r99_6(glval<int>) = VariableAddress[x2] :
|
||||
# 99| r99_7(int) = Load[x2] : &:r99_6, m84_8
|
||||
# 99| r99_8(int) = Constant[0] :
|
||||
# 99| r99_9(bool) = CompareEQ : r99_7, r99_8
|
||||
# 99| v99_10(void) = ConditionalBranch : r99_9
|
||||
# 99| r99_5(glval<int>) = VariableAddress[x2] :
|
||||
# 99| r99_6(int) = Load[x2] : &:r99_5, m84_8
|
||||
# 99| r99_7(int) = LogicalNot : r99_6
|
||||
# 99| v99_8(void) = ConditionalBranch : r99_7
|
||||
#-----| False -> Block 32
|
||||
#-----| True -> Block 31
|
||||
|
||||
# 99| Block 31
|
||||
# 99| v99_11(void) = NoOp :
|
||||
# 99| v99_9(void) = NoOp :
|
||||
#-----| Goto -> Block 32
|
||||
|
||||
# 101| Block 32
|
||||
# 101| r101_1(glval<int>) = VariableAddress[x_1_and_2] :
|
||||
# 101| r101_2(glval<int>) = VariableAddress[x1] :
|
||||
# 101| r101_3(int) = Load[x1] : &:r101_2, m84_6
|
||||
# 101| r101_4(int) = Constant[0] :
|
||||
# 101| r101_5(bool) = CompareNE : r101_3, r101_4
|
||||
# 101| v101_6(void) = ConditionalBranch : r101_5
|
||||
# 101| v101_4(void) = ConditionalBranch : r101_3
|
||||
#-----| False -> Block 33
|
||||
#-----| True -> Block 36
|
||||
|
||||
# 101| Block 33
|
||||
# 101| r101_7(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_8(int) = Constant[0] :
|
||||
# 101| m101_9(int) = Store[#temp101:19] : &:r101_7, r101_8
|
||||
# 101| r101_5(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_6(int) = Constant[0] :
|
||||
# 101| m101_7(int) = Store[#temp101:19] : &:r101_5, r101_6
|
||||
#-----| Goto -> Block 34
|
||||
|
||||
# 101| Block 34
|
||||
# 101| m101_10(int) = Phi : from 33:m101_9, from 35:m101_16
|
||||
# 101| r101_11(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_12(int) = Load[#temp101:19] : &:r101_11, m101_10
|
||||
# 101| m101_13(int) = Store[x_1_and_2] : &:r101_1, r101_12
|
||||
# 102| r102_1(glval<int>) = VariableAddress[x_1_and_2] :
|
||||
# 102| r102_2(int) = Load[x_1_and_2] : &:r102_1, m101_13
|
||||
# 102| r102_3(int) = Constant[0] :
|
||||
# 102| r102_4(bool) = CompareNE : r102_2, r102_3
|
||||
# 102| v102_5(void) = ConditionalBranch : r102_4
|
||||
# 101| m101_8(int) = Phi : from 33:m101_7, from 35:m101_14
|
||||
# 101| r101_9(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_10(int) = Load[#temp101:19] : &:r101_9, m101_8
|
||||
# 101| m101_11(int) = Store[x_1_and_2] : &:r101_1, r101_10
|
||||
# 102| r102_1(glval<int>) = VariableAddress[x_1_and_2] :
|
||||
# 102| r102_2(int) = Load[x_1_and_2] : &:r102_1, m101_11
|
||||
# 102| v102_3(void) = ConditionalBranch : r102_2
|
||||
#-----| False -> Block 38
|
||||
#-----| True -> Block 37
|
||||
|
||||
# 101| Block 35
|
||||
# 101| r101_14(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_15(int) = Constant[1] :
|
||||
# 101| m101_16(int) = Store[#temp101:19] : &:r101_14, r101_15
|
||||
# 101| r101_12(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_13(int) = Constant[1] :
|
||||
# 101| m101_14(int) = Store[#temp101:19] : &:r101_12, r101_13
|
||||
#-----| Goto -> Block 34
|
||||
|
||||
# 101| Block 36
|
||||
# 101| r101_17(glval<int>) = VariableAddress[x2] :
|
||||
# 101| r101_18(int) = Load[x2] : &:r101_17, m84_8
|
||||
# 101| r101_19(int) = Constant[0] :
|
||||
# 101| r101_20(bool) = CompareNE : r101_18, r101_19
|
||||
# 101| v101_21(void) = ConditionalBranch : r101_20
|
||||
# 101| r101_15(glval<int>) = VariableAddress[x2] :
|
||||
# 101| r101_16(int) = Load[x2] : &:r101_15, m84_8
|
||||
# 101| v101_17(void) = ConditionalBranch : r101_16
|
||||
#-----| False -> Block 33
|
||||
#-----| True -> Block 35
|
||||
|
||||
# 102| Block 37
|
||||
# 102| v102_6(void) = NoOp :
|
||||
# 102| v102_4(void) = NoOp :
|
||||
#-----| Goto -> Block 38
|
||||
|
||||
# 103| Block 38
|
||||
# 103| r103_1(glval<int>) = VariableAddress[x_1_and_2] :
|
||||
# 103| r103_2(int) = Load[x_1_and_2] : &:r103_1, m101_13
|
||||
# 103| r103_3(int) = Constant[0] :
|
||||
# 103| r103_4(bool) = CompareEQ : r103_2, r103_3
|
||||
# 103| v103_5(void) = ConditionalBranch : r103_4
|
||||
# 103| r103_2(int) = Load[x_1_and_2] : &:r103_1, m101_11
|
||||
# 103| r103_3(int) = LogicalNot : r103_2
|
||||
# 103| v103_4(void) = ConditionalBranch : r103_3
|
||||
#-----| False -> Block 40
|
||||
#-----| True -> Block 39
|
||||
|
||||
# 103| Block 39
|
||||
# 103| v103_6(void) = NoOp :
|
||||
# 103| v103_5(void) = NoOp :
|
||||
#-----| Goto -> Block 40
|
||||
|
||||
# 104| Block 40
|
||||
@@ -19819,104 +19740,6 @@ ir.cpp:
|
||||
# 2724| v2724_12(void) = AliasedUse : ~m2725_8
|
||||
# 2724| v2724_13(void) = ExitFunction :
|
||||
|
||||
ir23.cpp:
|
||||
# 1| bool consteval_1()
|
||||
# 1| Block 0
|
||||
# 1| v1_1(void) = EnterFunction :
|
||||
# 1| m1_2(unknown) = AliasedDefinition :
|
||||
# 1| m1_3(unknown) = InitializeNonLocal :
|
||||
# 1| m1_4(unknown) = Chi : total:m1_2, partial:m1_3
|
||||
# 6| r6_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 6| r6_2(bool) = Constant[0] :
|
||||
# 6| m6_3(bool) = Store[#return] : &:r6_1, r6_2
|
||||
# 1| r1_5(glval<bool>) = VariableAddress[#return] :
|
||||
# 1| v1_6(void) = ReturnValue : &:r1_5, m6_3
|
||||
# 1| v1_7(void) = AliasedUse : m1_3
|
||||
# 1| v1_8(void) = ExitFunction :
|
||||
|
||||
# 10| bool consteval_2()
|
||||
# 10| Block 0
|
||||
# 10| v10_1(void) = EnterFunction :
|
||||
# 10| m10_2(unknown) = AliasedDefinition :
|
||||
# 10| m10_3(unknown) = InitializeNonLocal :
|
||||
# 10| m10_4(unknown) = Chi : total:m10_2, partial:m10_3
|
||||
# 13| r13_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 13| r13_2(bool) = Constant[1] :
|
||||
# 13| m13_3(bool) = Store[#return] : &:r13_1, r13_2
|
||||
# 10| r10_5(glval<bool>) = VariableAddress[#return] :
|
||||
# 10| v10_6(void) = ReturnValue : &:r10_5, m13_3
|
||||
# 10| v10_7(void) = AliasedUse : m10_3
|
||||
# 10| v10_8(void) = ExitFunction :
|
||||
|
||||
# 19| bool consteval_3()
|
||||
# 19| Block 0
|
||||
# 19| v19_1(void) = EnterFunction :
|
||||
# 19| m19_2(unknown) = AliasedDefinition :
|
||||
# 19| m19_3(unknown) = InitializeNonLocal :
|
||||
# 19| m19_4(unknown) = Chi : total:m19_2, partial:m19_3
|
||||
# 21| v21_1(void) = NoOp :
|
||||
# 25| r25_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 25| r25_2(bool) = Constant[0] :
|
||||
# 25| m25_3(bool) = Store[#return] : &:r25_1, r25_2
|
||||
# 19| r19_5(glval<bool>) = VariableAddress[#return] :
|
||||
# 19| v19_6(void) = ReturnValue : &:r19_5, m25_3
|
||||
# 19| v19_7(void) = AliasedUse : m19_3
|
||||
# 19| v19_8(void) = ExitFunction :
|
||||
|
||||
# 28| bool consteval_4()
|
||||
# 28| Block 0
|
||||
# 28| v28_1(void) = EnterFunction :
|
||||
# 28| m28_2(unknown) = AliasedDefinition :
|
||||
# 28| m28_3(unknown) = InitializeNonLocal :
|
||||
# 28| m28_4(unknown) = Chi : total:m28_2, partial:m28_3
|
||||
# 31| r31_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 31| r31_2(bool) = Constant[1] :
|
||||
# 31| m31_3(bool) = Store[#return] : &:r31_1, r31_2
|
||||
# 28| r28_5(glval<bool>) = VariableAddress[#return] :
|
||||
# 28| v28_6(void) = ReturnValue : &:r28_5, m31_3
|
||||
# 28| v28_7(void) = AliasedUse : m28_3
|
||||
# 28| v28_8(void) = ExitFunction :
|
||||
|
||||
# 37| bool consteval_5()
|
||||
# 37| Block 0
|
||||
# 37| v37_1(void) = EnterFunction :
|
||||
# 37| m37_2(unknown) = AliasedDefinition :
|
||||
# 37| m37_3(unknown) = InitializeNonLocal :
|
||||
# 37| m37_4(unknown) = Chi : total:m37_2, partial:m37_3
|
||||
# 39| r39_1(glval<bool>) = VariableAddress[r] :
|
||||
# 39| r39_2(bool) = Constant[1] :
|
||||
# 39| m39_3(bool) = Store[r] : &:r39_1, r39_2
|
||||
# 42| r42_1(bool) = Constant[0] :
|
||||
# 42| r42_2(glval<bool>) = VariableAddress[r] :
|
||||
# 42| m42_3(bool) = Store[r] : &:r42_2, r42_1
|
||||
# 45| r45_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 45| r45_2(glval<bool>) = VariableAddress[r] :
|
||||
# 45| r45_3(bool) = Load[r] : &:r45_2, m42_3
|
||||
# 45| m45_4(bool) = Store[#return] : &:r45_1, r45_3
|
||||
# 37| r37_5(glval<bool>) = VariableAddress[#return] :
|
||||
# 37| v37_6(void) = ReturnValue : &:r37_5, m45_4
|
||||
# 37| v37_7(void) = AliasedUse : m37_3
|
||||
# 37| v37_8(void) = ExitFunction :
|
||||
|
||||
# 48| bool consteval_6()
|
||||
# 48| Block 0
|
||||
# 48| v48_1(void) = EnterFunction :
|
||||
# 48| m48_2(unknown) = AliasedDefinition :
|
||||
# 48| m48_3(unknown) = InitializeNonLocal :
|
||||
# 48| m48_4(unknown) = Chi : total:m48_2, partial:m48_3
|
||||
# 50| r50_1(glval<bool>) = VariableAddress[r] :
|
||||
# 50| r50_2(bool) = Constant[1] :
|
||||
# 50| m50_3(bool) = Store[r] : &:r50_1, r50_2
|
||||
# 52| v52_1(void) = NoOp :
|
||||
# 56| r56_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 56| r56_2(glval<bool>) = VariableAddress[r] :
|
||||
# 56| r56_3(bool) = Load[r] : &:r56_2, m50_3
|
||||
# 56| m56_4(bool) = Store[#return] : &:r56_1, r56_3
|
||||
# 48| r48_5(glval<bool>) = VariableAddress[#return] :
|
||||
# 48| v48_6(void) = ReturnValue : &:r48_5, m56_4
|
||||
# 48| v48_7(void) = AliasedUse : m48_3
|
||||
# 48| v48_8(void) = ExitFunction :
|
||||
|
||||
many-defs-per-use.cpp:
|
||||
# 34| void many_defs_per_use()
|
||||
# 34| Block 0
|
||||
@@ -39015,9 +38838,7 @@ try_except.c:
|
||||
# 33| m33_3(int) = Store[x] : &:r33_1, r33_2
|
||||
# 35| r35_1(glval<int>) = VariableAddress[b] :
|
||||
# 35| r35_2(int) = Load[b] : &:r35_1, m32_6
|
||||
# 35| r35_3(int) = Constant[0] :
|
||||
# 35| r35_4(bool) = CompareNE : r35_2, r35_3
|
||||
# 35| v35_5(void) = ConditionalBranch : r35_4
|
||||
# 35| v35_3(void) = ConditionalBranch : r35_2
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
|
||||
@@ -30,4 +30,41 @@ thisArgumentIsNonPointer
|
||||
| ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
| ir.c:85:7:85:8 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:86:6:86:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:86:6:86:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:88:11:88:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:89:6:89:6 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:90:6:90:7 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:90:6:90:7 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:92:6:92:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:92:12:92:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:6:93:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:6:93:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:13:93:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:6:94:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:12:94:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:12:94:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:6:95:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:6:95:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:13:95:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:13:95:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:96:6:96:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:96:12:96:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:6:97:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:6:97:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:13:97:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:6:98:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:12:98:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:12:98:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:6:99:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:6:99:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:13:99:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:13:99:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:101:19:101:20 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:101:25:101:26 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:102:6:102:14 | ConditionalBranch: x_1_and_2 | Conditional branch instruction ConditionalBranch: x_1_and_2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:103:6:103:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:103:6:103:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) |
|
||||
missingCppType
|
||||
|
||||
@@ -30,4 +30,41 @@ thisArgumentIsNonPointer
|
||||
| ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
| ir.c:85:7:85:8 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:86:6:86:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:86:6:86:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:88:11:88:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:89:6:89:6 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:90:6:90:7 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:90:6:90:7 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:92:6:92:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:92:12:92:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:6:93:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:6:93:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:13:93:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:6:94:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:12:94:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:12:94:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:6:95:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:6:95:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:13:95:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:13:95:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:96:6:96:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:96:12:96:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:6:97:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:6:97:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:13:97:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:6:98:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:12:98:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:12:98:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:6:99:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:6:99:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:13:99:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:13:99:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:101:19:101:20 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:101:25:101:26 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:102:6:102:14 | ConditionalBranch: x_1_and_2 | Conditional branch instruction ConditionalBranch: x_1_and_2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:103:6:103:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:103:6:103:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) |
|
||||
missingCppType
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
void gnuConditionalOmittedOperand() {
|
||||
int i, j;
|
||||
i = j ? : 2;
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
constexpr bool consteval_1() noexcept
|
||||
{
|
||||
if consteval {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
constexpr bool consteval_2() noexcept
|
||||
{
|
||||
if ! consteval {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
constexpr bool consteval_3() noexcept
|
||||
{
|
||||
if consteval {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
constexpr bool consteval_4() noexcept
|
||||
{
|
||||
if ! consteval {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
constexpr bool consteval_5() noexcept
|
||||
{
|
||||
bool r = true;
|
||||
|
||||
if ! consteval {
|
||||
r = false;
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
constexpr bool consteval_6() noexcept
|
||||
{
|
||||
bool r = true;
|
||||
|
||||
if consteval {
|
||||
r = false;
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
// semmle-extractor-options: -std=c++23
|
||||
@@ -39,4 +39,41 @@ thisArgumentIsNonPointer
|
||||
| ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
| ir.c:85:7:85:8 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:86:6:86:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:86:6:86:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:88:11:88:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:89:6:89:6 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:90:6:90:7 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:90:6:90:7 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:92:6:92:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:92:12:92:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:6:93:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:6:93:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:13:93:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:6:94:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:12:94:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:12:94:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:6:95:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:6:95:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:13:95:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:13:95:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:96:6:96:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:96:12:96:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:6:97:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:6:97:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:13:97:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:6:98:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:12:98:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:12:98:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:6:99:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:6:99:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:13:99:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:13:99:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:101:19:101:20 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:101:25:101:26 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:102:6:102:14 | ConditionalBranch: x_1_and_2 | Conditional branch instruction ConditionalBranch: x_1_and_2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:103:6:103:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:103:6:103:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) |
|
||||
missingCppType
|
||||
|
||||
@@ -2808,45 +2808,6 @@ generic.c:
|
||||
# 26| v26_7(void) = AliasedUse : ~m?
|
||||
# 26| v26_8(void) = ExitFunction :
|
||||
|
||||
ir-not-microsoft.c:
|
||||
# 1| void gnuConditionalOmittedOperand()
|
||||
# 1| Block 0
|
||||
# 1| v1_1(void) = EnterFunction :
|
||||
# 1| mu1_2(unknown) = AliasedDefinition :
|
||||
# 1| mu1_3(unknown) = InitializeNonLocal :
|
||||
# 2| r2_1(glval<int>) = VariableAddress[i] :
|
||||
# 2| mu2_2(int) = Uninitialized[i] : &:r2_1
|
||||
# 2| r2_3(glval<int>) = VariableAddress[j] :
|
||||
# 2| mu2_4(int) = Uninitialized[j] : &:r2_3
|
||||
# 3| r3_1(glval<int>) = VariableAddress[j] :
|
||||
# 3| r3_2(int) = Load[j] : &:r3_1, ~m?
|
||||
# 3| r3_3(int) = Constant[0] :
|
||||
# 3| r3_4(bool) = CompareNE : r3_2, r3_3
|
||||
# 3| v3_5(void) = ConditionalBranch : r3_4
|
||||
#-----| False -> Block 3
|
||||
#-----| True -> Block 2
|
||||
|
||||
# 3| Block 1
|
||||
# 3| r3_6(glval<int>) = VariableAddress[#temp3:9] :
|
||||
# 3| r3_7(int) = Load[#temp3:9] : &:r3_6, ~m?
|
||||
# 3| r3_8(glval<int>) = VariableAddress[i] :
|
||||
# 3| mu3_9(int) = Store[i] : &:r3_8, r3_7
|
||||
# 4| v4_1(void) = NoOp :
|
||||
# 1| v1_4(void) = ReturnVoid :
|
||||
# 1| v1_5(void) = AliasedUse : ~m?
|
||||
# 1| v1_6(void) = ExitFunction :
|
||||
|
||||
# 3| Block 2
|
||||
# 3| r3_10(glval<int>) = VariableAddress[#temp3:9] :
|
||||
# 3| mu3_11(int) = Store[#temp3:9] : &:r3_10, r3_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 3| Block 3
|
||||
# 3| r3_12(int) = Constant[2] :
|
||||
# 3| r3_13(glval<int>) = VariableAddress[#temp3:9] :
|
||||
# 3| mu3_14(int) = Store[#temp3:9] : &:r3_13, r3_12
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
ir.c:
|
||||
# 7| void MyCoordsTest(int)
|
||||
# 7| Block 0
|
||||
@@ -3145,295 +3106,257 @@ ir.c:
|
||||
# 84| mu84_7(int) = InitializeParameter[x2] : &:r84_6
|
||||
# 85| r85_1(glval<int>) = VariableAddress[x1] :
|
||||
# 85| r85_2(int) = Load[x1] : &:r85_1, ~m?
|
||||
# 85| r85_3(int) = Constant[0] :
|
||||
# 85| r85_4(bool) = CompareNE : r85_2, r85_3
|
||||
# 85| v85_5(void) = ConditionalBranch : r85_4
|
||||
# 85| v85_3(void) = ConditionalBranch : r85_2
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 85| Block 1
|
||||
# 85| v85_6(void) = NoOp :
|
||||
# 85| v85_4(void) = NoOp :
|
||||
#-----| Goto -> Block 2
|
||||
|
||||
# 86| Block 2
|
||||
# 86| r86_1(glval<int>) = VariableAddress[x1] :
|
||||
# 86| r86_2(int) = Load[x1] : &:r86_1, ~m?
|
||||
# 86| r86_3(int) = Constant[0] :
|
||||
# 86| r86_4(bool) = CompareEQ : r86_2, r86_3
|
||||
# 86| v86_5(void) = ConditionalBranch : r86_4
|
||||
# 86| r86_3(int) = LogicalNot : r86_2
|
||||
# 86| v86_4(void) = ConditionalBranch : r86_3
|
||||
#-----| False -> Block 4
|
||||
#-----| True -> Block 3
|
||||
|
||||
# 86| Block 3
|
||||
# 86| v86_6(void) = NoOp :
|
||||
# 86| v86_5(void) = NoOp :
|
||||
#-----| Goto -> Block 4
|
||||
|
||||
# 88| Block 4
|
||||
# 88| r88_1(glval<int>) = VariableAddress[y] :
|
||||
# 88| r88_2(glval<int>) = VariableAddress[x1] :
|
||||
# 88| r88_3(int) = Load[x1] : &:r88_2, ~m?
|
||||
# 88| r88_4(int) = Constant[0] :
|
||||
# 88| r88_5(bool) = CompareEQ : r88_3, r88_4
|
||||
# 88| mu88_6(int) = Store[y] : &:r88_1, r88_5
|
||||
# 88| r88_4(int) = LogicalNot : r88_3
|
||||
# 88| mu88_5(int) = Store[y] : &:r88_1, r88_4
|
||||
# 89| r89_1(glval<int>) = VariableAddress[y] :
|
||||
# 89| r89_2(int) = Load[y] : &:r89_1, ~m?
|
||||
# 89| r89_3(int) = Constant[0] :
|
||||
# 89| r89_4(bool) = CompareNE : r89_2, r89_3
|
||||
# 89| v89_5(void) = ConditionalBranch : r89_4
|
||||
# 89| v89_3(void) = ConditionalBranch : r89_2
|
||||
#-----| False -> Block 6
|
||||
#-----| True -> Block 5
|
||||
|
||||
# 89| Block 5
|
||||
# 89| v89_6(void) = NoOp :
|
||||
# 89| v89_4(void) = NoOp :
|
||||
#-----| Goto -> Block 6
|
||||
|
||||
# 90| Block 6
|
||||
# 90| r90_1(glval<int>) = VariableAddress[y] :
|
||||
# 90| r90_2(int) = Load[y] : &:r90_1, ~m?
|
||||
# 90| r90_3(int) = Constant[0] :
|
||||
# 90| r90_4(bool) = CompareEQ : r90_2, r90_3
|
||||
# 90| v90_5(void) = ConditionalBranch : r90_4
|
||||
# 90| r90_3(int) = LogicalNot : r90_2
|
||||
# 90| v90_4(void) = ConditionalBranch : r90_3
|
||||
#-----| False -> Block 8
|
||||
#-----| True -> Block 7
|
||||
|
||||
# 90| Block 7
|
||||
# 90| v90_6(void) = NoOp :
|
||||
# 90| v90_5(void) = NoOp :
|
||||
#-----| Goto -> Block 8
|
||||
|
||||
# 92| Block 8
|
||||
# 92| r92_1(glval<int>) = VariableAddress[x1] :
|
||||
# 92| r92_2(int) = Load[x1] : &:r92_1, ~m?
|
||||
# 92| r92_3(int) = Constant[0] :
|
||||
# 92| r92_4(bool) = CompareNE : r92_2, r92_3
|
||||
# 92| v92_5(void) = ConditionalBranch : r92_4
|
||||
# 92| v92_3(void) = ConditionalBranch : r92_2
|
||||
#-----| False -> Block 11
|
||||
#-----| True -> Block 9
|
||||
|
||||
# 92| Block 9
|
||||
# 92| r92_6(glval<int>) = VariableAddress[x2] :
|
||||
# 92| r92_7(int) = Load[x2] : &:r92_6, ~m?
|
||||
# 92| r92_8(int) = Constant[0] :
|
||||
# 92| r92_9(bool) = CompareNE : r92_7, r92_8
|
||||
# 92| v92_10(void) = ConditionalBranch : r92_9
|
||||
# 92| r92_4(glval<int>) = VariableAddress[x2] :
|
||||
# 92| r92_5(int) = Load[x2] : &:r92_4, ~m?
|
||||
# 92| v92_6(void) = ConditionalBranch : r92_5
|
||||
#-----| False -> Block 11
|
||||
#-----| True -> Block 10
|
||||
|
||||
# 92| Block 10
|
||||
# 92| v92_11(void) = NoOp :
|
||||
# 92| v92_7(void) = NoOp :
|
||||
#-----| Goto -> Block 11
|
||||
|
||||
# 93| Block 11
|
||||
# 93| r93_1(glval<int>) = VariableAddress[x1] :
|
||||
# 93| r93_2(int) = Load[x1] : &:r93_1, ~m?
|
||||
# 93| r93_3(int) = Constant[0] :
|
||||
# 93| r93_4(bool) = CompareEQ : r93_2, r93_3
|
||||
# 93| v93_5(void) = ConditionalBranch : r93_4
|
||||
# 93| r93_3(int) = LogicalNot : r93_2
|
||||
# 93| v93_4(void) = ConditionalBranch : r93_3
|
||||
#-----| False -> Block 14
|
||||
#-----| True -> Block 12
|
||||
|
||||
# 93| Block 12
|
||||
# 93| r93_6(glval<int>) = VariableAddress[x2] :
|
||||
# 93| r93_7(int) = Load[x2] : &:r93_6, ~m?
|
||||
# 93| r93_8(int) = Constant[0] :
|
||||
# 93| r93_9(bool) = CompareNE : r93_7, r93_8
|
||||
# 93| v93_10(void) = ConditionalBranch : r93_9
|
||||
# 93| r93_5(glval<int>) = VariableAddress[x2] :
|
||||
# 93| r93_6(int) = Load[x2] : &:r93_5, ~m?
|
||||
# 93| v93_7(void) = ConditionalBranch : r93_6
|
||||
#-----| False -> Block 14
|
||||
#-----| True -> Block 13
|
||||
|
||||
# 93| Block 13
|
||||
# 93| v93_11(void) = NoOp :
|
||||
# 93| v93_8(void) = NoOp :
|
||||
#-----| Goto -> Block 14
|
||||
|
||||
# 94| Block 14
|
||||
# 94| r94_1(glval<int>) = VariableAddress[x1] :
|
||||
# 94| r94_2(int) = Load[x1] : &:r94_1, ~m?
|
||||
# 94| r94_3(int) = Constant[0] :
|
||||
# 94| r94_4(bool) = CompareNE : r94_2, r94_3
|
||||
# 94| v94_5(void) = ConditionalBranch : r94_4
|
||||
# 94| v94_3(void) = ConditionalBranch : r94_2
|
||||
#-----| False -> Block 17
|
||||
#-----| True -> Block 15
|
||||
|
||||
# 94| Block 15
|
||||
# 94| r94_6(glval<int>) = VariableAddress[x2] :
|
||||
# 94| r94_7(int) = Load[x2] : &:r94_6, ~m?
|
||||
# 94| r94_8(int) = Constant[0] :
|
||||
# 94| r94_9(bool) = CompareEQ : r94_7, r94_8
|
||||
# 94| v94_10(void) = ConditionalBranch : r94_9
|
||||
# 94| r94_4(glval<int>) = VariableAddress[x2] :
|
||||
# 94| r94_5(int) = Load[x2] : &:r94_4, ~m?
|
||||
# 94| r94_6(int) = LogicalNot : r94_5
|
||||
# 94| v94_7(void) = ConditionalBranch : r94_6
|
||||
#-----| False -> Block 17
|
||||
#-----| True -> Block 16
|
||||
|
||||
# 94| Block 16
|
||||
# 94| v94_11(void) = NoOp :
|
||||
# 94| v94_8(void) = NoOp :
|
||||
#-----| Goto -> Block 17
|
||||
|
||||
# 95| Block 17
|
||||
# 95| r95_1(glval<int>) = VariableAddress[x1] :
|
||||
# 95| r95_2(int) = Load[x1] : &:r95_1, ~m?
|
||||
# 95| r95_3(int) = Constant[0] :
|
||||
# 95| r95_4(bool) = CompareEQ : r95_2, r95_3
|
||||
# 95| v95_5(void) = ConditionalBranch : r95_4
|
||||
# 95| r95_3(int) = LogicalNot : r95_2
|
||||
# 95| v95_4(void) = ConditionalBranch : r95_3
|
||||
#-----| False -> Block 20
|
||||
#-----| True -> Block 18
|
||||
|
||||
# 95| Block 18
|
||||
# 95| r95_6(glval<int>) = VariableAddress[x2] :
|
||||
# 95| r95_7(int) = Load[x2] : &:r95_6, ~m?
|
||||
# 95| r95_8(int) = Constant[0] :
|
||||
# 95| r95_9(bool) = CompareEQ : r95_7, r95_8
|
||||
# 95| v95_10(void) = ConditionalBranch : r95_9
|
||||
# 95| r95_5(glval<int>) = VariableAddress[x2] :
|
||||
# 95| r95_6(int) = Load[x2] : &:r95_5, ~m?
|
||||
# 95| r95_7(int) = LogicalNot : r95_6
|
||||
# 95| v95_8(void) = ConditionalBranch : r95_7
|
||||
#-----| False -> Block 20
|
||||
#-----| True -> Block 19
|
||||
|
||||
# 95| Block 19
|
||||
# 95| v95_11(void) = NoOp :
|
||||
# 95| v95_9(void) = NoOp :
|
||||
#-----| Goto -> Block 20
|
||||
|
||||
# 96| Block 20
|
||||
# 96| r96_1(glval<int>) = VariableAddress[x1] :
|
||||
# 96| r96_2(int) = Load[x1] : &:r96_1, ~m?
|
||||
# 96| r96_3(int) = Constant[0] :
|
||||
# 96| r96_4(bool) = CompareNE : r96_2, r96_3
|
||||
# 96| v96_5(void) = ConditionalBranch : r96_4
|
||||
# 96| v96_3(void) = ConditionalBranch : r96_2
|
||||
#-----| False -> Block 21
|
||||
#-----| True -> Block 22
|
||||
|
||||
# 96| Block 21
|
||||
# 96| r96_6(glval<int>) = VariableAddress[x2] :
|
||||
# 96| r96_7(int) = Load[x2] : &:r96_6, ~m?
|
||||
# 96| r96_8(int) = Constant[0] :
|
||||
# 96| r96_9(bool) = CompareNE : r96_7, r96_8
|
||||
# 96| v96_10(void) = ConditionalBranch : r96_9
|
||||
# 96| r96_4(glval<int>) = VariableAddress[x2] :
|
||||
# 96| r96_5(int) = Load[x2] : &:r96_4, ~m?
|
||||
# 96| v96_6(void) = ConditionalBranch : r96_5
|
||||
#-----| False -> Block 23
|
||||
#-----| True -> Block 22
|
||||
|
||||
# 96| Block 22
|
||||
# 96| v96_11(void) = NoOp :
|
||||
# 96| v96_7(void) = NoOp :
|
||||
#-----| Goto -> Block 23
|
||||
|
||||
# 97| Block 23
|
||||
# 97| r97_1(glval<int>) = VariableAddress[x1] :
|
||||
# 97| r97_2(int) = Load[x1] : &:r97_1, ~m?
|
||||
# 97| r97_3(int) = Constant[0] :
|
||||
# 97| r97_4(bool) = CompareEQ : r97_2, r97_3
|
||||
# 97| v97_5(void) = ConditionalBranch : r97_4
|
||||
# 97| r97_3(int) = LogicalNot : r97_2
|
||||
# 97| v97_4(void) = ConditionalBranch : r97_3
|
||||
#-----| False -> Block 24
|
||||
#-----| True -> Block 25
|
||||
|
||||
# 97| Block 24
|
||||
# 97| r97_6(glval<int>) = VariableAddress[x2] :
|
||||
# 97| r97_7(int) = Load[x2] : &:r97_6, ~m?
|
||||
# 97| r97_8(int) = Constant[0] :
|
||||
# 97| r97_9(bool) = CompareNE : r97_7, r97_8
|
||||
# 97| v97_10(void) = ConditionalBranch : r97_9
|
||||
# 97| r97_5(glval<int>) = VariableAddress[x2] :
|
||||
# 97| r97_6(int) = Load[x2] : &:r97_5, ~m?
|
||||
# 97| v97_7(void) = ConditionalBranch : r97_6
|
||||
#-----| False -> Block 26
|
||||
#-----| True -> Block 25
|
||||
|
||||
# 97| Block 25
|
||||
# 97| v97_11(void) = NoOp :
|
||||
# 97| v97_8(void) = NoOp :
|
||||
#-----| Goto -> Block 26
|
||||
|
||||
# 98| Block 26
|
||||
# 98| r98_1(glval<int>) = VariableAddress[x1] :
|
||||
# 98| r98_2(int) = Load[x1] : &:r98_1, ~m?
|
||||
# 98| r98_3(int) = Constant[0] :
|
||||
# 98| r98_4(bool) = CompareNE : r98_2, r98_3
|
||||
# 98| v98_5(void) = ConditionalBranch : r98_4
|
||||
# 98| v98_3(void) = ConditionalBranch : r98_2
|
||||
#-----| False -> Block 27
|
||||
#-----| True -> Block 28
|
||||
|
||||
# 98| Block 27
|
||||
# 98| r98_6(glval<int>) = VariableAddress[x2] :
|
||||
# 98| r98_7(int) = Load[x2] : &:r98_6, ~m?
|
||||
# 98| r98_8(int) = Constant[0] :
|
||||
# 98| r98_9(bool) = CompareEQ : r98_7, r98_8
|
||||
# 98| v98_10(void) = ConditionalBranch : r98_9
|
||||
# 98| r98_4(glval<int>) = VariableAddress[x2] :
|
||||
# 98| r98_5(int) = Load[x2] : &:r98_4, ~m?
|
||||
# 98| r98_6(int) = LogicalNot : r98_5
|
||||
# 98| v98_7(void) = ConditionalBranch : r98_6
|
||||
#-----| False -> Block 29
|
||||
#-----| True -> Block 28
|
||||
|
||||
# 98| Block 28
|
||||
# 98| v98_11(void) = NoOp :
|
||||
# 98| v98_8(void) = NoOp :
|
||||
#-----| Goto -> Block 29
|
||||
|
||||
# 99| Block 29
|
||||
# 99| r99_1(glval<int>) = VariableAddress[x1] :
|
||||
# 99| r99_2(int) = Load[x1] : &:r99_1, ~m?
|
||||
# 99| r99_3(int) = Constant[0] :
|
||||
# 99| r99_4(bool) = CompareEQ : r99_2, r99_3
|
||||
# 99| v99_5(void) = ConditionalBranch : r99_4
|
||||
# 99| r99_3(int) = LogicalNot : r99_2
|
||||
# 99| v99_4(void) = ConditionalBranch : r99_3
|
||||
#-----| False -> Block 30
|
||||
#-----| True -> Block 31
|
||||
|
||||
# 99| Block 30
|
||||
# 99| r99_6(glval<int>) = VariableAddress[x2] :
|
||||
# 99| r99_7(int) = Load[x2] : &:r99_6, ~m?
|
||||
# 99| r99_8(int) = Constant[0] :
|
||||
# 99| r99_9(bool) = CompareEQ : r99_7, r99_8
|
||||
# 99| v99_10(void) = ConditionalBranch : r99_9
|
||||
# 99| r99_5(glval<int>) = VariableAddress[x2] :
|
||||
# 99| r99_6(int) = Load[x2] : &:r99_5, ~m?
|
||||
# 99| r99_7(int) = LogicalNot : r99_6
|
||||
# 99| v99_8(void) = ConditionalBranch : r99_7
|
||||
#-----| False -> Block 32
|
||||
#-----| True -> Block 31
|
||||
|
||||
# 99| Block 31
|
||||
# 99| v99_11(void) = NoOp :
|
||||
# 99| v99_9(void) = NoOp :
|
||||
#-----| Goto -> Block 32
|
||||
|
||||
# 101| Block 32
|
||||
# 101| r101_1(glval<int>) = VariableAddress[x_1_and_2] :
|
||||
# 101| r101_2(glval<int>) = VariableAddress[x1] :
|
||||
# 101| r101_3(int) = Load[x1] : &:r101_2, ~m?
|
||||
# 101| r101_4(int) = Constant[0] :
|
||||
# 101| r101_5(bool) = CompareNE : r101_3, r101_4
|
||||
# 101| v101_6(void) = ConditionalBranch : r101_5
|
||||
# 101| v101_4(void) = ConditionalBranch : r101_3
|
||||
#-----| False -> Block 33
|
||||
#-----| True -> Block 36
|
||||
|
||||
# 101| Block 33
|
||||
# 101| r101_7(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_8(int) = Constant[0] :
|
||||
# 101| mu101_9(int) = Store[#temp101:19] : &:r101_7, r101_8
|
||||
# 101| r101_5(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_6(int) = Constant[0] :
|
||||
# 101| mu101_7(int) = Store[#temp101:19] : &:r101_5, r101_6
|
||||
#-----| Goto -> Block 34
|
||||
|
||||
# 101| Block 34
|
||||
# 101| r101_10(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_11(int) = Load[#temp101:19] : &:r101_10, ~m?
|
||||
# 101| mu101_12(int) = Store[x_1_and_2] : &:r101_1, r101_11
|
||||
# 102| r102_1(glval<int>) = VariableAddress[x_1_and_2] :
|
||||
# 102| r102_2(int) = Load[x_1_and_2] : &:r102_1, ~m?
|
||||
# 102| r102_3(int) = Constant[0] :
|
||||
# 102| r102_4(bool) = CompareNE : r102_2, r102_3
|
||||
# 102| v102_5(void) = ConditionalBranch : r102_4
|
||||
# 101| r101_8(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_9(int) = Load[#temp101:19] : &:r101_8, ~m?
|
||||
# 101| mu101_10(int) = Store[x_1_and_2] : &:r101_1, r101_9
|
||||
# 102| r102_1(glval<int>) = VariableAddress[x_1_and_2] :
|
||||
# 102| r102_2(int) = Load[x_1_and_2] : &:r102_1, ~m?
|
||||
# 102| v102_3(void) = ConditionalBranch : r102_2
|
||||
#-----| False -> Block 38
|
||||
#-----| True -> Block 37
|
||||
|
||||
# 101| Block 35
|
||||
# 101| r101_13(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_14(int) = Constant[1] :
|
||||
# 101| mu101_15(int) = Store[#temp101:19] : &:r101_13, r101_14
|
||||
# 101| r101_11(glval<int>) = VariableAddress[#temp101:19] :
|
||||
# 101| r101_12(int) = Constant[1] :
|
||||
# 101| mu101_13(int) = Store[#temp101:19] : &:r101_11, r101_12
|
||||
#-----| Goto -> Block 34
|
||||
|
||||
# 101| Block 36
|
||||
# 101| r101_16(glval<int>) = VariableAddress[x2] :
|
||||
# 101| r101_17(int) = Load[x2] : &:r101_16, ~m?
|
||||
# 101| r101_18(int) = Constant[0] :
|
||||
# 101| r101_19(bool) = CompareNE : r101_17, r101_18
|
||||
# 101| v101_20(void) = ConditionalBranch : r101_19
|
||||
# 101| r101_14(glval<int>) = VariableAddress[x2] :
|
||||
# 101| r101_15(int) = Load[x2] : &:r101_14, ~m?
|
||||
# 101| v101_16(void) = ConditionalBranch : r101_15
|
||||
#-----| False -> Block 33
|
||||
#-----| True -> Block 35
|
||||
|
||||
# 102| Block 37
|
||||
# 102| v102_6(void) = NoOp :
|
||||
# 102| v102_4(void) = NoOp :
|
||||
#-----| Goto -> Block 38
|
||||
|
||||
# 103| Block 38
|
||||
# 103| r103_1(glval<int>) = VariableAddress[x_1_and_2] :
|
||||
# 103| r103_2(int) = Load[x_1_and_2] : &:r103_1, ~m?
|
||||
# 103| r103_3(int) = Constant[0] :
|
||||
# 103| r103_4(bool) = CompareEQ : r103_2, r103_3
|
||||
# 103| v103_5(void) = ConditionalBranch : r103_4
|
||||
# 103| r103_3(int) = LogicalNot : r103_2
|
||||
# 103| v103_4(void) = ConditionalBranch : r103_3
|
||||
#-----| False -> Block 40
|
||||
#-----| True -> Block 39
|
||||
|
||||
# 103| Block 39
|
||||
# 103| v103_6(void) = NoOp :
|
||||
# 103| v103_5(void) = NoOp :
|
||||
#-----| Goto -> Block 40
|
||||
|
||||
# 104| Block 40
|
||||
@@ -18132,143 +18055,6 @@ ir.cpp:
|
||||
# 2724| v2724_10(void) = AliasedUse : ~m?
|
||||
# 2724| v2724_11(void) = ExitFunction :
|
||||
|
||||
ir23.cpp:
|
||||
# 1| bool consteval_1()
|
||||
# 1| Block 0
|
||||
# 1| v1_1(void) = EnterFunction :
|
||||
# 1| mu1_2(unknown) = AliasedDefinition :
|
||||
# 1| mu1_3(unknown) = InitializeNonLocal :
|
||||
# 6| r6_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 6| r6_2(bool) = Constant[0] :
|
||||
# 6| mu6_3(bool) = Store[#return] : &:r6_1, r6_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 1| Block 1
|
||||
# 1| r1_4(glval<bool>) = VariableAddress[#return] :
|
||||
# 1| v1_5(void) = ReturnValue : &:r1_4, ~m?
|
||||
# 1| v1_6(void) = AliasedUse : ~m?
|
||||
# 1| v1_7(void) = ExitFunction :
|
||||
|
||||
# 4| Block 2
|
||||
# 4| r4_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 4| r4_2(bool) = Constant[1] :
|
||||
# 4| mu4_3(bool) = Store[#return] : &:r4_1, r4_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 10| bool consteval_2()
|
||||
# 10| Block 0
|
||||
# 10| v10_1(void) = EnterFunction :
|
||||
# 10| mu10_2(unknown) = AliasedDefinition :
|
||||
# 10| mu10_3(unknown) = InitializeNonLocal :
|
||||
# 13| r13_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 13| r13_2(bool) = Constant[1] :
|
||||
# 13| mu13_3(bool) = Store[#return] : &:r13_1, r13_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 10| Block 1
|
||||
# 10| r10_4(glval<bool>) = VariableAddress[#return] :
|
||||
# 10| v10_5(void) = ReturnValue : &:r10_4, ~m?
|
||||
# 10| v10_6(void) = AliasedUse : ~m?
|
||||
# 10| v10_7(void) = ExitFunction :
|
||||
|
||||
# 15| Block 2
|
||||
# 15| r15_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 15| r15_2(bool) = Constant[0] :
|
||||
# 15| mu15_3(bool) = Store[#return] : &:r15_1, r15_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 19| bool consteval_3()
|
||||
# 19| Block 0
|
||||
# 19| v19_1(void) = EnterFunction :
|
||||
# 19| mu19_2(unknown) = AliasedDefinition :
|
||||
# 19| mu19_3(unknown) = InitializeNonLocal :
|
||||
# 21| v21_1(void) = NoOp :
|
||||
# 25| r25_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 25| r25_2(bool) = Constant[0] :
|
||||
# 25| mu25_3(bool) = Store[#return] : &:r25_1, r25_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 19| Block 1
|
||||
# 19| r19_4(glval<bool>) = VariableAddress[#return] :
|
||||
# 19| v19_5(void) = ReturnValue : &:r19_4, ~m?
|
||||
# 19| v19_6(void) = AliasedUse : ~m?
|
||||
# 19| v19_7(void) = ExitFunction :
|
||||
|
||||
# 22| Block 2
|
||||
# 22| r22_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 22| r22_2(bool) = Constant[1] :
|
||||
# 22| mu22_3(bool) = Store[#return] : &:r22_1, r22_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 28| bool consteval_4()
|
||||
# 28| Block 0
|
||||
# 28| v28_1(void) = EnterFunction :
|
||||
# 28| mu28_2(unknown) = AliasedDefinition :
|
||||
# 28| mu28_3(unknown) = InitializeNonLocal :
|
||||
# 31| r31_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 31| r31_2(bool) = Constant[1] :
|
||||
# 31| mu31_3(bool) = Store[#return] : &:r31_1, r31_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 28| Block 1
|
||||
# 28| r28_4(glval<bool>) = VariableAddress[#return] :
|
||||
# 28| v28_5(void) = ReturnValue : &:r28_4, ~m?
|
||||
# 28| v28_6(void) = AliasedUse : ~m?
|
||||
# 28| v28_7(void) = ExitFunction :
|
||||
|
||||
# 34| Block 2
|
||||
# 34| r34_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 34| r34_2(bool) = Constant[0] :
|
||||
# 34| mu34_3(bool) = Store[#return] : &:r34_1, r34_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 37| bool consteval_5()
|
||||
# 37| Block 0
|
||||
# 37| v37_1(void) = EnterFunction :
|
||||
# 37| mu37_2(unknown) = AliasedDefinition :
|
||||
# 37| mu37_3(unknown) = InitializeNonLocal :
|
||||
# 39| r39_1(glval<bool>) = VariableAddress[r] :
|
||||
# 39| r39_2(bool) = Constant[1] :
|
||||
# 39| mu39_3(bool) = Store[r] : &:r39_1, r39_2
|
||||
# 42| r42_1(bool) = Constant[0] :
|
||||
# 42| r42_2(glval<bool>) = VariableAddress[r] :
|
||||
# 42| mu42_3(bool) = Store[r] : &:r42_2, r42_1
|
||||
# 45| r45_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 45| r45_2(glval<bool>) = VariableAddress[r] :
|
||||
# 45| r45_3(bool) = Load[r] : &:r45_2, ~m?
|
||||
# 45| mu45_4(bool) = Store[#return] : &:r45_1, r45_3
|
||||
# 37| r37_4(glval<bool>) = VariableAddress[#return] :
|
||||
# 37| v37_5(void) = ReturnValue : &:r37_4, ~m?
|
||||
# 37| v37_6(void) = AliasedUse : ~m?
|
||||
# 37| v37_7(void) = ExitFunction :
|
||||
|
||||
# 48| bool consteval_6()
|
||||
# 48| Block 0
|
||||
# 48| v48_1(void) = EnterFunction :
|
||||
# 48| mu48_2(unknown) = AliasedDefinition :
|
||||
# 48| mu48_3(unknown) = InitializeNonLocal :
|
||||
# 50| r50_1(glval<bool>) = VariableAddress[r] :
|
||||
# 50| r50_2(bool) = Constant[1] :
|
||||
# 50| mu50_3(bool) = Store[r] : &:r50_1, r50_2
|
||||
# 52| v52_1(void) = NoOp :
|
||||
#-----| Goto -> Block 2
|
||||
|
||||
# 53| Block 1
|
||||
# 53| r53_1(bool) = Constant[0] :
|
||||
# 53| r53_2(glval<bool>) = VariableAddress[r] :
|
||||
# 53| mu53_3(bool) = Store[r] : &:r53_2, r53_1
|
||||
#-----| Goto -> Block 2
|
||||
|
||||
# 56| Block 2
|
||||
# 56| r56_1(glval<bool>) = VariableAddress[#return] :
|
||||
# 56| r56_2(glval<bool>) = VariableAddress[r] :
|
||||
# 56| r56_3(bool) = Load[r] : &:r56_2, ~m?
|
||||
# 56| mu56_4(bool) = Store[#return] : &:r56_1, r56_3
|
||||
# 48| r48_4(glval<bool>) = VariableAddress[#return] :
|
||||
# 48| v48_5(void) = ReturnValue : &:r48_4, ~m?
|
||||
# 48| v48_6(void) = AliasedUse : ~m?
|
||||
# 48| v48_7(void) = ExitFunction :
|
||||
|
||||
many-defs-per-use.cpp:
|
||||
# 34| void many_defs_per_use()
|
||||
# 34| Block 0
|
||||
@@ -37326,9 +37112,7 @@ try_except.c:
|
||||
# 33| mu33_3(int) = Store[x] : &:r33_1, r33_2
|
||||
# 35| r35_1(glval<int>) = VariableAddress[b] :
|
||||
# 35| r35_2(int) = Load[b] : &:r35_1, ~m?
|
||||
# 35| r35_3(int) = Constant[0] :
|
||||
# 35| r35_4(bool) = CompareNE : r35_2, r35_3
|
||||
# 35| v35_5(void) = ConditionalBranch : r35_4
|
||||
# 35| v35_3(void) = ConditionalBranch : r35_2
|
||||
#-----| False -> Block 8
|
||||
#-----| True -> Block 3
|
||||
|
||||
|
||||
@@ -30,4 +30,41 @@ thisArgumentIsNonPointer
|
||||
| ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
| ir.c:85:7:85:8 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:86:6:86:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:86:6:86:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:88:11:88:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:89:6:89:6 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:90:6:90:7 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:90:6:90:7 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:92:6:92:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:92:12:92:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:6:93:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:6:93:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:13:93:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:6:94:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:12:94:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:12:94:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:6:95:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:6:95:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:13:95:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:13:95:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:96:6:96:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:96:12:96:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:6:97:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:6:97:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:13:97:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:6:98:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:12:98:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:12:98:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:6:99:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:6:99:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:13:99:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:13:99:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:101:19:101:20 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:101:25:101:26 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:102:6:102:14 | ConditionalBranch: x_1_and_2 | Conditional branch instruction ConditionalBranch: x_1_and_2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:103:6:103:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:103:6:103:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) |
|
||||
missingCppType
|
||||
|
||||
@@ -30,4 +30,41 @@ thisArgumentIsNonPointer
|
||||
| ir.cpp:2546:34:2546:34 | Call: call to operator bool | Call instruction 'Call: call to operator bool' has a `this` argument operand that is not an address, in function '$@'. | ir.cpp:2545:6:2545:23 | void this_inconsistency(bool) | void this_inconsistency(bool) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
| ir.c:85:7:85:8 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:86:6:86:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:86:6:86:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:88:11:88:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:89:6:89:6 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:90:6:90:7 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:90:6:90:7 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:92:6:92:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:92:12:92:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:6:93:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:6:93:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:93:13:93:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:6:94:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:12:94:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:94:12:94:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:6:95:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:6:95:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:13:95:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:95:13:95:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:96:6:96:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:96:12:96:13 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:6:97:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:6:97:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:97:13:97:14 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:6:98:7 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:12:98:14 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:98:12:98:14 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:6:99:8 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:6:99:8 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:13:99:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:99:13:99:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:101:19:101:20 | ConditionalBranch: x1 | Conditional branch instruction ConditionalBranch: x1 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:101:25:101:26 | ConditionalBranch: x2 | Conditional branch instruction ConditionalBranch: x2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:102:6:102:14 | ConditionalBranch: x_1_and_2 | Conditional branch instruction ConditionalBranch: x_1_and_2 with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:103:6:103:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| ir.c:103:6:103:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | ir.c:84:6:84:28 | void branch_on_integral_in_c(int, int) | void branch_on_integral_in_c(int, int) |
|
||||
| try_except.c:35:13:35:13 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) |
|
||||
missingCppType
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#endif
|
||||
// semmle-extractor-options: -I${testdir}/more_headers/ "-U SOME_SYM"
|
||||
#undef BAR
|
||||
#define SCARY(a,aa,aaah) /* we ignore a */ (aa /* but we take aa */) /* and we ignore aaa */
|
||||
//#define SCARY(a,aa,aaah) /* we ignore a */ (aa /* but we take aa */) /* and we ignore aaa */
|
||||
#define LOG(fmt, ...) printf("Warning: %s", fmt, __VA__ARGS__)
|
||||
#include "pp.h"
|
||||
|
||||
@@ -68,10 +68,3 @@ int templateClassContext<T> :: val = MACRO_TEMPLATECLASSCONTEXT_REFERENCED;
|
||||
|
||||
#define INSTANTIATION
|
||||
templateClassContext<int> tcci;
|
||||
|
||||
#define BAR
|
||||
|
||||
#if defined(BAR) && \
|
||||
defined(BAR)
|
||||
#warning BAR defined
|
||||
#endif
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
#pragma once
|
||||
#warning "This should happen"
|
||||
//#warning "This should happen"
|
||||
#line 33 "emerald_city.h" // Magic!
|
||||
#pragma byte_order(big_endian)
|
||||
//#pragma byte_order(big_endian)
|
||||
#warning "Not in Kansas any more"
|
||||
|
||||
#define MULTILINE \
|
||||
//#define MULTILINE \
|
||||
/* Hello */ \
|
||||
world \
|
||||
/* from */ \
|
||||
a long \
|
||||
/* macro */
|
||||
#undef \
|
||||
//#undef \
|
||||
MULTILINE
|
||||
|
||||
#include \
|
||||
"pp.h" \
|
||||
//#include \
|
||||
<pp.h> \
|
||||
\
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 7 | 1 | 7 | 5 | PreprocessorElse | N/A | N/A |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 9 | 1 | 9 | 6 | PreprocessorEndif | N/A | N/A |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 11 | 1 | 11 | 10 | PreprocessorUndef | BAR | N/A |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 12 | 1 | 12 | 68 | Macro | SCARY(a,aa,aaah) | (aa ) |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 13 | 1 | 13 | 63 | Macro | LOG(fmt,__VA_ARGS__...) | printf("Warning: %s", fmt, __VA__ARGS__) |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 14 | 1 | 14 | 15 | Include | "pp.h" | N/A |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 16 | 1 | 16 | 5 | PreprocessorIf | 0 | N/A |
|
||||
@@ -28,15 +27,6 @@
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 60 | 3 | 60 | 21 | Macro | IN_TEMPLATE | |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 61 | 1 | 61 | 7 | PreprocessorEndif | N/A | N/A |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 69 | 1 | 69 | 21 | Macro | INSTANTIATION | |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 72 | 1 | 72 | 11 | Macro | BAR | |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 74 | 1 | 74 | 21 | PreprocessorIf | defined(BAR) && \\ | N/A |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 76 | 1 | 76 | 20 | PreprocessorWarning | BAR defined | N/A |
|
||||
| pp.cpp:0:0:0:0 | pp.cpp | 77 | 1 | 77 | 6 | PreprocessorEndif | N/A | N/A |
|
||||
| pp.h:0:0:0:0 | pp.h | 1 | 1 | 1 | 12 | PreprocessorPragma | once | N/A |
|
||||
| pp.h:0:0:0:0 | pp.h | 2 | 1 | 2 | 29 | PreprocessorWarning | "This should happen" | N/A |
|
||||
| pp.h:0:0:0:0 | pp.h | 3 | 1 | 3 | 27 | PreprocessorLine | 33 "emerald_city.h" | N/A |
|
||||
| pp.h:0:0:0:0 | pp.h | 4 | 1 | 4 | 30 | PreprocessorPragma | byte_order(big_endian) | N/A |
|
||||
| pp.h:0:0:0:0 | pp.h | 5 | 1 | 5 | 33 | PreprocessorWarning | "Not in Kansas any more" | N/A |
|
||||
| pp.h:0:0:0:0 | pp.h | 7 | 1 | 11 | 8 | Macro | MULTILINE | world a long |
|
||||
| pp.h:0:0:0:0 | pp.h | 13 | 1 | 14 | 11 | PreprocessorUndef | MULTILINE | N/A |
|
||||
| pp.h:0:0:0:0 | pp.h | 16 | 1 | 17 | 8 | Include | "pp.h" | N/A |
|
||||
|
||||
@@ -2,4 +2,3 @@
|
||||
| proxy_class.cpp:3:20:3:20 | T | ProxyClass |
|
||||
| proxy_class.cpp:3:20:3:20 | T | TypeTemplateParameter |
|
||||
| proxy_class.cpp:4:8:4:14 | Derived<Base> | Struct |
|
||||
| proxy_class.cpp:4:8:4:14 | Derived<T> | Struct |
|
||||
|
||||
@@ -412,270 +412,197 @@
|
||||
| test.c:389:20:389:21 | y3 | 0 |
|
||||
| test.c:389:25:389:26 | y4 | 100 |
|
||||
| test.c:389:30:389:31 | y5 | 0 |
|
||||
| test.c:394:14:394:14 | m | -Infinity |
|
||||
| test.c:394:18:394:18 | n | -Infinity |
|
||||
| test.c:394:22:394:22 | o | -Infinity |
|
||||
| test.c:394:26:394:26 | p | -Infinity |
|
||||
| test.c:394:30:394:30 | q | -Infinity |
|
||||
| test.c:395:14:395:14 | m | -Infinity |
|
||||
| test.c:395:18:395:18 | n | -Infinity |
|
||||
| test.c:395:22:395:22 | o | -Infinity |
|
||||
| test.c:395:26:395:26 | p | -Infinity |
|
||||
| test.c:395:30:395:30 | q | -Infinity |
|
||||
| test.c:396:14:396:14 | m | -Infinity |
|
||||
| test.c:396:18:396:18 | n | -Infinity |
|
||||
| test.c:396:22:396:22 | o | -Infinity |
|
||||
| test.c:396:26:396:26 | p | -Infinity |
|
||||
| test.c:396:30:396:30 | q | -Infinity |
|
||||
| test.c:397:14:397:14 | m | -Infinity |
|
||||
| test.c:397:18:397:18 | n | -Infinity |
|
||||
| test.c:397:22:397:22 | o | -Infinity |
|
||||
| test.c:397:26:397:26 | p | -Infinity |
|
||||
| test.c:397:30:397:30 | q | -Infinity |
|
||||
| test.c:398:14:398:14 | m | -Infinity |
|
||||
| test.c:398:18:398:18 | n | -Infinity |
|
||||
| test.c:398:22:398:22 | o | -Infinity |
|
||||
| test.c:398:26:398:26 | p | -Infinity |
|
||||
| test.c:398:30:398:30 | q | -Infinity |
|
||||
| test.c:399:14:399:14 | m | -Infinity |
|
||||
| test.c:399:18:399:18 | n | -Infinity |
|
||||
| test.c:399:22:399:22 | o | -Infinity |
|
||||
| test.c:399:26:399:26 | p | -Infinity |
|
||||
| test.c:399:30:399:30 | q | -Infinity |
|
||||
| test.c:400:14:400:14 | m | -Infinity |
|
||||
| test.c:400:18:400:18 | n | -Infinity |
|
||||
| test.c:400:22:400:22 | o | -Infinity |
|
||||
| test.c:400:26:400:26 | p | -Infinity |
|
||||
| test.c:400:30:400:30 | q | -Infinity |
|
||||
| test.c:401:14:401:14 | m | -Infinity |
|
||||
| test.c:401:18:401:18 | n | -Infinity |
|
||||
| test.c:401:22:401:22 | o | -Infinity |
|
||||
| test.c:401:26:401:26 | p | -Infinity |
|
||||
| test.c:401:30:401:30 | q | -Infinity |
|
||||
| test.c:402:14:402:14 | m | -Infinity |
|
||||
| test.c:402:18:402:18 | n | -Infinity |
|
||||
| test.c:402:22:402:22 | o | -Infinity |
|
||||
| test.c:402:26:402:26 | p | -Infinity |
|
||||
| test.c:402:30:402:30 | q | -Infinity |
|
||||
| test.c:403:14:403:14 | m | -Infinity |
|
||||
| test.c:403:18:403:18 | n | -Infinity |
|
||||
| test.c:403:22:403:22 | o | -Infinity |
|
||||
| test.c:403:26:403:26 | p | -Infinity |
|
||||
| test.c:403:30:403:30 | q | -Infinity |
|
||||
| test.c:404:14:404:14 | m | -Infinity |
|
||||
| test.c:404:18:404:18 | n | -Infinity |
|
||||
| test.c:404:22:404:22 | o | -Infinity |
|
||||
| test.c:404:26:404:26 | p | -Infinity |
|
||||
| test.c:404:30:404:30 | q | -Infinity |
|
||||
| test.c:405:14:405:14 | m | -Infinity |
|
||||
| test.c:405:18:405:18 | n | -Infinity |
|
||||
| test.c:405:22:405:22 | o | -Infinity |
|
||||
| test.c:405:26:405:26 | p | -Infinity |
|
||||
| test.c:405:30:405:30 | q | -Infinity |
|
||||
| test.c:411:19:411:19 | a | 0.143339 |
|
||||
| test.c:411:23:411:23 | b | 0.222479 |
|
||||
| test.c:411:27:411:27 | c | 0.051213 |
|
||||
| test.c:411:31:411:31 | d | 0.369769 |
|
||||
| test.c:411:35:411:35 | e | 0.105977 |
|
||||
| test.c:411:39:411:39 | f | 0.107867 |
|
||||
| test.c:411:43:411:43 | g | 0.025243 |
|
||||
| test.c:411:47:411:47 | h | 0.149635 |
|
||||
| test.c:411:51:411:51 | i | 0.053282 |
|
||||
| test.c:411:55:411:55 | j | 0.276432 |
|
||||
| test.c:411:59:411:59 | k | 0.205191 |
|
||||
| test.c:411:63:411:63 | l | 0.132041 |
|
||||
| test.c:413:10:413:15 | output | 1.842468 |
|
||||
| test.c:418:20:418:20 | x | 0 |
|
||||
| test.c:418:30:418:30 | x | 0 |
|
||||
| test.c:421:3:421:4 | y1 | 0 |
|
||||
| test.c:421:11:421:11 | y | 0 |
|
||||
| test.c:421:14:421:14 | y | 1 |
|
||||
| test.c:422:3:422:4 | y2 | 0 |
|
||||
| test.c:422:9:422:9 | y | 1 |
|
||||
| test.c:422:14:422:14 | y | 2 |
|
||||
| test.c:422:22:422:22 | y | 5 |
|
||||
| test.c:423:10:423:11 | y1 | 1 |
|
||||
| test.c:423:15:423:16 | y2 | 5 |
|
||||
| test.c:431:3:431:3 | i | -2147483648 |
|
||||
| test.c:432:7:432:7 | i | 10 |
|
||||
| test.c:434:3:434:3 | i | -2147483648 |
|
||||
| test.c:435:3:435:3 | i | 10 |
|
||||
| test.c:436:7:436:7 | i | 20 |
|
||||
| test.c:438:3:438:3 | i | -2147483648 |
|
||||
| test.c:439:3:439:3 | i | 40 |
|
||||
| test.c:440:7:440:7 | i | 30 |
|
||||
| test.c:442:3:442:3 | i | -2147483648 |
|
||||
| test.c:442:7:442:7 | j | -2147483648 |
|
||||
| test.c:443:7:443:7 | i | 40 |
|
||||
| test.c:445:3:445:3 | i | -2147483648 |
|
||||
| test.c:445:8:445:8 | j | 40 |
|
||||
| test.c:446:7:446:7 | i | 50 |
|
||||
| test.c:448:3:448:3 | i | -2147483648 |
|
||||
| test.c:448:13:448:13 | j | 50 |
|
||||
| test.c:449:7:449:7 | i | 60 |
|
||||
| test.c:456:12:456:12 | a | 0 |
|
||||
| test.c:456:17:456:17 | a | 3 |
|
||||
| test.c:456:33:456:33 | b | 0 |
|
||||
| test.c:456:38:456:38 | b | 5 |
|
||||
| test.c:457:13:457:13 | a | 3 |
|
||||
| test.c:457:15:457:15 | b | 5 |
|
||||
| test.c:458:5:458:9 | total | 0 |
|
||||
| test.c:458:14:458:14 | r | 15 |
|
||||
| test.c:460:12:460:12 | a | 0 |
|
||||
| test.c:460:17:460:17 | a | 3 |
|
||||
| test.c:460:33:460:33 | b | 0 |
|
||||
| test.c:460:38:460:38 | b | 0 |
|
||||
| test.c:461:13:461:13 | a | 3 |
|
||||
| test.c:461:15:461:15 | b | 0 |
|
||||
| test.c:462:5:462:9 | total | 0 |
|
||||
| test.c:462:14:462:14 | r | 0 |
|
||||
| test.c:464:12:464:12 | a | 0 |
|
||||
| test.c:464:17:464:17 | a | 3 |
|
||||
| test.c:464:34:464:34 | b | 0 |
|
||||
| test.c:464:39:464:39 | b | 13 |
|
||||
| test.c:465:13:465:13 | a | 3 |
|
||||
| test.c:465:15:465:15 | b | 13 |
|
||||
| test.c:466:5:466:9 | total | 0 |
|
||||
| test.c:466:14:466:14 | r | 39 |
|
||||
| test.c:469:10:469:14 | total | 0 |
|
||||
| test.c:475:12:475:12 | b | 0 |
|
||||
| test.c:475:17:475:17 | b | 5 |
|
||||
| test.c:476:16:476:16 | b | 5 |
|
||||
| test.c:477:5:477:9 | total | 0 |
|
||||
| test.c:477:14:477:14 | r | 55 |
|
||||
| test.c:479:12:479:12 | b | 0 |
|
||||
| test.c:479:17:479:17 | b | 0 |
|
||||
| test.c:480:16:480:16 | b | 0 |
|
||||
| test.c:481:5:481:9 | total | 0 |
|
||||
| test.c:481:14:481:14 | r | 0 |
|
||||
| test.c:483:13:483:13 | b | 0 |
|
||||
| test.c:483:18:483:18 | b | 13 |
|
||||
| test.c:484:16:484:16 | b | 13 |
|
||||
| test.c:485:5:485:9 | total | 0 |
|
||||
| test.c:485:14:485:14 | r | 143 |
|
||||
| test.c:488:10:488:14 | total | 0 |
|
||||
| test.c:493:3:493:3 | x | 0 |
|
||||
| test.c:493:7:493:7 | y | 0 |
|
||||
| test.c:494:3:494:4 | xy | 0 |
|
||||
| test.c:494:8:494:8 | x | 1000000003 |
|
||||
| test.c:494:12:494:12 | y | 1000000003 |
|
||||
| test.c:495:10:495:11 | xy | 1000000006000000000 |
|
||||
| test.c:500:3:500:3 | x | 0 |
|
||||
| test.c:501:3:501:3 | y | 0 |
|
||||
| test.c:502:3:502:4 | xy | 0 |
|
||||
| test.c:502:8:502:8 | x | 274177 |
|
||||
| test.c:502:12:502:12 | y | 67280421310721 |
|
||||
| test.c:503:10:503:11 | xy | 18446744073709551616 |
|
||||
| test.c:507:7:507:8 | ui | 0 |
|
||||
| test.c:508:43:508:44 | ui | 10 |
|
||||
| test.c:508:48:508:49 | ui | 10 |
|
||||
| test.c:509:12:509:17 | result | 100 |
|
||||
| test.c:511:7:511:8 | ul | 0 |
|
||||
| test.c:512:28:512:29 | ul | 10 |
|
||||
| test.c:512:33:512:34 | ul | 10 |
|
||||
| test.c:513:12:513:17 | result | 0 |
|
||||
| test.c:519:7:519:8 | ui | 0 |
|
||||
| test.c:519:19:519:20 | ui | 0 |
|
||||
| test.c:520:5:520:6 | ui | 2 |
|
||||
| test.c:520:11:520:12 | ui | 2 |
|
||||
| test.c:521:12:521:13 | ui | 4 |
|
||||
| test.c:525:3:525:9 | uiconst | 10 |
|
||||
| test.c:528:3:528:9 | ulconst | 10 |
|
||||
| test.c:529:10:529:16 | uiconst | 40 |
|
||||
| test.c:529:20:529:26 | ulconst | 40 |
|
||||
| test.c:533:7:533:7 | i | -2147483648 |
|
||||
| test.c:533:18:533:18 | i | -1 |
|
||||
| test.c:534:5:534:5 | i | -2147483648 |
|
||||
| test.c:534:13:534:13 | i | -1 |
|
||||
| test.c:535:9:535:9 | i | -5 |
|
||||
| test.c:537:5:537:5 | i | -2147483648 |
|
||||
| test.c:537:9:537:9 | i | -5 |
|
||||
| test.c:538:9:538:9 | i | -30 |
|
||||
| test.c:540:5:540:5 | i | -30 |
|
||||
| test.c:541:9:541:9 | i | -210 |
|
||||
| test.c:543:5:543:5 | i | -210 |
|
||||
| test.c:544:9:544:9 | i | -1155 |
|
||||
| test.c:546:7:546:7 | i | -2147483648 |
|
||||
| test.c:547:5:547:5 | i | -2147483648 |
|
||||
| test.c:547:9:547:9 | i | -1 |
|
||||
| test.c:548:9:548:9 | i | 1 |
|
||||
| test.c:550:3:550:3 | i | -2147483648 |
|
||||
| test.c:550:7:550:7 | i | -2147483648 |
|
||||
| test.c:551:10:551:10 | i | -2147483648 |
|
||||
| test.c:554:3:554:3 | i | -2147483648 |
|
||||
| test.c:554:10:554:11 | sc | 1 |
|
||||
| test.c:556:7:556:7 | i | -128 |
|
||||
| test.c:563:7:563:7 | n | 0 |
|
||||
| test.c:565:7:565:7 | n | 0 |
|
||||
| test.c:566:9:566:9 | n | 1 |
|
||||
| test.c:569:7:569:7 | n | 0 |
|
||||
| test.c:570:9:570:9 | n | 1 |
|
||||
| test.c:572:9:572:9 | n | 0 |
|
||||
| test.c:575:8:575:8 | n | 0 |
|
||||
| test.c:576:9:576:9 | n | 0 |
|
||||
| test.c:578:9:578:9 | n | 1 |
|
||||
| test.c:581:10:581:10 | n | 0 |
|
||||
| test.c:582:5:582:5 | n | 1 |
|
||||
| test.c:585:7:585:7 | n | 0 |
|
||||
| test.c:589:7:589:7 | n | -32768 |
|
||||
| test.c:592:7:592:7 | n | 0 |
|
||||
| test.c:593:9:593:9 | n | 0 |
|
||||
| test.c:595:9:595:9 | n | 1 |
|
||||
| test.c:598:7:598:7 | n | 0 |
|
||||
| test.c:599:9:599:9 | n | 1 |
|
||||
| test.c:601:9:601:9 | n | 0 |
|
||||
| test.c:604:10:604:10 | n | 0 |
|
||||
| test.c:605:5:605:5 | n | 1 |
|
||||
| test.c:608:7:608:7 | n | 0 |
|
||||
| test.c:612:7:612:7 | n | -32768 |
|
||||
| test.c:613:9:613:9 | n | -32768 |
|
||||
| test.c:614:11:614:11 | n | 0 |
|
||||
| test.c:618:7:618:7 | n | -32768 |
|
||||
| test.c:619:13:619:13 | n | 5 |
|
||||
| test.c:622:9:622:9 | n | 6 |
|
||||
| test.c:625:7:625:7 | n | -32768 |
|
||||
| test.c:625:22:625:22 | n | -32767 |
|
||||
| test.c:626:9:626:9 | n | -32766 |
|
||||
| test.c:629:7:629:7 | n | -32768 |
|
||||
| test.c:630:5:630:5 | n | 0 |
|
||||
| test.c:630:10:630:10 | n | 1 |
|
||||
| test.c:630:14:630:14 | n | 0 |
|
||||
| test.c:631:6:631:6 | n | 0 |
|
||||
| test.c:631:10:631:10 | n | 0 |
|
||||
| test.c:631:14:631:14 | n | 1 |
|
||||
| test.c:642:7:642:8 | ss | -32768 |
|
||||
| test.c:643:9:643:10 | ss | 0 |
|
||||
| test.c:646:7:646:8 | ss | -32768 |
|
||||
| test.c:647:9:647:10 | ss | -32768 |
|
||||
| test.c:650:14:650:15 | us | 0 |
|
||||
| test.c:651:9:651:10 | us | 0 |
|
||||
| test.c:654:14:654:15 | us | 0 |
|
||||
| test.c:655:9:655:10 | us | 0 |
|
||||
| test.c:658:7:658:8 | ss | -32768 |
|
||||
| test.c:659:9:659:10 | ss | -32768 |
|
||||
| test.c:662:7:662:8 | ss | -32768 |
|
||||
| test.c:663:9:663:10 | ss | -1 |
|
||||
| test.c:669:8:669:8 | s | -2147483648 |
|
||||
| test.c:669:15:669:15 | s | 0 |
|
||||
| test.c:669:23:669:23 | s | 0 |
|
||||
| test.c:670:18:670:18 | s | 0 |
|
||||
| test.c:670:22:670:22 | s | 0 |
|
||||
| test.c:671:9:671:14 | result | 0 |
|
||||
| test.c:677:7:677:7 | i | 0 |
|
||||
| test.c:678:9:678:9 | i | -2147483648 |
|
||||
| test.c:682:7:682:7 | u | 0 |
|
||||
| test.c:683:9:683:9 | u | 0 |
|
||||
| test.c:688:12:688:12 | s | -2147483648 |
|
||||
| test.c:689:7:689:8 | s2 | -4 |
|
||||
| test.c:694:7:694:7 | x | -2147483648 |
|
||||
| test.c:695:9:695:9 | y | -2147483648 |
|
||||
| test.c:699:7:699:7 | y | -2147483648 |
|
||||
| test.c:708:7:708:7 | x | -2147483648 |
|
||||
| test.c:713:7:713:7 | x | -2147483648 |
|
||||
| test.c:720:8:720:8 | x | 2147483647 |
|
||||
| test.c:720:12:720:12 | y | 256 |
|
||||
| test.c:721:9:721:9 | x | 2147483647 |
|
||||
| test.c:722:9:722:9 | y | 256 |
|
||||
| test.c:394:20:394:20 | x | 0 |
|
||||
| test.c:394:30:394:30 | x | 0 |
|
||||
| test.c:397:3:397:4 | y1 | 0 |
|
||||
| test.c:397:11:397:11 | y | 0 |
|
||||
| test.c:397:14:397:14 | y | 1 |
|
||||
| test.c:398:3:398:4 | y2 | 0 |
|
||||
| test.c:398:9:398:9 | y | 1 |
|
||||
| test.c:398:14:398:14 | y | 2 |
|
||||
| test.c:398:22:398:22 | y | 5 |
|
||||
| test.c:399:10:399:11 | y1 | 1 |
|
||||
| test.c:399:15:399:16 | y2 | 5 |
|
||||
| test.c:407:3:407:3 | i | -2147483648 |
|
||||
| test.c:408:7:408:7 | i | 10 |
|
||||
| test.c:410:3:410:3 | i | -2147483648 |
|
||||
| test.c:411:3:411:3 | i | 10 |
|
||||
| test.c:412:7:412:7 | i | 20 |
|
||||
| test.c:414:3:414:3 | i | -2147483648 |
|
||||
| test.c:415:3:415:3 | i | 40 |
|
||||
| test.c:416:7:416:7 | i | 30 |
|
||||
| test.c:418:3:418:3 | i | -2147483648 |
|
||||
| test.c:418:7:418:7 | j | -2147483648 |
|
||||
| test.c:419:7:419:7 | i | 40 |
|
||||
| test.c:421:3:421:3 | i | -2147483648 |
|
||||
| test.c:421:8:421:8 | j | 40 |
|
||||
| test.c:422:7:422:7 | i | 50 |
|
||||
| test.c:424:3:424:3 | i | -2147483648 |
|
||||
| test.c:424:13:424:13 | j | 50 |
|
||||
| test.c:425:7:425:7 | i | 60 |
|
||||
| test.c:432:12:432:12 | a | 0 |
|
||||
| test.c:432:17:432:17 | a | 3 |
|
||||
| test.c:432:33:432:33 | b | 0 |
|
||||
| test.c:432:38:432:38 | b | 5 |
|
||||
| test.c:433:13:433:13 | a | 3 |
|
||||
| test.c:433:15:433:15 | b | 5 |
|
||||
| test.c:434:5:434:9 | total | 0 |
|
||||
| test.c:434:14:434:14 | r | 15 |
|
||||
| test.c:436:12:436:12 | a | 0 |
|
||||
| test.c:436:17:436:17 | a | 3 |
|
||||
| test.c:436:33:436:33 | b | 0 |
|
||||
| test.c:436:38:436:38 | b | 0 |
|
||||
| test.c:437:13:437:13 | a | 3 |
|
||||
| test.c:437:15:437:15 | b | 0 |
|
||||
| test.c:438:5:438:9 | total | 0 |
|
||||
| test.c:438:14:438:14 | r | 0 |
|
||||
| test.c:440:12:440:12 | a | 0 |
|
||||
| test.c:440:17:440:17 | a | 3 |
|
||||
| test.c:440:34:440:34 | b | 0 |
|
||||
| test.c:440:39:440:39 | b | 13 |
|
||||
| test.c:441:13:441:13 | a | 3 |
|
||||
| test.c:441:15:441:15 | b | 13 |
|
||||
| test.c:442:5:442:9 | total | 0 |
|
||||
| test.c:442:14:442:14 | r | 39 |
|
||||
| test.c:445:10:445:14 | total | 0 |
|
||||
| test.c:451:12:451:12 | b | 0 |
|
||||
| test.c:451:17:451:17 | b | 5 |
|
||||
| test.c:452:16:452:16 | b | 5 |
|
||||
| test.c:453:5:453:9 | total | 0 |
|
||||
| test.c:453:14:453:14 | r | 55 |
|
||||
| test.c:455:12:455:12 | b | 0 |
|
||||
| test.c:455:17:455:17 | b | 0 |
|
||||
| test.c:456:16:456:16 | b | 0 |
|
||||
| test.c:457:5:457:9 | total | 0 |
|
||||
| test.c:457:14:457:14 | r | 0 |
|
||||
| test.c:459:13:459:13 | b | 0 |
|
||||
| test.c:459:18:459:18 | b | 13 |
|
||||
| test.c:460:16:460:16 | b | 13 |
|
||||
| test.c:461:5:461:9 | total | 0 |
|
||||
| test.c:461:14:461:14 | r | 143 |
|
||||
| test.c:464:10:464:14 | total | 0 |
|
||||
| test.c:469:3:469:3 | x | 0 |
|
||||
| test.c:469:7:469:7 | y | 0 |
|
||||
| test.c:470:3:470:4 | xy | 0 |
|
||||
| test.c:470:8:470:8 | x | 1000000003 |
|
||||
| test.c:470:12:470:12 | y | 1000000003 |
|
||||
| test.c:471:10:471:11 | xy | 1000000006000000000 |
|
||||
| test.c:476:3:476:3 | x | 0 |
|
||||
| test.c:477:3:477:3 | y | 0 |
|
||||
| test.c:478:3:478:4 | xy | 0 |
|
||||
| test.c:478:8:478:8 | x | 274177 |
|
||||
| test.c:478:12:478:12 | y | 67280421310721 |
|
||||
| test.c:479:10:479:11 | xy | 18446744073709551616 |
|
||||
| test.c:483:7:483:8 | ui | 0 |
|
||||
| test.c:484:43:484:44 | ui | 10 |
|
||||
| test.c:484:48:484:49 | ui | 10 |
|
||||
| test.c:485:12:485:17 | result | 100 |
|
||||
| test.c:487:7:487:8 | ul | 0 |
|
||||
| test.c:488:28:488:29 | ul | 10 |
|
||||
| test.c:488:33:488:34 | ul | 10 |
|
||||
| test.c:489:12:489:17 | result | 0 |
|
||||
| test.c:495:7:495:8 | ui | 0 |
|
||||
| test.c:495:19:495:20 | ui | 0 |
|
||||
| test.c:496:5:496:6 | ui | 2 |
|
||||
| test.c:496:11:496:12 | ui | 2 |
|
||||
| test.c:497:12:497:13 | ui | 4 |
|
||||
| test.c:501:3:501:9 | uiconst | 10 |
|
||||
| test.c:504:3:504:9 | ulconst | 10 |
|
||||
| test.c:505:10:505:16 | uiconst | 40 |
|
||||
| test.c:505:20:505:26 | ulconst | 40 |
|
||||
| test.c:509:7:509:7 | i | -2147483648 |
|
||||
| test.c:509:18:509:18 | i | -1 |
|
||||
| test.c:510:5:510:5 | i | -2147483648 |
|
||||
| test.c:510:13:510:13 | i | -1 |
|
||||
| test.c:511:9:511:9 | i | -5 |
|
||||
| test.c:513:5:513:5 | i | -2147483648 |
|
||||
| test.c:513:9:513:9 | i | -5 |
|
||||
| test.c:514:9:514:9 | i | -30 |
|
||||
| test.c:516:5:516:5 | i | -30 |
|
||||
| test.c:517:9:517:9 | i | -210 |
|
||||
| test.c:519:5:519:5 | i | -210 |
|
||||
| test.c:520:9:520:9 | i | -1155 |
|
||||
| test.c:522:7:522:7 | i | -2147483648 |
|
||||
| test.c:523:5:523:5 | i | -2147483648 |
|
||||
| test.c:523:9:523:9 | i | -1 |
|
||||
| test.c:524:9:524:9 | i | 1 |
|
||||
| test.c:526:3:526:3 | i | -2147483648 |
|
||||
| test.c:526:7:526:7 | i | -2147483648 |
|
||||
| test.c:527:10:527:10 | i | -2147483648 |
|
||||
| test.c:530:3:530:3 | i | -2147483648 |
|
||||
| test.c:530:10:530:11 | sc | 1 |
|
||||
| test.c:532:7:532:7 | i | -128 |
|
||||
| test.c:539:7:539:7 | n | 0 |
|
||||
| test.c:541:7:541:7 | n | 0 |
|
||||
| test.c:542:9:542:9 | n | 1 |
|
||||
| test.c:545:7:545:7 | n | 0 |
|
||||
| test.c:546:9:546:9 | n | 1 |
|
||||
| test.c:548:9:548:9 | n | 0 |
|
||||
| test.c:551:8:551:8 | n | 0 |
|
||||
| test.c:552:9:552:9 | n | 0 |
|
||||
| test.c:554:9:554:9 | n | 1 |
|
||||
| test.c:557:10:557:10 | n | 0 |
|
||||
| test.c:558:5:558:5 | n | 1 |
|
||||
| test.c:561:7:561:7 | n | 0 |
|
||||
| test.c:565:7:565:7 | n | -32768 |
|
||||
| test.c:568:7:568:7 | n | 0 |
|
||||
| test.c:569:9:569:9 | n | 0 |
|
||||
| test.c:571:9:571:9 | n | 1 |
|
||||
| test.c:574:7:574:7 | n | 0 |
|
||||
| test.c:575:9:575:9 | n | 1 |
|
||||
| test.c:577:9:577:9 | n | 0 |
|
||||
| test.c:580:10:580:10 | n | 0 |
|
||||
| test.c:581:5:581:5 | n | 1 |
|
||||
| test.c:584:7:584:7 | n | 0 |
|
||||
| test.c:588:7:588:7 | n | -32768 |
|
||||
| test.c:589:9:589:9 | n | -32768 |
|
||||
| test.c:590:11:590:11 | n | 0 |
|
||||
| test.c:594:7:594:7 | n | -32768 |
|
||||
| test.c:595:13:595:13 | n | 5 |
|
||||
| test.c:598:9:598:9 | n | 6 |
|
||||
| test.c:601:7:601:7 | n | -32768 |
|
||||
| test.c:601:22:601:22 | n | -32767 |
|
||||
| test.c:602:9:602:9 | n | -32766 |
|
||||
| test.c:605:7:605:7 | n | -32768 |
|
||||
| test.c:606:5:606:5 | n | 0 |
|
||||
| test.c:606:10:606:10 | n | 1 |
|
||||
| test.c:606:14:606:14 | n | 0 |
|
||||
| test.c:607:6:607:6 | n | 0 |
|
||||
| test.c:607:10:607:10 | n | 0 |
|
||||
| test.c:607:14:607:14 | n | 1 |
|
||||
| test.c:618:7:618:8 | ss | -32768 |
|
||||
| test.c:619:9:619:10 | ss | 0 |
|
||||
| test.c:622:7:622:8 | ss | -32768 |
|
||||
| test.c:623:9:623:10 | ss | -32768 |
|
||||
| test.c:626:14:626:15 | us | 0 |
|
||||
| test.c:627:9:627:10 | us | 0 |
|
||||
| test.c:630:14:630:15 | us | 0 |
|
||||
| test.c:631:9:631:10 | us | 0 |
|
||||
| test.c:634:7:634:8 | ss | -32768 |
|
||||
| test.c:635:9:635:10 | ss | -32768 |
|
||||
| test.c:638:7:638:8 | ss | -32768 |
|
||||
| test.c:639:9:639:10 | ss | -1 |
|
||||
| test.c:645:8:645:8 | s | -2147483648 |
|
||||
| test.c:645:15:645:15 | s | 0 |
|
||||
| test.c:645:23:645:23 | s | 0 |
|
||||
| test.c:646:18:646:18 | s | 0 |
|
||||
| test.c:646:22:646:22 | s | 0 |
|
||||
| test.c:647:9:647:14 | result | 0 |
|
||||
| test.c:653:7:653:7 | i | 0 |
|
||||
| test.c:654:9:654:9 | i | -2147483648 |
|
||||
| test.c:658:7:658:7 | u | 0 |
|
||||
| test.c:659:9:659:9 | u | 0 |
|
||||
| test.c:664:12:664:12 | s | -2147483648 |
|
||||
| test.c:665:7:665:8 | s2 | -4 |
|
||||
| test.c:670:7:670:7 | x | -2147483648 |
|
||||
| test.c:671:9:671:9 | y | -2147483648 |
|
||||
| test.c:675:7:675:7 | y | -2147483648 |
|
||||
| test.c:684:7:684:7 | x | -2147483648 |
|
||||
| test.c:689:7:689:7 | x | -2147483648 |
|
||||
| test.c:696:8:696:8 | x | 2147483647 |
|
||||
| test.c:696:12:696:12 | y | 256 |
|
||||
| test.c:697:9:697:9 | x | 2147483647 |
|
||||
| test.c:698:9:698:9 | y | 256 |
|
||||
| test.cpp:10:7:10:7 | b | -2147483648 |
|
||||
| test.cpp:11:5:11:5 | x | -2147483648 |
|
||||
| test.cpp:13:10:13:10 | x | -2147483648 |
|
||||
|
||||
@@ -12,68 +12,8 @@
|
||||
| test.c:385:10:385:21 | ... ? ... : ... | 0.0 | 0.0 | 5.0 |
|
||||
| test.c:386:10:386:21 | ... ? ... : ... | 100.0 | 100.0 | 5.0 |
|
||||
| test.c:387:10:387:38 | ... ? ... : ... | 0.0 | 100.0 | 5.0 |
|
||||
| test.c:394:14:394:108 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.40496805 |
|
||||
| test.c:394:18:394:95 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.21540225 |
|
||||
| test.c:394:22:394:82 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.39206458 |
|
||||
| test.c:394:26:394:69 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.35279203 |
|
||||
| test.c:394:30:394:56 | ... ? ... : ... | 0.14333887 | 0.47438827 | 0.14333887 |
|
||||
| test.c:395:14:395:108 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.5297741 |
|
||||
| test.c:395:18:395:95 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.59270465 |
|
||||
| test.c:395:22:395:82 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.32661893 |
|
||||
| test.c:395:26:395:69 | ... ? ... : ... | 0.22247853 | 0.34183348 | 0.22247853 |
|
||||
| test.c:395:30:395:56 | ... ? ... : ... | 0.34183348 | 0.34183348 | 0.3533464 |
|
||||
| test.c:396:14:396:108 | ... ? ... : ... | 0.05121256 | 0.05121256 | 0.67981451 |
|
||||
| test.c:396:18:396:95 | ... ? ... : ... | 0.05121256 | 0.05121256 | 0.79310745 |
|
||||
| test.c:396:22:396:82 | ... ? ... : ... | 0.05121256 | 0.31235514 | 0.05121256 |
|
||||
| test.c:396:26:396:69 | ... ? ... : ... | 0.31235514 | 0.31478084 | 0.31235514 |
|
||||
| test.c:396:30:396:56 | ... ? ... : ... | 0.31478084 | 0.77429603 | 0.31478084 |
|
||||
| test.c:397:14:397:108 | ... ? ... : ... | 0.36976948 | 0.36976948 | 0.83866835 |
|
||||
| test.c:397:18:397:95 | ... ? ... : ... | 0.36976948 | 0.44729556 | 0.36976948 |
|
||||
| test.c:397:22:397:82 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.59952732 |
|
||||
| test.c:397:26:397:69 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.98997262 |
|
||||
| test.c:397:30:397:56 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.80599202 |
|
||||
| test.c:398:14:398:108 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.68734874 |
|
||||
| test.c:398:18:398:95 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.72485966 |
|
||||
| test.c:398:22:398:82 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.21778426 |
|
||||
| test.c:398:26:398:69 | ... ? ... : ... | 0.10597712 | 0.49311828 | 0.10597712 |
|
||||
| test.c:398:30:398:56 | ... ? ... : ... | 0.49311828 | 0.49311828 | 0.90389911 |
|
||||
| test.c:399:14:399:108 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.58440865 |
|
||||
| test.c:399:18:399:95 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.34808892 |
|
||||
| test.c:399:22:399:82 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.76164052 |
|
||||
| test.c:399:26:399:69 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.11884576 |
|
||||
| test.c:399:30:399:56 | ... ? ... : ... | 0.1078665 | 0.47452848 | 0.1078665 |
|
||||
| test.c:400:14:400:108 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.36232384 |
|
||||
| test.c:400:18:400:95 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.85235179 |
|
||||
| test.c:400:22:400:82 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.12516558 |
|
||||
| test.c:400:26:400:69 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.95823075 |
|
||||
| test.c:400:30:400:56 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.82905046 |
|
||||
| test.c:401:14:401:108 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.84331272 |
|
||||
| test.c:401:18:401:95 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.48640909 |
|
||||
| test.c:401:22:401:82 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.45041108 |
|
||||
| test.c:401:26:401:69 | ... ? ... : ... | 0.14963485 | 0.32876044 | 0.14963485 |
|
||||
| test.c:401:30:401:56 | ... ? ... : ... | 0.32876044 | 0.38708626 | 0.32876044 |
|
||||
| test.c:402:14:402:108 | ... ? ... : ... | 0.05328182 | 0.14800508 | 0.05328182 |
|
||||
| test.c:402:18:402:95 | ... ? ... : ... | 0.14800508 | 0.14800508 | 0.37428143 |
|
||||
| test.c:402:22:402:82 | ... ? ... : ... | 0.14800508 | 0.15755063 | 0.14800508 |
|
||||
| test.c:402:26:402:69 | ... ? ... : ... | 0.15755063 | 0.15755063 | 0.26428481 |
|
||||
| test.c:402:30:402:56 | ... ? ... : ... | 0.15755063 | 0.15755063 | 0.77086833 |
|
||||
| test.c:403:14:403:108 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.69072144 |
|
||||
| test.c:403:18:403:95 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.39468857 |
|
||||
| test.c:403:22:403:82 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.55679274 |
|
||||
| test.c:403:26:403:69 | ... ? ... : ... | 0.27643238 | 0.41736536 | 0.27643238 |
|
||||
| test.c:403:30:403:56 | ... ? ... : ... | 0.41736536 | 0.41736536 | 0.76826628 |
|
||||
| test.c:404:14:404:108 | ... ? ... : ... | 0.2051911 | 0.2051911 | 0.81372798 |
|
||||
| test.c:404:18:404:95 | ... ? ... : ... | 0.2051911 | 0.2051911 | 0.88745559 |
|
||||
| test.c:404:22:404:82 | ... ? ... : ... | 0.2051911 | 0.29904824 | 0.2051911 |
|
||||
| test.c:404:26:404:69 | ... ? ... : ... | 0.29904824 | 0.29904824 | 0.76242583 |
|
||||
| test.c:404:30:404:56 | ... ? ... : ... | 0.29904824 | 0.88955345 | 0.29904824 |
|
||||
| test.c:405:14:405:108 | ... ? ... : ... | 0.13204114 | 0.13204114 | 0.42762647 |
|
||||
| test.c:405:18:405:95 | ... ? ... : ... | 0.13204114 | 0.13204114 | 0.52031241 |
|
||||
| test.c:405:22:405:82 | ... ? ... : ... | 0.13204114 | 0.42186276 | 0.13204114 |
|
||||
| test.c:405:26:405:69 | ... ? ... : ... | 0.42186276 | 0.42186276 | 0.44996679 |
|
||||
| test.c:405:30:405:56 | ... ? ... : ... | 0.42186276 | 0.42186276 | 0.53843358 |
|
||||
| test.c:418:20:418:36 | ... ? ... : ... | 0.0 | 0.0 | 100.0 |
|
||||
| test.c:630:5:630:14 | ... ? ... : ... | 0.0 | 1.0 | 0.0 |
|
||||
| test.c:631:5:631:14 | ... ? ... : ... | 0.0 | 0.0 | 1.0 |
|
||||
| test.c:394:20:394:36 | ... ? ... : ... | 0.0 | 0.0 | 100.0 |
|
||||
| test.c:606:5:606:14 | ... ? ... : ... | 0.0 | 1.0 | 0.0 |
|
||||
| test.c:607:5:607:14 | ... ? ... : ... | 0.0 | 0.0 | 1.0 |
|
||||
| test.cpp:121:3:121:12 | ... ? ... : ... | 0.0 | 1.0 | 0.0 |
|
||||
| test.cpp:122:3:122:12 | ... ? ... : ... | 0.0 | 0.0 | 1.0 |
|
||||
|
||||
@@ -12,68 +12,8 @@
|
||||
| test.c:385:10:385:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 5.0 |
|
||||
| test.c:386:10:386:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 5.0 |
|
||||
| test.c:387:10:387:38 | ... ? ... : ... | 255.0 | 4.294967295E9 | 5.0 |
|
||||
| test.c:394:14:394:108 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.40496805 |
|
||||
| test.c:394:18:394:95 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.21540225 |
|
||||
| test.c:394:22:394:82 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.39206458 |
|
||||
| test.c:394:26:394:69 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.35279203 |
|
||||
| test.c:394:30:394:56 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.14333887 |
|
||||
| test.c:395:14:395:108 | ... ? ... : ... | 0.59270465 | 0.59270465 | 0.5297741 |
|
||||
| test.c:395:18:395:95 | ... ? ... : ... | 0.59270465 | 0.3533464 | 0.59270465 |
|
||||
| test.c:395:22:395:82 | ... ? ... : ... | 0.3533464 | 0.3533464 | 0.32661893 |
|
||||
| test.c:395:26:395:69 | ... ? ... : ... | 0.3533464 | 0.3533464 | 0.22247853 |
|
||||
| test.c:395:30:395:56 | ... ? ... : ... | 0.3533464 | 0.34183348 | 0.3533464 |
|
||||
| test.c:396:14:396:108 | ... ? ... : ... | 0.79310745 | 0.79310745 | 0.67981451 |
|
||||
| test.c:396:18:396:95 | ... ? ... : ... | 0.79310745 | 0.77429603 | 0.79310745 |
|
||||
| test.c:396:22:396:82 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.05121256 |
|
||||
| test.c:396:26:396:69 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.31235514 |
|
||||
| test.c:396:30:396:56 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.31478084 |
|
||||
| test.c:397:14:397:108 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.83866835 |
|
||||
| test.c:397:18:397:95 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.36976948 |
|
||||
| test.c:397:22:397:82 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.59952732 |
|
||||
| test.c:397:26:397:69 | ... ? ... : ... | 0.98997262 | 0.80599202 | 0.98997262 |
|
||||
| test.c:397:30:397:56 | ... ? ... : ... | 0.80599202 | 0.44729556 | 0.80599202 |
|
||||
| test.c:398:14:398:108 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.68734874 |
|
||||
| test.c:398:18:398:95 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.72485966 |
|
||||
| test.c:398:22:398:82 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.21778426 |
|
||||
| test.c:398:26:398:69 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.10597712 |
|
||||
| test.c:398:30:398:56 | ... ? ... : ... | 0.90389911 | 0.49311828 | 0.90389911 |
|
||||
| test.c:399:14:399:108 | ... ? ... : ... | 0.76164052 | 0.76164052 | 0.58440865 |
|
||||
| test.c:399:18:399:95 | ... ? ... : ... | 0.76164052 | 0.76164052 | 0.34808892 |
|
||||
| test.c:399:22:399:82 | ... ? ... : ... | 0.76164052 | 0.47452848 | 0.76164052 |
|
||||
| test.c:399:26:399:69 | ... ? ... : ... | 0.47452848 | 0.47452848 | 0.11884576 |
|
||||
| test.c:399:30:399:56 | ... ? ... : ... | 0.47452848 | 0.47452848 | 0.1078665 |
|
||||
| test.c:400:14:400:108 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.36232384 |
|
||||
| test.c:400:18:400:95 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.85235179 |
|
||||
| test.c:400:22:400:82 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.12516558 |
|
||||
| test.c:400:26:400:69 | ... ? ... : ... | 0.95823075 | 0.82905046 | 0.95823075 |
|
||||
| test.c:400:30:400:56 | ... ? ... : ... | 0.82905046 | 0.02524326 | 0.82905046 |
|
||||
| test.c:401:14:401:108 | ... ? ... : ... | 0.84331272 | 0.48640909 | 0.84331272 |
|
||||
| test.c:401:18:401:95 | ... ? ... : ... | 0.48640909 | 0.45041108 | 0.48640909 |
|
||||
| test.c:401:22:401:82 | ... ? ... : ... | 0.45041108 | 0.38708626 | 0.45041108 |
|
||||
| test.c:401:26:401:69 | ... ? ... : ... | 0.38708626 | 0.38708626 | 0.14963485 |
|
||||
| test.c:401:30:401:56 | ... ? ... : ... | 0.38708626 | 0.38708626 | 0.32876044 |
|
||||
| test.c:402:14:402:108 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.05328182 |
|
||||
| test.c:402:18:402:95 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.37428143 |
|
||||
| test.c:402:22:402:82 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.14800508 |
|
||||
| test.c:402:26:402:69 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.26428481 |
|
||||
| test.c:402:30:402:56 | ... ? ... : ... | 0.77086833 | 0.15755063 | 0.77086833 |
|
||||
| test.c:403:14:403:108 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.69072144 |
|
||||
| test.c:403:18:403:95 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.39468857 |
|
||||
| test.c:403:22:403:82 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.55679274 |
|
||||
| test.c:403:26:403:69 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.27643238 |
|
||||
| test.c:403:30:403:56 | ... ? ... : ... | 0.76826628 | 0.41736536 | 0.76826628 |
|
||||
| test.c:404:14:404:108 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.81372798 |
|
||||
| test.c:404:18:404:95 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.88745559 |
|
||||
| test.c:404:22:404:82 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.2051911 |
|
||||
| test.c:404:26:404:69 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.76242583 |
|
||||
| test.c:404:30:404:56 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.29904824 |
|
||||
| test.c:405:14:405:108 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.42762647 |
|
||||
| test.c:405:18:405:95 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.52031241 |
|
||||
| test.c:405:22:405:82 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.13204114 |
|
||||
| test.c:405:26:405:69 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.44996679 |
|
||||
| test.c:405:30:405:56 | ... ? ... : ... | 0.53843358 | 0.42186276 | 0.53843358 |
|
||||
| test.c:418:20:418:36 | ... ? ... : ... | 100.0 | 99.0 | 100.0 |
|
||||
| test.c:630:5:630:14 | ... ? ... : ... | 32767.0 | 32767.0 | 0.0 |
|
||||
| test.c:631:5:631:14 | ... ? ... : ... | 32767.0 | 0.0 | 32767.0 |
|
||||
| test.c:394:20:394:36 | ... ? ... : ... | 100.0 | 99.0 | 100.0 |
|
||||
| test.c:606:5:606:14 | ... ? ... : ... | 32767.0 | 32767.0 | 0.0 |
|
||||
| test.c:607:5:607:14 | ... ? ... : ... | 32767.0 | 0.0 | 32767.0 |
|
||||
| test.cpp:121:3:121:12 | ... ? ... : ... | 32767.0 | 32767.0 | 0.0 |
|
||||
| test.cpp:122:3:122:12 | ... ? ... : ... | 32767.0 | 0.0 | 32767.0 |
|
||||
|
||||
@@ -389,30 +389,6 @@ unsigned int test_ternary02(unsigned int x) {
|
||||
return y1 + y2 + y3 + y4 + y5;
|
||||
}
|
||||
|
||||
// Test that nested ternary expressions of literals doesn't cause performance blow up.
|
||||
double test_ternary_nested_of_literals(double m, double n, double o, double p, double q) {
|
||||
double a = m ? n ? o ? p ? q ? 0.47438827 : 0.14333887 : 0.35279203 : 0.39206458 : 0.21540225 : 0.40496805;
|
||||
double b = m ? n ? o ? p ? q ? 0.34183348 : 0.35334640 : 0.22247853 : 0.32661893 : 0.59270465 : 0.52977410;
|
||||
double c = m ? n ? o ? p ? q ? 0.77429603 : 0.31478084 : 0.31235514 : 0.05121256 : 0.79310745 : 0.67981451;
|
||||
double d = m ? n ? o ? p ? q ? 0.44729556 : 0.80599202 : 0.98997262 : 0.59952732 : 0.36976948 : 0.83866835;
|
||||
double e = m ? n ? o ? p ? q ? 0.49311828 : 0.90389911 : 0.10597712 : 0.21778426 : 0.72485966 : 0.68734874;
|
||||
double f = m ? n ? o ? p ? q ? 0.47452848 : 0.10786650 : 0.11884576 : 0.76164052 : 0.34808892 : 0.58440865;
|
||||
double g = m ? n ? o ? p ? q ? 0.02524326 : 0.82905046 : 0.95823075 : 0.12516558 : 0.85235179 : 0.36232384;
|
||||
double h = m ? n ? o ? p ? q ? 0.38708626 : 0.32876044 : 0.14963485 : 0.45041108 : 0.48640909 : 0.84331272;
|
||||
double i = m ? n ? o ? p ? q ? 0.15755063 : 0.77086833 : 0.26428481 : 0.14800508 : 0.37428143 : 0.05328182;
|
||||
double j = m ? n ? o ? p ? q ? 0.41736536 : 0.76826628 : 0.27643238 : 0.55679274 : 0.39468857 : 0.69072144;
|
||||
double k = m ? n ? o ? p ? q ? 0.88955345 : 0.29904824 : 0.76242583 : 0.20519110 : 0.88745559 : 0.81372798;
|
||||
double l = m ? n ? o ? p ? q ? 0.42186276 : 0.53843358 : 0.44996679 : 0.13204114 : 0.52031241 : 0.42762647;
|
||||
|
||||
// Since the abstract interpretation of `+` produces a product of the bounds
|
||||
// of the input operands, `output` will have k^12 bounds, where `k` is the
|
||||
// number of bounds that each of the variables above have. This blows up
|
||||
// unless `k` is 1.
|
||||
double output = a + b + c + d + e + f + g + h + i + j + k + l;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
// Test the comma expression.
|
||||
unsigned int test_comma01(unsigned int x) {
|
||||
unsigned int y = x < 100 ? x : 100;
|
||||
|
||||
@@ -412,270 +412,197 @@
|
||||
| test.c:389:20:389:21 | y3 | 4294967295 |
|
||||
| test.c:389:25:389:26 | y4 | 4294967295 |
|
||||
| test.c:389:30:389:31 | y5 | 1000 |
|
||||
| test.c:394:14:394:14 | m | Infinity |
|
||||
| test.c:394:18:394:18 | n | Infinity |
|
||||
| test.c:394:22:394:22 | o | Infinity |
|
||||
| test.c:394:26:394:26 | p | Infinity |
|
||||
| test.c:394:30:394:30 | q | Infinity |
|
||||
| test.c:395:14:395:14 | m | Infinity |
|
||||
| test.c:395:18:395:18 | n | Infinity |
|
||||
| test.c:395:22:395:22 | o | Infinity |
|
||||
| test.c:395:26:395:26 | p | Infinity |
|
||||
| test.c:395:30:395:30 | q | Infinity |
|
||||
| test.c:396:14:396:14 | m | Infinity |
|
||||
| test.c:396:18:396:18 | n | Infinity |
|
||||
| test.c:396:22:396:22 | o | Infinity |
|
||||
| test.c:396:26:396:26 | p | Infinity |
|
||||
| test.c:396:30:396:30 | q | Infinity |
|
||||
| test.c:397:14:397:14 | m | Infinity |
|
||||
| test.c:397:18:397:18 | n | Infinity |
|
||||
| test.c:397:22:397:22 | o | Infinity |
|
||||
| test.c:397:26:397:26 | p | Infinity |
|
||||
| test.c:397:30:397:30 | q | Infinity |
|
||||
| test.c:398:14:398:14 | m | Infinity |
|
||||
| test.c:398:18:398:18 | n | Infinity |
|
||||
| test.c:398:22:398:22 | o | Infinity |
|
||||
| test.c:398:26:398:26 | p | Infinity |
|
||||
| test.c:398:30:398:30 | q | Infinity |
|
||||
| test.c:399:14:399:14 | m | Infinity |
|
||||
| test.c:399:18:399:18 | n | Infinity |
|
||||
| test.c:399:22:399:22 | o | Infinity |
|
||||
| test.c:399:26:399:26 | p | Infinity |
|
||||
| test.c:399:30:399:30 | q | Infinity |
|
||||
| test.c:400:14:400:14 | m | Infinity |
|
||||
| test.c:400:18:400:18 | n | Infinity |
|
||||
| test.c:400:22:400:22 | o | Infinity |
|
||||
| test.c:400:26:400:26 | p | Infinity |
|
||||
| test.c:400:30:400:30 | q | Infinity |
|
||||
| test.c:401:14:401:14 | m | Infinity |
|
||||
| test.c:401:18:401:18 | n | Infinity |
|
||||
| test.c:401:22:401:22 | o | Infinity |
|
||||
| test.c:401:26:401:26 | p | Infinity |
|
||||
| test.c:401:30:401:30 | q | Infinity |
|
||||
| test.c:402:14:402:14 | m | Infinity |
|
||||
| test.c:402:18:402:18 | n | Infinity |
|
||||
| test.c:402:22:402:22 | o | Infinity |
|
||||
| test.c:402:26:402:26 | p | Infinity |
|
||||
| test.c:402:30:402:30 | q | Infinity |
|
||||
| test.c:403:14:403:14 | m | Infinity |
|
||||
| test.c:403:18:403:18 | n | Infinity |
|
||||
| test.c:403:22:403:22 | o | Infinity |
|
||||
| test.c:403:26:403:26 | p | Infinity |
|
||||
| test.c:403:30:403:30 | q | Infinity |
|
||||
| test.c:404:14:404:14 | m | Infinity |
|
||||
| test.c:404:18:404:18 | n | Infinity |
|
||||
| test.c:404:22:404:22 | o | Infinity |
|
||||
| test.c:404:26:404:26 | p | Infinity |
|
||||
| test.c:404:30:404:30 | q | Infinity |
|
||||
| test.c:405:14:405:14 | m | Infinity |
|
||||
| test.c:405:18:405:18 | n | Infinity |
|
||||
| test.c:405:22:405:22 | o | Infinity |
|
||||
| test.c:405:26:405:26 | p | Infinity |
|
||||
| test.c:405:30:405:30 | q | Infinity |
|
||||
| test.c:411:19:411:19 | a | 0.474388 |
|
||||
| test.c:411:23:411:23 | b | 0.592705 |
|
||||
| test.c:411:27:411:27 | c | 0.793107 |
|
||||
| test.c:411:31:411:31 | d | 0.989973 |
|
||||
| test.c:411:35:411:35 | e | 0.903899 |
|
||||
| test.c:411:39:411:39 | f | 0.761641 |
|
||||
| test.c:411:43:411:43 | g | 0.958231 |
|
||||
| test.c:411:47:411:47 | h | 0.843313 |
|
||||
| test.c:411:51:411:51 | i | 0.770868 |
|
||||
| test.c:411:55:411:55 | j | 0.768266 |
|
||||
| test.c:411:59:411:59 | k | 0.889553 |
|
||||
| test.c:411:63:411:63 | l | 0.538434 |
|
||||
| test.c:413:10:413:15 | output | 9.284378 |
|
||||
| test.c:418:20:418:20 | x | 4294967295 |
|
||||
| test.c:418:30:418:30 | x | 99 |
|
||||
| test.c:421:3:421:4 | y1 | 4294967295 |
|
||||
| test.c:421:11:421:11 | y | 100 |
|
||||
| test.c:421:14:421:14 | y | 101 |
|
||||
| test.c:422:3:422:4 | y2 | 4294967295 |
|
||||
| test.c:422:9:422:9 | y | 101 |
|
||||
| test.c:422:14:422:14 | y | 102 |
|
||||
| test.c:422:22:422:22 | y | 105 |
|
||||
| test.c:423:10:423:11 | y1 | 101 |
|
||||
| test.c:423:15:423:16 | y2 | 105 |
|
||||
| test.c:431:3:431:3 | i | 2147483647 |
|
||||
| test.c:432:7:432:7 | i | 10 |
|
||||
| test.c:434:3:434:3 | i | 2147483647 |
|
||||
| test.c:435:3:435:3 | i | 10 |
|
||||
| test.c:436:7:436:7 | i | 20 |
|
||||
| test.c:438:3:438:3 | i | 2147483647 |
|
||||
| test.c:439:3:439:3 | i | 40 |
|
||||
| test.c:440:7:440:7 | i | 30 |
|
||||
| test.c:442:3:442:3 | i | 2147483647 |
|
||||
| test.c:442:7:442:7 | j | 2147483647 |
|
||||
| test.c:443:7:443:7 | i | 40 |
|
||||
| test.c:445:3:445:3 | i | 2147483647 |
|
||||
| test.c:445:8:445:8 | j | 40 |
|
||||
| test.c:446:7:446:7 | i | 50 |
|
||||
| test.c:448:3:448:3 | i | 2147483647 |
|
||||
| test.c:448:13:448:13 | j | 50 |
|
||||
| test.c:449:7:449:7 | i | 60 |
|
||||
| test.c:456:12:456:12 | a | 4294967295 |
|
||||
| test.c:456:17:456:17 | a | 4294967295 |
|
||||
| test.c:456:33:456:33 | b | 4294967295 |
|
||||
| test.c:456:38:456:38 | b | 4294967295 |
|
||||
| test.c:457:13:457:13 | a | 11 |
|
||||
| test.c:457:15:457:15 | b | 23 |
|
||||
| test.c:458:5:458:9 | total | 0 |
|
||||
| test.c:458:14:458:14 | r | 253 |
|
||||
| test.c:460:12:460:12 | a | 4294967295 |
|
||||
| test.c:460:17:460:17 | a | 4294967295 |
|
||||
| test.c:460:33:460:33 | b | 4294967295 |
|
||||
| test.c:460:38:460:38 | b | 4294967295 |
|
||||
| test.c:461:13:461:13 | a | 11 |
|
||||
| test.c:461:15:461:15 | b | 23 |
|
||||
| test.c:462:5:462:9 | total | 253 |
|
||||
| test.c:462:14:462:14 | r | 253 |
|
||||
| test.c:464:12:464:12 | a | 4294967295 |
|
||||
| test.c:464:17:464:17 | a | 4294967295 |
|
||||
| test.c:464:34:464:34 | b | 4294967295 |
|
||||
| test.c:464:39:464:39 | b | 4294967295 |
|
||||
| test.c:465:13:465:13 | a | 11 |
|
||||
| test.c:465:15:465:15 | b | 23 |
|
||||
| test.c:466:5:466:9 | total | 506 |
|
||||
| test.c:466:14:466:14 | r | 253 |
|
||||
| test.c:469:10:469:14 | total | 759 |
|
||||
| test.c:475:12:475:12 | b | 4294967295 |
|
||||
| test.c:475:17:475:17 | b | 4294967295 |
|
||||
| test.c:476:16:476:16 | b | 23 |
|
||||
| test.c:477:5:477:9 | total | 0 |
|
||||
| test.c:477:14:477:14 | r | 253 |
|
||||
| test.c:479:12:479:12 | b | 4294967295 |
|
||||
| test.c:479:17:479:17 | b | 4294967295 |
|
||||
| test.c:480:16:480:16 | b | 23 |
|
||||
| test.c:481:5:481:9 | total | 253 |
|
||||
| test.c:481:14:481:14 | r | 253 |
|
||||
| test.c:483:13:483:13 | b | 4294967295 |
|
||||
| test.c:483:18:483:18 | b | 4294967295 |
|
||||
| test.c:484:16:484:16 | b | 23 |
|
||||
| test.c:485:5:485:9 | total | 506 |
|
||||
| test.c:485:14:485:14 | r | 253 |
|
||||
| test.c:488:10:488:14 | total | 759 |
|
||||
| test.c:493:3:493:3 | x | 18446744073709551616 |
|
||||
| test.c:493:7:493:7 | y | 18446744073709551616 |
|
||||
| test.c:494:3:494:4 | xy | 18446744073709551616 |
|
||||
| test.c:494:8:494:8 | x | 1000000003 |
|
||||
| test.c:494:12:494:12 | y | 1000000003 |
|
||||
| test.c:495:10:495:11 | xy | 1000000006000000000 |
|
||||
| test.c:500:3:500:3 | x | 18446744073709551616 |
|
||||
| test.c:501:3:501:3 | y | 18446744073709551616 |
|
||||
| test.c:502:3:502:4 | xy | 18446744073709551616 |
|
||||
| test.c:502:8:502:8 | x | 274177 |
|
||||
| test.c:502:12:502:12 | y | 67280421310721 |
|
||||
| test.c:503:10:503:11 | xy | 18446744073709551616 |
|
||||
| test.c:507:7:507:8 | ui | 4294967295 |
|
||||
| test.c:508:43:508:44 | ui | 4294967295 |
|
||||
| test.c:508:48:508:49 | ui | 4294967295 |
|
||||
| test.c:509:12:509:17 | result | 18446744065119617024 |
|
||||
| test.c:511:7:511:8 | ul | 18446744073709551616 |
|
||||
| test.c:512:28:512:29 | ul | 18446744073709551616 |
|
||||
| test.c:512:33:512:34 | ul | 18446744073709551616 |
|
||||
| test.c:513:12:513:17 | result | 18446744073709551616 |
|
||||
| test.c:519:7:519:8 | ui | 4294967295 |
|
||||
| test.c:519:19:519:20 | ui | 10 |
|
||||
| test.c:520:5:520:6 | ui | 10 |
|
||||
| test.c:520:11:520:12 | ui | 10 |
|
||||
| test.c:521:12:521:13 | ui | 100 |
|
||||
| test.c:525:3:525:9 | uiconst | 10 |
|
||||
| test.c:528:3:528:9 | ulconst | 10 |
|
||||
| test.c:529:10:529:16 | uiconst | 40 |
|
||||
| test.c:529:20:529:26 | ulconst | 40 |
|
||||
| test.c:533:7:533:7 | i | 2147483647 |
|
||||
| test.c:533:18:533:18 | i | 2147483647 |
|
||||
| test.c:534:5:534:5 | i | 2147483647 |
|
||||
| test.c:534:13:534:13 | i | 2 |
|
||||
| test.c:535:9:535:9 | i | 10 |
|
||||
| test.c:537:5:537:5 | i | 2147483647 |
|
||||
| test.c:537:9:537:9 | i | 10 |
|
||||
| test.c:538:9:538:9 | i | 15 |
|
||||
| test.c:540:5:540:5 | i | 15 |
|
||||
| test.c:541:9:541:9 | i | 105 |
|
||||
| test.c:543:5:543:5 | i | 105 |
|
||||
| test.c:544:9:544:9 | i | 2310 |
|
||||
| test.c:546:7:546:7 | i | 2147483647 |
|
||||
| test.c:547:5:547:5 | i | 2147483647 |
|
||||
| test.c:547:9:547:9 | i | -1 |
|
||||
| test.c:548:9:548:9 | i | 1 |
|
||||
| test.c:550:3:550:3 | i | 2147483647 |
|
||||
| test.c:550:7:550:7 | i | 2147483647 |
|
||||
| test.c:551:10:551:10 | i | 2147483647 |
|
||||
| test.c:554:3:554:3 | i | 2147483647 |
|
||||
| test.c:554:10:554:11 | sc | 1 |
|
||||
| test.c:556:7:556:7 | i | 127 |
|
||||
| test.c:563:7:563:7 | n | 4294967295 |
|
||||
| test.c:565:7:565:7 | n | 4294967295 |
|
||||
| test.c:566:9:566:9 | n | 4294967295 |
|
||||
| test.c:569:7:569:7 | n | 4294967295 |
|
||||
| test.c:570:9:570:9 | n | 4294967295 |
|
||||
| test.c:572:9:572:9 | n | 0 |
|
||||
| test.c:575:8:575:8 | n | 4294967295 |
|
||||
| test.c:576:9:576:9 | n | 0 |
|
||||
| test.c:578:9:578:9 | n | 4294967295 |
|
||||
| test.c:581:10:581:10 | n | 4294967295 |
|
||||
| test.c:582:5:582:5 | n | 4294967295 |
|
||||
| test.c:585:7:585:7 | n | 0 |
|
||||
| test.c:589:7:589:7 | n | 32767 |
|
||||
| test.c:592:7:592:7 | n | 32767 |
|
||||
| test.c:593:9:593:9 | n | 0 |
|
||||
| test.c:595:9:595:9 | n | 32767 |
|
||||
| test.c:598:7:598:7 | n | 32767 |
|
||||
| test.c:599:9:599:9 | n | 32767 |
|
||||
| test.c:601:9:601:9 | n | 0 |
|
||||
| test.c:604:10:604:10 | n | 32767 |
|
||||
| test.c:605:5:605:5 | n | 32767 |
|
||||
| test.c:608:7:608:7 | n | 0 |
|
||||
| test.c:612:7:612:7 | n | 32767 |
|
||||
| test.c:613:9:613:9 | n | 32767 |
|
||||
| test.c:614:11:614:11 | n | 32767 |
|
||||
| test.c:618:7:618:7 | n | 32767 |
|
||||
| test.c:619:13:619:13 | n | 32767 |
|
||||
| test.c:622:9:622:9 | n | 32767 |
|
||||
| test.c:625:7:625:7 | n | 32767 |
|
||||
| test.c:625:22:625:22 | n | 32767 |
|
||||
| test.c:626:9:626:9 | n | 32767 |
|
||||
| test.c:629:7:629:7 | n | 32767 |
|
||||
| test.c:630:5:630:5 | n | 32767 |
|
||||
| test.c:630:10:630:10 | n | 32767 |
|
||||
| test.c:630:14:630:14 | n | 0 |
|
||||
| test.c:631:6:631:6 | n | 32767 |
|
||||
| test.c:631:10:631:10 | n | 0 |
|
||||
| test.c:631:14:631:14 | n | 32767 |
|
||||
| test.c:642:7:642:8 | ss | 32767 |
|
||||
| test.c:643:9:643:10 | ss | 3 |
|
||||
| test.c:646:7:646:8 | ss | 32767 |
|
||||
| test.c:647:9:647:10 | ss | 32767 |
|
||||
| test.c:650:14:650:15 | us | 65535 |
|
||||
| test.c:651:9:651:10 | us | 32767 |
|
||||
| test.c:654:14:654:15 | us | 65535 |
|
||||
| test.c:655:9:655:10 | us | 65535 |
|
||||
| test.c:658:7:658:8 | ss | 32767 |
|
||||
| test.c:659:9:659:10 | ss | 32767 |
|
||||
| test.c:662:7:662:8 | ss | 32767 |
|
||||
| test.c:663:9:663:10 | ss | 2 |
|
||||
| test.c:669:8:669:8 | s | 2147483647 |
|
||||
| test.c:669:15:669:15 | s | 127 |
|
||||
| test.c:669:23:669:23 | s | 9 |
|
||||
| test.c:670:18:670:18 | s | 9 |
|
||||
| test.c:670:22:670:22 | s | 9 |
|
||||
| test.c:671:9:671:14 | result | 127 |
|
||||
| test.c:677:7:677:7 | i | 0 |
|
||||
| test.c:678:9:678:9 | i | 2147483647 |
|
||||
| test.c:682:7:682:7 | u | 0 |
|
||||
| test.c:683:9:683:9 | u | 4294967295 |
|
||||
| test.c:688:12:688:12 | s | 2147483647 |
|
||||
| test.c:689:7:689:8 | s2 | 4 |
|
||||
| test.c:694:7:694:7 | x | 2147483647 |
|
||||
| test.c:695:9:695:9 | y | 2147483647 |
|
||||
| test.c:699:7:699:7 | y | 2147483647 |
|
||||
| test.c:708:7:708:7 | x | 2147483647 |
|
||||
| test.c:713:7:713:7 | x | 15 |
|
||||
| test.c:720:8:720:8 | x | 2147483647 |
|
||||
| test.c:720:12:720:12 | y | 256 |
|
||||
| test.c:721:9:721:9 | x | 2147483647 |
|
||||
| test.c:722:9:722:9 | y | 256 |
|
||||
| test.c:394:20:394:20 | x | 4294967295 |
|
||||
| test.c:394:30:394:30 | x | 99 |
|
||||
| test.c:397:3:397:4 | y1 | 4294967295 |
|
||||
| test.c:397:11:397:11 | y | 100 |
|
||||
| test.c:397:14:397:14 | y | 101 |
|
||||
| test.c:398:3:398:4 | y2 | 4294967295 |
|
||||
| test.c:398:9:398:9 | y | 101 |
|
||||
| test.c:398:14:398:14 | y | 102 |
|
||||
| test.c:398:22:398:22 | y | 105 |
|
||||
| test.c:399:10:399:11 | y1 | 101 |
|
||||
| test.c:399:15:399:16 | y2 | 105 |
|
||||
| test.c:407:3:407:3 | i | 2147483647 |
|
||||
| test.c:408:7:408:7 | i | 10 |
|
||||
| test.c:410:3:410:3 | i | 2147483647 |
|
||||
| test.c:411:3:411:3 | i | 10 |
|
||||
| test.c:412:7:412:7 | i | 20 |
|
||||
| test.c:414:3:414:3 | i | 2147483647 |
|
||||
| test.c:415:3:415:3 | i | 40 |
|
||||
| test.c:416:7:416:7 | i | 30 |
|
||||
| test.c:418:3:418:3 | i | 2147483647 |
|
||||
| test.c:418:7:418:7 | j | 2147483647 |
|
||||
| test.c:419:7:419:7 | i | 40 |
|
||||
| test.c:421:3:421:3 | i | 2147483647 |
|
||||
| test.c:421:8:421:8 | j | 40 |
|
||||
| test.c:422:7:422:7 | i | 50 |
|
||||
| test.c:424:3:424:3 | i | 2147483647 |
|
||||
| test.c:424:13:424:13 | j | 50 |
|
||||
| test.c:425:7:425:7 | i | 60 |
|
||||
| test.c:432:12:432:12 | a | 4294967295 |
|
||||
| test.c:432:17:432:17 | a | 4294967295 |
|
||||
| test.c:432:33:432:33 | b | 4294967295 |
|
||||
| test.c:432:38:432:38 | b | 4294967295 |
|
||||
| test.c:433:13:433:13 | a | 11 |
|
||||
| test.c:433:15:433:15 | b | 23 |
|
||||
| test.c:434:5:434:9 | total | 0 |
|
||||
| test.c:434:14:434:14 | r | 253 |
|
||||
| test.c:436:12:436:12 | a | 4294967295 |
|
||||
| test.c:436:17:436:17 | a | 4294967295 |
|
||||
| test.c:436:33:436:33 | b | 4294967295 |
|
||||
| test.c:436:38:436:38 | b | 4294967295 |
|
||||
| test.c:437:13:437:13 | a | 11 |
|
||||
| test.c:437:15:437:15 | b | 23 |
|
||||
| test.c:438:5:438:9 | total | 253 |
|
||||
| test.c:438:14:438:14 | r | 253 |
|
||||
| test.c:440:12:440:12 | a | 4294967295 |
|
||||
| test.c:440:17:440:17 | a | 4294967295 |
|
||||
| test.c:440:34:440:34 | b | 4294967295 |
|
||||
| test.c:440:39:440:39 | b | 4294967295 |
|
||||
| test.c:441:13:441:13 | a | 11 |
|
||||
| test.c:441:15:441:15 | b | 23 |
|
||||
| test.c:442:5:442:9 | total | 506 |
|
||||
| test.c:442:14:442:14 | r | 253 |
|
||||
| test.c:445:10:445:14 | total | 759 |
|
||||
| test.c:451:12:451:12 | b | 4294967295 |
|
||||
| test.c:451:17:451:17 | b | 4294967295 |
|
||||
| test.c:452:16:452:16 | b | 23 |
|
||||
| test.c:453:5:453:9 | total | 0 |
|
||||
| test.c:453:14:453:14 | r | 253 |
|
||||
| test.c:455:12:455:12 | b | 4294967295 |
|
||||
| test.c:455:17:455:17 | b | 4294967295 |
|
||||
| test.c:456:16:456:16 | b | 23 |
|
||||
| test.c:457:5:457:9 | total | 253 |
|
||||
| test.c:457:14:457:14 | r | 253 |
|
||||
| test.c:459:13:459:13 | b | 4294967295 |
|
||||
| test.c:459:18:459:18 | b | 4294967295 |
|
||||
| test.c:460:16:460:16 | b | 23 |
|
||||
| test.c:461:5:461:9 | total | 506 |
|
||||
| test.c:461:14:461:14 | r | 253 |
|
||||
| test.c:464:10:464:14 | total | 759 |
|
||||
| test.c:469:3:469:3 | x | 18446744073709551616 |
|
||||
| test.c:469:7:469:7 | y | 18446744073709551616 |
|
||||
| test.c:470:3:470:4 | xy | 18446744073709551616 |
|
||||
| test.c:470:8:470:8 | x | 1000000003 |
|
||||
| test.c:470:12:470:12 | y | 1000000003 |
|
||||
| test.c:471:10:471:11 | xy | 1000000006000000000 |
|
||||
| test.c:476:3:476:3 | x | 18446744073709551616 |
|
||||
| test.c:477:3:477:3 | y | 18446744073709551616 |
|
||||
| test.c:478:3:478:4 | xy | 18446744073709551616 |
|
||||
| test.c:478:8:478:8 | x | 274177 |
|
||||
| test.c:478:12:478:12 | y | 67280421310721 |
|
||||
| test.c:479:10:479:11 | xy | 18446744073709551616 |
|
||||
| test.c:483:7:483:8 | ui | 4294967295 |
|
||||
| test.c:484:43:484:44 | ui | 4294967295 |
|
||||
| test.c:484:48:484:49 | ui | 4294967295 |
|
||||
| test.c:485:12:485:17 | result | 18446744065119617024 |
|
||||
| test.c:487:7:487:8 | ul | 18446744073709551616 |
|
||||
| test.c:488:28:488:29 | ul | 18446744073709551616 |
|
||||
| test.c:488:33:488:34 | ul | 18446744073709551616 |
|
||||
| test.c:489:12:489:17 | result | 18446744073709551616 |
|
||||
| test.c:495:7:495:8 | ui | 4294967295 |
|
||||
| test.c:495:19:495:20 | ui | 10 |
|
||||
| test.c:496:5:496:6 | ui | 10 |
|
||||
| test.c:496:11:496:12 | ui | 10 |
|
||||
| test.c:497:12:497:13 | ui | 100 |
|
||||
| test.c:501:3:501:9 | uiconst | 10 |
|
||||
| test.c:504:3:504:9 | ulconst | 10 |
|
||||
| test.c:505:10:505:16 | uiconst | 40 |
|
||||
| test.c:505:20:505:26 | ulconst | 40 |
|
||||
| test.c:509:7:509:7 | i | 2147483647 |
|
||||
| test.c:509:18:509:18 | i | 2147483647 |
|
||||
| test.c:510:5:510:5 | i | 2147483647 |
|
||||
| test.c:510:13:510:13 | i | 2 |
|
||||
| test.c:511:9:511:9 | i | 10 |
|
||||
| test.c:513:5:513:5 | i | 2147483647 |
|
||||
| test.c:513:9:513:9 | i | 10 |
|
||||
| test.c:514:9:514:9 | i | 15 |
|
||||
| test.c:516:5:516:5 | i | 15 |
|
||||
| test.c:517:9:517:9 | i | 105 |
|
||||
| test.c:519:5:519:5 | i | 105 |
|
||||
| test.c:520:9:520:9 | i | 2310 |
|
||||
| test.c:522:7:522:7 | i | 2147483647 |
|
||||
| test.c:523:5:523:5 | i | 2147483647 |
|
||||
| test.c:523:9:523:9 | i | -1 |
|
||||
| test.c:524:9:524:9 | i | 1 |
|
||||
| test.c:526:3:526:3 | i | 2147483647 |
|
||||
| test.c:526:7:526:7 | i | 2147483647 |
|
||||
| test.c:527:10:527:10 | i | 2147483647 |
|
||||
| test.c:530:3:530:3 | i | 2147483647 |
|
||||
| test.c:530:10:530:11 | sc | 1 |
|
||||
| test.c:532:7:532:7 | i | 127 |
|
||||
| test.c:539:7:539:7 | n | 4294967295 |
|
||||
| test.c:541:7:541:7 | n | 4294967295 |
|
||||
| test.c:542:9:542:9 | n | 4294967295 |
|
||||
| test.c:545:7:545:7 | n | 4294967295 |
|
||||
| test.c:546:9:546:9 | n | 4294967295 |
|
||||
| test.c:548:9:548:9 | n | 0 |
|
||||
| test.c:551:8:551:8 | n | 4294967295 |
|
||||
| test.c:552:9:552:9 | n | 0 |
|
||||
| test.c:554:9:554:9 | n | 4294967295 |
|
||||
| test.c:557:10:557:10 | n | 4294967295 |
|
||||
| test.c:558:5:558:5 | n | 4294967295 |
|
||||
| test.c:561:7:561:7 | n | 0 |
|
||||
| test.c:565:7:565:7 | n | 32767 |
|
||||
| test.c:568:7:568:7 | n | 32767 |
|
||||
| test.c:569:9:569:9 | n | 0 |
|
||||
| test.c:571:9:571:9 | n | 32767 |
|
||||
| test.c:574:7:574:7 | n | 32767 |
|
||||
| test.c:575:9:575:9 | n | 32767 |
|
||||
| test.c:577:9:577:9 | n | 0 |
|
||||
| test.c:580:10:580:10 | n | 32767 |
|
||||
| test.c:581:5:581:5 | n | 32767 |
|
||||
| test.c:584:7:584:7 | n | 0 |
|
||||
| test.c:588:7:588:7 | n | 32767 |
|
||||
| test.c:589:9:589:9 | n | 32767 |
|
||||
| test.c:590:11:590:11 | n | 32767 |
|
||||
| test.c:594:7:594:7 | n | 32767 |
|
||||
| test.c:595:13:595:13 | n | 32767 |
|
||||
| test.c:598:9:598:9 | n | 32767 |
|
||||
| test.c:601:7:601:7 | n | 32767 |
|
||||
| test.c:601:22:601:22 | n | 32767 |
|
||||
| test.c:602:9:602:9 | n | 32767 |
|
||||
| test.c:605:7:605:7 | n | 32767 |
|
||||
| test.c:606:5:606:5 | n | 32767 |
|
||||
| test.c:606:10:606:10 | n | 32767 |
|
||||
| test.c:606:14:606:14 | n | 0 |
|
||||
| test.c:607:6:607:6 | n | 32767 |
|
||||
| test.c:607:10:607:10 | n | 0 |
|
||||
| test.c:607:14:607:14 | n | 32767 |
|
||||
| test.c:618:7:618:8 | ss | 32767 |
|
||||
| test.c:619:9:619:10 | ss | 3 |
|
||||
| test.c:622:7:622:8 | ss | 32767 |
|
||||
| test.c:623:9:623:10 | ss | 32767 |
|
||||
| test.c:626:14:626:15 | us | 65535 |
|
||||
| test.c:627:9:627:10 | us | 32767 |
|
||||
| test.c:630:14:630:15 | us | 65535 |
|
||||
| test.c:631:9:631:10 | us | 65535 |
|
||||
| test.c:634:7:634:8 | ss | 32767 |
|
||||
| test.c:635:9:635:10 | ss | 32767 |
|
||||
| test.c:638:7:638:8 | ss | 32767 |
|
||||
| test.c:639:9:639:10 | ss | 2 |
|
||||
| test.c:645:8:645:8 | s | 2147483647 |
|
||||
| test.c:645:15:645:15 | s | 127 |
|
||||
| test.c:645:23:645:23 | s | 9 |
|
||||
| test.c:646:18:646:18 | s | 9 |
|
||||
| test.c:646:22:646:22 | s | 9 |
|
||||
| test.c:647:9:647:14 | result | 127 |
|
||||
| test.c:653:7:653:7 | i | 0 |
|
||||
| test.c:654:9:654:9 | i | 2147483647 |
|
||||
| test.c:658:7:658:7 | u | 0 |
|
||||
| test.c:659:9:659:9 | u | 4294967295 |
|
||||
| test.c:664:12:664:12 | s | 2147483647 |
|
||||
| test.c:665:7:665:8 | s2 | 4 |
|
||||
| test.c:670:7:670:7 | x | 2147483647 |
|
||||
| test.c:671:9:671:9 | y | 2147483647 |
|
||||
| test.c:675:7:675:7 | y | 2147483647 |
|
||||
| test.c:684:7:684:7 | x | 2147483647 |
|
||||
| test.c:689:7:689:7 | x | 15 |
|
||||
| test.c:696:8:696:8 | x | 2147483647 |
|
||||
| test.c:696:12:696:12 | y | 256 |
|
||||
| test.c:697:9:697:9 | x | 2147483647 |
|
||||
| test.c:698:9:698:9 | y | 256 |
|
||||
| test.cpp:10:7:10:7 | b | 2147483647 |
|
||||
| test.cpp:11:5:11:5 | x | 2147483647 |
|
||||
| test.cpp:13:10:13:10 | x | 2147483647 |
|
||||
|
||||
@@ -34,4 +34,270 @@ thisArgumentIsNonPointer
|
||||
| pointer_to_member.cpp:24:5:24:49 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
| break_labels.c:4:9:4:14 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) |
|
||||
| break_labels.c:6:16:6:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) |
|
||||
| break_labels.c:7:17:7:24 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) |
|
||||
| break_labels.c:20:16:20:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() |
|
||||
| break_labels.c:21:13:21:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() |
|
||||
| break_labels.c:24:13:24:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() |
|
||||
| builtin.c:24:7:24:13 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) |
|
||||
| builtin.c:28:7:28:29 | ConditionalBranch: call to __builtin_unpredictable | Conditional branch instruction ConditionalBranch: call to __builtin_unpredictable with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) |
|
||||
| builtin.c:47:7:47:22 | ConditionalBranch: call to __builtin_memchr | Conditional branch instruction ConditionalBranch: call to __builtin_memchr with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) |
|
||||
| dostmt.c:4:11:4:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | dostmt.c:1:6:1:17 | void always_false() | void always_false() |
|
||||
| dostmt.c:28:11:28:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dostmt.c:25:13:25:25 | void always_true_3() | void always_true_3() |
|
||||
| dostmt.c:36:11:36:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | dostmt.c:32:13:32:18 | void normal() | void normal() |
|
||||
| duff2.c:13:14:13:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:2:6:2:12 | void duff2_8(int) | void duff2_8(int) |
|
||||
| duff2.c:21:14:21:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:16:6:16:12 | void duff2_2(int) | void duff2_2(int) |
|
||||
| duff.c:13:22:13:28 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff.c:2:13:2:13 | void f(int) | void f(int) |
|
||||
| dummyblock.c:2:9:2:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dummyblock.c:1:13:1:13 | void f() | void f() |
|
||||
| ifelsestmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() |
|
||||
| ifelsestmt.c:12:6:12:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:11:13:11:26 | void always_false_2() | void always_false_2() |
|
||||
| ifelsestmt.c:20:6:20:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:19:13:19:25 | void always_true_1() | void always_true_1() |
|
||||
| ifelsestmt.c:30:6:30:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:29:13:29:25 | void always_true_2() | void always_true_2() |
|
||||
| ifelsestmt.c:38:6:38:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifelsestmt.c:37:13:37:18 | void normal(int, int) | void normal(int, int) |
|
||||
| ifstmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:1:13:1:26 | void always_false_1() | void always_false_1() |
|
||||
| ifstmt.c:9:6:9:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:8:13:8:26 | void always_false_2() | void always_false_2() |
|
||||
| ifstmt.c:15:6:15:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:14:13:14:25 | void always_true_1() | void always_true_1() |
|
||||
| ifstmt.c:22:6:22:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:21:13:21:25 | void always_true_2() | void always_true_2() |
|
||||
| ifstmt.c:28:6:28:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifstmt.c:27:13:27:18 | void normal(int, int) | void normal(int, int) |
|
||||
| landexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| landexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| lorexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| lorexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| misc.c:22:9:22:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:22:17:22:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:27:9:27:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:27:17:27:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:32:9:32:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:32:14:32:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:37:9:37:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:37:14:37:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:44:11:44:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:47:11:47:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:47:16:47:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:50:11:50:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:50:16:50:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:53:11:53:14 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:58:13:58:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:61:13:61:16 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:62:16:62:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:64:11:64:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:93:9:93:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) |
|
||||
| misc.c:94:9:94:19 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) |
|
||||
| misc.c:139:10:139:18 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:139:25:139:33 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:140:9:140:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:140:14:140:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:140:19:140:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:141:9:141:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:141:14:141:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:141:19:141:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:192:11:192:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | misc.c:191:6:191:20 | void unreachable_end() | void unreachable_end() |
|
||||
| pruning.c:5:9:5:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | pruning.c:4:6:4:8 | void f_0() | void f_0() |
|
||||
| pruning.c:13:9:13:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | pruning.c:12:6:12:8 | void f_1() | void f_1() |
|
||||
| pruning.c:21:9:21:11 | ConditionalBranch: 256 | Conditional branch instruction ConditionalBranch: 256 with non-Boolean condition, in function '$@'. | pruning.c:20:6:20:10 | void f_256() | void f_256() |
|
||||
| pruning.c:29:9:29:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:28:6:28:16 | void f_uint8_t_0() | void f_uint8_t_0() |
|
||||
| pruning.c:37:9:37:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:36:6:36:16 | void f_uint8_t_1() | void f_uint8_t_1() |
|
||||
| pruning.c:45:9:45:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:44:6:44:18 | void f_uint8_t_256() | void f_uint8_t_256() |
|
||||
| pruning.c:53:9:53:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:52:6:52:18 | void f_uint8_t_257() | void f_uint8_t_257() |
|
||||
| pruning.c:61:9:61:26 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:60:6:60:21 | void f_uint8_t_minus1() | void f_uint8_t_minus1() |
|
||||
| pruning.c:70:9:70:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:68:6:68:14 | void f_v_int_0() | void f_v_int_0() |
|
||||
| pruning.c:79:9:79:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:77:6:77:14 | void f_v_int_1() | void f_v_int_1() |
|
||||
| pruning.c:88:9:88:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:86:6:86:16 | void f_v_int_256() | void f_v_int_256() |
|
||||
| pruning.c:97:9:97:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:95:6:95:18 | void f_v_uint8_t_0() | void f_v_uint8_t_0() |
|
||||
| pruning.c:106:9:106:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:104:6:104:18 | void f_v_uint8_t_1() | void f_v_uint8_t_1() |
|
||||
| pruning.c:115:9:115:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:113:6:113:20 | void f_v_uint8_t_256() | void f_v_uint8_t_256() |
|
||||
| pruning.c:124:9:124:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:122:6:122:20 | void f_v_uint8_t_257() | void f_v_uint8_t_257() |
|
||||
| pruning.c:133:9:133:16 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:131:6:131:23 | void f_v_uint8_t_minus1() | void f_v_uint8_t_minus1() |
|
||||
| questionexpr.c:3:6:3:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | questionexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| range_analysis.c:7:10:7:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:5:5:5:9 | int test1(List*) | int test1(List*) |
|
||||
| range_analysis.c:15:10:15:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:13:5:13:9 | int test2(List*) | int test2(List*) |
|
||||
| range_analysis.c:23:10:23:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:21:5:21:9 | int test3(List*) | int test3(List*) |
|
||||
| range_analysis.c:33:15:33:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:30:5:30:9 | int test4() | int test4() |
|
||||
| range_analysis.c:42:15:42:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:39:5:39:9 | int test5() | int test5() |
|
||||
| range_analysis.c:51:15:51:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:48:5:48:9 | int test6() | int test6() |
|
||||
| range_analysis.c:58:7:58:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) |
|
||||
| range_analysis.c:59:9:59:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) |
|
||||
| range_analysis.c:67:7:67:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) |
|
||||
| range_analysis.c:67:20:67:25 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) |
|
||||
| range_analysis.c:68:9:68:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) |
|
||||
| range_analysis.c:76:7:76:12 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) |
|
||||
| range_analysis.c:77:9:77:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) |
|
||||
| range_analysis.c:81:9:81:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) |
|
||||
| range_analysis.c:89:7:89:11 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) |
|
||||
| range_analysis.c:90:9:90:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) |
|
||||
| range_analysis.c:101:7:101:15 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:104:7:104:14 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:106:9:106:17 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:109:9:109:16 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:124:11:124:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:122:5:122:10 | int test12() | int test12() |
|
||||
| range_analysis.c:154:11:154:15 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) |
|
||||
| range_analysis.c:154:20:154:30 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) |
|
||||
| range_analysis.c:161:7:161:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:161:17:161:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:166:7:166:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:166:17:166:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:171:7:171:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:171:18:171:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:176:7:176:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:176:18:176:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:181:7:181:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:181:18:181:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:186:7:186:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:186:18:186:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:200:7:200:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:200:17:200:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:200:28:200:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:200:38:200:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:7:204:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:17:204:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:28:204:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:38:204:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:7:208:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:17:208:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:28:208:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:40:208:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:7:212:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:17:212:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:28:212:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:40:212:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:7:216:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:17:216:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:28:216:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:40:216:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:228:7:228:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:228:17:228:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:228:28:228:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:228:38:228:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:7:232:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:17:232:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:28:232:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:38:232:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:7:236:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:17:236:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:28:236:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:40:236:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:7:240:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:17:240:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:28:240:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:40:240:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:7:244:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:17:244:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:28:244:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:40:244:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:256:7:256:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:256:19:256:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:256:30:256:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:256:40:256:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:7:260:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:19:260:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:30:260:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:40:260:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:7:264:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:19:264:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:30:264:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:42:264:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:7:268:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:19:268:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:30:268:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:42:268:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:7:272:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:19:272:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:30:272:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:42:272:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:284:7:284:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:284:19:284:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:284:29:284:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:284:39:284:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:7:288:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:19:288:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:29:288:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:39:288:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:7:292:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:19:292:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:29:292:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:41:292:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:7:296:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:19:296:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:29:296:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:41:296:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:7:300:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:19:300:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:29:300:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:41:300:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:312:7:312:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:312:19:312:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:312:30:312:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:312:40:312:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:7:316:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:19:316:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:30:316:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:40:316:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:7:320:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:19:320:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:30:320:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:42:320:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:7:324:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:19:324:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:30:324:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:42:324:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:7:328:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:19:328:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:30:328:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:42:328:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:338:7:338:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:342:10:342:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:346:7:346:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:347:9:347:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:357:8:357:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:358:8:358:15 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:365:7:365:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:366:10:366:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:367:10:367:17 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:368:10:368:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:369:10:369:36 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:370:10:370:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:371:10:371:39 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:379:8:379:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:380:8:380:15 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:384:7:384:14 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:385:10:385:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:386:10:386:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:387:10:387:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:394:20:394:26 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:393:14:393:25 | unsigned int test_comma01(unsigned int) | unsigned int test_comma01(unsigned int) |
|
||||
| switchbody.c:5:11:5:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:4:5:4:16 | int switch_block(int) | int switch_block(int) |
|
||||
| switchbody.c:16:11:16:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:15:5:15:17 | int switch_single(int) | int switch_single(int) |
|
||||
| switchbody.c:28:11:28:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:27:5:27:19 | int switch_notblock(int) | int switch_notblock(int) |
|
||||
| test.c:3:9:3:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:2:6:2:11 | void f_if_1(int) | void f_if_1(int) |
|
||||
| test.c:11:9:11:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:10:6:10:11 | void f_if_2() | void f_if_2() |
|
||||
| test.c:19:9:19:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:18:6:18:11 | void f_if_3() | void f_if_3() |
|
||||
| test.c:28:16:28:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | test.c:26:6:26:12 | void f_for_1() | void f_for_1() |
|
||||
| test.c:36:16:36:16 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:34:6:34:12 | void f_for_2() | void f_for_2() |
|
||||
| test.c:44:16:44:16 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:42:6:42:12 | void f_for_3() | void f_for_3() |
|
||||
| test.c:51:11:51:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:50:6:50:14 | void f_while_1(int) | void f_while_1(int) |
|
||||
| test.c:58:11:58:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:57:6:57:14 | void f_while_2() | void f_while_2() |
|
||||
| test.c:65:11:65:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:64:6:64:14 | void f_while_3() | void f_while_3() |
|
||||
| test.c:74:14:74:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:71:6:71:11 | void f_do_1(int) | void f_do_1(int) |
|
||||
| test.c:81:14:81:14 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:78:6:78:11 | void f_do_2() | void f_do_2() |
|
||||
| test.c:88:14:88:14 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:85:6:85:11 | void f_do_3() | void f_do_3() |
|
||||
| test.c:93:13:93:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:92:6:92:13 | void f_cond_1(int) | void f_cond_1(int) |
|
||||
| test.c:204:12:204:12 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:203:6:203:15 | void f_switch_7(int) | void f_switch_7(int) |
|
||||
| test.c:219:7:219:7 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) |
|
||||
| test.c:219:12:219:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) |
|
||||
| test.c:219:12:219:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) |
|
||||
| test.c:226:7:226:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:226:7:226:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:226:9:226:9 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:226:14:226:14 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:233:7:233:7 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) |
|
||||
| test.c:233:7:233:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) |
|
||||
| test.c:245:31:245:31 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:245:24:245:24 | const void *[] a | const void *[] a |
|
||||
| unaryopexpr.c:8:5:8:6 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | unaryopexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| whilestmt.c:2:9:2:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | whilestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() |
|
||||
| whilestmt.c:10:9:10:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() |
|
||||
| whilestmt.c:10:9:10:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() |
|
||||
| whilestmt.c:16:9:16:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:15:13:15:25 | void always_true_1() | void always_true_1() |
|
||||
| whilestmt.c:24:9:24:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:23:13:23:25 | void always_true_2() | void always_true_2() |
|
||||
| whilestmt.c:33:9:33:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:32:13:32:25 | void always_true_3() | void always_true_3() |
|
||||
| whilestmt.c:41:9:41:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | whilestmt.c:39:13:39:18 | void normal() | void normal() |
|
||||
missingCppType
|
||||
|
||||
@@ -43,4 +43,279 @@ thisArgumentIsNonPointer
|
||||
| pointer_to_member.cpp:24:5:24:49 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
| break_labels.c:4:9:4:14 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) |
|
||||
| break_labels.c:6:16:6:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) |
|
||||
| break_labels.c:7:17:7:24 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) |
|
||||
| break_labels.c:20:16:20:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() |
|
||||
| break_labels.c:21:13:21:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() |
|
||||
| break_labels.c:24:13:24:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() |
|
||||
| builtin.c:24:7:24:13 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) |
|
||||
| builtin.c:28:7:28:29 | ConditionalBranch: call to __builtin_unpredictable | Conditional branch instruction ConditionalBranch: call to __builtin_unpredictable with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) |
|
||||
| builtin.c:47:7:47:22 | ConditionalBranch: call to __builtin_memchr | Conditional branch instruction ConditionalBranch: call to __builtin_memchr with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) |
|
||||
| dostmt.c:4:11:4:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | dostmt.c:1:6:1:17 | void always_false() | void always_false() |
|
||||
| dostmt.c:12:11:12:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dostmt.c:8:13:8:25 | void always_true_1() | void always_true_1() |
|
||||
| dostmt.c:21:11:21:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dostmt.c:16:13:16:25 | void always_true_2() | void always_true_2() |
|
||||
| dostmt.c:28:11:28:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dostmt.c:25:13:25:25 | void always_true_3() | void always_true_3() |
|
||||
| dostmt.c:36:11:36:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | dostmt.c:32:13:32:18 | void normal() | void normal() |
|
||||
| duff2.c:13:14:13:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:2:6:2:12 | void duff2_8(int) | void duff2_8(int) |
|
||||
| duff2.c:21:14:21:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:16:6:16:12 | void duff2_2(int) | void duff2_2(int) |
|
||||
| duff.c:13:22:13:28 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff.c:2:13:2:13 | void f(int) | void f(int) |
|
||||
| dummyblock.c:2:9:2:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dummyblock.c:1:13:1:13 | void f() | void f() |
|
||||
| ifelsestmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() |
|
||||
| ifelsestmt.c:12:6:12:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:11:13:11:26 | void always_false_2() | void always_false_2() |
|
||||
| ifelsestmt.c:20:6:20:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:19:13:19:25 | void always_true_1() | void always_true_1() |
|
||||
| ifelsestmt.c:30:6:30:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:29:13:29:25 | void always_true_2() | void always_true_2() |
|
||||
| ifelsestmt.c:38:6:38:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifelsestmt.c:37:13:37:18 | void normal(int, int) | void normal(int, int) |
|
||||
| ifstmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:1:13:1:26 | void always_false_1() | void always_false_1() |
|
||||
| ifstmt.c:9:6:9:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:8:13:8:26 | void always_false_2() | void always_false_2() |
|
||||
| ifstmt.c:15:6:15:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:14:13:14:25 | void always_true_1() | void always_true_1() |
|
||||
| ifstmt.c:22:6:22:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:21:13:21:25 | void always_true_2() | void always_true_2() |
|
||||
| ifstmt.c:28:6:28:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifstmt.c:27:13:27:18 | void normal(int, int) | void normal(int, int) |
|
||||
| landexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| landexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| lorexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| lorexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| misc.c:22:9:22:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:22:17:22:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:27:9:27:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:27:17:27:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:32:9:32:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:32:14:32:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:37:9:37:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:37:14:37:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:44:11:44:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:47:11:47:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:47:16:47:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:50:11:50:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:50:16:50:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:53:11:53:14 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:58:13:58:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:61:13:61:16 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:62:16:62:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:64:11:64:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:68:16:68:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:72:11:72:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:86:9:86:13 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:87:9:87:10 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:87:9:87:10 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:88:9:88:9 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:93:9:93:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) |
|
||||
| misc.c:94:9:94:19 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) |
|
||||
| misc.c:139:10:139:18 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:139:25:139:33 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:140:9:140:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:140:14:140:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:140:19:140:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:141:9:141:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:141:14:141:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:141:19:141:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:192:11:192:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | misc.c:191:6:191:20 | void unreachable_end() | void unreachable_end() |
|
||||
| pruning.c:5:9:5:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | pruning.c:4:6:4:8 | void f_0() | void f_0() |
|
||||
| pruning.c:13:9:13:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | pruning.c:12:6:12:8 | void f_1() | void f_1() |
|
||||
| pruning.c:21:9:21:11 | ConditionalBranch: 256 | Conditional branch instruction ConditionalBranch: 256 with non-Boolean condition, in function '$@'. | pruning.c:20:6:20:10 | void f_256() | void f_256() |
|
||||
| pruning.c:29:9:29:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:28:6:28:16 | void f_uint8_t_0() | void f_uint8_t_0() |
|
||||
| pruning.c:37:9:37:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:36:6:36:16 | void f_uint8_t_1() | void f_uint8_t_1() |
|
||||
| pruning.c:45:9:45:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:44:6:44:18 | void f_uint8_t_256() | void f_uint8_t_256() |
|
||||
| pruning.c:53:9:53:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:52:6:52:18 | void f_uint8_t_257() | void f_uint8_t_257() |
|
||||
| pruning.c:61:9:61:26 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:60:6:60:21 | void f_uint8_t_minus1() | void f_uint8_t_minus1() |
|
||||
| pruning.c:70:9:70:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:68:6:68:14 | void f_v_int_0() | void f_v_int_0() |
|
||||
| pruning.c:79:9:79:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:77:6:77:14 | void f_v_int_1() | void f_v_int_1() |
|
||||
| pruning.c:88:9:88:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:86:6:86:16 | void f_v_int_256() | void f_v_int_256() |
|
||||
| pruning.c:97:9:97:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:95:6:95:18 | void f_v_uint8_t_0() | void f_v_uint8_t_0() |
|
||||
| pruning.c:106:9:106:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:104:6:104:18 | void f_v_uint8_t_1() | void f_v_uint8_t_1() |
|
||||
| pruning.c:115:9:115:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:113:6:113:20 | void f_v_uint8_t_256() | void f_v_uint8_t_256() |
|
||||
| pruning.c:124:9:124:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:122:6:122:20 | void f_v_uint8_t_257() | void f_v_uint8_t_257() |
|
||||
| pruning.c:133:9:133:16 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:131:6:131:23 | void f_v_uint8_t_minus1() | void f_v_uint8_t_minus1() |
|
||||
| questionexpr.c:3:6:3:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | questionexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| range_analysis.c:7:10:7:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:5:5:5:9 | int test1(List*) | int test1(List*) |
|
||||
| range_analysis.c:15:10:15:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:13:5:13:9 | int test2(List*) | int test2(List*) |
|
||||
| range_analysis.c:23:10:23:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:21:5:21:9 | int test3(List*) | int test3(List*) |
|
||||
| range_analysis.c:33:15:33:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:30:5:30:9 | int test4() | int test4() |
|
||||
| range_analysis.c:42:15:42:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:39:5:39:9 | int test5() | int test5() |
|
||||
| range_analysis.c:51:15:51:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:48:5:48:9 | int test6() | int test6() |
|
||||
| range_analysis.c:58:7:58:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) |
|
||||
| range_analysis.c:59:9:59:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) |
|
||||
| range_analysis.c:67:7:67:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) |
|
||||
| range_analysis.c:67:20:67:25 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) |
|
||||
| range_analysis.c:68:9:68:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) |
|
||||
| range_analysis.c:76:7:76:12 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) |
|
||||
| range_analysis.c:77:9:77:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) |
|
||||
| range_analysis.c:81:9:81:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) |
|
||||
| range_analysis.c:89:7:89:11 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) |
|
||||
| range_analysis.c:90:9:90:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) |
|
||||
| range_analysis.c:101:7:101:15 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:104:7:104:14 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:106:9:106:17 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:109:9:109:16 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:124:11:124:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:122:5:122:10 | int test12() | int test12() |
|
||||
| range_analysis.c:154:11:154:15 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) |
|
||||
| range_analysis.c:154:20:154:30 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) |
|
||||
| range_analysis.c:161:7:161:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:161:17:161:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:166:7:166:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:166:17:166:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:171:7:171:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:171:18:171:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:176:7:176:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:176:18:176:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:181:7:181:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:181:18:181:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:186:7:186:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:186:18:186:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:200:7:200:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:200:17:200:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:200:28:200:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:200:38:200:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:7:204:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:17:204:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:28:204:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:38:204:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:7:208:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:17:208:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:28:208:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:40:208:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:7:212:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:17:212:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:28:212:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:40:212:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:7:216:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:17:216:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:28:216:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:40:216:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:228:7:228:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:228:17:228:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:228:28:228:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:228:38:228:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:7:232:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:17:232:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:28:232:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:38:232:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:7:236:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:17:236:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:28:236:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:40:236:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:7:240:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:17:240:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:28:240:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:40:240:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:7:244:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:17:244:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:28:244:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:40:244:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:256:7:256:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:256:19:256:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:256:30:256:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:256:40:256:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:7:260:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:19:260:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:30:260:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:40:260:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:7:264:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:19:264:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:30:264:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:42:264:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:7:268:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:19:268:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:30:268:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:42:268:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:7:272:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:19:272:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:30:272:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:42:272:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:284:7:284:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:284:19:284:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:284:29:284:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:284:39:284:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:7:288:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:19:288:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:29:288:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:39:288:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:7:292:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:19:292:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:29:292:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:41:292:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:7:296:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:19:296:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:29:296:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:41:296:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:7:300:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:19:300:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:29:300:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:41:300:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:312:7:312:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:312:19:312:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:312:30:312:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:312:40:312:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:7:316:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:19:316:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:30:316:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:40:316:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:7:320:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:19:320:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:30:320:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:42:320:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:7:324:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:19:324:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:30:324:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:42:324:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:7:328:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:19:328:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:30:328:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:42:328:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:338:7:338:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:342:10:342:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:346:7:346:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:347:9:347:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:357:8:357:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:358:8:358:15 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:365:7:365:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:366:10:366:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:367:10:367:17 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:368:10:368:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:369:10:369:36 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:370:10:370:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:371:10:371:39 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:379:8:379:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:380:8:380:15 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:384:7:384:14 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:385:10:385:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:386:10:386:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:387:10:387:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:394:20:394:26 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:393:14:393:25 | unsigned int test_comma01(unsigned int) | unsigned int test_comma01(unsigned int) |
|
||||
| switchbody.c:5:11:5:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:4:5:4:16 | int switch_block(int) | int switch_block(int) |
|
||||
| switchbody.c:16:11:16:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:15:5:15:17 | int switch_single(int) | int switch_single(int) |
|
||||
| switchbody.c:28:11:28:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:27:5:27:19 | int switch_notblock(int) | int switch_notblock(int) |
|
||||
| switchbody.c:29:9:29:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | switchbody.c:27:5:27:19 | int switch_notblock(int) | int switch_notblock(int) |
|
||||
| test.c:3:9:3:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:2:6:2:11 | void f_if_1(int) | void f_if_1(int) |
|
||||
| test.c:11:9:11:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:10:6:10:11 | void f_if_2() | void f_if_2() |
|
||||
| test.c:19:9:19:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:18:6:18:11 | void f_if_3() | void f_if_3() |
|
||||
| test.c:28:16:28:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | test.c:26:6:26:12 | void f_for_1() | void f_for_1() |
|
||||
| test.c:36:16:36:16 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:34:6:34:12 | void f_for_2() | void f_for_2() |
|
||||
| test.c:44:16:44:16 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:42:6:42:12 | void f_for_3() | void f_for_3() |
|
||||
| test.c:51:11:51:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:50:6:50:14 | void f_while_1(int) | void f_while_1(int) |
|
||||
| test.c:58:11:58:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:57:6:57:14 | void f_while_2() | void f_while_2() |
|
||||
| test.c:65:11:65:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:64:6:64:14 | void f_while_3() | void f_while_3() |
|
||||
| test.c:74:14:74:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:71:6:71:11 | void f_do_1(int) | void f_do_1(int) |
|
||||
| test.c:81:14:81:14 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:78:6:78:11 | void f_do_2() | void f_do_2() |
|
||||
| test.c:88:14:88:14 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:85:6:85:11 | void f_do_3() | void f_do_3() |
|
||||
| test.c:93:13:93:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:92:6:92:13 | void f_cond_1(int) | void f_cond_1(int) |
|
||||
| test.c:204:12:204:12 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:203:6:203:15 | void f_switch_7(int) | void f_switch_7(int) |
|
||||
| test.c:219:7:219:7 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) |
|
||||
| test.c:219:12:219:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) |
|
||||
| test.c:219:12:219:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) |
|
||||
| test.c:226:7:226:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:226:7:226:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:226:9:226:9 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:226:14:226:14 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:233:7:233:7 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) |
|
||||
| test.c:233:7:233:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) |
|
||||
| test.c:245:31:245:31 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:245:24:245:24 | const void *[] a | const void *[] a |
|
||||
| unaryopexpr.c:8:5:8:6 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | unaryopexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| whilestmt.c:2:9:2:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | whilestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() |
|
||||
| whilestmt.c:10:9:10:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() |
|
||||
| whilestmt.c:10:9:10:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() |
|
||||
| whilestmt.c:16:9:16:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:15:13:15:25 | void always_true_1() | void always_true_1() |
|
||||
| whilestmt.c:24:9:24:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:23:13:23:25 | void always_true_2() | void always_true_2() |
|
||||
| whilestmt.c:33:9:33:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:32:13:32:25 | void always_true_3() | void always_true_3() |
|
||||
| whilestmt.c:41:9:41:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | whilestmt.c:39:13:39:18 | void normal() | void normal() |
|
||||
missingCppType
|
||||
|
||||
@@ -34,4 +34,270 @@ thisArgumentIsNonPointer
|
||||
| pointer_to_member.cpp:24:5:24:49 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) |
|
||||
nonUniqueIRVariable
|
||||
nonBooleanOperand
|
||||
| break_labels.c:4:9:4:14 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) |
|
||||
| break_labels.c:6:16:6:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) |
|
||||
| break_labels.c:7:17:7:24 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:2:12:2:12 | int f(int) | int f(int) |
|
||||
| break_labels.c:20:16:20:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() |
|
||||
| break_labels.c:21:13:21:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() |
|
||||
| break_labels.c:24:13:24:18 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | break_labels.c:16:6:16:10 | void f_for() | void f_for() |
|
||||
| builtin.c:24:7:24:13 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) |
|
||||
| builtin.c:28:7:28:29 | ConditionalBranch: call to __builtin_unpredictable | Conditional branch instruction ConditionalBranch: call to __builtin_unpredictable with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) |
|
||||
| builtin.c:47:7:47:22 | ConditionalBranch: call to __builtin_memchr | Conditional branch instruction ConditionalBranch: call to __builtin_memchr with non-Boolean condition, in function '$@'. | builtin.c:5:5:5:11 | int builtin(int, int) | int builtin(int, int) |
|
||||
| dostmt.c:4:11:4:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | dostmt.c:1:6:1:17 | void always_false() | void always_false() |
|
||||
| dostmt.c:28:11:28:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dostmt.c:25:13:25:25 | void always_true_3() | void always_true_3() |
|
||||
| dostmt.c:36:11:36:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | dostmt.c:32:13:32:18 | void normal() | void normal() |
|
||||
| duff2.c:13:14:13:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:2:6:2:12 | void duff2_8(int) | void duff2_8(int) |
|
||||
| duff2.c:21:14:21:20 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff2.c:16:6:16:12 | void duff2_2(int) | void duff2_2(int) |
|
||||
| duff.c:13:22:13:28 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | duff.c:2:13:2:13 | void f(int) | void f(int) |
|
||||
| dummyblock.c:2:9:2:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | dummyblock.c:1:13:1:13 | void f() | void f() |
|
||||
| ifelsestmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() |
|
||||
| ifelsestmt.c:12:6:12:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifelsestmt.c:11:13:11:26 | void always_false_2() | void always_false_2() |
|
||||
| ifelsestmt.c:20:6:20:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:19:13:19:25 | void always_true_1() | void always_true_1() |
|
||||
| ifelsestmt.c:30:6:30:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifelsestmt.c:29:13:29:25 | void always_true_2() | void always_true_2() |
|
||||
| ifelsestmt.c:38:6:38:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifelsestmt.c:37:13:37:18 | void normal(int, int) | void normal(int, int) |
|
||||
| ifstmt.c:2:6:2:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:1:13:1:26 | void always_false_1() | void always_false_1() |
|
||||
| ifstmt.c:9:6:9:6 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | ifstmt.c:8:13:8:26 | void always_false_2() | void always_false_2() |
|
||||
| ifstmt.c:15:6:15:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:14:13:14:25 | void always_true_1() | void always_true_1() |
|
||||
| ifstmt.c:22:6:22:6 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | ifstmt.c:21:13:21:25 | void always_true_2() | void always_true_2() |
|
||||
| ifstmt.c:28:6:28:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | ifstmt.c:27:13:27:18 | void normal(int, int) | void normal(int, int) |
|
||||
| landexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| landexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | landexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| lorexpr.c:3:6:3:6 | ConditionalBranch: a | Conditional branch instruction ConditionalBranch: a with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| lorexpr.c:3:11:3:11 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | lorexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| misc.c:22:9:22:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:22:17:22:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:27:9:27:12 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:27:17:27:20 | ConditionalBranch: argj | Conditional branch instruction ConditionalBranch: argj with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:32:9:32:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:32:14:32:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:37:9:37:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:37:14:37:14 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:44:11:44:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:47:11:47:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:47:16:47:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:50:11:50:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:50:16:50:16 | ConditionalBranch: j | Conditional branch instruction ConditionalBranch: j with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:53:11:53:14 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:58:13:58:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:61:13:61:16 | ConditionalBranch: argi | Conditional branch instruction ConditionalBranch: argi with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:62:16:62:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:64:11:64:16 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | misc.c:16:6:16:10 | void misc1(int, int) | void misc1(int, int) |
|
||||
| misc.c:93:9:93:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) |
|
||||
| misc.c:94:9:94:19 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | misc.c:91:6:91:33 | void gnuConditionalOmittedOperand(someStruct*) | void gnuConditionalOmittedOperand(someStruct*) |
|
||||
| misc.c:139:10:139:18 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:139:25:139:33 | ConditionalBranch: ... & ... | Conditional branch instruction ConditionalBranch: ... & ... with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:140:9:140:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:140:14:140:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:140:19:140:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:141:9:141:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:141:14:141:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:141:19:141:19 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | misc.c:97:6:97:10 | void misc3() | void misc3() |
|
||||
| misc.c:192:11:192:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | misc.c:191:6:191:20 | void unreachable_end() | void unreachable_end() |
|
||||
| pruning.c:5:9:5:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | pruning.c:4:6:4:8 | void f_0() | void f_0() |
|
||||
| pruning.c:13:9:13:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | pruning.c:12:6:12:8 | void f_1() | void f_1() |
|
||||
| pruning.c:21:9:21:11 | ConditionalBranch: 256 | Conditional branch instruction ConditionalBranch: 256 with non-Boolean condition, in function '$@'. | pruning.c:20:6:20:10 | void f_256() | void f_256() |
|
||||
| pruning.c:29:9:29:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:28:6:28:16 | void f_uint8_t_0() | void f_uint8_t_0() |
|
||||
| pruning.c:37:9:37:18 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:36:6:36:16 | void f_uint8_t_1() | void f_uint8_t_1() |
|
||||
| pruning.c:45:9:45:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:44:6:44:18 | void f_uint8_t_256() | void f_uint8_t_256() |
|
||||
| pruning.c:53:9:53:20 | ConditionalBranch: (uint8_t)... | Conditional branch instruction ConditionalBranch: (uint8_t)... with non-Boolean condition, in function '$@'. | pruning.c:52:6:52:18 | void f_uint8_t_257() | void f_uint8_t_257() |
|
||||
| pruning.c:61:9:61:26 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:60:6:60:21 | void f_uint8_t_minus1() | void f_uint8_t_minus1() |
|
||||
| pruning.c:70:9:70:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:68:6:68:14 | void f_v_int_0() | void f_v_int_0() |
|
||||
| pruning.c:79:9:79:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:77:6:77:14 | void f_v_int_1() | void f_v_int_1() |
|
||||
| pruning.c:88:9:88:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:86:6:86:16 | void f_v_int_256() | void f_v_int_256() |
|
||||
| pruning.c:97:9:97:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:95:6:95:18 | void f_v_uint8_t_0() | void f_v_uint8_t_0() |
|
||||
| pruning.c:106:9:106:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:104:6:104:18 | void f_v_uint8_t_1() | void f_v_uint8_t_1() |
|
||||
| pruning.c:115:9:115:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:113:6:113:20 | void f_v_uint8_t_256() | void f_v_uint8_t_256() |
|
||||
| pruning.c:124:9:124:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | pruning.c:122:6:122:20 | void f_v_uint8_t_257() | void f_v_uint8_t_257() |
|
||||
| pruning.c:133:9:133:16 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | pruning.c:131:6:131:23 | void f_v_uint8_t_minus1() | void f_v_uint8_t_minus1() |
|
||||
| questionexpr.c:3:6:3:11 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | questionexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| range_analysis.c:7:10:7:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:5:5:5:9 | int test1(List*) | int test1(List*) |
|
||||
| range_analysis.c:15:10:15:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:13:5:13:9 | int test2(List*) | int test2(List*) |
|
||||
| range_analysis.c:23:10:23:10 | ConditionalBranch: p | Conditional branch instruction ConditionalBranch: p with non-Boolean condition, in function '$@'. | range_analysis.c:21:5:21:9 | int test3(List*) | int test3(List*) |
|
||||
| range_analysis.c:33:15:33:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:30:5:30:9 | int test4() | int test4() |
|
||||
| range_analysis.c:42:15:42:19 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:39:5:39:9 | int test5() | int test5() |
|
||||
| range_analysis.c:51:15:51:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:48:5:48:9 | int test6() | int test6() |
|
||||
| range_analysis.c:58:7:58:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) |
|
||||
| range_analysis.c:59:9:59:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:57:5:57:9 | int test7(int) | int test7(int) |
|
||||
| range_analysis.c:67:7:67:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) |
|
||||
| range_analysis.c:67:20:67:25 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) |
|
||||
| range_analysis.c:68:9:68:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:66:5:66:9 | int test8(int, int) | int test8(int, int) |
|
||||
| range_analysis.c:76:7:76:12 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) |
|
||||
| range_analysis.c:77:9:77:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) |
|
||||
| range_analysis.c:81:9:81:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:75:5:75:9 | int test9(int, int) | int test9(int, int) |
|
||||
| range_analysis.c:89:7:89:11 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) |
|
||||
| range_analysis.c:90:9:90:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:88:5:88:10 | int test10(int, int) | int test10(int, int) |
|
||||
| range_analysis.c:101:7:101:15 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:104:7:104:14 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:106:9:106:17 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:109:9:109:16 | ConditionalBranch: ... != ... | Conditional branch instruction ConditionalBranch: ... != ... with non-Boolean condition, in function '$@'. | range_analysis.c:98:5:98:10 | int test11(char*) | int test11(char*) |
|
||||
| range_analysis.c:124:11:124:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:122:5:122:10 | int test12() | int test12() |
|
||||
| range_analysis.c:154:11:154:15 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) |
|
||||
| range_analysis.c:154:20:154:30 | ConditionalBranch: ... == ... | Conditional branch instruction ConditionalBranch: ... == ... with non-Boolean condition, in function '$@'. | range_analysis.c:153:11:153:16 | long long test15(long long) | long long test15(long long) |
|
||||
| range_analysis.c:161:7:161:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:161:17:161:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:166:7:166:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:166:17:166:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:171:7:171:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:171:18:171:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:176:7:176:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:176:18:176:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:181:7:181:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:181:18:181:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:186:7:186:13 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:186:18:186:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:158:5:158:14 | int test_unary(int) | int test_unary(int) |
|
||||
| range_analysis.c:200:7:200:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:200:17:200:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:200:28:200:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:200:38:200:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:7:204:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:17:204:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:28:204:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:204:38:204:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:7:208:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:17:208:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:28:208:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:208:40:208:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:7:212:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:17:212:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:28:212:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:212:40:212:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:7:216:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:17:216:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:28:216:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:216:40:216:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:197:5:197:15 | int test_mult01(int, int) | int test_mult01(int, int) |
|
||||
| range_analysis.c:228:7:228:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:228:17:228:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:228:28:228:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:228:38:228:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:7:232:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:17:232:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:28:232:33 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:232:38:232:44 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:7:236:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:17:236:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:28:236:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:236:40:236:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:7:240:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:17:240:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:28:240:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:240:40:240:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:7:244:12 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:17:244:23 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:28:244:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:244:40:244:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:225:5:225:15 | int test_mult02(int, int) | int test_mult02(int, int) |
|
||||
| range_analysis.c:256:7:256:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:256:19:256:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:256:30:256:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:256:40:256:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:7:260:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:19:260:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:30:260:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:260:40:260:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:7:264:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:19:264:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:30:264:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:264:42:264:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:7:268:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:19:268:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:30:268:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:268:42:268:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:7:272:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:19:272:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:30:272:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:272:42:272:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:253:5:253:15 | int test_mult03(int, int) | int test_mult03(int, int) |
|
||||
| range_analysis.c:284:7:284:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:284:19:284:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:284:29:284:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:284:39:284:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:7:288:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:19:288:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:29:288:34 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:288:39:288:45 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:7:292:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:19:292:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:29:292:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:292:41:292:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:7:296:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:19:296:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:29:296:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:296:41:296:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:7:300:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:19:300:24 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:29:300:36 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:300:41:300:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:281:5:281:15 | int test_mult04(int, int) | int test_mult04(int, int) |
|
||||
| range_analysis.c:312:7:312:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:312:19:312:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:312:30:312:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:312:40:312:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:7:316:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:19:316:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:30:316:35 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:316:40:316:46 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:7:320:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:19:320:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:30:320:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:320:42:320:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:7:324:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:19:324:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:30:324:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:324:42:324:47 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:7:328:14 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:19:328:25 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:30:328:37 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:328:42:328:48 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:309:5:309:15 | int test_mult05(int, int) | int test_mult05(int, int) |
|
||||
| range_analysis.c:338:7:338:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:342:10:342:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:346:7:346:11 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:347:9:347:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:336:5:336:10 | int test16(int) | int test16(int) |
|
||||
| range_analysis.c:357:8:357:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:358:8:358:15 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:365:7:365:13 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:366:10:366:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:367:10:367:17 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:368:10:368:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:369:10:369:36 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:370:10:370:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:371:10:371:39 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:355:14:355:27 | unsigned int test_ternary01(unsigned int) | unsigned int test_ternary01(unsigned int) |
|
||||
| range_analysis.c:379:8:379:14 | ConditionalBranch: ... > ... | Conditional branch instruction ConditionalBranch: ... > ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:380:8:380:15 | ConditionalBranch: ... <= ... | Conditional branch instruction ConditionalBranch: ... <= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:384:7:384:14 | ConditionalBranch: ... >= ... | Conditional branch instruction ConditionalBranch: ... >= ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:385:10:385:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:386:10:386:21 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:387:10:387:38 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | range_analysis.c:377:14:377:27 | unsigned int test_ternary02(unsigned int) | unsigned int test_ternary02(unsigned int) |
|
||||
| range_analysis.c:394:20:394:26 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | range_analysis.c:393:14:393:25 | unsigned int test_comma01(unsigned int) | unsigned int test_comma01(unsigned int) |
|
||||
| switchbody.c:5:11:5:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:4:5:4:16 | int switch_block(int) | int switch_block(int) |
|
||||
| switchbody.c:16:11:16:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:15:5:15:17 | int switch_single(int) | int switch_single(int) |
|
||||
| switchbody.c:28:11:28:15 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | switchbody.c:27:5:27:19 | int switch_notblock(int) | int switch_notblock(int) |
|
||||
| test.c:3:9:3:9 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:2:6:2:11 | void f_if_1(int) | void f_if_1(int) |
|
||||
| test.c:11:9:11:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:10:6:10:11 | void f_if_2() | void f_if_2() |
|
||||
| test.c:19:9:19:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:18:6:18:11 | void f_if_3() | void f_if_3() |
|
||||
| test.c:28:16:28:21 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | test.c:26:6:26:12 | void f_for_1() | void f_for_1() |
|
||||
| test.c:36:16:36:16 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:34:6:34:12 | void f_for_2() | void f_for_2() |
|
||||
| test.c:44:16:44:16 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:42:6:42:12 | void f_for_3() | void f_for_3() |
|
||||
| test.c:51:11:51:11 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:50:6:50:14 | void f_while_1(int) | void f_while_1(int) |
|
||||
| test.c:58:11:58:11 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:57:6:57:14 | void f_while_2() | void f_while_2() |
|
||||
| test.c:65:11:65:11 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:64:6:64:14 | void f_while_3() | void f_while_3() |
|
||||
| test.c:74:14:74:14 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:71:6:71:11 | void f_do_1(int) | void f_do_1(int) |
|
||||
| test.c:81:14:81:14 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | test.c:78:6:78:11 | void f_do_2() | void f_do_2() |
|
||||
| test.c:88:14:88:14 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:85:6:85:11 | void f_do_3() | void f_do_3() |
|
||||
| test.c:93:13:93:13 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:92:6:92:13 | void f_cond_1(int) | void f_cond_1(int) |
|
||||
| test.c:204:12:204:12 | ConditionalBranch: i | Conditional branch instruction ConditionalBranch: i with non-Boolean condition, in function '$@'. | test.c:203:6:203:15 | void f_switch_7(int) | void f_switch_7(int) |
|
||||
| test.c:219:7:219:7 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) |
|
||||
| test.c:219:12:219:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) |
|
||||
| test.c:219:12:219:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:218:5:218:11 | int f_and_1(int, int) | int f_and_1(int, int) |
|
||||
| test.c:226:7:226:15 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:226:7:226:15 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:226:9:226:9 | ConditionalBranch: x | Conditional branch instruction ConditionalBranch: x with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:226:14:226:14 | ConditionalBranch: y | Conditional branch instruction ConditionalBranch: y with non-Boolean condition, in function '$@'. | test.c:225:5:225:11 | int f_and_2(int, int) | int f_and_2(int, int) |
|
||||
| test.c:233:7:233:7 | ConditionalBranch: b | Conditional branch instruction ConditionalBranch: b with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) |
|
||||
| test.c:233:7:233:15 | ConditionalBranch: ... ? ... : ... | Conditional branch instruction ConditionalBranch: ... ? ... : ... with non-Boolean condition, in function '$@'. | test.c:232:6:232:19 | void f_if_ternary_1(int, int, int) | void f_if_ternary_1(int, int, int) |
|
||||
| test.c:245:31:245:31 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | test.c:245:24:245:24 | const void *[] a | const void *[] a |
|
||||
| unaryopexpr.c:8:5:8:6 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | unaryopexpr.c:1:13:1:13 | void f() | void f() |
|
||||
| whilestmt.c:2:9:2:9 | ConditionalBranch: 0 | Conditional branch instruction ConditionalBranch: 0 with non-Boolean condition, in function '$@'. | whilestmt.c:1:13:1:26 | void always_false_1() | void always_false_1() |
|
||||
| whilestmt.c:10:9:10:13 | ConditionalBranch: ! ... | Conditional branch instruction ConditionalBranch: ! ... with non-Boolean condition, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() |
|
||||
| whilestmt.c:10:9:10:13 | LogicalNot: ! ... | Logical Not instruction LogicalNot: ! ... with non-Boolean operand, in function '$@'. | whilestmt.c:8:13:8:26 | void always_false_2() | void always_false_2() |
|
||||
| whilestmt.c:16:9:16:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:15:13:15:25 | void always_true_1() | void always_true_1() |
|
||||
| whilestmt.c:24:9:24:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:23:13:23:25 | void always_true_2() | void always_true_2() |
|
||||
| whilestmt.c:33:9:33:9 | ConditionalBranch: 1 | Conditional branch instruction ConditionalBranch: 1 with non-Boolean condition, in function '$@'. | whilestmt.c:32:13:32:25 | void always_true_3() | void always_true_3() |
|
||||
| whilestmt.c:41:9:41:14 | ConditionalBranch: ... < ... | Conditional branch instruction ConditionalBranch: ... < ... with non-Boolean condition, in function '$@'. | whilestmt.c:39:13:39:18 | void normal() | void normal() |
|
||||
missingCppType
|
||||
|
||||
@@ -16,6 +16,8 @@ edges
|
||||
| main.cpp:8:34:8:37 | **argv | main.cpp:8:34:8:37 | test_buffer_overrun_main output argument | provenance | |
|
||||
| main.cpp:8:34:8:37 | **argv | test_buffer_overrun.cpp:32:46:32:49 | **argv | provenance | |
|
||||
| main.cpp:8:34:8:37 | *argv | main.cpp:8:34:8:37 | test_buffer_overrun_main output argument | provenance | |
|
||||
| main.cpp:8:34:8:37 | *argv | main.cpp:8:34:8:37 | test_buffer_overrun_main output argument | provenance | |
|
||||
| main.cpp:8:34:8:37 | *argv | test_buffer_overrun.cpp:32:46:32:49 | **argv | provenance | |
|
||||
| main.cpp:8:34:8:37 | *argv | test_buffer_overrun.cpp:32:46:32:49 | *argv | provenance | |
|
||||
| main.cpp:8:34:8:37 | test_buffer_overrun_main output argument | main.cpp:9:29:9:32 | **argv | provenance | |
|
||||
| main.cpp:8:34:8:37 | test_buffer_overrun_main output argument | main.cpp:9:29:9:32 | *argv | provenance | |
|
||||
@@ -24,10 +26,13 @@ edges
|
||||
| main.cpp:9:29:9:32 | **argv | main.cpp:9:29:9:32 | tests_restrict_main output argument | provenance | |
|
||||
| main.cpp:9:29:9:32 | **argv | tests_restrict.c:15:41:15:44 | **argv | provenance | |
|
||||
| main.cpp:9:29:9:32 | *argv | main.cpp:9:29:9:32 | tests_restrict_main output argument | provenance | |
|
||||
| main.cpp:9:29:9:32 | *argv | main.cpp:9:29:9:32 | tests_restrict_main output argument | provenance | |
|
||||
| main.cpp:9:29:9:32 | *argv | tests_restrict.c:15:41:15:44 | **argv | provenance | |
|
||||
| main.cpp:9:29:9:32 | *argv | tests_restrict.c:15:41:15:44 | *argv | provenance | |
|
||||
| main.cpp:9:29:9:32 | tests_restrict_main output argument | main.cpp:10:20:10:23 | **argv | provenance | |
|
||||
| main.cpp:9:29:9:32 | tests_restrict_main output argument | main.cpp:10:20:10:23 | *argv | provenance | |
|
||||
| main.cpp:10:20:10:23 | **argv | tests.cpp:689:32:689:35 | **argv | provenance | |
|
||||
| main.cpp:10:20:10:23 | *argv | tests.cpp:689:32:689:35 | **argv | provenance | |
|
||||
| main.cpp:10:20:10:23 | *argv | tests.cpp:689:32:689:35 | *argv | provenance | |
|
||||
| overflowdestination.cpp:23:45:23:48 | **argv | overflowdestination.cpp:23:45:23:48 | **argv | provenance | |
|
||||
| overflowdestination.cpp:23:45:23:48 | **argv | overflowdestination.cpp:23:45:23:48 | *argv | provenance | |
|
||||
@@ -93,8 +98,11 @@ subpaths
|
||||
| main.cpp:7:33:7:36 | **argv | overflowdestination.cpp:23:45:23:48 | **argv | overflowdestination.cpp:23:45:23:48 | *argv | main.cpp:7:33:7:36 | overflowdesination_main output argument |
|
||||
| main.cpp:8:34:8:37 | **argv | test_buffer_overrun.cpp:32:46:32:49 | **argv | test_buffer_overrun.cpp:32:46:32:49 | **argv | main.cpp:8:34:8:37 | test_buffer_overrun_main output argument |
|
||||
| main.cpp:8:34:8:37 | **argv | test_buffer_overrun.cpp:32:46:32:49 | **argv | test_buffer_overrun.cpp:32:46:32:49 | *argv | main.cpp:8:34:8:37 | test_buffer_overrun_main output argument |
|
||||
| main.cpp:8:34:8:37 | *argv | test_buffer_overrun.cpp:32:46:32:49 | **argv | test_buffer_overrun.cpp:32:46:32:49 | **argv | main.cpp:8:34:8:37 | test_buffer_overrun_main output argument |
|
||||
| main.cpp:8:34:8:37 | *argv | test_buffer_overrun.cpp:32:46:32:49 | **argv | test_buffer_overrun.cpp:32:46:32:49 | *argv | main.cpp:8:34:8:37 | test_buffer_overrun_main output argument |
|
||||
| main.cpp:8:34:8:37 | *argv | test_buffer_overrun.cpp:32:46:32:49 | *argv | test_buffer_overrun.cpp:32:46:32:49 | *argv | main.cpp:8:34:8:37 | test_buffer_overrun_main output argument |
|
||||
| main.cpp:9:29:9:32 | **argv | tests_restrict.c:15:41:15:44 | **argv | tests_restrict.c:15:41:15:44 | **argv | main.cpp:9:29:9:32 | tests_restrict_main output argument |
|
||||
| main.cpp:9:29:9:32 | *argv | tests_restrict.c:15:41:15:44 | **argv | tests_restrict.c:15:41:15:44 | **argv | main.cpp:9:29:9:32 | tests_restrict_main output argument |
|
||||
| main.cpp:9:29:9:32 | *argv | tests_restrict.c:15:41:15:44 | *argv | tests_restrict.c:15:41:15:44 | *argv | main.cpp:9:29:9:32 | tests_restrict_main output argument |
|
||||
#select
|
||||
| tests.cpp:615:2:615:7 | call to strcpy | main.cpp:6:27:6:30 | **argv | tests.cpp:615:17:615:22 | *source | This 'call to strcpy' with input from $@ may overflow the destination. | main.cpp:6:27:6:30 | **argv | a command-line argument |
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// semmle-extractor-options: -std=c23
|
||||
// semmle-extractor-options: -std=c11
|
||||
int f1(void) {
|
||||
int x = 1;
|
||||
return 2;
|
||||
@@ -110,27 +110,3 @@ int f17() {
|
||||
if (__builtin_expect(1, 0))
|
||||
__builtin_unreachable(); // GOOD
|
||||
}
|
||||
|
||||
[[_Noreturn]] void f18();
|
||||
|
||||
int f19() {
|
||||
f18(); // GOOD
|
||||
}
|
||||
|
||||
[[___Noreturn__]] void f20();
|
||||
|
||||
int f21() {
|
||||
f20(); // GOOD
|
||||
}
|
||||
|
||||
[[noreturn]] void f22();
|
||||
|
||||
int f23() {
|
||||
f22(); // GOOD
|
||||
}
|
||||
|
||||
[[__noreturn__]] void f24();
|
||||
|
||||
int f25() {
|
||||
f24(); // GOOD
|
||||
}
|
||||
|
||||
@@ -188,10 +188,3 @@ int g22() {
|
||||
int g23() {
|
||||
Aborting().a(); // GOOD [FALSE POSITIVE]
|
||||
}
|
||||
|
||||
[[__noreturn__]]
|
||||
int g24();
|
||||
|
||||
int g25() {
|
||||
g24(); // GOOD
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ Microsoft.Android.Build,,1,14,,,,,,,,,,,,,1,,,,,,12,2
|
||||
Microsoft.Apple.Build,,,7,,,,,,,,,,,,,,,,,,,7,
|
||||
Microsoft.ApplicationBlocks.Data,28,,,,,,,,,,,,28,,,,,,,,,,
|
||||
Microsoft.AspNetCore.Components,2,4,2,,,,,,,2,,,,,,,,,4,,,1,1
|
||||
Microsoft.AspNetCore.Http,,,1,,,,,,,,,,,,,,,,,,,1,
|
||||
Microsoft.AspNetCore.Mvc,,,2,,,,,,,,,,,,,,,,,,,,2
|
||||
Microsoft.AspNetCore.WebUtilities,,,2,,,,,,,,,,,,,,,,,,,2,
|
||||
Microsoft.CSharp,,,2,,,,,,,,,,,,,,,,,,,2,
|
||||
|
||||
|
@@ -9,6 +9,6 @@ C# framework & library support
|
||||
Framework / library,Package,Flow sources,Taint & value steps,Sinks (total),`CWE-079` :sub:`Cross-site scripting`
|
||||
`ServiceStack <https://servicestack.net/>`_,"``ServiceStack.*``, ``ServiceStack``",,7,194,
|
||||
System,"``System.*``, ``System``",47,10819,54,5
|
||||
Others,"``Amazon.Lambda.APIGatewayEvents``, ``Amazon.Lambda.Core``, ``Dapper``, ``ILCompiler``, ``ILLink.RoslynAnalyzer``, ``ILLink.Shared``, ``ILLink.Tasks``, ``Internal.IL``, ``Internal.Pgo``, ``Internal.TypeSystem``, ``JsonToItemsTaskFactory``, ``Microsoft.Android.Build``, ``Microsoft.Apple.Build``, ``Microsoft.ApplicationBlocks.Data``, ``Microsoft.AspNetCore.Components``, ``Microsoft.AspNetCore.Http``, ``Microsoft.AspNetCore.Mvc``, ``Microsoft.AspNetCore.WebUtilities``, ``Microsoft.CSharp``, ``Microsoft.Diagnostics.Tools.Pgo``, ``Microsoft.DotNet.Build.Tasks``, ``Microsoft.DotNet.PlatformAbstractions``, ``Microsoft.EntityFrameworkCore``, ``Microsoft.Extensions.Caching.Distributed``, ``Microsoft.Extensions.Caching.Memory``, ``Microsoft.Extensions.Configuration``, ``Microsoft.Extensions.DependencyInjection``, ``Microsoft.Extensions.DependencyModel``, ``Microsoft.Extensions.Diagnostics.Metrics``, ``Microsoft.Extensions.FileProviders``, ``Microsoft.Extensions.FileSystemGlobbing``, ``Microsoft.Extensions.Hosting``, ``Microsoft.Extensions.Http``, ``Microsoft.Extensions.Logging``, ``Microsoft.Extensions.Options``, ``Microsoft.Extensions.Primitives``, ``Microsoft.Interop``, ``Microsoft.JSInterop``, ``Microsoft.NET.Build.Tasks``, ``Microsoft.NET.Sdk.WebAssembly``, ``Microsoft.NET.WebAssembly.Webcil``, ``Microsoft.VisualBasic``, ``Microsoft.WebAssembly.Build.Tasks``, ``Microsoft.Win32``, ``Mono.Linker``, ``MySql.Data.MySqlClient``, ``Newtonsoft.Json``, ``SourceGenerators``, ``Windows.Security.Cryptography.Core``",61,2075,152,4
|
||||
Totals,,108,12901,400,9
|
||||
Others,"``Amazon.Lambda.APIGatewayEvents``, ``Amazon.Lambda.Core``, ``Dapper``, ``ILCompiler``, ``ILLink.RoslynAnalyzer``, ``ILLink.Shared``, ``ILLink.Tasks``, ``Internal.IL``, ``Internal.Pgo``, ``Internal.TypeSystem``, ``JsonToItemsTaskFactory``, ``Microsoft.Android.Build``, ``Microsoft.Apple.Build``, ``Microsoft.ApplicationBlocks.Data``, ``Microsoft.AspNetCore.Components``, ``Microsoft.AspNetCore.Mvc``, ``Microsoft.AspNetCore.WebUtilities``, ``Microsoft.CSharp``, ``Microsoft.Diagnostics.Tools.Pgo``, ``Microsoft.DotNet.Build.Tasks``, ``Microsoft.DotNet.PlatformAbstractions``, ``Microsoft.EntityFrameworkCore``, ``Microsoft.Extensions.Caching.Distributed``, ``Microsoft.Extensions.Caching.Memory``, ``Microsoft.Extensions.Configuration``, ``Microsoft.Extensions.DependencyInjection``, ``Microsoft.Extensions.DependencyModel``, ``Microsoft.Extensions.Diagnostics.Metrics``, ``Microsoft.Extensions.FileProviders``, ``Microsoft.Extensions.FileSystemGlobbing``, ``Microsoft.Extensions.Hosting``, ``Microsoft.Extensions.Http``, ``Microsoft.Extensions.Logging``, ``Microsoft.Extensions.Options``, ``Microsoft.Extensions.Primitives``, ``Microsoft.Interop``, ``Microsoft.JSInterop``, ``Microsoft.NET.Build.Tasks``, ``Microsoft.NET.Sdk.WebAssembly``, ``Microsoft.NET.WebAssembly.Webcil``, ``Microsoft.VisualBasic``, ``Microsoft.WebAssembly.Build.Tasks``, ``Microsoft.Win32``, ``Mono.Linker``, ``MySql.Data.MySqlClient``, ``Newtonsoft.Json``, ``SourceGenerators``, ``Windows.Security.Cryptography.Core``",61,2074,152,4
|
||||
Totals,,108,12900,400,9
|
||||
|
||||
|
||||
@@ -532,12 +532,6 @@ namespace Semmle.Extraction.CSharp
|
||||
return isInline;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns true if this type implements `System.IFormattable`.
|
||||
/// </summary>
|
||||
public static bool ImplementsIFormattable(this ITypeSymbol type) =>
|
||||
type.AllInterfaces.Any(i => i.Name == "IFormattable" && i.ContainingNamespace.ToString() == "System");
|
||||
|
||||
/// <summary>
|
||||
/// Holds if this type is of the form <code>System.ReadOnlySpan<byte></code>.
|
||||
/// </summary>
|
||||
|
||||
@@ -129,7 +129,7 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
cx.PopulateLater(() => Create(cx, node, parent, child));
|
||||
}
|
||||
|
||||
protected static bool ContainsPattern(SyntaxNode node) =>
|
||||
private static bool ContainsPattern(SyntaxNode node) =>
|
||||
node is PatternSyntax || node is VariableDesignationSyntax || node.ChildNodes().Any(ContainsPattern);
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -129,13 +129,7 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
|
||||
public ExprKind Kind { get; set; } = ExprKind.UNKNOWN;
|
||||
|
||||
public bool IsCompilerGenerated { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether the expression should have a compiler generated `ToString` call added,
|
||||
/// if there is no suitable implicit cast.
|
||||
/// </summary>
|
||||
public bool ImplicitToString { get; private set; }
|
||||
public bool IsCompilerGenerated { get; set; }
|
||||
|
||||
public ExpressionNodeInfo SetParent(IExpressionParentEntity parent, int child)
|
||||
{
|
||||
@@ -163,12 +157,6 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
return this;
|
||||
}
|
||||
|
||||
public ExpressionNodeInfo SetImplicitToString(bool value)
|
||||
{
|
||||
ImplicitToString = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
private SymbolInfo cachedSymbolInfo;
|
||||
|
||||
public SymbolInfo SymbolInfo
|
||||
|
||||
@@ -14,35 +14,11 @@ namespace Semmle.Extraction.CSharp.Entities.Expressions
|
||||
|
||||
public static Expression Create(ExpressionNodeInfo info) => new Binary(info).TryPopulate();
|
||||
|
||||
private Expression CreateChild(Context cx, ExpressionSyntax node, int child)
|
||||
{
|
||||
// If this is a "+" expression we might need to wrap the child expressions
|
||||
// in ToString calls
|
||||
return Kind == ExprKind.ADD
|
||||
? ImplicitToString.Create(cx, node, this, child)
|
||||
: Create(cx, node, this, child);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates an expression from a syntax node.
|
||||
/// Inserts type conversion as required.
|
||||
/// Population is deferred to avoid overflowing the stack.
|
||||
/// </summary>
|
||||
private void CreateDeferred(Context cx, ExpressionSyntax node, int child)
|
||||
{
|
||||
if (ContainsPattern(node))
|
||||
// Expressions with patterns should be created right away, as they may introduce
|
||||
// local variables referenced in `LocalVariable::GetAlreadyCreated()`
|
||||
CreateChild(cx, node, child);
|
||||
else
|
||||
cx.PopulateLater(() => CreateChild(cx, node, child));
|
||||
}
|
||||
|
||||
protected override void PopulateExpression(TextWriter trapFile)
|
||||
{
|
||||
OperatorCall(trapFile, Syntax);
|
||||
CreateDeferred(Context, Syntax.Left, 0);
|
||||
CreateDeferred(Context, Syntax.Right, 1);
|
||||
CreateDeferred(Context, Syntax.Left, this, 0);
|
||||
CreateDeferred(Context, Syntax.Right, this, 1);
|
||||
}
|
||||
|
||||
private static ExprKind GetKind(Context cx, BinaryExpressionSyntax node)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user