C++: Provide std::pair constructor initializers.

This commit is contained in:
Geoffrey White
2020-09-28 17:52:10 +01:00
parent 8059230bbc
commit 6de29a6dd3
4 changed files with 21 additions and 7 deletions

View File

@@ -1992,6 +1992,20 @@
| stl.h:315:9:315:9 | constructor init of field first [post-this] | stl.h:315:9:315:9 | constructor init of field second [pre-this] | |
| stl.h:315:9:315:9 | constructor init of field first [pre-this] | stl.h:315:9:315:9 | constructor init of field second [pre-this] | |
| stl.h:315:9:315:9 | this | stl.h:315:9:315:9 | constructor init of field first [pre-this] | |
| stl.h:322:3:322:3 | this | stl.h:322:36:322:43 | constructor init of field first [pre-this] | |
| stl.h:322:3:322:6 | this | stl.h:322:36:322:43 | constructor init of field first [pre-this] | |
| stl.h:322:18:322:18 | x | stl.h:322:42:322:42 | x | |
| stl.h:322:18:322:18 | x | stl.h:322:42:322:42 | x | |
| stl.h:322:31:322:31 | y | stl.h:322:53:322:53 | y | |
| stl.h:322:31:322:31 | y | stl.h:322:53:322:53 | y | |
| stl.h:322:36:322:43 | call to unknown function | stl.h:322:36:322:43 | constructor init of field first | TAINT |
| stl.h:322:36:322:43 | constructor init of field first [post-this] | stl.h:322:46:322:54 | constructor init of field second [pre-this] | |
| stl.h:322:36:322:43 | constructor init of field first [post-this] | stl.h:322:46:322:54 | constructor init of field second [pre-this] | |
| stl.h:322:36:322:43 | constructor init of field first [pre-this] | stl.h:322:46:322:54 | constructor init of field second [pre-this] | |
| stl.h:322:36:322:43 | constructor init of field first [pre-this] | stl.h:322:46:322:54 | constructor init of field second [pre-this] | |
| stl.h:322:42:322:42 | x | stl.h:322:36:322:43 | constructor init of field first | TAINT |
| stl.h:322:46:322:54 | call to unknown function | stl.h:322:46:322:54 | constructor init of field second | TAINT |
| stl.h:322:53:322:53 | y | stl.h:322:46:322:54 | constructor init of field second | TAINT |
| string.cpp:24:12:24:17 | call to source | string.cpp:28:7:28:7 | a | |
| string.cpp:25:16:25:20 | 123 | string.cpp:25:16:25:21 | call to basic_string | TAINT |
| string.cpp:25:16:25:21 | call to basic_string | string.cpp:29:7:29:7 | b | |

View File

@@ -319,7 +319,7 @@ namespace std {
T1 first;
T2 second;
pair();
pair(const T1& x, const T2& y);
pair(const T1& x, const T2& y) : first(x), second(y) {};
template<class U, class V> pair(const pair<U, V> &p);
void swap(pair& p) /*noexcept(...)*/;

View File

@@ -35,12 +35,18 @@
| format.cpp:158:7:158:27 | ... + ... | format.cpp:148:16:148:30 | call to source |
| map.cpp:26:9:26:13 | first | map.cpp:25:12:25:17 | call to source |
| map.cpp:32:9:32:14 | second | map.cpp:30:13:30:18 | call to source |
| map.cpp:41:9:41:13 | first | map.cpp:40:30:40:35 | call to source |
| map.cpp:43:7:43:7 | e | map.cpp:40:30:40:35 | call to source |
| map.cpp:47:9:47:14 | second | map.cpp:45:37:45:42 | call to source |
| map.cpp:48:7:48:7 | f | map.cpp:45:37:45:42 | call to source |
| map.cpp:52:9:52:14 | second | map.cpp:45:37:45:42 | call to source |
| map.cpp:53:7:53:7 | g | map.cpp:45:37:45:42 | call to source |
| map.cpp:58:9:58:14 | second | map.cpp:45:37:45:42 | call to source |
| map.cpp:59:7:59:7 | h | map.cpp:45:37:45:42 | call to source |
| map.cpp:69:7:69:7 | i | map.cpp:62:37:62:42 | call to source |
| map.cpp:71:9:71:14 | second | map.cpp:62:37:62:42 | call to source |
| map.cpp:72:7:72:7 | j | map.cpp:62:37:62:42 | call to source |
| map.cpp:74:9:74:14 | second | map.cpp:63:37:63:42 | call to source |
| map.cpp:75:7:75:7 | k | map.cpp:63:37:63:42 | call to source |
| map.cpp:78:7:78:7 | l | map.cpp:63:37:63:42 | call to source |
| map.cpp:83:7:83:32 | call to pair | map.cpp:83:17:83:22 | call to source |

View File

@@ -17,20 +17,14 @@
| copyableclass.cpp:67:11:67:21 | copyableclass.cpp:67:13:67:18 | IR only |
| copyableclass_declonly.cpp:42:8:42:9 | copyableclass_declonly.cpp:34:30:34:35 | AST only |
| copyableclass_declonly.cpp:67:11:67:11 | copyableclass_declonly.cpp:67:13:67:18 | AST only |
| map.cpp:41:9:41:13 | map.cpp:40:30:40:35 | IR only |
| map.cpp:42:9:42:14 | map.cpp:40:30:40:35 | IR only |
| map.cpp:46:9:46:13 | map.cpp:45:37:45:42 | IR only |
| map.cpp:47:9:47:14 | map.cpp:45:37:45:42 | IR only |
| map.cpp:51:9:51:13 | map.cpp:45:37:45:42 | IR only |
| map.cpp:52:9:52:14 | map.cpp:45:37:45:42 | IR only |
| map.cpp:57:9:57:13 | map.cpp:45:37:45:42 | IR only |
| map.cpp:58:9:58:14 | map.cpp:45:37:45:42 | IR only |
| map.cpp:67:9:67:13 | map.cpp:62:37:62:42 | IR only |
| map.cpp:68:9:68:14 | map.cpp:62:37:62:42 | IR only |
| map.cpp:70:9:70:13 | map.cpp:62:37:62:42 | IR only |
| map.cpp:71:9:71:14 | map.cpp:62:37:62:42 | IR only |
| map.cpp:73:9:73:13 | map.cpp:63:37:63:42 | IR only |
| map.cpp:74:9:74:14 | map.cpp:63:37:63:42 | IR only |
| map.cpp:76:9:76:13 | map.cpp:63:37:63:42 | IR only |
| map.cpp:77:9:77:14 | map.cpp:63:37:63:42 | IR only |
| map.cpp:84:34:84:38 | map.cpp:84:17:84:22 | IR only |