| Line | Source Code | Coverage |
|---|
| 1 | | - |
| 2 | | - |
| 3 | | - |
| 4 | | - |
| 5 | | - |
| 6 | | - |
| 7 | | - |
| 8 | | - |
| 9 | | - |
| 10 | __attribute__((visibility("default"))) void *qMemCopy(void *dest, const void *src, size_t n); | - |
| 11 | __attribute__((visibility("default"))) void *qMemSet(void *dest, int c, size_t n); | - |
| 12 | const char *qVersion() | - |
| 13 | { | - |
| 14 | return "5.0.2"; executed: return "5.0.2";Execution Count:400 | 400 |
| 15 | } | - |
| 16 | | - |
| 17 | bool qSharedBuild() | - |
| 18 | { | - |
| 19 | | - |
| 20 | return true; never executed: return true; | 0 |
| 21 | | - |
| 22 | | - |
| 23 | | - |
| 24 | } | - |
| 25 | void qt_check_pointer(const char *n, int l) | - |
| 26 | { | - |
| 27 | QMessageLogger("global/qglobal.cpp", 1947, __PRETTY_FUNCTION__).fatal("In file %s, line %d: Out of memory", n, l); | - |
| 28 | } | 0 |
| 29 | | - |
| 30 | | - |
| 31 | | - |
| 32 | | - |
| 33 | | - |
| 34 | | - |
| 35 | void qBadAlloc() | - |
| 36 | { | - |
| 37 | throw std::bad_alloc(); executed: throw std::bad_alloc();Execution Count:2 | 2 |
| 38 | } | - |
| 39 | | - |
| 40 | | - |
| 41 | | - |
| 42 | | - |
| 43 | | - |
| 44 | | - |
| 45 | | - |
| 46 | __attribute__((__noreturn__)) void qTerminate() | - |
| 47 | { | - |
| 48 | std::terminate(); | - |
| 49 | } | 0 |
| 50 | | - |
| 51 | | - |
| 52 | | - |
| 53 | | - |
| 54 | | - |
| 55 | void qt_assert(const char *assertion, const char *file, int line) | - |
| 56 | { | - |
| 57 | QMessageLogger("global/qglobal.cpp", 1977, __PRETTY_FUNCTION__).fatal("ASSERT: \"%s\" in file %s, line %d", assertion, file, line); | - |
| 58 | } | 0 |
| 59 | | - |
| 60 | | - |
| 61 | | - |
| 62 | | - |
| 63 | void qt_assert_x(const char *where, const char *what, const char *file, int line) | - |
| 64 | { | - |
| 65 | QMessageLogger("global/qglobal.cpp", 1985, __PRETTY_FUNCTION__).fatal("ASSERT failure in %s: \"%s\", file %s, line %d", where, what, file, line); | - |
| 66 | } | 0 |
| 67 | | - |
| 68 | | - |
| 69 | | - |
| 70 | | - |
| 71 | | - |
| 72 | | - |
| 73 | | - |
| 74 | __attribute__((visibility("default"))) unsigned int qt_int_sqrt(unsigned int n) | - |
| 75 | { | - |
| 76 | | - |
| 77 | if (n >= ((2147483647 * 2U + 1U)>>2)) { partially evaluated: n >= ((2147483647 * 2U + 1U)>>2)| no Evaluation Count:0 | yes Evaluation Count:13 |
| 0-13 |
| 78 | unsigned int r = 2 * qt_int_sqrt(n / 4); | - |
| 79 | unsigned int r2 = r + 1; | - |
| 80 | return (n >= r2 * r2) ? r2 : r; never executed: return (n >= r2 * r2) ? r2 : r; | 0 |
| 81 | } | - |
| 82 | uint h, p= 0, q= 1, r= n; | - |
| 83 | while (q <= n) evaluated: q <= n| yes Evaluation Count:122 | yes Evaluation Count:13 |
| 13-122 |
| 84 | q <<= 2; executed: q <<= 2;Execution Count:122 | 122 |
| 85 | while (q != 1) { evaluated: q != 1| yes Evaluation Count:122 | yes Evaluation Count:13 |
| 13-122 |
| 86 | q >>= 2; | - |
| 87 | h= p + q; | - |
| 88 | p >>= 1; | - |
| 89 | if (r >= h) { evaluated: r >= h| yes Evaluation Count:76 | yes Evaluation Count:46 |
| 46-76 |
| 90 | p += q; | - |
| 91 | r -= h; | - |
| 92 | } executed: }Execution Count:76 | 76 |
| 93 | } executed: }Execution Count:122 | 122 |
| 94 | return p; executed: return p;Execution Count:13 | 13 |
| 95 | } | - |
| 96 | | - |
| 97 | void *qMemCopy(void *dest, const void *src, size_t n) { return memcpy(dest, src, n); } never executed: return memcpy(dest, src, n); | 0 |
| 98 | void *qMemSet(void *dest, int c, size_t n) { return memset(dest, c, n); } never executed: return memset(dest, c, n); | 0 |
| 99 | | - |
| 100 | | - |
| 101 | | - |
| 102 | namespace { | - |
| 103 | static inline QString fromstrerror_helper(int, const QByteArray &buf) | - |
| 104 | { | - |
| 105 | return QString::fromLocal8Bit(buf); never executed: return QString::fromLocal8Bit(buf); | 0 |
| 106 | } | - |
| 107 | static inline QString fromstrerror_helper(const char *str, const QByteArray &) | - |
| 108 | { | - |
| 109 | return QString::fromLocal8Bit(str); executed: return QString::fromLocal8Bit(str);Execution Count:12 | 12 |
| 110 | } | - |
| 111 | } | - |
| 112 | | - |
| 113 | | - |
| 114 | QString qt_error_string(int errorCode) | - |
| 115 | { | - |
| 116 | const char *s = 0; | - |
| 117 | QString ret; | - |
| 118 | if (errorCode == -1) { partially evaluated: errorCode == -1| no Evaluation Count:0 | yes Evaluation Count:3104 |
| 0-3104 |
| 119 | | - |
| 120 | | - |
| 121 | | - |
| 122 | errorCode = (*__errno_location ()); | - |
| 123 | | - |
| 124 | } | 0 |
| 125 | switch (errorCode) { | - |
| 126 | case 0: | - |
| 127 | break; | 0 |
| 128 | case 13: | - |
| 129 | s = "Permission denied"; | - |
| 130 | break; executed: break;Execution Count:44 | 44 |
| 131 | case 24: | - |
| 132 | s = "Too many open files"; | - |
| 133 | break; | 0 |
| 134 | case 2: | - |
| 135 | s = "No such file or directory"; | - |
| 136 | break; executed: break;Execution Count:3042 | 3042 |
| 137 | case 28: | - |
| 138 | s = "No space left on device"; | - |
| 139 | break; executed: break;Execution Count:6 | 6 |
| 140 | default: { | - |
| 141 | QByteArray buf(1024, '\0'); | - |
| 142 | ret = fromstrerror_helper(strerror_r(errorCode, buf.data(), buf.size()), buf); | - |
| 143 | | - |
| 144 | | - |
| 145 | | - |
| 146 | break; } executed: break;Execution Count:12 | 12 |
| 147 | } | - |
| 148 | if (s) evaluated: s| yes Evaluation Count:3092 | yes Evaluation Count:12 |
| 12-3092 |
| 149 | | - |
| 150 | | - |
| 151 | ret = QString::fromLatin1(s); executed: ret = QString::fromLatin1(s);Execution Count:3092 | 3092 |
| 152 | return ret.trimmed(); executed: return ret.trimmed();Execution Count:3104 | 3104 |
| 153 | } | - |
| 154 | QByteArray qgetenv(const char *varName) | - |
| 155 | { | - |
| 156 | return QByteArray(::getenv(varName)); executed: return QByteArray(::getenv(varName));Execution Count:9260 | 9260 |
| 157 | | - |
| 158 | } | - |
| 159 | bool qEnvironmentVariableIsEmpty(const char *varName) | - |
| 160 | { | - |
| 161 | const char * const value = ::getenv(varName); | - |
| 162 | return !value || !*value; executed: return !value || !*value;Execution Count:5152476 | 5152476 |
| 163 | | - |
| 164 | } | - |
| 165 | bool qEnvironmentVariableIsSet(const char *varName) | - |
| 166 | { | - |
| 167 | | - |
| 168 | | - |
| 169 | | - |
| 170 | | - |
| 171 | | - |
| 172 | return ::getenv(varName) != 0; executed: return ::getenv(varName) != 0;Execution Count:244 | 244 |
| 173 | | - |
| 174 | } | - |
| 175 | bool qputenv(const char *varName, const QByteArray& value) | - |
| 176 | { | - |
| 177 | | - |
| 178 | | - |
| 179 | | - |
| 180 | | - |
| 181 | return setenv(varName, value.constData(), true) == 0; executed: return setenv(varName, value.constData(), true) == 0;Execution Count:192 | 192 |
| 182 | } | - |
| 183 | | - |
| 184 | | - |
| 185 | | - |
| 186 | | - |
| 187 | | - |
| 188 | | - |
| 189 | | - |
| 190 | typedef uint SeedStorageType; | - |
| 191 | | - |
| 192 | | - |
| 193 | typedef QThreadStorage<SeedStorageType *> SeedStorage; | - |
| 194 | static SeedStorage *randTLS() { static QGlobalStatic<SeedStorage > thisGlobalStatic = { { (0) }, false }; if (!thisGlobalStatic.pointer.load() && !thisGlobalStatic.destroyed) { SeedStorage *x = new SeedStorage; if (!thisGlobalStatic.pointer.testAndSetOrdered(0, x)) delete x; else static QGlobalStaticDeleter<SeedStorage > cleanup(thisGlobalStatic); } return thisGlobalStatic.pointer.load(); } never executed: delete x; executed: return thisGlobalStatic.pointer.load();Execution Count:6964240 partially evaluated: !thisGlobalStatic.pointer.testAndSetOrdered(0, x)| no Evaluation Count:0 | yes Evaluation Count:21 |
evaluated: !thisGlobalStatic.pointer.load()| yes Evaluation Count:21 | yes Evaluation Count:6964219 |
partially evaluated: !thisGlobalStatic.destroyed| yes Evaluation Count:21 | no Evaluation Count:0 |
| 0-6964240 |
| 195 | void qsrand(uint seed) | - |
| 196 | { | - |
| 197 | | - |
| 198 | SeedStorage *seedStorage = randTLS(); | - |
| 199 | if (seedStorage) { partially evaluated: seedStorage| yes Evaluation Count:27 | no Evaluation Count:0 |
| 0-27 |
| 200 | SeedStorageType *pseed = seedStorage->localData(); | - |
| 201 | if (!pseed) evaluated: !pseed| yes Evaluation Count:23 | yes Evaluation Count:4 |
| 4-23 |
| 202 | seedStorage->setLocalData(pseed = new SeedStorageType); executed: seedStorage->setLocalData(pseed = new SeedStorageType);Execution Count:23 | 23 |
| 203 | *pseed = seed; | - |
| 204 | } else { executed: }Execution Count:27 | 27 |
| 205 | | - |
| 206 | | - |
| 207 | | - |
| 208 | | - |
| 209 | srand(seed); | - |
| 210 | } | 0 |
| 211 | | - |
| 212 | | - |
| 213 | | - |
| 214 | | - |
| 215 | | - |
| 216 | | - |
| 217 | } | - |
| 218 | int qrand() | - |
| 219 | { | - |
| 220 | | - |
| 221 | SeedStorage *seedStorage = randTLS(); | - |
| 222 | if (seedStorage) { partially evaluated: seedStorage| yes Evaluation Count:6964213 | no Evaluation Count:0 |
| 0-6964213 |
| 223 | SeedStorageType *pseed = seedStorage->localData(); | - |
| 224 | if (!pseed) { evaluated: !pseed| yes Evaluation Count:536 | yes Evaluation Count:6963677 |
| 536-6963677 |
| 225 | seedStorage->setLocalData(pseed = new SeedStorageType); | - |
| 226 | *pseed = 1; | - |
| 227 | } executed: }Execution Count:536 | 536 |
| 228 | return rand_r(pseed); executed: return rand_r(pseed);Execution Count:6964213 | 6964213 |
| 229 | } else { | - |
| 230 | | - |
| 231 | | - |
| 232 | | - |
| 233 | | - |
| 234 | return rand(); never executed: return rand(); | 0 |
| 235 | } | - |
| 236 | | - |
| 237 | | - |
| 238 | | - |
| 239 | | - |
| 240 | | - |
| 241 | | - |
| 242 | } | - |
| 243 | struct QInternal_CallBackTable { | - |
| 244 | QVector<QList<qInternalCallback> > callbacks; | - |
| 245 | }; | - |
| 246 | | - |
| 247 | static QInternal_CallBackTable *global_callback_table() { static QGlobalStatic<QInternal_CallBackTable > thisGlobalStatic = { { (0) }, false }; if (!thisGlobalStatic.pointer.load() && !thisGlobalStatic.destroyed) { QInternal_CallBackTable *x = new QInternal_CallBackTable; if (!thisGlobalStatic.pointer.testAndSetOrdered(0, x)) delete x; else static QGlobalStaticDeleter<QInternal_CallBackTable > cleanup(thisGlobalStatic); } return thisGlobalStatic.pointer.load(); } never executed: delete x; executed: return thisGlobalStatic.pointer.load();Execution Count:1194729 partially evaluated: !thisGlobalStatic.pointer.testAndSetOrdered(0, x)| no Evaluation Count:0 | yes Evaluation Count:6 |
evaluated: !thisGlobalStatic.pointer.load()| yes Evaluation Count:6 | yes Evaluation Count:1194713 |
partially evaluated: !thisGlobalStatic.destroyed| yes Evaluation Count:6 | no Evaluation Count:0 |
| 0-1194729 |
| 248 | | - |
| 249 | bool QInternal::registerCallback(Callback cb, qInternalCallback callback) | - |
| 250 | { | - |
| 251 | if (cb >= 0 && cb < QInternal::LastCallback) { never evaluated: cb < QInternal::LastCallback | 0 |
| 252 | QInternal_CallBackTable *cbt = global_callback_table(); | - |
| 253 | cbt->callbacks.resize(cb + 1); | - |
| 254 | cbt->callbacks[cb].append(callback); | - |
| 255 | return true; never executed: return true; | 0 |
| 256 | } | - |
| 257 | return false; never executed: return false; | 0 |
| 258 | } | - |
| 259 | | - |
| 260 | bool QInternal::unregisterCallback(Callback cb, qInternalCallback callback) | - |
| 261 | { | - |
| 262 | if (cb >= 0 && cb < QInternal::LastCallback) { never evaluated: cb < QInternal::LastCallback | 0 |
| 263 | QInternal_CallBackTable *cbt = global_callback_table(); | - |
| 264 | return (bool) cbt->callbacks[cb].removeAll(callback); never executed: return (bool) cbt->callbacks[cb].removeAll(callback); | 0 |
| 265 | } | - |
| 266 | return false; never executed: return false; | 0 |
| 267 | } | - |
| 268 | | - |
| 269 | bool QInternal::activateCallbacks(Callback cb, void **parameters) | - |
| 270 | { | - |
| 271 | qt_noop(); | - |
| 272 | | - |
| 273 | QInternal_CallBackTable *cbt = global_callback_table(); | - |
| 274 | if (cbt && cb < cbt->callbacks.size()) { partially evaluated: cbt| yes Evaluation Count:1194735 | no Evaluation Count:0 |
partially evaluated: cb < cbt->callbacks.size()| no Evaluation Count:0 | yes Evaluation Count:1194736 |
| 0-1194736 |
| 275 | QList<qInternalCallback> callbacks = cbt->callbacks[cb]; | - |
| 276 | bool ret = false; | - |
| 277 | for (int i=0; i<callbacks.size(); ++i) never evaluated: i<callbacks.size() | 0 |
| 278 | ret |= (callbacks.at(i))(parameters); never executed: ret |= (callbacks.at(i))(parameters); | 0 |
| 279 | return ret; never executed: return ret; | 0 |
| 280 | } | - |
| 281 | return false; executed: return false;Execution Count:1194749 | 1194749 |
| 282 | } | - |
| 283 | | - |
| 284 | | - |
| | |