diff --git a/test/iar/etl.dep b/test/iar/etl.dep
new file mode 100644
index 00000000..26ca941a
--- /dev/null
+++ b/test/iar/etl.dep
@@ -0,0 +1,388 @@
+
+
+
+ 2
+ 2987799716
+
+ Debug
+
+ $PROJ_DIR$\..\..\alignment.h
+ $PROJ_DIR$\..\..\algorithm.h
+ $PROJ_DIR$\..\..\bitset.h
+ $PROJ_DIR$\..\..\array.h
+ $PROJ_DIR$\..\..\crc16.cpp
+ $PROJ_DIR$\..\..\container.h
+ $PROJ_DIR$\..\..\crc16_ccitt.h
+ $PROJ_DIR$\..\..\crc16.h
+ $PROJ_DIR$\..\..\crc16_ccitt.cpp
+ $PROJ_DIR$\..\..\crc16_kermit.cpp
+ $PROJ_DIR$\..\..\ipool.h
+ $TOOLKIT_DIR$\inc\c\xencoding_limits.h
+ $PROJ_DIR$\main.cpp
+ $PROJ_DIR$\Debug\Obj\etl.pbd
+ $PROJ_DIR$\Debug\Obj\main.o
+ $PROJ_DIR$\Debug\Obj\crc8_ccitt.o
+ $PROJ_DIR$\Debug\Obj\crc16_kermit.o
+ $PROJ_DIR$\Debug\Obj\crc16_ccitt.pbi
+ $PROJ_DIR$\Debug\Obj\crc64_ecma.o
+ $PROJ_DIR$\Debug\Obj\crc32.o
+ $PROJ_DIR$\Debug\Obj\crc16.o
+ $PROJ_DIR$\Debug\Obj\crc16_ccitt.o
+ $PROJ_DIR$\Debug\Obj\main.pbi
+ $PROJ_DIR$\Debug\Exe\cpp.out
+ $PROJ_DIR$\Debug\Obj\crc16.pbi
+ $PROJ_DIR$\Debug\Obj\crc16_kermit.pbi
+ $PROJ_DIR$\Debug\Obj\crc32.pbi
+ $PROJ_DIR$\Debug\Obj\crc64_ecma.pbi
+ $PROJ_DIR$\Debug\Obj\crc8_ccitt.pbi
+ $TOOLKIT_DIR$\inc\c\yvals.h
+ $TOOLKIT_DIR$\inc\c\ycheck.h
+ $TOOLKIT_DIR$\inc\c\DLib_Defaults.h
+ $TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h
+ $TOOLKIT_DIR$\inc\c\DLib_Product.h
+ $TOOLKIT_DIR$\inc\c\stdint.h
+ $TOOLKIT_DIR$\inc\c\stdlib.h
+ $TOOLKIT_DIR$\inc\c\cstring
+ $TOOLKIT_DIR$\inc\c\cstdlib
+ $TOOLKIT_DIR$\inc\cpp\xlocinfo
+ $PROJ_DIR$\Debug\Obj\test_compile.o
+ $PROJ_DIR$\Debug\Obj\test_compile.pbi
+ $TOOLKIT_DIR$\inc\c\cmath
+ $TOOLKIT_DIR$\inc\c\ysizet.h
+ $TOOLKIT_DIR$\inc\cpp\iterator
+ $TOOLKIT_DIR$\inc\c\cwchar
+ $TOOLKIT_DIR$\inc\c\DLib_Product_string.h
+ $TOOLKIT_DIR$\inc\c\climits
+ $TOOLKIT_DIR$\inc\cpp\exception
+ $TOOLKIT_DIR$\inc\c\stdio.h
+ $TOOLKIT_DIR$\inc\cpp\ostream
+ $TOOLKIT_DIR$\inc\cpp\typeinfo
+ $TOOLKIT_DIR$\inc\c\ctype.h
+ $TOOLKIT_DIR$\inc\c\xlocaleuse.h
+ $TOOLKIT_DIR$\inc\c\wchar.h
+ $TOOLKIT_DIR$\inc\cpp\xstring
+ $TOOLKIT_DIR$\inc\cpp\xutility
+ $TOOLKIT_DIR$\inc\c\stddef.h
+ $TOOLKIT_DIR$\inc\cpp\functional
+ $TOOLKIT_DIR$\inc\cpp\utility
+ $TOOLKIT_DIR$\inc\c\ystdio.h
+ $TOOLKIT_DIR$\inc\cpp\ios
+ $TOOLKIT_DIR$\inc\cpp\stdexcept
+ $TOOLKIT_DIR$\inc\cpp\xdebug
+ $TOOLKIT_DIR$\config\generic.icf
+ $TOOLKIT_DIR$\lib\dl4t_aln.a
+ $TOOLKIT_DIR$\lib\m4t_al.a
+ $TOOLKIT_DIR$\lib\shs_l.a
+ $TOOLKIT_DIR$\inc\c\xtgmath.h
+ $TOOLKIT_DIR$\inc\c\ymath.h
+ $TOOLKIT_DIR$\inc\c\math.h
+ $TOOLKIT_DIR$\lib\rt4t_al.a
+ $TOOLKIT_DIR$\lib\dlpp4t_al_nc.a
+ $TOOLKIT_DIR$\inc\c\clocale
+ $TOOLKIT_DIR$\inc\cpp\xmemory
+ $TOOLKIT_DIR$\inc\c\xlocale.h
+ $TOOLKIT_DIR$\inc\c\xtls.h
+ $TOOLKIT_DIR$\inc\c\xmtx.h
+ $TOOLKIT_DIR$\inc\cpp\memory
+ $TOOLKIT_DIR$\inc\cpp\algorithm
+ $TOOLKIT_DIR$\inc\cpp\xstddef
+ $TOOLKIT_DIR$\inc\cpp\new
+ $TOOLKIT_DIR$\inc\c\cstddef
+ $TOOLKIT_DIR$\inc\c\limits.h
+ $TOOLKIT_DIR$\inc\cpp\iosfwd
+ $TOOLKIT_DIR$\inc\c\cstdio
+ $TOOLKIT_DIR$\inc\c\string.h
+ $TOOLKIT_DIR$\inc\cpp\istream
+ $TOOLKIT_DIR$\inc\cpp\xlocnum
+ $TOOLKIT_DIR$\inc\cpp\streambuf
+ $TOOLKIT_DIR$\inc\cpp\xiosbase
+ $TOOLKIT_DIR$\inc\cpp\xlocale
+ $TOOLKIT_DIR$\inc\c\cctype
+ $TOOLKIT_DIR$\inc\c\ctime
+ $TOOLKIT_DIR$\inc\c\xlocale_c.h
+ $TOOLKIT_DIR$\inc\c\locale.h
+ $TOOLKIT_DIR$\inc\c\xlocale_lconv.h
+ $TOOLKIT_DIR$\inc\c\time.h
+ $TOOLKIT_DIR$\inc\c\cstdint
+ $PROJ_DIR$\..\..\crc32.cpp
+ $PROJ_DIR$\..\..\crc16_kermit.h
+ $PROJ_DIR$\..\..\crc64_ecma.h
+ $PROJ_DIR$\..\..\crc32.h
+ $PROJ_DIR$\..\..\crc64_ecma.cpp
+ $PROJ_DIR$\..\..\crc8_ccitt.cpp
+ $PROJ_DIR$\..\..\crc8_ccitt.h
+ $PROJ_DIR$\..\..\cyclic_value.h
+ $PROJ_DIR$\..\..\doxygen.h
+ $PROJ_DIR$\..\..\deque.h
+ $PROJ_DIR$\..\..\deque_base.h
+ $PROJ_DIR$\..\..\exception.h
+ $PROJ_DIR$\..\..\endian.h
+ $PROJ_DIR$\..\..\enum_type.h
+ $PROJ_DIR$\..\..\factorial.h
+ $PROJ_DIR$\..\..\fibonacci.h
+ $PROJ_DIR$\..\..\forward_list.h
+ $PROJ_DIR$\..\..\functional.h
+ $PROJ_DIR$\..\..\forward_list_base.h
+ $PROJ_DIR$\..\..\function.h
+ $PROJ_DIR$\..\..\integral_limits.h
+ $PROJ_DIR$\..\..\ideque.h
+ $PROJ_DIR$\..\..\iforward_list.h
+ $PROJ_DIR$\..\..\ilist.h
+ $PROJ_DIR$\..\..\iqueue.h
+ $PROJ_DIR$\..\..\istack.h
+ $PROJ_DIR$\..\..\ivector.h
+ $PROJ_DIR$\..\..\largest.h
+ $PROJ_DIR$\..\..\numeric.h
+ $PROJ_DIR$\..\..\list.h
+ $PROJ_DIR$\..\..\list_base.h
+ $PROJ_DIR$\..\..\log.h
+ $PROJ_DIR$\..\..\nullptr.h
+ $PROJ_DIR$\..\..\observer.h
+ $PROJ_DIR$\..\..\parameter_type.h
+ $PROJ_DIR$\..\..\power.h
+ $PROJ_DIR$\..\..\pool.h
+ $PROJ_DIR$\..\..\queue.h
+ $PROJ_DIR$\..\..\smallest.h
+ $PROJ_DIR$\..\..\queue_base.h
+ $PROJ_DIR$\..\..\static_assert.h
+ $PROJ_DIR$\..\..\stack.h
+ $PROJ_DIR$\..\..\stack_base.h
+ $PROJ_DIR$\..\..\type_traits.h
+ $PROJ_DIR$\..\..\variant.h
+ $PROJ_DIR$\..\..\visitor.h
+ $PROJ_DIR$\..\..\vector.h
+ $PROJ_DIR$\..\..\vector_base.h
+ $PROJ_DIR$\..\test_compile.cpp
+ $TOOLKIT_DIR$\inc\c\DLib_Threads.h
+ $PROJ_DIR$\Debug\Obj\error_handler.o
+ $PROJ_DIR$\Debug\Obj\error_handler.pbi
+ $PROJ_DIR$\..\..\error_handler.h
+ $PROJ_DIR$\..\..\error_handler.cpp
+
+
+ $PROJ_DIR$\..\..\crc16.cpp
+
+
+ BICOMP
+ 24
+
+
+ ICCARM
+ 20
+
+
+
+
+ BICOMP
+ 30 29 34 11 31 147 32 33
+
+
+ ICCARM
+ 34 30 29 31 32 33 11 147
+
+
+
+
+ $PROJ_DIR$\..\..\crc16_ccitt.cpp
+
+
+ BICOMP
+ 17
+
+
+ ICCARM
+ 21
+
+
+
+
+ BICOMP
+ 30 29 34 11 31 147 32 33
+
+
+ ICCARM
+ 34 30 29 31 32 33 11 147
+
+
+
+
+ $PROJ_DIR$\..\..\crc16_kermit.cpp
+
+
+ BICOMP
+ 25
+
+
+ ICCARM
+ 16
+
+
+
+
+ BICOMP
+ 30 29 34 11 31 147 32 33
+
+
+ ICCARM
+ 34 30 29 31 32 33 11 147
+
+
+
+
+ $PROJ_DIR$\main.cpp
+
+
+ BICOMP
+ 22
+
+
+ ICCARM
+ 14
+
+
+
+
+ $PROJ_DIR$\Debug\Exe\cpp.out
+
+
+ ILINK
+ 63 20 21 16 19 18 15 148 39 66 70 71 65 64
+
+
+
+
+ [ROOT_NODE]
+
+
+ ILINK
+ 23
+
+
+
+
+ $PROJ_DIR$\..\..\crc32.cpp
+
+
+ BICOMP
+ 26
+
+
+ ICCARM
+ 19
+
+
+
+
+ BICOMP
+ 30 29 34 11 31 147 32 33
+
+
+ ICCARM
+ 34 30 29 31 32 33 11 147
+
+
+
+
+ $PROJ_DIR$\..\..\crc64_ecma.cpp
+
+
+ BICOMP
+ 27
+
+
+ ICCARM
+ 18
+
+
+
+
+ BICOMP
+ 30 29 34 11 31 147 32 33
+
+
+ ICCARM
+ 34 30 29 31 32 33 11 147
+
+
+
+
+ $PROJ_DIR$\..\..\crc8_ccitt.cpp
+
+
+ BICOMP
+ 28
+
+
+ ICCARM
+ 15
+
+
+
+
+ BICOMP
+ 30 29 34 11 31 147 32 33
+
+
+ ICCARM
+ 34 30 29 31 32 33 11 147
+
+
+
+
+ $PROJ_DIR$\..\test_compile.cpp
+
+
+ BICOMP
+ 40
+
+
+ ICCARM
+ 39
+
+
+
+
+ BICOMP
+ 130 29 37 33 150 97 35 46 99 42 30 129 34 81 5 107 58 77 69 94 56 57 118 110 43 132 3 7 100 141 55 11 147 32 36 44 59 53 60 68 89 90 54 93 95 85 138 0 2 104 6 101 105 78 73 80 31 47 79 82 83 84 48 49 41 91 92 96 109 119 1 45 86 87 88 67 61 50 62 38 72 51 74 75 52 76 117 136 111 108
+
+
+ ICCARM
+ 1 78 77 73 37 30 29 31 32 33 11 147 35 42 80 47 79 81 56 55 46 82 58 83 84 48 59 36 85 45 44 53 43 86 49 60 87 41 69 68 67 88 89 90 61 54 50 62 38 91 51 74 75 76 52 93 72 94 95 92 96 57 141 130 0 3 109 132 150 117 2 34 118 136 129 5 104 97 138 110 111 7 6 99 101 100 105 107 119 108
+
+
+
+
+ $PROJ_DIR$\..\..\error_handler.cpp
+
+
+ BICOMP
+ 149
+
+
+ ICCARM
+ 148
+
+
+
+
+ BICOMP
+ 117 130 109 150
+
+
+ ICCARM
+ 150 109 117 130
+
+
+
+
+
+ Release
+
+
+ [MULTI_TOOL]
+ ILINK
+
+
+
+
+
diff --git a/test/iar/etl.ewd b/test/iar/etl.ewd
new file mode 100644
index 00000000..9c411aba
--- /dev/null
+++ b/test/iar/etl.ewd
@@ -0,0 +1,2733 @@
+
+
+
+ 2
+
+ Debug
+
+ ARM
+
+ 1
+
+ C-SPY
+ 2
+
+ 26
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ARMSIM_ID
+ 2
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ ANGEL_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ CMSISDAP_ID
+ 2
+
+ 2
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GDBSERVER_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ IARROM_ID
+ 2
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+ IJET_ID
+ 2
+
+ 5
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JLINK_ID
+ 2
+
+ 15
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LMIFTDI_ID
+ 2
+
+ 2
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+ MACRAIGOR_ID
+ 2
+
+ 3
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PEMICRO_ID
+ 2
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RDI_ID
+ 2
+
+ 2
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ STLINK_ID
+ 2
+
+ 2
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ THIRDPARTY_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+
+ XDS100_ID
+ 2
+
+ 2
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB7_Plugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin
+ 0
+
+
+
+
+ Release
+
+ ARM
+
+ 0
+
+ C-SPY
+ 2
+
+ 26
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ARMSIM_ID
+ 2
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+ ANGEL_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+ CMSISDAP_ID
+ 2
+
+ 2
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GDBSERVER_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+ IARROM_ID
+ 2
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+ IJET_ID
+ 2
+
+ 5
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JLINK_ID
+ 2
+
+ 15
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LMIFTDI_ID
+ 2
+
+ 2
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+ MACRAIGOR_ID
+ 2
+
+ 3
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PEMICRO_ID
+ 2
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RDI_ID
+ 2
+
+ 2
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ STLINK_ID
+ 2
+
+ 2
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+ THIRDPARTY_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+
+ XDS100_ID
+ 2
+
+ 2
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB7_Plugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin
+ 0
+
+
+
+
+
+
diff --git a/test/iar/etl.ewp b/test/iar/etl.ewp
new file mode 100644
index 00000000..27332e66
--- /dev/null
+++ b/test/iar/etl.ewp
@@ -0,0 +1,2333 @@
+
+
+
+ 2
+
+ Debug
+
+ ARM
+
+ 1
+
+ General
+ 3
+
+ 22
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICCARM
+ 2
+
+ 31
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AARM
+ 2
+
+ 9
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+ 0
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 16
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Release
+
+ ARM
+
+ 0
+
+ General
+ 3
+
+ 22
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICCARM
+ 2
+
+ 31
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AARM
+ 2
+
+ 9
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+ 0
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 16
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ ETL
+
+ $PROJ_DIR$\..\..\algorithm.h
+
+
+ $PROJ_DIR$\..\..\alignment.h
+
+
+ $PROJ_DIR$\..\..\array.h
+
+
+ $PROJ_DIR$\..\..\bitset.h
+
+
+ $PROJ_DIR$\..\..\container.h
+
+
+ $PROJ_DIR$\..\..\crc16.cpp
+
+
+ $PROJ_DIR$\..\..\crc16.h
+
+
+ $PROJ_DIR$\..\..\crc16_ccitt.cpp
+
+
+ $PROJ_DIR$\..\..\crc16_ccitt.h
+
+
+ $PROJ_DIR$\..\..\crc16_kermit.cpp
+
+
+ $PROJ_DIR$\..\..\crc16_kermit.h
+
+
+ $PROJ_DIR$\..\..\crc32.cpp
+
+
+ $PROJ_DIR$\..\..\crc32.h
+
+
+ $PROJ_DIR$\..\..\crc64_ecma.cpp
+
+
+ $PROJ_DIR$\..\..\crc64_ecma.h
+
+
+ $PROJ_DIR$\..\..\crc8_ccitt.cpp
+
+
+ $PROJ_DIR$\..\..\crc8_ccitt.h
+
+
+ $PROJ_DIR$\..\..\cyclic_value.h
+
+
+ $PROJ_DIR$\..\..\deque.h
+
+
+ $PROJ_DIR$\..\..\deque_base.h
+
+
+ $PROJ_DIR$\..\..\doxygen.h
+
+
+ $PROJ_DIR$\..\..\endian.h
+
+
+ $PROJ_DIR$\..\..\enum_type.h
+
+
+ $PROJ_DIR$\..\..\error_handler.cpp
+
+
+ $PROJ_DIR$\..\..\error_handler.h
+
+
+ $PROJ_DIR$\..\..\exception.h
+
+
+ $PROJ_DIR$\..\..\factorial.h
+
+
+ $PROJ_DIR$\..\..\fibonacci.h
+
+
+ $PROJ_DIR$\..\..\forward_list.h
+
+
+ $PROJ_DIR$\..\..\forward_list_base.h
+
+
+ $PROJ_DIR$\..\..\function.h
+
+
+ $PROJ_DIR$\..\..\functional.h
+
+
+ $PROJ_DIR$\..\..\ideque.h
+
+
+ $PROJ_DIR$\..\..\iforward_list.h
+
+
+ $PROJ_DIR$\..\..\ilist.h
+
+
+ $PROJ_DIR$\..\..\integral_limits.h
+
+
+ $PROJ_DIR$\..\..\ipool.h
+
+
+ $PROJ_DIR$\..\..\iqueue.h
+
+
+ $PROJ_DIR$\..\..\istack.h
+
+
+ $PROJ_DIR$\..\..\ivector.h
+
+
+ $PROJ_DIR$\..\..\largest.h
+
+
+ $PROJ_DIR$\..\..\list.h
+
+
+ $PROJ_DIR$\..\..\list_base.h
+
+
+ $PROJ_DIR$\..\..\log.h
+
+
+ $PROJ_DIR$\..\..\nullptr.h
+
+
+ $PROJ_DIR$\..\..\numeric.h
+
+
+ $PROJ_DIR$\..\..\observer.h
+
+
+ $PROJ_DIR$\..\..\parameter_type.h
+
+
+ $PROJ_DIR$\..\..\pool.h
+
+
+ $PROJ_DIR$\..\..\power.h
+
+
+ $PROJ_DIR$\..\..\queue.h
+
+
+ $PROJ_DIR$\..\..\queue_base.h
+
+
+ $PROJ_DIR$\..\..\smallest.h
+
+
+ $PROJ_DIR$\..\..\stack.h
+
+
+ $PROJ_DIR$\..\..\stack_base.h
+
+
+ $PROJ_DIR$\..\..\static_assert.h
+
+
+ $PROJ_DIR$\..\..\type_traits.h
+
+
+ $PROJ_DIR$\..\..\variant.h
+
+
+ $PROJ_DIR$\..\..\vector.h
+
+
+ $PROJ_DIR$\..\..\vector_base.h
+
+
+ $PROJ_DIR$\..\..\visitor.h
+
+
+
+ Test
+
+ $PROJ_DIR$\..\test_compile.cpp
+
+ Debug
+
+ ICCARM
+
+ 31
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/iar/etl.ewt b/test/iar/etl.ewt
new file mode 100644
index 00000000..55ae1f95
--- /dev/null
+++ b/test/iar/etl.ewt
@@ -0,0 +1,370 @@
+
+
+
+ 2
+
+ Debug
+
+ ARM
+
+ 1
+
+ RuntimeChecking
+ 0
+
+ 2
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Release
+
+ ARM
+
+ 0
+
+ RuntimeChecking
+ 0
+
+ 2
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ETL
+
+ $PROJ_DIR$\..\..\algorithm.h
+
+
+ $PROJ_DIR$\..\..\alignment.h
+
+
+ $PROJ_DIR$\..\..\array.h
+
+
+ $PROJ_DIR$\..\..\bitset.h
+
+
+ $PROJ_DIR$\..\..\container.h
+
+
+ $PROJ_DIR$\..\..\crc16.cpp
+
+
+ $PROJ_DIR$\..\..\crc16.h
+
+
+ $PROJ_DIR$\..\..\crc16_ccitt.cpp
+
+
+ $PROJ_DIR$\..\..\crc16_ccitt.h
+
+
+ $PROJ_DIR$\..\..\crc16_kermit.cpp
+
+
+ $PROJ_DIR$\..\..\crc16_kermit.h
+
+
+ $PROJ_DIR$\..\..\crc32.cpp
+
+
+ $PROJ_DIR$\..\..\crc32.h
+
+
+ $PROJ_DIR$\..\..\crc64_ecma.cpp
+
+
+ $PROJ_DIR$\..\..\crc64_ecma.h
+
+
+ $PROJ_DIR$\..\..\crc8_ccitt.cpp
+
+
+ $PROJ_DIR$\..\..\crc8_ccitt.h
+
+
+ $PROJ_DIR$\..\..\cyclic_value.h
+
+
+ $PROJ_DIR$\..\..\deque.h
+
+
+ $PROJ_DIR$\..\..\deque_base.h
+
+
+ $PROJ_DIR$\..\..\doxygen.h
+
+
+ $PROJ_DIR$\..\..\endian.h
+
+
+ $PROJ_DIR$\..\..\enum_type.h
+
+
+ $PROJ_DIR$\..\..\error_handler.cpp
+
+
+ $PROJ_DIR$\..\..\error_handler.h
+
+
+ $PROJ_DIR$\..\..\exception.h
+
+
+ $PROJ_DIR$\..\..\factorial.h
+
+
+ $PROJ_DIR$\..\..\fibonacci.h
+
+
+ $PROJ_DIR$\..\..\forward_list.h
+
+
+ $PROJ_DIR$\..\..\forward_list_base.h
+
+
+ $PROJ_DIR$\..\..\function.h
+
+
+ $PROJ_DIR$\..\..\functional.h
+
+
+ $PROJ_DIR$\..\..\ideque.h
+
+
+ $PROJ_DIR$\..\..\iforward_list.h
+
+
+ $PROJ_DIR$\..\..\ilist.h
+
+
+ $PROJ_DIR$\..\..\integral_limits.h
+
+
+ $PROJ_DIR$\..\..\ipool.h
+
+
+ $PROJ_DIR$\..\..\iqueue.h
+
+
+ $PROJ_DIR$\..\..\istack.h
+
+
+ $PROJ_DIR$\..\..\ivector.h
+
+
+ $PROJ_DIR$\..\..\largest.h
+
+
+ $PROJ_DIR$\..\..\list.h
+
+
+ $PROJ_DIR$\..\..\list_base.h
+
+
+ $PROJ_DIR$\..\..\log.h
+
+
+ $PROJ_DIR$\..\..\nullptr.h
+
+
+ $PROJ_DIR$\..\..\numeric.h
+
+
+ $PROJ_DIR$\..\..\observer.h
+
+
+ $PROJ_DIR$\..\..\parameter_type.h
+
+
+ $PROJ_DIR$\..\..\pool.h
+
+
+ $PROJ_DIR$\..\..\power.h
+
+
+ $PROJ_DIR$\..\..\queue.h
+
+
+ $PROJ_DIR$\..\..\queue_base.h
+
+
+ $PROJ_DIR$\..\..\smallest.h
+
+
+ $PROJ_DIR$\..\..\stack.h
+
+
+ $PROJ_DIR$\..\..\stack_base.h
+
+
+ $PROJ_DIR$\..\..\static_assert.h
+
+
+ $PROJ_DIR$\..\..\type_traits.h
+
+
+ $PROJ_DIR$\..\..\variant.h
+
+
+ $PROJ_DIR$\..\..\vector.h
+
+
+ $PROJ_DIR$\..\..\vector_base.h
+
+
+ $PROJ_DIR$\..\..\visitor.h
+
+
+
+ Test
+
+ $PROJ_DIR$\..\test_compile.cpp
+
+ Debug
+
+
+
+
+
+
diff --git a/test/iar/etl.eww b/test/iar/etl.eww
new file mode 100644
index 00000000..2b3e15e7
--- /dev/null
+++ b/test/iar/etl.eww
@@ -0,0 +1,10 @@
+
+
+
+
+ $WS_DIR$\etl.ewp
+
+
+
+
+
diff --git a/test/iar/main.cpp b/test/iar/main.cpp
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/test/iar/main.cpp
@@ -0,0 +1 @@
+
diff --git a/test/iar/settings/etl.Debug.cspy.bat b/test/iar/settings/etl.Debug.cspy.bat
new file mode 100644
index 00000000..adce86e3
--- /dev/null
+++ b/test/iar/settings/etl.Debug.cspy.bat
@@ -0,0 +1,24 @@
+@REM This batch file has been generated by the IAR Embedded Workbench
+@REM C-SPY Debugger, as an aid to preparing a command line for running
+@REM the cspybat command line utility using the appropriate settings.
+@REM
+@REM Note that this file is generated every time a new debug session
+@REM is initialized, so you may want to move or rename the file before
+@REM making changes.
+@REM
+@REM You can launch cspybat by typing the name of this batch file followed
+@REM by the name of the debug file (usually an ELF/DWARF or UBROF file).
+@REM
+@REM Read about available command line parameters in the C-SPY Debugging
+@REM Guide. Hints about additional command line parameters that may be
+@REM useful in specific cases:
+@REM --download_only Downloads a code image without starting a debug
+@REM session afterwards.
+@REM --silent Omits the sign-on message.
+@REM --timeout Limits the maximum allowed execution time.
+@REM
+
+
+"C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.0\common\bin\cspybat" "C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.0\arm\bin\armproc.dll" "C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.0\arm\bin\armsim2.dll" %1 --plugin "C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.0\arm\bin\armbat.dll" --backend -B "--endian=little" "--cpu=ARM7TDMI" "--fpu=None" "--semihosting" "--multicore_nr_of_cores=1"
+
+
diff --git a/test/iar/settings/etl.crun b/test/iar/settings/etl.crun
new file mode 100644
index 00000000..ef39dce8
--- /dev/null
+++ b/test/iar/settings/etl.crun
@@ -0,0 +1,16 @@
+
+
+
+ 1
+
+
+ *
+ *
+ *
+ 0
+ 1
+
+
+
+
+
diff --git a/test/iar/settings/etl.dbgdt b/test/iar/settings/etl.dbgdt
new file mode 100644
index 00000000..e068f91d
--- /dev/null
+++ b/test/iar/settings/etl.dbgdt
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/test/iar/settings/etl.dni b/test/iar/settings/etl.dni
new file mode 100644
index 00000000..7e2ca9e3
--- /dev/null
+++ b/test/iar/settings/etl.dni
@@ -0,0 +1,44 @@
+[Stack]
+FillEnabled=0
+OverflowWarningsEnabled=1
+WarningThreshold=90
+SpWarningsEnabled=1
+WarnLogOnly=1
+UseTrigger=1
+TriggerName=main
+LimitSize=0
+ByteLimit=50
+[InterruptLog]
+LogEnabled=0
+SumEnabled=0
+GraphEnabled=0
+ShowTimeLog=1
+ShowTimeSum=1
+SumSortOrder=0
+[DataLog]
+LogEnabled=0
+SumEnabled=0
+GraphEnabled=0
+ShowTimeLog=1
+ShowTimeSum=1
+[Disassemble mode]
+mode=0
+[Breakpoints2]
+Count=0
+[Interrupts]
+Enabled=1
+[MemConfig]
+Base=1
+Manual=0
+Ddf=1
+TypeViol=0
+Stop=1
+[Trace1]
+Enabled=0
+ShowSource=1
+[Aliases]
+Count=0
+SuppressDialog=0
+[Simulator]
+Freq=10000000
+MultiCoreRunAll=1
diff --git a/test/iar/settings/etl.wsdt b/test/iar/settings/etl.wsdt
new file mode 100644
index 00000000..c9e4d4b2
--- /dev/null
+++ b/test/iar/settings/etl.wsdt
@@ -0,0 +1,66 @@
+
+
+
+
+
+ etl/Debug
+
+
+
+
+
+
+
+
+ 242272727
+
+
+
+
+
+
+ 20139537293
+
+
+
+
+
+
+
+ TabID-10727-29778
+ Workspace
+ Workspace
+
+
+ etletl/ETLetl/Outputetl/Testetl/main.cpp
+
+
+
+ 0
+
+
+ TabID-15390-31123
+ Build
+ Build
+
+
+
+
+ 0
+
+
+
+
+
+ TextEditor$WS_DIR$\..\..\algorithm.h0000025529322932TextEditor$WS_DIR$\..\test_compile.cpp00000141546654661TextEditorC:\Program Files (x86)\IAR Systems\Embedded Workbench 7.0\arm\inc\cpp\xlocnum000006472243822438TextEditor$WS_DIR$\..\..\alignment.h000005229602960TextEditor$WS_DIR$\..\..\type_traits.h0000018387538753TextEditor$WS_DIR$\..\..\log.h000002921962196TextEditor$WS_DIR$\..\..\nullptr.h00000013271327TextEditor$WS_DIR$\..\..\variant.h0000093939362393620100000010000001
+
+
+
+
+
+
+ iaridepm.enu1-2-2953333-2-22002001041672004011744799569140076022087602293-2-2193825124096819242001002083200401104167200401
+
+
+
+
diff --git a/test/iar/settings/etl.wspos b/test/iar/settings/etl.wspos
new file mode 100644
index 00000000..78aad05d
--- /dev/null
+++ b/test/iar/settings/etl.wspos
@@ -0,0 +1,2 @@
+[MainWindow]
+WindowPlacement=_ 202 91 1642 851 3