summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/wave/test/testwave/testfiles
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/wave/test/testwave/testfiles')
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_001.cpp42
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_002.cpp25
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_003.cpp60
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_004.cpp88
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_005.cpp27
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_006.cpp54
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_007.cpp55
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_008.cpp145
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_009.cpp29
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_010.cpp29
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_011.cpp32
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_012.cpp57
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_013.cpp89
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_014.cpp35
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_015.cpp25
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_016.cpp29
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_017.cpp31
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_018.cpp42
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_019.cpp42
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_020.cpp34
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_021.cpp41
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_022.cpp36
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_023.cpp33
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_024.cpp112
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_025.cpp35
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_026.cpp19
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_027.cpp41
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_028.cpp45
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_029.cpp44
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_030.cpp33
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_031.cpp27
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_032.cpp37
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_033.cpp35
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_034.cpp39
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_035.cpp49
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_036.cpp21
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_037.cpp17
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_1_038.cpp37
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_001.cpp32
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_002.cpp22
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_003.cpp22
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_004.cpp34
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_005.cpp17
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_006.cpp38
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_007.cpp38
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_008.cpp24
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_009.cpp56
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_010.cpp21
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_011.cpp21
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_012.cpp17
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_013.cpp19
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_014.cpp111
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_015.cpp27
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_016.cpp26
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_017.cpp36
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_018.cpp22
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_019.cpp61
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_019_001.hpp11
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_019_002.hpp20
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_019_003.hpp20
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_020.cpp261
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_021.cpp50
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_022.cpp23
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_2_022.hpp12
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_3_001.cpp17
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_3_002.cpp50
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_3_003.cpp55
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_3_004.cpp58
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_4_001.cpp22
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_4_002.cpp28
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_4_003.cpp100
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_4_004.cpp61
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_001.cpp58
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_002.cpp76
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_003.cpp68
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_004.cpp59
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_005.cpp52
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_006.cpp53
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_007.cpp70
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_007.hpp12
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_008.cpp62
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_009.cpp57
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_010.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_011.cpp54
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_012.cpp74
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_013.cpp82
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_014.cpp114
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_015.cpp93
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_016.cpp79
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_017.cpp88
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_018.cpp91
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_019.cpp72
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_020.cpp64
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_021.cpp69
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_022.cpp59
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_023.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_024.cpp54
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_025.cpp64
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_026.cpp60
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_027.cpp70
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_028.cpp75
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_029.cpp69
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_030.cpp93
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_031.cpp78
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_031.hpp44
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_032.cpp72
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_033.cpp58
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_034.cpp61
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035.cpp137
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035.hpp1069
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_01.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_02.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_03.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_04.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_05.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_06.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_07.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_08.hpp54
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_09.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_10.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_11.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_12.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_13.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_14.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_5_035_15.hpp50
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_001.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_002.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_003.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_004.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_005.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_006.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_007.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_008.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_009.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_010.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_011.cpp49
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_012.cpp49
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_013.cpp49
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_014.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_015.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_016.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_017.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_018.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_019.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_020.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_021.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_022.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_023.cpp50
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_024.cpp50
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_025.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_026.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_027.cpp50
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_028.cpp50
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_029.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_029.hpp46
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_030.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_030.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_031.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_032.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_033.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_034.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_035.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_036.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_037.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_038.cpp58
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_039.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_040.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_041.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_042.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_043.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_044.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_045.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_046.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_047.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_048.cpp50
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_049.cpp56
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_050.cpp54
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_051.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_052.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_053.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_054.cpp47
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_055.cpp49
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_056.cpp49
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_057.cpp52
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_058.cpp52
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_059.cpp52
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_060.cpp52
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_061.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_062.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_063.cpp54
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_063.hpp45
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_064.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_065.cpp51
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_066.cpp49
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_066.hpp46
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_067.cpp54
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_067.hpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_068.cpp46
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_6_069.cpp45
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_7_001.cpp49
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_7_002.cpp15
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_7_003.cpp13
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_7_004.cpp14
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_7_005.cpp15
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_7_006.cpp17
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_7_006.hpp10
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_001.cpp23
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_002.cpp23
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_003.cpp61
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_004.cpp28
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_005.cpp27
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_006.cpp46
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_007.cpp20
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_008.cpp16
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_009.cpp27
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_010.cpp70
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_011.cpp30
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_012.cpp25
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_013.cpp19
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_014.cpp15
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_015.cpp15
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_016.cpp42
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_016.hpp11
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_017.cpp75
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_018.cpp20
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_019.cpp21
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_019.hpp11
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_020.cpp48
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_021.cpp24
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_022.cpp18
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_023.cpp31
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_024.cpp35
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_025.cpp13
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_026.cpp14
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_027.cpp12
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/t_9_028.cpp13
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/test.cfg251
-rw-r--r--src/boost/libs/wave/test/testwave/testfiles/utf8-test-ßµ™∃/file.hpp10
238 files changed, 12295 insertions, 0 deletions
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_001.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_001.cpp
new file mode 100644
index 000000000..89c8a342a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_001.cpp
@@ -0,0 +1,42 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test macro expansion order
+#define A(x, y) x,y
+#define B(x, y) [x][y]
+#define C(x) B(x)
+
+//R #line 16 "t_1_001.cpp"
+C(A(2,3)) //R [2][3]
+C( A(2 , 3) ) //R [ 2 ][ 3 ]
+
+//H 10: t_1_001.cpp(11): #define
+//H 08: t_1_001.cpp(11): A(x, y)=x,y
+//H 10: t_1_001.cpp(12): #define
+//H 08: t_1_001.cpp(12): B(x, y)=[x][y]
+//H 10: t_1_001.cpp(13): #define
+//H 08: t_1_001.cpp(13): C(x)=B(x)
+//H 00: t_1_001.cpp(16): C(A(2,3)), [t_1_001.cpp(13): C(x)=B(x)]
+//H 00: t_1_001.cpp(16): A(2,3), [t_1_001.cpp(11): A(x, y)=x,y]
+//H 02: 2,3
+//H 03: 2,3
+//H 02: B(2,3)
+//H 00: t_1_001.cpp(13): B(2,3), [t_1_001.cpp(12): B(x, y)=[x][y]]
+//H 02: [2][3]
+//H 03: [2][3]
+//H 03: [2][3]
+//H 00: t_1_001.cpp(17): C( A(2 , 3) ), [t_1_001.cpp(13): C(x)=B(x)]
+//H 00: t_1_001.cpp(17): A(2 , 3), [t_1_001.cpp(11): A(x, y)=x,y]
+//H 02: 2 , 3
+//H 03: 2 , 3
+//H 02: B( 2 , 3 )
+//H 00: t_1_001.cpp(13): B( 2 , 3 ), [t_1_001.cpp(12): B(x, y)=[x][y]]
+//H 02: [ 2 ][ 3 ]
+//H 03: [ 2 ][ 3 ]
+//H 03: [ 2 ][ 3 ]
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_002.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_002.cpp
new file mode 100644
index 000000000..315adc6a2
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_002.cpp
@@ -0,0 +1,25 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O -DTEST
+#if defined(TEST)
+#define ABC() 1
+#endif
+
+//R #line 16 "t_1_002.cpp"
+ABC() //R 1
+
+//H 10: t_1_002.cpp(11): #if
+//H 11: t_1_002.cpp(11): #if defined(TEST): 1
+//H 10: t_1_002.cpp(12): #define
+//H 08: t_1_002.cpp(12): ABC()=1
+//H 10: t_1_002.cpp(13): #endif
+//H 00: t_1_002.cpp(16): ABC(), [t_1_002.cpp(12): ABC()=1]
+//H 02: 1
+//H 03: 1
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_003.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_003.cpp
new file mode 100644
index 000000000..28e01c833
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_003.cpp
@@ -0,0 +1,60 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests macro expansion order in conjunction with the need to skip expansion
+// of the same macro as it is currently expanded.
+
+#define CONCAT(a, b) a ## b
+#define CONCAT_INDIRECT() CONCAT
+
+//R #line 18 "t_1_003.cpp"
+//R CONCAT(1, 2)
+CONCAT(CON, CAT)(1, 2)
+//R #line 21 "t_1_003.cpp"
+//R CONCAT(1, 2)
+CONCAT(CON, CAT(1, 2))
+//R #line 24 "t_1_003.cpp"
+//R 12
+CONCAT(CONCAT_, INDIRECT)()(1, 2)
+//R #line 27 "t_1_003.cpp"
+//R CONCAT(1, 2)
+CONCAT(CONCAT_, INDIRECT())(1, 2)
+
+//R #line 31 "t_1_003.cpp"
+//R 1 CONCAT(2, 3)
+CONCAT(1, CONCAT(2, 3))
+
+//H 10: t_1_003.cpp(13): #define
+//H 08: t_1_003.cpp(13): CONCAT(a, b)=a ## b
+//H 10: t_1_003.cpp(14): #define
+//H 08: t_1_003.cpp(14): CONCAT_INDIRECT()=CONCAT
+//H 00: t_1_003.cpp(18): CONCAT(CON, CAT), [t_1_003.cpp(13): CONCAT(a, b)=a ## b]
+//H 02: CONCAT
+//H 03: CONCAT
+//H 00: t_1_003.cpp(21): CONCAT(CON, CAT(1, 2)), [t_1_003.cpp(13): CONCAT(a, b)=a ## b]
+//H 02: CONCAT(1, 2)
+//H 03: CONCAT(1, 2)
+//H 00: t_1_003.cpp(24): CONCAT(CONCAT_, INDIRECT), [t_1_003.cpp(13): CONCAT(a, b)=a ## b]
+//H 02: CONCAT_INDIRECT
+//H 03: CONCAT_INDIRECT
+//H 00: t_1_003.cpp(24): CONCAT_INDIRECT(), [t_1_003.cpp(14): CONCAT_INDIRECT()=CONCAT]
+//H 02: CONCAT
+//H 03: CONCAT
+//H 00: t_1_003.cpp(14): CONCAT(1, 2), [t_1_003.cpp(13): CONCAT(a, b)=a ## b]
+//H 02: 12
+//H 03: 12
+//H 00: t_1_003.cpp(27): CONCAT(CONCAT_, INDIRECT()), [t_1_003.cpp(13): CONCAT(a, b)=a ## b]
+//H 02: CONCAT_INDIRECT()
+//H 00: t_1_003.cpp(27): CONCAT_INDIRECT(), [t_1_003.cpp(14): CONCAT_INDIRECT()=CONCAT]
+//H 02: CONCAT
+//H 03: CONCAT
+//H 03: CONCAT
+//H 00: t_1_003.cpp(31): CONCAT(1, CONCAT(2, 3)), [t_1_003.cpp(13): CONCAT(a, b)=a ## b]
+//H 02: 1CONCAT(2, 3)
+//H 03: 1CONCAT(2, 3)
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_004.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_004.cpp
new file mode 100644
index 000000000..bfcd320cc
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_004.cpp
@@ -0,0 +1,88 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --variadics
+
+// Tests macro expansion order in conjunction with the need to skip expansion
+// of the same macro as it is currently expanded.
+
+#define CONCAT(a, b) a ## b
+#define CONCAT_INDIRECT() CONCAT
+
+//R #line 20 "t_1_004.cpp"
+//R CONCAT(1, 2)
+CONCAT(CON, CAT)(1, 2)
+//R #line 23 "t_1_004.cpp"
+//R CONCAT(1, 2)
+CONCAT(CON, CAT(1, 2))
+//R #line 26 "t_1_004.cpp"
+//R 12
+CONCAT(CONCAT_, INDIRECT)()(1, 2)
+//R #line 29 "t_1_004.cpp"
+//R CONCAT(1, 2)
+CONCAT(CONCAT_, INDIRECT())(1, 2)
+//R #line 32 "t_1_004.cpp"
+//R 1 CONCAT(2, 3)
+CONCAT(1, CONCAT(2, 3))
+
+//H 10: t_1_004.cpp(15): #define
+//H 08: t_1_004.cpp(15): CONCAT(a, b)=a ## b
+//H 10: t_1_004.cpp(16): #define
+//H 08: t_1_004.cpp(16): CONCAT_INDIRECT()=CONCAT
+//H 00: t_1_004.cpp(20): CONCAT(CON, CAT), [t_1_004.cpp(15): CONCAT(a, b)=a ## b]
+//H 02: CONCAT
+//H 03: CONCAT
+//H 00: t_1_004.cpp(23): CONCAT(CON, CAT(1, 2)), [t_1_004.cpp(15): CONCAT(a, b)=a ## b]
+//H 02: CONCAT(1, 2)
+//H 03: CONCAT(1, 2)
+//H 00: t_1_004.cpp(26): CONCAT(CONCAT_, INDIRECT), [t_1_004.cpp(15): CONCAT(a, b)=a ## b]
+//H 02: CONCAT_INDIRECT
+//H 03: CONCAT_INDIRECT
+//H 00: t_1_004.cpp(26): CONCAT_INDIRECT(), [t_1_004.cpp(16): CONCAT_INDIRECT()=CONCAT]
+//H 02: CONCAT
+//H 03: CONCAT
+//H 00: t_1_004.cpp(16): CONCAT(1, 2), [t_1_004.cpp(15): CONCAT(a, b)=a ## b]
+//H 02: 12
+//H 03: 12
+//H 00: t_1_004.cpp(29): CONCAT(CONCAT_, INDIRECT()), [t_1_004.cpp(15): CONCAT(a, b)=a ## b]
+//H 02: CONCAT_INDIRECT()
+//H 00: t_1_004.cpp(29): CONCAT_INDIRECT(), [t_1_004.cpp(16): CONCAT_INDIRECT()=CONCAT]
+//H 02: CONCAT
+//H 03: CONCAT
+//H 03: CONCAT
+//H 00: t_1_004.cpp(32): CONCAT(1, CONCAT(2, 3)), [t_1_004.cpp(15): CONCAT(a, b)=a ## b]
+//H 02: 1CONCAT(2, 3)
+//H 03: 1CONCAT(2, 3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_005.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_005.cpp
new file mode 100644
index 000000000..d8e880789
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_005.cpp
@@ -0,0 +1,27 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests macro expansion order.
+
+#define A() B
+#define B(x) x
+
+//R #line 16 "t_1_005.cpp"
+A()(123) //R 123
+
+//H 10: t_1_005.cpp(12): #define
+//H 08: t_1_005.cpp(12): A()=B
+//H 10: t_1_005.cpp(13): #define
+//H 08: t_1_005.cpp(13): B(x)=x
+//H 00: t_1_005.cpp(16): A(), [t_1_005.cpp(12): A()=B]
+//H 02: B
+//H 03: B
+//H 00: t_1_005.cpp(12): B(123), [t_1_005.cpp(13): B(x)=x]
+//H 02: 123
+//H 03: 123
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_006.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_006.cpp
new file mode 100644
index 000000000..063518105
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_006.cpp
@@ -0,0 +1,54 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests the correctness of parameter replacement, if the parameter is
+// adjacent to an operator '##'.
+
+#define CONCAT(a, b) PRIMITIVE_CONCAT(a, b)
+#define PRIMITIVE_CONCAT(a, b) a ## b
+
+//R #line 18 "t_1_006.cpp"
+//R 123
+CONCAT(1, PRIMITIVE_CONCAT(2, 3))
+//R #line 21 "t_1_006.cpp"
+//R 123
+CONCAT(1, CONCAT(2, 3))
+// E t_1_006.cpp(23): error: pasting the following two tokens does not give a valid preprocessing token: "1" and "CONCAT"
+//R #line 25 "t_1_006.cpp"
+//R 1 CONCAT(2, 3)
+PRIMITIVE_CONCAT(1, CONCAT(2, 3))
+
+//H 10: t_1_006.cpp(13): #define
+//H 08: t_1_006.cpp(13): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)
+//H 10: t_1_006.cpp(14): #define
+//H 08: t_1_006.cpp(14): PRIMITIVE_CONCAT(a, b)=a ## b
+//H 00: t_1_006.cpp(18): CONCAT(1, PRIMITIVE_CONCAT(2, 3)), [t_1_006.cpp(13): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)]
+//H 00: t_1_006.cpp(18): PRIMITIVE_CONCAT(2, 3), [t_1_006.cpp(14): PRIMITIVE_CONCAT(a, b)=a ## b]
+//H 02: 23
+//H 03: 23
+//H 02: PRIMITIVE_CONCAT(1, 23)
+//H 00: t_1_006.cpp(13): PRIMITIVE_CONCAT(1, 23), [t_1_006.cpp(14): PRIMITIVE_CONCAT(a, b)=a ## b]
+//H 02: 123
+//H 03: 123
+//H 03: 123
+//H 00: t_1_006.cpp(21): CONCAT(1, CONCAT(2, 3)), [t_1_006.cpp(13): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)]
+//H 00: t_1_006.cpp(21): CONCAT(2, 3), [t_1_006.cpp(13): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)]
+//H 02: PRIMITIVE_CONCAT(2, 3)
+//H 00: t_1_006.cpp(13): PRIMITIVE_CONCAT(2, 3), [t_1_006.cpp(14): PRIMITIVE_CONCAT(a, b)=a ## b]
+//H 02: 23
+//H 03: 23
+//H 03: 23
+//H 02: PRIMITIVE_CONCAT(1, 23)
+//H 00: t_1_006.cpp(13): PRIMITIVE_CONCAT(1, 23), [t_1_006.cpp(14): PRIMITIVE_CONCAT(a, b)=a ## b]
+//H 02: 123
+//H 03: 123
+//H 03: 123
+//H 00: t_1_006.cpp(25): PRIMITIVE_CONCAT(1, CONCAT(2, 3)), [t_1_006.cpp(14): PRIMITIVE_CONCAT(a, b)=a ## b]
+//H 02: 1CONCAT(2, 3)
+//H 03: 1CONCAT(2, 3)
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_007.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_007.cpp
new file mode 100644
index 000000000..57e796f8f
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_007.cpp
@@ -0,0 +1,55 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --variadics
+
+// Tests the correctness of parameter replacement, if the parameter is
+// adjacent to an operator '##'.
+
+#define CONCAT(a, b) PRIMITIVE_CONCAT(a, b)
+#define PRIMITIVE_CONCAT(a, b) a ## b
+
+//R #line 20 "t_1_007.cpp"
+//R 123
+CONCAT(1, PRIMITIVE_CONCAT(2, 3))
+//R #line 23 "t_1_007.cpp"
+//R 123
+CONCAT(1, CONCAT(2, 3))
+//R #line 26 "t_1_007.cpp"
+//R 1 CONCAT(2, 3)
+PRIMITIVE_CONCAT(1, CONCAT(2, 3))
+
+//H 10: t_1_007.cpp(15): #define
+//H 08: t_1_007.cpp(15): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)
+//H 10: t_1_007.cpp(16): #define
+//H 08: t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b
+//H 00: t_1_007.cpp(20): CONCAT(1, PRIMITIVE_CONCAT(2, 3)), [t_1_007.cpp(15): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)]
+//H 00: t_1_007.cpp(20): PRIMITIVE_CONCAT(2, 3), [t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b]
+//H 02: 23
+//H 03: 23
+//H 02: PRIMITIVE_CONCAT(1, 23)
+//H 00: t_1_007.cpp(15): PRIMITIVE_CONCAT(1, 23), [t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b]
+//H 02: 123
+//H 03: 123
+//H 03: 123
+//H 00: t_1_007.cpp(23): CONCAT(1, CONCAT(2, 3)), [t_1_007.cpp(15): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)]
+//H 00: t_1_007.cpp(23): CONCAT(2, 3), [t_1_007.cpp(15): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)]
+//H 02: PRIMITIVE_CONCAT(2, 3)
+//H 00: t_1_007.cpp(15): PRIMITIVE_CONCAT(2, 3), [t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b]
+//H 02: 23
+//H 03: 23
+//H 03: 23
+//H 02: PRIMITIVE_CONCAT(1, 23)
+//H 00: t_1_007.cpp(15): PRIMITIVE_CONCAT(1, 23), [t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b]
+//H 02: 123
+//H 03: 123
+//H 03: 123
+//H 00: t_1_007.cpp(26): PRIMITIVE_CONCAT(1, CONCAT(2, 3)), [t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b]
+//H 02: 1CONCAT(2, 3)
+//H 03: 1CONCAT(2, 3)
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_008.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_008.cpp
new file mode 100644
index 000000000..99034f3b3
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_008.cpp
@@ -0,0 +1,145 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// The follwoing is a parametized partially expanding concatenation macro.
+// It is a extremly good test of expansion order and the order of operations
+// during macro expansion in general.
+
+#define CAT(a, b) a ## b
+
+#define PARTIAL_CAT(i) CAT(PARTIAL_CAT_, i)
+
+#define PARTIAL_CAT_0(a, b) CAT(a, b)
+#define PARTIAL_CAT_1(a, b) CAT(PARTIAL ## a, b)
+#define PARTIAL_CAT_2(a, b) CAT(a, b ## PARTIAL)
+#define PARTIAL_CAT_3(a, b) CAT(PARTIAL ## a, b ## PARTIAL)
+
+#define PARTIAL
+#define PARTIALPARTIAL
+
+#define X Token1
+#define Y Token2
+
+//R #line 31 "t_1_008.cpp"
+//R Token1Token2
+PARTIAL_CAT(0)( PARTIAL X, Y PARTIAL )
+//R #line 34 "t_1_008.cpp"
+//R XToken2
+PARTIAL_CAT(1)( PARTIAL X, Y PARTIAL )
+//R #line 37 "t_1_008.cpp"
+//R Token1Y
+PARTIAL_CAT(2)( PARTIAL X, Y PARTIAL )
+//R #line 40 "t_1_008.cpp"
+//R XY
+PARTIAL_CAT(3)( PARTIAL X, Y PARTIAL )
+
+//H 10: t_1_008.cpp(14): #define
+//H 08: t_1_008.cpp(14): CAT(a, b)=a ## b
+//H 10: t_1_008.cpp(16): #define
+//H 08: t_1_008.cpp(16): PARTIAL_CAT(i)=CAT(PARTIAL_CAT_, i)
+//H 10: t_1_008.cpp(18): #define
+//H 08: t_1_008.cpp(18): PARTIAL_CAT_0(a, b)=CAT(a, b)
+//H 10: t_1_008.cpp(19): #define
+//H 08: t_1_008.cpp(19): PARTIAL_CAT_1(a, b)=CAT(PARTIAL ## a, b)
+//H 10: t_1_008.cpp(20): #define
+//H 08: t_1_008.cpp(20): PARTIAL_CAT_2(a, b)=CAT(a, b ## PARTIAL)
+//H 10: t_1_008.cpp(21): #define
+//H 08: t_1_008.cpp(21): PARTIAL_CAT_3(a, b)=CAT(PARTIAL ## a, b ## PARTIAL)
+//H 10: t_1_008.cpp(23): #define
+//H 08: t_1_008.cpp(23): PARTIAL=
+//H 10: t_1_008.cpp(24): #define
+//H 08: t_1_008.cpp(24): PARTIALPARTIAL=
+//H 10: t_1_008.cpp(26): #define
+//H 08: t_1_008.cpp(26): X=Token1
+//H 10: t_1_008.cpp(27): #define
+//H 08: t_1_008.cpp(27): Y=Token2
+//H 00: t_1_008.cpp(31): PARTIAL_CAT(0), [t_1_008.cpp(16): PARTIAL_CAT(i)=CAT(PARTIAL_CAT_, i)]
+//H 02: CAT(PARTIAL_CAT_, 0)
+//H 00: t_1_008.cpp(16): CAT(PARTIAL_CAT_, 0), [t_1_008.cpp(14): CAT(a, b)=a ## b]
+//H 02: PARTIAL_CAT_0
+//H 03: PARTIAL_CAT_0
+//H 03: PARTIAL_CAT_0
+//H 00: t_1_008.cpp(16): PARTIAL_CAT_0( PARTIAL X, Y PARTIAL ), [t_1_008.cpp(18): PARTIAL_CAT_0(a, b)=CAT(a, b)]
+//H 01: t_1_008.cpp(23): PARTIAL
+//H 02:
+//H 03: _
+//H 01: t_1_008.cpp(26): X
+//H 02: Token1
+//H 03: Token1
+//H 01: t_1_008.cpp(27): Y
+//H 02: Token2
+//H 03: Token2
+//H 01: t_1_008.cpp(23): PARTIAL
+//H 02:
+//H 03: _
+//H 02: CAT( Token1, Token2 )
+//H 00: t_1_008.cpp(18): CAT( Token1, Token2 ), [t_1_008.cpp(14): CAT(a, b)=a ## b]
+//H 02: Token1Token2
+//H 03: Token1Token2
+//H 03: Token1Token2
+//H 00: t_1_008.cpp(34): PARTIAL_CAT(1), [t_1_008.cpp(16): PARTIAL_CAT(i)=CAT(PARTIAL_CAT_, i)]
+//H 02: CAT(PARTIAL_CAT_, 1)
+//H 00: t_1_008.cpp(16): CAT(PARTIAL_CAT_, 1), [t_1_008.cpp(14): CAT(a, b)=a ## b]
+//H 02: PARTIAL_CAT_1
+//H 03: PARTIAL_CAT_1
+//H 03: PARTIAL_CAT_1
+//H 00: t_1_008.cpp(16): PARTIAL_CAT_1( PARTIAL X, Y PARTIAL ), [t_1_008.cpp(19): PARTIAL_CAT_1(a, b)=CAT(PARTIAL ## a, b)]
+//H 01: t_1_008.cpp(27): Y
+//H 02: Token2
+//H 03: Token2
+//H 01: t_1_008.cpp(23): PARTIAL
+//H 02:
+//H 03: _
+//H 02: CAT(PARTIALPARTIAL X, Token2 )
+//H 00: t_1_008.cpp(19): CAT(PARTIALPARTIAL X, Token2 ), [t_1_008.cpp(14): CAT(a, b)=a ## b]
+//H 02: PARTIALPARTIAL XToken2
+//H 01: t_1_008.cpp(24): PARTIALPARTIAL
+//H 02:
+//H 03: _
+//H 03: XToken2
+//H 03: XToken2
+//H 00: t_1_008.cpp(37): PARTIAL_CAT(2), [t_1_008.cpp(16): PARTIAL_CAT(i)=CAT(PARTIAL_CAT_, i)]
+//H 02: CAT(PARTIAL_CAT_, 2)
+//H 00: t_1_008.cpp(16): CAT(PARTIAL_CAT_, 2), [t_1_008.cpp(14): CAT(a, b)=a ## b]
+//H 02: PARTIAL_CAT_2
+//H 03: PARTIAL_CAT_2
+//H 03: PARTIAL_CAT_2
+//H 00: t_1_008.cpp(16): PARTIAL_CAT_2( PARTIAL X, Y PARTIAL ), [t_1_008.cpp(20): PARTIAL_CAT_2(a, b)=CAT(a, b ## PARTIAL)]
+//H 01: t_1_008.cpp(23): PARTIAL
+//H 02:
+//H 03: _
+//H 01: t_1_008.cpp(26): X
+//H 02: Token1
+//H 03: Token1
+//H 02: CAT( Token1, Y PARTIALPARTIAL)
+//H 00: t_1_008.cpp(20): CAT( Token1, Y PARTIALPARTIAL), [t_1_008.cpp(14): CAT(a, b)=a ## b]
+//H 02: Token1Y PARTIALPARTIAL
+//H 01: t_1_008.cpp(24): PARTIALPARTIAL
+//H 02:
+//H 03: _
+//H 03: Token1Y_
+//H 03: Token1Y_
+//H 00: t_1_008.cpp(40): PARTIAL_CAT(3), [t_1_008.cpp(16): PARTIAL_CAT(i)=CAT(PARTIAL_CAT_, i)]
+//H 02: CAT(PARTIAL_CAT_, 3)
+//H 00: t_1_008.cpp(16): CAT(PARTIAL_CAT_, 3), [t_1_008.cpp(14): CAT(a, b)=a ## b]
+//H 02: PARTIAL_CAT_3
+//H 03: PARTIAL_CAT_3
+//H 03: PARTIAL_CAT_3
+//H 00: t_1_008.cpp(16): PARTIAL_CAT_3( PARTIAL X, Y PARTIAL ), [t_1_008.cpp(21): PARTIAL_CAT_3(a, b)=CAT(PARTIAL ## a, b ## PARTIAL)]
+//H 02: CAT(PARTIALPARTIAL X, Y PARTIALPARTIAL)
+//H 00: t_1_008.cpp(21): CAT(PARTIALPARTIAL X, Y PARTIALPARTIAL), [t_1_008.cpp(14): CAT(a, b)=a ## b]
+//H 02: PARTIALPARTIAL XY PARTIALPARTIAL
+//H 01: t_1_008.cpp(24): PARTIALPARTIAL
+//H 02:
+//H 03: _
+//H 01: t_1_008.cpp(24): PARTIALPARTIAL
+//H 02:
+//H 03: _
+//H 03: XY_
+//H 03: XY_
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_009.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_009.cpp
new file mode 100644
index 000000000..914ec6b72
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_009.cpp
@@ -0,0 +1,29 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test, if wrongly placed '##' operators are detected
+
+#define TEST1() A ## B
+#define TEST2() ## A
+
+//R #line 17 "t_1_009.cpp"
+//R AB
+TEST1()
+//E t_1_009.cpp(19): error: ill formed preprocessing operator: concat ('##')
+TEST2() // error
+
+//H 10: t_1_009.cpp(12): #define
+//H 08: t_1_009.cpp(12): TEST1()=A ## B
+//H 10: t_1_009.cpp(13): #define
+//H 08: t_1_009.cpp(13): TEST2()=## A
+//H 00: t_1_009.cpp(17): TEST1(), [t_1_009.cpp(12): TEST1()=A ## B]
+//H 02: AB
+//H 03: AB
+//H 00: t_1_009.cpp(19): TEST2(), [t_1_009.cpp(13): TEST2()=## A]
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_010.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_010.cpp
new file mode 100644
index 000000000..fda84df66
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_010.cpp
@@ -0,0 +1,29 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test, if wrongly placed '##' operators are detected
+
+#define TEST1() A ## B
+#define TEST2() A ##
+
+//R #line 17 "t_1_010.cpp"
+//R AB
+TEST1()
+//E t_1_010.cpp(19): error: ill formed preprocessing operator: concat ('##')
+TEST2() // error
+
+//H 10: t_1_010.cpp(12): #define
+//H 08: t_1_010.cpp(12): TEST1()=A ## B
+//H 10: t_1_010.cpp(13): #define
+//H 08: t_1_010.cpp(13): TEST2()=A ##
+//H 00: t_1_010.cpp(17): TEST1(), [t_1_010.cpp(12): TEST1()=A ## B]
+//H 02: AB
+//H 03: AB
+//H 00: t_1_010.cpp(19): TEST2(), [t_1_010.cpp(13): TEST2()=A ##]
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_011.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_011.cpp
new file mode 100644
index 000000000..ed1b7b6c4
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_011.cpp
@@ -0,0 +1,32 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test if macros at not used parameter positions are expanded correctly
+
+#define MACRO() /**/
+#define ID(x) // parameter not used at all
+#define CAT(x) X ## x // expanded parameter not used
+
+ID( MACRO(*) )
+//R #line 19 "t_1_011.cpp"
+//R XMACRO(*)
+CAT( MACRO(*) )
+
+//H 10: t_1_011.cpp(12): #define
+//H 08: t_1_011.cpp(12): MACRO()=
+//H 10: t_1_011.cpp(13): #define
+//H 08: t_1_011.cpp(13): ID(x)=
+//H 10: t_1_011.cpp(14): #define
+//H 08: t_1_011.cpp(14): CAT(x)=X ## x
+//H 00: t_1_011.cpp(16): ID( MACRO(*) ), [t_1_011.cpp(13): ID(x)=]
+//H 02:
+//H 03: _
+//H 00: t_1_011.cpp(19): CAT( MACRO(*) ), [t_1_011.cpp(14): CAT(x)=X ## x]
+//H 02: XMACRO(*)
+//H 03: XMACRO(*)
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_012.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_012.cpp
new file mode 100644
index 000000000..c42a06909
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_012.cpp
@@ -0,0 +1,57 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test, if function like macros are correctly expanded if used as object like
+// macros
+
+#define CAT(a, b) a ## b
+#define ARGS (1, 2)
+
+//R #line 18 "t_1_012.cpp"
+//R CAT (1, 2)
+CAT ARGS
+
+#define INVOKE(macro) macro ARGS
+
+//R #line 24 "t_1_012.cpp"
+//R CAT (1, 2)
+INVOKE(CAT)
+
+#define EXPAND(x) x
+
+//R #line 30 "t_1_012.cpp"
+//R 12
+EXPAND(CAT ARGS)
+
+//H 10: t_1_012.cpp(13): #define
+//H 08: t_1_012.cpp(13): CAT(a, b)=a ## b
+//H 10: t_1_012.cpp(14): #define
+//H 08: t_1_012.cpp(14): ARGS=(1, 2)
+//H 01: t_1_012.cpp(14): ARGS
+//H 02: (1, 2)
+//H 03: (1, 2)
+//H 10: t_1_012.cpp(20): #define
+//H 08: t_1_012.cpp(20): INVOKE(macro)=macro ARGS
+//H 00: t_1_012.cpp(24): INVOKE(CAT), [t_1_012.cpp(20): INVOKE(macro)=macro ARGS]
+//H 02: CAT ARGS
+//H 01: t_1_012.cpp(14): ARGS
+//H 02: (1, 2)
+//H 03: (1, 2)
+//H 03: CAT (1, 2)
+//H 10: t_1_012.cpp(26): #define
+//H 08: t_1_012.cpp(26): EXPAND(x)=x
+//H 00: t_1_012.cpp(30): EXPAND(CAT ARGS), [t_1_012.cpp(26): EXPAND(x)=x]
+//H 01: t_1_012.cpp(14): ARGS
+//H 02: (1, 2)
+//H 03: (1, 2)
+//H 02: CAT (1, 2)
+//H 00: t_1_012.cpp(30): CAT(1, 2), [t_1_012.cpp(13): CAT(a, b)=a ## b]
+//H 02: 12
+//H 03: 12
+//H 03: 12
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_013.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_013.cpp
new file mode 100644
index 000000000..1746afb82
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_013.cpp
@@ -0,0 +1,89 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// This sample is taken from the C++ standard 16.3.5.6 [cpp.scope] and was
+// slightly modified (removed the '#include' directive)
+
+#define str(s) # s
+#define xstr(s) str(s)
+#define debug(s, t) printf("x" # s "= %d, x" # t "= %s", \
+x ## s, x ## t)
+#define INCFILE(n) vers ## n /* from previous #include example */
+#define glue(a, b) a ## b
+#define xglue(a, b) glue(a, b)
+#define HIGHLOW "hello"
+#define LOW LOW ", world"
+debug(1, 2);
+fputs(str(strncmp("abc\0d?", "abc", '\4', "\u1234") /* this goes away */
+== 0) str(: @\n), s);
+/*#include*/ xstr(INCFILE(2).hpp)
+glue(HIGH, LOW);
+xglue(HIGH, LOW)
+
+// should expand to
+//R #line 22 "t_1_013.cpp"
+//R printf("x" "1" "= %d, x" "2" "= %s", x1, x2);
+//R fputs("strncmp(\"abc\\0d\?\", \"abc\", '\\4', \"\\u1234\") == 0" ": @\n", s);
+//R
+//R "vers2.hpp"
+//R "hello";
+//R "hello" ", world"
+
+//H 10: t_1_013.cpp(13): #define
+//H 08: t_1_013.cpp(13): str(s)=# s
+//H 10: t_1_013.cpp(14): #define
+//H 08: t_1_013.cpp(14): xstr(s)=str(s)
+//H 10: t_1_013.cpp(15): #define
+//H 08: t_1_013.cpp(15): debug(s, t)=printf("x" # s "= %d, x" # t "= %s", x ## s, x ## t)
+//H 10: t_1_013.cpp(17): #define
+//H 08: t_1_013.cpp(17): INCFILE(n)=vers ## n
+//H 10: t_1_013.cpp(18): #define
+//H 08: t_1_013.cpp(18): glue(a, b)=a ## b
+//H 10: t_1_013.cpp(19): #define
+//H 08: t_1_013.cpp(19): xglue(a, b)=glue(a, b)
+//H 10: t_1_013.cpp(20): #define
+//H 08: t_1_013.cpp(20): HIGHLOW="hello"
+//H 10: t_1_013.cpp(21): #define
+//H 08: t_1_013.cpp(21): LOW=LOW ", world"
+//H 00: t_1_013.cpp(22): debug(1, 2), [t_1_013.cpp(15): debug(s, t)=printf("x" # s "= %d, x" # t "= %s", x ## s, x ## t)]
+//H 02: printf("x" "1" "= %d, x" "2" "= %s", x1, x2)
+//H 03: printf("x" "1" "= %d, x" "2" "= %s", x1, x2)
+//H 00: t_1_013.cpp(23): str(strncmp("abc\0d?", "abc", '\4', "\u1234") == 0), [t_1_013.cpp(13): str(s)=# s]
+//H 02: "strncmp(\"abc\\0d\?\", \"abc\", '\\4', \"\\u1234\") == 0"
+//H 03: "strncmp(\"abc\\0d\?\", \"abc\", '\\4', \"\\u1234\") == 0"
+//H 00: t_1_013.cpp(24): str(: @\n), [t_1_013.cpp(13): str(s)=# s]
+//H 02: ": @\n"
+//H 03: ": @\n"
+//H 00: t_1_013.cpp(25): xstr(INCFILE(2).hpp), [t_1_013.cpp(14): xstr(s)=str(s)]
+//H 00: t_1_013.cpp(25): INCFILE(2), [t_1_013.cpp(17): INCFILE(n)=vers ## n]
+//H 02: vers2
+//H 03: vers2
+//H 02: str(vers2.hpp)
+//H 00: t_1_013.cpp(14): str(vers2.hpp), [t_1_013.cpp(13): str(s)=# s]
+//H 02: "vers2.hpp"
+//H 03: "vers2.hpp"
+//H 03: "vers2.hpp"
+//H 00: t_1_013.cpp(26): glue(HIGH, LOW), [t_1_013.cpp(18): glue(a, b)=a ## b]
+//H 02: HIGHLOW
+//H 01: t_1_013.cpp(20): HIGHLOW
+//H 02: "hello"
+//H 03: "hello"
+//H 03: "hello"
+//H 00: t_1_013.cpp(27): xglue(HIGH, LOW), [t_1_013.cpp(19): xglue(a, b)=glue(a, b)]
+//H 01: t_1_013.cpp(21): LOW
+//H 02: LOW ", world"
+//H 03: LOW ", world"
+//H 02: glue(HIGH, LOW ", world")
+//H 00: t_1_013.cpp(19): glue(HIGH, LOW ", world"), [t_1_013.cpp(18): glue(a, b)=a ## b]
+//H 02: HIGHLOW ", world"
+//H 01: t_1_013.cpp(20): HIGHLOW
+//H 02: "hello"
+//H 03: "hello"
+//H 03: "hello" ", world"
+//H 03: "hello" ", world"
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_014.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_014.cpp
new file mode 100644
index 000000000..32df363d4
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_014.cpp
@@ -0,0 +1,35 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// This sample is taken from the C++ standard 16.3.5.5 [cpp.scope]
+
+// Currently this test fails due to a pathologic border case, which is included
+// here. Wave currently does not support expanding macros, where the
+// replacement-list terminates in partial macro expansion (such as the
+// definition of the macro h below). This will be fixed in a future release.
+
+#define x 3
+#define f(a) f(x * (a))
+#undef x
+#define x 2
+#define g f
+#define z z[0]
+#define h g( ~
+#define m(a) a(w)
+#define w 0,1
+#define t(a) a
+f(y+1) + f(f(z)) % t(t(g)(0) + t)(1);
+g(x+(3,4)-w)
+h 5) & m(f)^m(m);
+
+//R #line 27 "t_1_014.cpp"
+//R f(2 * (y+1)) + f(2 * (f(2 * (z[0])))) % f(2 * (0)) + t(1);
+//R f(2 * (2+(3,4)-0,1))
+//E t_1_014.cpp(29): error: improperly terminated macro invocation or replacement-list terminates in partial macro expansion (not supported yet): missing ')'
+// should expand to: f(2 * g( ~ 5)) & f(2 * (0,1))^m(0,1);
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_015.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_015.cpp
new file mode 100644
index 000000000..6a20c5b49
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_015.cpp
@@ -0,0 +1,25 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, if the recursive replacement of a macro is correctly handled
+
+#define f(x) (4-f(x))
+
+//R #line 16 "t_1_015.cpp"
+//R (4-f((4-f(1))))
+f(f(1))
+
+//H 10: t_1_015.cpp(12): #define
+//H 08: t_1_015.cpp(12): f(x)=(4-f(x))
+//H 00: t_1_015.cpp(16): f(f(1)), [t_1_015.cpp(12): f(x)=(4-f(x))]
+//H 00: t_1_015.cpp(16): f(1), [t_1_015.cpp(12): f(x)=(4-f(x))]
+//H 02: (4-f(1))
+//H 03: (4-f(1))
+//H 02: (4-f((4-f(1))))
+//H 03: (4-f((4-f(1))))
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_016.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_016.cpp
new file mode 100644
index 000000000..d389e3c08
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_016.cpp
@@ -0,0 +1,29 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests continuing scanning into the underlying input stream after expanding
+// a macro, if this is appropriate
+
+#define A Token1 B
+#define B() Token2
+
+//R #line 18 "t_1_016.cpp"
+//R Token1 Token2
+A()
+
+//H 10: t_1_016.cpp(13): #define
+//H 08: t_1_016.cpp(13): A=Token1 B
+//H 10: t_1_016.cpp(14): #define
+//H 08: t_1_016.cpp(14): B()=Token2
+//H 01: t_1_016.cpp(13): A
+//H 02: Token1 B
+//H 03: Token1 B
+//H 00: t_1_016.cpp(13): B(), [t_1_016.cpp(14): B()=Token2]
+//H 02: Token2
+//H 03: Token2
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_017.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_017.cpp
new file mode 100644
index 000000000..9d025d2f8
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_017.cpp
@@ -0,0 +1,31 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests macro expansion sequence and proper rescanning
+
+#define macro() end
+
+#define par() ()
+
+#define expr macro par par par()
+
+#define scan(x) x
+
+//R #line 22 "t_1_017.cpp"
+//R macro par par ()
+expr
+//R #line 25 "t_1_017.cpp"
+//R macro par ()
+scan(expr)
+//R #line 28 "t_1_017.cpp"
+//R macro ()
+scan(scan(expr))
+//R #line 31 "t_1_017.cpp"
+//R end
+scan(scan(scan(expr)))
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_018.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_018.cpp
new file mode 100644
index 000000000..8e8444885
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_018.cpp
@@ -0,0 +1,42 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests macro expansion sequence and proper rescanning
+
+#define macro() expr_2
+#define macro_2() expr
+
+#define par() ()
+
+#define expr macro par ()
+#define expr_2 macro_2 par par par()
+
+#define scan(x) x
+
+//R #line 24 "t_1_018.cpp"
+//R macro ()
+expr
+//R #line 27 "t_1_018.cpp"
+//R macro_2 par par ()
+scan(expr)
+//R #line 30 "t_1_018.cpp"
+//R macro_2 par ()
+scan(scan(expr))
+//R #line 33 "t_1_018.cpp"
+//R macro_2 ()
+scan(scan(scan(expr)))
+//R #line 36 "t_1_018.cpp"
+//R macro ()
+scan(scan(scan(scan(expr))))
+//R #line 39 "t_1_018.cpp"
+//R macro_2 par par ()
+scan(scan(scan(scan(scan(expr)))))
+//R #line 42 "t_1_018.cpp"
+//R macro_2 par ()
+scan(scan(scan(scan(scan(scan(expr))))))
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_019.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_019.cpp
new file mode 100644
index 000000000..1585bcdda
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_019.cpp
@@ -0,0 +1,42 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests macro expansion sequence and proper rescanning
+
+#define macro() expr_2
+#define macro_2() expr
+
+#define par() ()
+
+#define expr macro ()
+#define expr_2 macro_2 par par par()
+
+#define scan(x) x
+
+//R #line 24 "t_1_019.cpp"
+//R macro_2 par par ()
+expr
+//R #line 27 "t_1_019.cpp"
+//R macro_2 par ()
+scan(expr)
+//R #line 30 "t_1_019.cpp"
+//R macro_2 ()
+scan(scan(expr))
+//R #line 33 "t_1_019.cpp"
+//R macro_2 par par ()
+scan(scan(scan(expr)))
+//R #line 36 "t_1_019.cpp"
+//R macro_2 par ()
+scan(scan(scan(scan(expr))))
+//R #line 39 "t_1_019.cpp"
+//R macro_2 ()
+scan(scan(scan(scan(scan(expr)))))
+//R #line 42 "t_1_019.cpp"
+//R macro_2 ()
+scan(scan(scan(scan(scan(scan(expr))))))
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_020.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_020.cpp
new file mode 100644
index 000000000..8c2673af7
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_020.cpp
@@ -0,0 +1,34 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests the handling of placeholder tokens, which have to be inserted, when
+// some macro expands into nothing (certainly these have to be ignored
+// afterwards :-)
+
+#define NIL
+
+#define A B NIL
+#define B() anything
+
+//R #line 21 "t_1_020.cpp"
+//R B()
+A() // not 'anything'!
+
+//H 10: t_1_020.cpp(14): #define
+//H 08: t_1_020.cpp(14): NIL=
+//H 10: t_1_020.cpp(16): #define
+//H 08: t_1_020.cpp(16): A=B NIL
+//H 10: t_1_020.cpp(17): #define
+//H 08: t_1_020.cpp(17): B()=anything
+//H 01: t_1_020.cpp(16): A
+//H 02: B NIL
+//H 01: t_1_020.cpp(14): NIL
+//H 02:
+//H 03: _
+//H 03: B_
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_021.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_021.cpp
new file mode 100644
index 000000000..0c3bdcbfc
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_021.cpp
@@ -0,0 +1,41 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests continuing scanning into the underlying input stream after expanding
+// a macro, if this is appropriate
+
+#define MACRO() X + Y NEXT
+#define X 1
+#define Y 2
+#define NEXT() ...
+
+//R #line 20 "t_1_021.cpp"
+//R 1 + 2 ...
+MACRO()()
+
+//H 10: t_1_021.cpp(13): #define
+//H 08: t_1_021.cpp(13): MACRO()=X + Y NEXT
+//H 10: t_1_021.cpp(14): #define
+//H 08: t_1_021.cpp(14): X=1
+//H 10: t_1_021.cpp(15): #define
+//H 08: t_1_021.cpp(15): Y=2
+//H 10: t_1_021.cpp(16): #define
+//H 08: t_1_021.cpp(16): NEXT()=...
+//H 00: t_1_021.cpp(20): MACRO(), [t_1_021.cpp(13): MACRO()=X + Y NEXT]
+//H 02: X + Y NEXT
+//H 01: t_1_021.cpp(14): X
+//H 02: 1
+//H 03: 1
+//H 01: t_1_021.cpp(15): Y
+//H 02: 2
+//H 03: 2
+//H 03: 1 + 2 NEXT
+//H 00: t_1_021.cpp(13): NEXT(), [t_1_021.cpp(16): NEXT()=...]
+//H 02: ...
+//H 03: ...
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_022.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_022.cpp
new file mode 100644
index 000000000..809cd67b6
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_022.cpp
@@ -0,0 +1,36 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests the validity of whitespace handling during macro expansion
+
+#define MACRO() 123
+
+//R #line 16 "t_1_022.cpp"
+//R 123
+MACRO()
+//R #line 19 "t_1_022.cpp"
+//R 123
+MACRO
+()
+//R #line 23 "t_1_022.cpp"
+//R 123
+MACRO(
+)
+
+//H 10: t_1_022.cpp(12): #define
+//H 08: t_1_022.cpp(12): MACRO()=123
+//H 00: t_1_022.cpp(16): MACRO(), [t_1_022.cpp(12): MACRO()=123]
+//H 02: 123
+//H 03: 123
+//H 00: t_1_022.cpp(19): MACRO(), [t_1_022.cpp(12): MACRO()=123]
+//H 02: 123
+//H 03: 123
+//H 00: t_1_022.cpp(23): MACRO(), [t_1_022.cpp(12): MACRO()=123]
+//H 02: 123
+//H 03: 123
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_023.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_023.cpp
new file mode 100644
index 000000000..a54adbd26
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_023.cpp
@@ -0,0 +1,33 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, if function-like macros buried deep inside a macro expansion of the
+// same name as an object-like macro do not eat up more tokens, than expected.
+
+#define PRIMITIVE_CAT(a, b) a ## b
+
+#define EAT(n) PRIMITIVE_CAT(EAT_, n)
+#define EAT_1(a)
+
+//R #line 20 "t_1_023.cpp"
+//R EAT_1...
+EAT(1)...
+
+//H 10: t_1_023.cpp(13): #define
+//H 08: t_1_023.cpp(13): PRIMITIVE_CAT(a, b)=a ## b
+//H 10: t_1_023.cpp(15): #define
+//H 08: t_1_023.cpp(15): EAT(n)=PRIMITIVE_CAT(EAT_, n)
+//H 10: t_1_023.cpp(16): #define
+//H 08: t_1_023.cpp(16): EAT_1(a)=
+//H 00: t_1_023.cpp(20): EAT(1), [t_1_023.cpp(15): EAT(n)=PRIMITIVE_CAT(EAT_, n)]
+//H 02: PRIMITIVE_CAT(EAT_, 1)
+//H 00: t_1_023.cpp(15): PRIMITIVE_CAT(EAT_, 1), [t_1_023.cpp(13): PRIMITIVE_CAT(a, b)=a ## b]
+//H 02: EAT_1
+//H 03: EAT_1
+//H 03: EAT_1
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_024.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_024.cpp
new file mode 100644
index 000000000..b07cb9cc0
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_024.cpp
@@ -0,0 +1,112 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests more complex macro expansion.
+
+// token-pasting macro
+#define CAT(a, b) PRIMITIVE_CAT(a, b)
+#define PRIMITIVE_CAT(a, b) a ## b
+
+// splits a value that is about to expand into two parameters and returns
+// either the zero-th or one-th element.
+#define SPLIT(n, im) PRIMITIVE_CAT(SPLIT_, n)(im)
+#define SPLIT_0(a, b) a
+#define SPLIT_1(a, b) b
+
+// detects if the parameter is nullary parentheses () or something else.
+// passing non-nullary parenthesis is invalid input.
+#define IS_NULLARY(expr) \
+ SPLIT( \
+ 0, \
+ CAT(IS_NULLARY_R_, IS_NULLARY_T expr) \
+ ) \
+ /**/
+#define IS_NULLARY_T() 1
+#define IS_NULLARY_R_1 1, ?
+#define IS_NULLARY_R_IS_NULLARY_T 0, ?
+
+// expands to a macro that eats an n-element parenthesized expression.
+#define EAT(n) PRIMITIVE_CAT(EAT_, n)
+#define EAT_0()
+#define EAT_1(a)
+#define EAT_2(a, b)
+#define EAT_3(a, b, c)
+
+// expands to a macro that removes the parentheses from an n-element
+// parenthesized expression
+#define REM(n) PRIMITIVE_CAT(REM_, n)
+#define REM_0()
+#define REM_1(a) a
+#define REM_2(a, b) a, b
+#define REM_3(a, b, c) a, b, c
+
+// expands to nothing
+#define NIL
+
+// expands to 1 if x is less than y otherwise, it expands to 0
+#define LESS(x, y) \
+ IS_NULLARY( \
+ PRIMITIVE_CAT(LESS_, y)( \
+ EAT(1), PRIMITIVE_CAT(LESS_, x) \
+ )() \
+ ) \
+ /**/
+
+#define LESS_0(a, b) a(EAT(2)) b(REM(1), NIL)
+#define LESS_1(a, b) a(LESS_0) b(REM(1), NIL)
+#define LESS_2(a, b) a(LESS_1) b(REM(1), NIL)
+#define LESS_3(a, b) a(LESS_2) b(REM(1), NIL)
+#define LESS_4(a, b) a(LESS_3) b(REM(1), NIL)
+#define LESS_5(a, b) a(LESS_4) b(REM(1), NIL)
+
+// expands to the binary one's compliment of a binary input value. i.e. 0 or 1
+#define COMPL(n) PRIMITIVE_CAT(COMPL_, n)
+#define COMPL_0 1
+#define COMPL_1 0
+
+// these do the obvious...
+#define GREATER(x, y) LESS(y, x)
+#define LESS_EQUAL(x, y) COMPL(LESS(y, x))
+#define GREATER_EQUAL(x, y) COMPL(LESS(x, y))
+
+// causes another rescan...
+#define SCAN(x) x
+
+// expands to 1 if x is not equal to y. this one contains a workaround...
+#define NOT_EQUAL(x, y) \
+ IS_NULLARY( \
+ SCAN( \
+ PRIMITIVE_CAT(LESS_, x)( \
+ EAT(1), \
+ PRIMITIVE_CAT(LESS_, y) EAT(2) \
+ )((), ...) \
+ ) \
+ ) \
+ /**/
+#define EQUAL(x, y) COMPL(NOT_EQUAL(x, y))
+
+//R #line 95 "t_1_024.cpp"
+LESS(2, 3) //R 1
+LESS(3, 2) //R 0
+LESS(3, 3) //R 0
+GREATER(2, 3) //R 0
+GREATER(3, 2) //R 1
+GREATER(3, 3) //R 0
+LESS_EQUAL(2, 3) //R 1
+LESS_EQUAL(3, 2) //R 0
+LESS_EQUAL(3, 3) //R 1
+GREATER_EQUAL(2, 3) //R 0
+GREATER_EQUAL(3, 2) //R 1
+GREATER_EQUAL(3, 3) //R 1
+NOT_EQUAL(2, 3) //R 1
+NOT_EQUAL(3, 2) //R 1
+NOT_EQUAL(3, 3) //R 0
+EQUAL(2, 3) //R 0
+EQUAL(3, 2) //R 0
+EQUAL(3, 3) //R 1
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_025.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_025.cpp
new file mode 100644
index 000000000..37a2409f9
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_025.cpp
@@ -0,0 +1,35 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, if macro expansion eats up follow up tokens under certain conditions
+// (which it shouldn't).
+
+#define SCAN(x) x
+
+#define BUG BUG_2
+#define BUG_2
+
+//R #line 19 "t_1_025.cpp"
+SCAN(BUG) 1 2 3 4 5 //R 1 2 3 4 5
+
+//H 10: t_1_025.cpp(13): #define
+//H 08: t_1_025.cpp(13): SCAN(x)=x
+//H 10: t_1_025.cpp(15): #define
+//H 08: t_1_025.cpp(15): BUG=BUG_2
+//H 10: t_1_025.cpp(16): #define
+//H 08: t_1_025.cpp(16): BUG_2=
+//H 00: t_1_025.cpp(19): SCAN(BUG), [t_1_025.cpp(13): SCAN(x)=x]
+//H 01: t_1_025.cpp(15): BUG
+//H 02: BUG_2
+//H 01: t_1_025.cpp(16): BUG_2
+//H 02:
+//H 03: _
+//H 03: _
+//H 02:
+//H 03: _
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_026.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_026.cpp
new file mode 100644
index 000000000..df0cdcaa7
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_026.cpp
@@ -0,0 +1,19 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test error reporting for non-unique parameter names
+
+//E t_1_026.cpp(13): error: duplicate macro parameter name: x
+#define MACRO(x, x) x
+ // ^ ^ this is illegal
+
+MACRO(1, 2)
+
+//H 10: t_1_026.cpp(13): #define
+//H 18: boost::wave::macro_handling_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_027.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_027.cpp
new file mode 100644
index 000000000..39ccb3acc
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_027.cpp
@@ -0,0 +1,41 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests delayed macro expansion (rescanning)
+
+#define CONCAT_1(A, B) A ## B
+#define CONCAT_2(A, B) CONCAT_1(A, B)
+
+#define DELAY(NAME) NAME
+
+#define A1 a
+#define B1 b
+
+#define A2() a
+#define B2() b
+
+#define LHS (
+#define RHS )
+
+//R #line 27 "t_1_027.cpp"
+DELAY(CONCAT_1)( a, b ) (); //R ab ();
+DELAY(CONCAT_1)(A1, B1)(); //R A1B1();
+DELAY(CONCAT_1) LHS A1, B1 RHS (); //R CONCAT_1 ( a, b )();
+CONCAT_1 ( a, b ) (); //R ab ();
+CONCAT_1 ( A1, B1 ) (); //R A1B1 ();
+CONCAT_1 LHS a, b RHS (); //R CONCAT_1 ( a, b )();
+//R
+DELAY(CONCAT_2)( a, b ) (); //R ab ();
+DELAY(CONCAT_2)(A1, B1)(); //R ab();
+DELAY(CONCAT_2) LHS A1, B1 RHS (); //R CONCAT_2 ( a, b )();
+DELAY(CONCAT_2)(A2(), B2())(); //R ab();
+CONCAT_2 ( a, b ) (); //R ab ();
+CONCAT_2 ( A1, B1 ) (); //R ab ();
+CONCAT_2 LHS a, b RHS (); //R CONCAT_2 ( a, b )();
+CONCAT_2(A2(), B2())(); //R ab();
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_028.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_028.cpp
new file mode 100644
index 000000000..67def4af9
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_028.cpp
@@ -0,0 +1,45 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests delayed macro expansion (rescanning)
+
+//O --variadics
+
+#define CONCAT_1(A, B) A ## B
+#define CONCAT_2(A, B) CONCAT_1(A, B)
+
+#define DELAY(NAME) NAME
+
+#define A1 a
+#define B1 b
+
+#define A2() a
+#define B2() b
+
+#define LHS (
+#define RHS )
+
+//R #line 29 "t_1_028.cpp"
+DELAY(CONCAT_1)( a, b ) (); //R ab ();
+DELAY(CONCAT_1)(A1, B1)(); //R A1B1();
+DELAY(CONCAT_1) LHS A1, B1 RHS (); //R CONCAT_1 ( a, b )();
+DELAY(CONCAT_1)(A2(), B2())(); //R a b();
+CONCAT_1 ( a, b ) (); //R ab ();
+CONCAT_1 ( A1, B1 ) (); //R A1B1 ();
+CONCAT_1 LHS a, b RHS (); //R CONCAT_1 ( a, b )();
+CONCAT_1(A2(), B2())(); //R a b();
+//R
+DELAY(CONCAT_2)( a, b ) (); //R ab ();
+DELAY(CONCAT_2)(A1, B1)(); //R ab();
+DELAY(CONCAT_2) LHS A1, B1 RHS (); //R CONCAT_2 ( a, b )();
+DELAY(CONCAT_2)(A2(), B2())(); //R ab();
+CONCAT_2 ( a, b ) (); //R ab ();
+CONCAT_2 ( A1, B1 ) (); //R ab ();
+CONCAT_2 LHS a, b RHS (); //R CONCAT_2 ( a, b )();
+CONCAT_2(A2(), B2())(); //R ab();
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_029.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_029.cpp
new file mode 100644
index 000000000..2cb1beb98
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_029.cpp
@@ -0,0 +1,44 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests concatination of more than two parameters
+
+#define CAT3_1(a, b, c) a##b##c
+#define CAT3_2(a, b, c) a ## b ## c
+
+#define CAT4_1(a, b, c, d) a##b##c##d
+#define CAT4_2(a, b, c, d) a ## b ## c ## d
+
+//R #line 19 "t_1_029.cpp"
+CAT3_1(1, 0, 0) //R 100
+CAT3_2(1, 0, 0) //R 100
+//R
+CAT4_1(1, 0, 0, 2) //R 1002
+CAT4_2(1, 0, 0, 2) //R 1002
+
+//H 10: t_1_029.cpp(12): #define
+//H 08: t_1_029.cpp(12): CAT3_1(a, b, c)=a##b##c
+//H 10: t_1_029.cpp(13): #define
+//H 08: t_1_029.cpp(13): CAT3_2(a, b, c)=a ## b ## c
+//H 10: t_1_029.cpp(15): #define
+//H 08: t_1_029.cpp(15): CAT4_1(a, b, c, d)=a##b##c##d
+//H 10: t_1_029.cpp(16): #define
+//H 08: t_1_029.cpp(16): CAT4_2(a, b, c, d)=a ## b ## c ## d
+//H 00: t_1_029.cpp(19): CAT3_1(1, 0, 0), [t_1_029.cpp(12): CAT3_1(a, b, c)=a##b##c]
+//H 02: 100
+//H 03: 100
+//H 00: t_1_029.cpp(20): CAT3_2(1, 0, 0), [t_1_029.cpp(13): CAT3_2(a, b, c)=a ## b ## c]
+//H 02: 100
+//H 03: 100
+//H 00: t_1_029.cpp(22): CAT4_1(1, 0, 0, 2), [t_1_029.cpp(15): CAT4_1(a, b, c, d)=a##b##c##d]
+//H 02: 1002
+//H 03: 1002
+//H 00: t_1_029.cpp(23): CAT4_2(1, 0, 0, 2), [t_1_029.cpp(16): CAT4_2(a, b, c, d)=a ## b ## c ## d]
+//H 02: 1002
+//H 03: 1002
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_030.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_030.cpp
new file mode 100644
index 000000000..bde34e3ec
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_030.cpp
@@ -0,0 +1,33 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, whether an empty macro prevents another macro from expansion
+
+#define EMPTY()
+#define SCAN(x) x
+#define MACRO(x) (x)
+
+//R #line 17 "t_1_030.cpp"
+SCAN( MACRO EMPTY() )(1) //R (1)
+
+//H 10: t_1_030.cpp(12): #define
+//H 08: t_1_030.cpp(12): EMPTY()=
+//H 10: t_1_030.cpp(13): #define
+//H 08: t_1_030.cpp(13): SCAN(x)=x
+//H 10: t_1_030.cpp(14): #define
+//H 08: t_1_030.cpp(14): MACRO(x)=(x)
+//H 00: t_1_030.cpp(17): SCAN( MACRO EMPTY() ), [t_1_030.cpp(13): SCAN(x)=x]
+//H 00: t_1_030.cpp(17): EMPTY(), [t_1_030.cpp(12): EMPTY()=]
+//H 02:
+//H 03: _
+//H 02: MACRO
+//H 03: MACRO
+//H 00: t_1_030.cpp(17): MACRO(1), [t_1_030.cpp(14): MACRO(x)=(x)]
+//H 02: (1)
+//H 03: (1)
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_031.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_031.cpp
new file mode 100644
index 000000000..876795dcf
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_031.cpp
@@ -0,0 +1,27 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests macro expansion using variadic macros
+
+//O --variadics
+
+#define is_empty(...) is_empty_ ## __VA_ARGS__ ## other
+
+//R #line 17 "t_1_031.cpp"
+is_empty( + ) //R is_empty_+other
+is_empty( +text ) //R is_empty_+textother
+
+//H 10: t_1_031.cpp(14): #define
+//H 08: t_1_031.cpp(14): is_empty(...)=is_empty_ ## __VA_ARGS__ ## other
+//H 00: t_1_031.cpp(17): is_empty( + ), [t_1_031.cpp(14): is_empty(...)=is_empty_ ## __VA_ARGS__ ## other]
+//H 02: is_empty_+other
+//H 03: is_empty_+other
+//H 00: t_1_031.cpp(18): is_empty( +text ), [t_1_031.cpp(14): is_empty(...)=is_empty_ ## __VA_ARGS__ ## other]
+//H 02: is_empty_+textother
+//H 03: is_empty_+textother
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_032.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_032.cpp
new file mode 100644
index 000000000..e523bb27c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_032.cpp
@@ -0,0 +1,37 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test partial macro evaluation using varidic macros
+
+//O --variadics
+
+#define cat(...) cat_i(__VA_ARGS__,,,,,)
+#define cat_i(a, b, c, d, e, ...) \
+ a ## b ## c ## d ## e \
+ /**/
+
+#define primitive_cat(a, b) a ## b
+
+#define partial_cat(x, y) cat(partial_cat_, x, y)
+
+#define partial_cat_00(a, b) partial_cat_f(, ## a, b ## ,)
+#define partial_cat_01(a, b) partial_cat_f(, ## a, b ,)
+#define partial_cat_10(a, b) partial_cat_f(, a, b ## ,)
+#define partial_cat_11(a, b) partial_cat_f(, a, b ,)
+
+#define partial_cat_f(a, b, c, d) b ## c
+
+#define X Token1
+#define Y Token2
+
+//R #line 34 "t_1_032.cpp"
+partial_cat(0, 0)(X, Y) //R XY
+partial_cat(0, 1)(X, Y) //R XToken2
+partial_cat(1, 0)(X, Y) //R Token1Y
+partial_cat(1, 1)(X, Y) //R Token1Token2
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_033.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_033.cpp
new file mode 100644
index 000000000..9b7ccd2ca
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_033.cpp
@@ -0,0 +1,35 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests the stringize operator in conjunction with varidic macros
+
+//O --variadics
+
+#define STR(...) #__VA_ARGS__
+
+//R #line 17 "t_1_033.cpp"
+STR(1, 2, 3) //R "1, 2, 3"
+STR(1,2,3) //R "1,2,3"
+STR(1 , 2 , 3) //R "1 , 2 , 3"
+STR( 1 , 2 , 3 ) //R "1 , 2 , 3"
+
+//H 10: t_1_033.cpp(14): #define
+//H 08: t_1_033.cpp(14): STR(...)=#__VA_ARGS__
+//H 00: t_1_033.cpp(17): STR(1, 2, 3), [t_1_033.cpp(14): STR(...)=#__VA_ARGS__]
+//H 02: "1, 2, 3"
+//H 03: "1, 2, 3"
+//H 00: t_1_033.cpp(18): STR(1,2,3), [t_1_033.cpp(14): STR(...)=#__VA_ARGS__]
+//H 02: "1,2,3"
+//H 03: "1,2,3"
+//H 00: t_1_033.cpp(19): STR(1 , 2 , 3), [t_1_033.cpp(14): STR(...)=#__VA_ARGS__]
+//H 02: "1 , 2 , 3"
+//H 03: "1 , 2 , 3"
+//H 00: t_1_033.cpp(20): STR( 1 , 2 , 3 ), [t_1_033.cpp(14): STR(...)=#__VA_ARGS__]
+//H 02: "1 , 2 , 3"
+//H 03: "1 , 2 , 3"
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_034.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_034.cpp
new file mode 100644
index 000000000..d908c13e2
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_034.cpp
@@ -0,0 +1,39 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests empty __VA_ARGS__ expansion
+
+//O --variadics
+
+#define MACRO1(x, ...) x -> __VA_ARGS__
+#define MACRO2(...) __VA_ARGS__
+#define STR(...) #__VA_ARGS__
+
+//R #line 19 "t_1_034.cpp"
+MACRO1(1,) //R 1 ->
+MACRO2(1, 2) //R 1, 2
+STR() //R ""
+
+//H 10: t_1_034.cpp(14): #define
+//H 08: t_1_034.cpp(14): MACRO1(x, ...)=x -> __VA_ARGS__
+//H 10: t_1_034.cpp(15): #define
+//H 08: t_1_034.cpp(15): MACRO2(...)=__VA_ARGS__
+//H 10: t_1_034.cpp(16): #define
+//H 08: t_1_034.cpp(16): STR(...)=#__VA_ARGS__
+//H 00: t_1_034.cpp(19): MACRO1(1,§), [t_1_034.cpp(14): MACRO1(x, ...)=x -> __VA_ARGS__]
+//H 02: 1 ->
+//H 03: 1 ->
+//H 00: t_1_034.cpp(20): MACRO2(1, 2), [t_1_034.cpp(15): MACRO2(...)=__VA_ARGS__]
+//H 02: 1, 2
+//H 03: 1, 2
+//H 00: t_1_034.cpp(21): STR(§), [t_1_034.cpp(16): STR(...)=#__VA_ARGS__]
+//H 02: ""
+//H 03: ""
+
+// boostinspect:noascii this file needs to contain non-ASCII characters
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_035.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_035.cpp
new file mode 100644
index 000000000..449dbfdd5
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_035.cpp
@@ -0,0 +1,49 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests token pasting with empty empty arguments
+
+//O --variadics
+
+#define PASTE1(a, b, c, d) a ## b ## c ## d
+#define PASTE2(a, b, c, d) a##b##c##d
+
+//R #line 18 "t_1_035.cpp"
+PASTE1(1, ,3,4) //R 134
+PASTE1(1,,3,4) //R 134
+PASTE1(1, , , 4) //R 14
+//R
+PASTE2(1, ,3,4) //R 134
+PASTE2(1,,3,4) //R 134
+PASTE2(1, , , 4) //R 14
+
+//H 10: t_1_035.cpp(14): #define
+//H 08: t_1_035.cpp(14): PASTE1(a, b, c, d)=a ## b ## c ## d
+//H 10: t_1_035.cpp(15): #define
+//H 08: t_1_035.cpp(15): PASTE2(a, b, c, d)=a##b##c##d
+//H 00: t_1_035.cpp(18): PASTE1(1, §,3,4), [t_1_035.cpp(14): PASTE1(a, b, c, d)=a ## b ## c ## d]
+//H 02: 134
+//H 03: 134
+//H 00: t_1_035.cpp(19): PASTE1(1,§,3,4), [t_1_035.cpp(14): PASTE1(a, b, c, d)=a ## b ## c ## d]
+//H 02: 134
+//H 03: 134
+//H 00: t_1_035.cpp(20): PASTE1(1, §, §, 4), [t_1_035.cpp(14): PASTE1(a, b, c, d)=a ## b ## c ## d]
+//H 02: 14
+//H 03: 14
+//H 00: t_1_035.cpp(22): PASTE2(1, §,3,4), [t_1_035.cpp(15): PASTE2(a, b, c, d)=a##b##c##d]
+//H 02: 134
+//H 03: 134
+//H 00: t_1_035.cpp(23): PASTE2(1,§,3,4), [t_1_035.cpp(15): PASTE2(a, b, c, d)=a##b##c##d]
+//H 02: 134
+//H 03: 134
+//H 00: t_1_035.cpp(24): PASTE2(1, §, §, 4), [t_1_035.cpp(15): PASTE2(a, b, c, d)=a##b##c##d]
+//H 02: 14
+//H 03: 14
+
+// boostinspect:noascii this file needs to contain non-ASCII characters
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_036.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_036.cpp
new file mode 100644
index 000000000..d798f523b
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_036.cpp
@@ -0,0 +1,21 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests the concatination operator in object like macros
+
+#define OBJECT a ## b
+
+//R #line 15 "t_1_036.cpp"
+OBJECT //R ab
+
+//H 10: t_1_036.cpp(12): #define
+//H 08: t_1_036.cpp(12): OBJECT=a ## b
+//H 01: t_1_036.cpp(12): OBJECT
+//H 02: ab
+//H 03: ab
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_037.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_037.cpp
new file mode 100644
index 000000000..49b7da15c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_037.cpp
@@ -0,0 +1,17 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// the following concatenation needs to fail (even if this construct is used
+// in some MS headers)
+
+//R
+//E t_1_037.cpp(16): error: pasting the following two tokens does not give a valid preprocessing token: "/" and "/"
+#define _VARIANT_BOOL /##/
+_VARIANT_BOOL bool;
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_1_038.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_1_038.cpp
new file mode 100644
index 000000000..526f1a25f
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_1_038.cpp
@@ -0,0 +1,37 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// make sure newlines inside of macro invocations get accounted for correctly
+
+#define BAZ(T, E) T E
+
+struct foo
+{
+ BAZ
+ (bool,
+ value = true
+ );
+};
+
+struct bar {};
+
+//R #line 14 "t_1_038.cpp"
+//R struct foo
+//R {
+//R bool value = true;
+//R #line 20 "t_1_038.cpp"
+//R };
+//R
+//R struct bar {};
+
+//H 10: t_1_038.cpp(12): #define
+//H 08: t_1_038.cpp(12): BAZ(T, E)=T E
+//H 00: t_1_038.cpp(16): BAZ(bool, value = true ), [t_1_038.cpp(12): BAZ(T, E)=T E]
+//H 02: bool value = true
+//H 03: bool value = true
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_001.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_001.cpp
new file mode 100644
index 000000000..a300672c0
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_001.cpp
@@ -0,0 +1,32 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests the #warning directive (note: only available, if enabled during
+// compilation, the macro expansion is available only, when enabled separately
+// during the compilation too)
+
+//R
+//E t_2_001.cpp(18): warning: encountered #warning directive: This is a warning
+#define WARNING1 This is a
+#define WARNING2 warning
+#warning WARNING1 WARNING2
+
+//H 10: t_2_001.cpp(16): #define
+//H 08: t_2_001.cpp(16): WARNING1=This is a
+//H 10: t_2_001.cpp(17): #define
+//H 08: t_2_001.cpp(17): WARNING2=warning
+//H 10: t_2_001.cpp(18): #warning
+//H 01: t_2_001.cpp(16): WARNING1
+//H 02: This is a
+//H 03: This is a
+//H 01: t_2_001.cpp(17): WARNING2
+//H 02: warning
+//H 03: warning
+//H 15: WARNING1 WARNING2
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_002.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_002.cpp
new file mode 100644
index 000000000..797f865ee
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_002.cpp
@@ -0,0 +1,22 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests simple #line functionality
+
+#line 5 "a_nonexisting_file.cpp"
+
+//R
+//E a_nonexisting_file.cpp(8): fatal error: encountered #error directive or #pragma wave stop(): This error should occur at line 8 of "a_nonexisting_file.cpp"
+#error This error should occur at line 8 of "a_nonexisting_file.cpp"
+
+//H 10: t_2_002.cpp(12): #line
+//H 17: 5 "a_nonexisting_file.cpp" (5, "a_nonexisting_file.cpp")
+//H 10: a_nonexisting_file.cpp(8): #error
+//H 16: This error should occur at line 8 of "a_nonexisting_file.cpp"
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_003.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_003.cpp
new file mode 100644
index 000000000..c0f76ba3f
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_003.cpp
@@ -0,0 +1,22 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests #line functionality with out a given file name
+
+#line 5
+
+//R
+//E t_2_003.cpp(8): fatal error: encountered #error directive or #pragma wave stop(): This error should occur at line 8 of "t_2_003.cpp"
+#error This error should occur at line 8 of "t_2_003.cpp"
+
+//H 10: t_2_003.cpp(12): #line
+//H 17: 5 (5, "")
+//H 10: t_2_003.cpp(8): #error
+//H 16: This error should occur at line 8 of "t_2_003.cpp"
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_004.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_004.cpp
new file mode 100644
index 000000000..df66a5cbc
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_004.cpp
@@ -0,0 +1,34 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests #line functionality with macro expansion required
+
+#define LINE_NO 5
+#define FILE_NAME "a_nonexisting_file.cpp"
+#line LINE_NO FILE_NAME
+
+//R
+//E a_nonexisting_file.cpp(8): fatal error: encountered #error directive or #pragma wave stop(): This error should occur at line 8 of "a_nonexisting_file.cpp"
+#error This error should occur at line 8 of "a_nonexisting_file.cpp"
+
+//H 10: t_2_004.cpp(12): #define
+//H 08: t_2_004.cpp(12): LINE_NO=5
+//H 10: t_2_004.cpp(13): #define
+//H 08: t_2_004.cpp(13): FILE_NAME="a_nonexisting_file.cpp"
+//H 10: t_2_004.cpp(14): #line
+//H 01: t_2_004.cpp(12): LINE_NO
+//H 02: 5
+//H 03: 5
+//H 01: t_2_004.cpp(13): FILE_NAME
+//H 02: "a_nonexisting_file.cpp"
+//H 03: "a_nonexisting_file.cpp"
+//H 17: 5 "a_nonexisting_file.cpp" (5, "a_nonexisting_file.cpp")
+//H 10: a_nonexisting_file.cpp(8): #error
+//H 16: This error should occur at line 8 of "a_nonexisting_file.cpp"
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_005.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_005.cpp
new file mode 100644
index 000000000..80d114aaf
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_005.cpp
@@ -0,0 +1,17 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// test the error reporting for unknown directives
+
+//R
+//E t_2_005.cpp(14): error: ill formed preprocessor directive: #this_is_a_unknown_pp_directive with some parameter
+#this_is_a_unknown_pp_directive with some parameter
+
+//H 21: t_2_005.cpp(14): #this_is_a_unknown_pp_directive with some parameter
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_006.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_006.cpp
new file mode 100644
index 000000000..918c1ed6d
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_006.cpp
@@ -0,0 +1,38 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests correctness of macro expansion inside #pragma directives
+
+#define PRAGMA_BODY preprocessed pragma body
+
+//R #line 16 "t_2_006.cpp"
+//R #pragma some pragma body
+#pragma some pragma body
+//R #line 19 "t_2_006.cpp"
+//R #pragma preprocessed pragma body
+#pragma PRAGMA_BODY
+//R #line 22 "t_2_006.cpp"
+//R #pragma STDC some C99 standard pragma body
+#pragma STDC some C99 standard pragma body
+//R #line 25 "t_2_006.cpp"
+//R #pragma STDC preprocessed pragma body
+#pragma STDC PRAGMA_BODY
+
+//H 10: t_2_006.cpp(12): #define
+//H 08: t_2_006.cpp(12): PRAGMA_BODY=preprocessed pragma body
+//H 10: t_2_006.cpp(16): #pragma
+//H 10: t_2_006.cpp(19): #pragma
+//H 01: t_2_006.cpp(12): PRAGMA_BODY
+//H 02: preprocessed pragma body
+//H 03: preprocessed pragma body
+//H 10: t_2_006.cpp(22): #pragma
+//H 10: t_2_006.cpp(25): #pragma
+//H 01: t_2_006.cpp(12): PRAGMA_BODY
+//H 02: preprocessed pragma body
+//H 03: preprocessed pragma body
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_007.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_007.cpp
new file mode 100644
index 000000000..ccd0cbcce
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_007.cpp
@@ -0,0 +1,38 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --c99
+
+// Tests correctness of macro expansion inside #pragma directives
+// Note: in C99 mode the STDC prefix in pragma's suppresses macro expansion
+
+#define PRAGMA_BODY preprocessed pragma body
+
+//R #line 19 "t_2_007.cpp"
+//R #pragma some pragma body
+#pragma some pragma body
+//R #line 22 "t_2_007.cpp"
+//R #pragma preprocessed pragma body
+#pragma PRAGMA_BODY
+//R #line 25 "t_2_007.cpp"
+//R #pragma STDC some C99 standard pragma body
+#pragma STDC some C99 standard pragma body
+//R #line 28 "t_2_007.cpp"
+//R #pragma STDC PRAGMA_BODY
+#pragma STDC PRAGMA_BODY
+
+//H 10: t_2_007.cpp(15): #define
+//H 08: t_2_007.cpp(15): PRAGMA_BODY=preprocessed pragma body
+//H 10: t_2_007.cpp(19): #pragma
+//H 10: t_2_007.cpp(22): #pragma
+//H 01: t_2_007.cpp(15): PRAGMA_BODY
+//H 02: preprocessed pragma body
+//H 03: preprocessed pragma body
+//H 10: t_2_007.cpp(25): #pragma
+//H 10: t_2_007.cpp(28): #pragma
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_008.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_008.cpp
new file mode 100644
index 000000000..6fc61559c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_008.cpp
@@ -0,0 +1,24 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests #include statements with macros as arguments
+
+//R
+//E t_2_008.cpp(15): error: could not find include file: some_include_file.h
+#define INCLUDE_FILE "some_include_file.h"
+#include INCLUDE_FILE
+
+//H 10: t_2_008.cpp(14): #define
+//H 08: t_2_008.cpp(14): INCLUDE_FILE="some_include_file.h"
+//H 10: t_2_008.cpp(15): #include
+//H 01: t_2_008.cpp(14): INCLUDE_FILE
+//H 02: "some_include_file.h"
+//H 03: "some_include_file.h"
+//H 04: "some_include_file.h"
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_009.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_009.cpp
new file mode 100644
index 000000000..b72ca45d4
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_009.cpp
@@ -0,0 +1,56 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// The result of macro expansion must be re-tokenized to find header-name
+// tokens of either <file> or "file"
+
+//O -S.
+
+#if !defined(FILE_002_009_CPP) // avoid #include recursion
+#define FILE_002_009_CPP
+
+#define SYSTEM_HEADER <t_2_009.cpp>
+#define USER_HEADER "t_2_009.cpp"
+
+//R #line 23 "t_2_009.cpp"
+//R including <t_2_009.cpp>
+including <t_2_009.cpp>
+#include SYSTEM_HEADER
+
+//R #line 28 "t_2_009.cpp"
+//R including "t_2_009.cpp"
+including "t_2_009.cpp"
+#include USER_HEADER
+
+#endif // FILE_002_009_CPP
+
+//H 10: t_2_009.cpp(15): #if
+//H 11: t_2_009.cpp(15): #if !defined(FILE_002_009_CPP) : 1
+//H 10: t_2_009.cpp(16): #define
+//H 08: t_2_009.cpp(16): FILE_002_009_CPP=
+//H 10: t_2_009.cpp(18): #define
+//H 08: t_2_009.cpp(18): SYSTEM_HEADER=<t_2_009.cpp>
+//H 10: t_2_009.cpp(19): #define
+//H 08: t_2_009.cpp(19): USER_HEADER="t_2_009.cpp"
+//H 10: t_2_009.cpp(24): #include
+//H 01: t_2_009.cpp(18): SYSTEM_HEADER
+//H 02: <t_2_009.cpp>
+//H 03: <t_2_009.cpp>
+//H 04: <t_2_009.cpp>
+//H 05: $B(t_2_009.cpp) ($B(t_2_009.cpp))
+//H 10: t_2_009.cpp(15): #if
+//H 11: t_2_009.cpp(15): #if !defined(FILE_002_009_CPP) : 0
+//H 06:
+//H 19: $B(t_2_009.cpp): FILE_002_009_CPP
+//H 10: t_2_009.cpp(29): #include
+//H 01: t_2_009.cpp(19): USER_HEADER
+//H 02: "t_2_009.cpp"
+//H 03: "t_2_009.cpp"
+//H 04: "t_2_009.cpp"
+//H 10: t_2_009.cpp(31): #endif
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_010.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_010.cpp
new file mode 100644
index 000000000..bdc92a741
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_010.cpp
@@ -0,0 +1,21 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests error reporting for missing #endif
+
+//E t_2_010.cpp(22): error: detected at least one missing #endif directive
+#if 1
+#if 0
+#endif
+
+//H 10: t_2_010.cpp(13): #if
+//H 11: t_2_010.cpp(13): #if 1: 1
+//H 10: t_2_010.cpp(14): #if
+//H 11: t_2_010.cpp(14): #if 0: 0
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_011.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_011.cpp
new file mode 100644
index 000000000..8f8dfedf3
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_011.cpp
@@ -0,0 +1,21 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests error reporting for missing #if
+
+//E t_2_011.cpp(15): error: the #if for this directive is missing: #endif
+#if 1
+#endif
+#endif
+
+//H 10: t_2_011.cpp(13): #if
+//H 11: t_2_011.cpp(13): #if 1: 1
+//H 10: t_2_011.cpp(14): #endif
+//H 10: t_2_011.cpp(15): #endif
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_012.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_012.cpp
new file mode 100644
index 000000000..67ff1fe7d
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_012.cpp
@@ -0,0 +1,17 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests error reporting for missing #if
+
+//E t_2_012.cpp(13): error: the #if for this directive is missing: #else
+#else
+#endif
+
+//H 10: t_2_012.cpp(13): #else
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_013.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_013.cpp
new file mode 100644
index 000000000..e44893f1d
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_013.cpp
@@ -0,0 +1,19 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests error reporting for missing #if
+
+//E t_2_013.cpp(20): error: detected at least one missing #endif directive
+#if 1
+#else
+
+//H 10: t_2_013.cpp(13): #if
+//H 11: t_2_013.cpp(13): #if 1: 1
+//H 10: t_2_013.cpp(14): #else
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_014.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_014.cpp
new file mode 100644
index 000000000..9a6df37a1
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_014.cpp
@@ -0,0 +1,111 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, whether alternative tokens are interpreted inside of conditional
+// expressions
+
+//R #line 16 "t_2_014.cpp"
+//R true
+#if compl 1
+true
+#else
+false
+#endif
+
+//R #line 26 "t_2_014.cpp"
+//R true
+#if not 1
+false
+#else
+true
+#endif
+
+//R #line 32 "t_2_014.cpp"
+//R true
+#if 1 or 2
+true
+#else
+false
+#endif
+
+//R #line 40 "t_2_014.cpp"
+//R true
+#if 1 and 2
+true
+#else
+false
+#endif
+
+//R #line 50 "t_2_014.cpp"
+//R true
+#if not 1
+false
+#else
+true
+#endif
+
+//R #line 56 "t_2_014.cpp"
+//R true
+#if 1 xor 2
+true
+#else
+false
+#endif
+
+//R #line 66 "t_2_014.cpp"
+//R true
+#if 1 bitand 2
+false
+#else
+true
+#endif
+
+//R #line 72 "t_2_014.cpp"
+//R true
+#if 1 bitor 2
+true
+#else
+false
+#endif
+
+//R #line 80 "t_2_014.cpp"
+//R true
+#if 1 not_eq 2
+true
+#else
+false
+#endif
+
+//H 10: t_2_014.cpp(15): #if
+//H 11: t_2_014.cpp(15): #if compl 1: 1
+//H 10: t_2_014.cpp(17): #else
+//H 10: t_2_014.cpp(23): #if
+//H 11: t_2_014.cpp(23): #if not 1: 0
+//H 10: t_2_014.cpp(27): #endif
+//H 10: t_2_014.cpp(31): #if
+//H 11: t_2_014.cpp(31): #if 1 or 2: 1
+//H 10: t_2_014.cpp(33): #else
+//H 10: t_2_014.cpp(39): #if
+//H 11: t_2_014.cpp(39): #if 1 and 2: 1
+//H 10: t_2_014.cpp(41): #else
+//H 10: t_2_014.cpp(47): #if
+//H 11: t_2_014.cpp(47): #if not 1: 0
+//H 10: t_2_014.cpp(51): #endif
+//H 10: t_2_014.cpp(55): #if
+//H 11: t_2_014.cpp(55): #if 1 xor 2: 1
+//H 10: t_2_014.cpp(57): #else
+//H 10: t_2_014.cpp(63): #if
+//H 11: t_2_014.cpp(63): #if 1 bitand 2: 0
+//H 10: t_2_014.cpp(67): #endif
+//H 10: t_2_014.cpp(71): #if
+//H 11: t_2_014.cpp(71): #if 1 bitor 2: 1
+//H 10: t_2_014.cpp(73): #else
+//H 10: t_2_014.cpp(79): #if
+//H 11: t_2_014.cpp(79): #if 1 not_eq 2: 1
+//H 10: t_2_014.cpp(81): #else
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_015.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_015.cpp
new file mode 100644
index 000000000..67d7bb42e
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_015.cpp
@@ -0,0 +1,27 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, whether #if works when the expression is surrounded by parenthesis
+
+#define WINVER 0x0500
+
+//R #line 17 "t_2_015.cpp"
+//R true
+#if(WINVER >= 0x0500)
+true
+#endif
+
+//H 10: t_2_015.cpp(12): #define
+//H 08: t_2_015.cpp(12): WINVER=0x0500
+//H 10: t_2_015.cpp(16): #if
+//H 01: t_2_015.cpp(12): WINVER
+//H 02: 0x0500
+//H 03: 0x0500
+//H 11: t_2_015.cpp(16): #if (WINVER >= 0x0500): 1
+//H 10: t_2_015.cpp(18): #endif
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_016.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_016.cpp
new file mode 100644
index 000000000..43169d0f9
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_016.cpp
@@ -0,0 +1,26 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// if _MSC_VER was defined through the command line, the pp expression was
+// garbled
+
+//O -D_MSC_VER=1200
+
+//R #line 18 "t_2_016.cpp"
+//R true
+#if defined (_MSC_VER) && (_MSC_VER >= 1020)
+true
+#endif
+
+//H 10: t_2_016.cpp(17): #if
+//H 01: <command line>(1): _MSC_VER
+//H 02: 1200
+//H 03: 1200
+//H 11: t_2_016.cpp(17): #if defined (_MSC_VER) && (_MSC_VER >= 1020): 1
+//H 10: t_2_016.cpp(19): #endif
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_017.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_017.cpp
new file mode 100644
index 000000000..a69083c10
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_017.cpp
@@ -0,0 +1,36 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// The result of macro expansion must be retokenized to find header-name tokens
+// of either <file> or "file". Test inclusion using absolute names.
+
+#if !defined(FILE_002_017_CPP) // avoid #include recursion
+#define FILE_002_017_CPP
+
+#include __FILE__
+
+#endif // FILE_002_017_CPP
+
+//R #line 24 "t_2_017.cpp"
+//R file t_2_017.cpp
+//R #line 24 "t_2_017.cpp"
+//R file t_2_017.cpp
+file t_2_017.cpp
+
+//H 10: t_2_017.cpp(13): #if
+//H 11: t_2_017.cpp(13): #if !defined(FILE_002_017_CPP) : 1
+//H 10: t_2_017.cpp(14): #define
+//H 08: t_2_017.cpp(14): FILE_002_017_CPP=
+//H 10: t_2_017.cpp(16): #include
+//H 04: "$P(t_2_017.cpp)"
+//H 05: $B(t_2_017.cpp) ($B(t_2_017.cpp))
+//H 10: t_2_017.cpp(13): #if
+//H 11: t_2_017.cpp(13): #if !defined(FILE_002_017_CPP) : 0
+//H 06:
+//H 10: t_2_017.cpp(18): #endif
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_018.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_018.cpp
new file mode 100644
index 000000000..8ca07c42b
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_018.cpp
@@ -0,0 +1,22 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Check if regression reported by ticket #1752 has been fixed
+
+//R #line 17 "t_2_018.cpp"
+//R "__FILE__ is defined"
+#ifndef __FILE__
+"No __FILE__"
+#else
+"__FILE__ is defined"
+#endif
+
+//H 10: t_2_018.cpp(14): #ifndef
+//H 11: t_2_018.cpp(14): #ifndef __FILE__: 1
+//H 10: t_2_018.cpp(18): #endif
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_019.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_019.cpp
new file mode 100644
index 000000000..9a4729d01
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_019.cpp
@@ -0,0 +1,61 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Check if #pragma once, include guard detection, and related hooks work as
+// expected
+
+#include "t_2_019_001.hpp" // #pragma once
+#include "t_2_019_002.hpp" // include guard style 1
+#include "t_2_019_003.hpp" // include guard style 2
+
+// repeat inclusion, should do nothing
+#include "t_2_019_001.hpp"
+#include "t_2_019_002.hpp"
+#include "t_2_019_003.hpp"
+
+//R #line 11 "t_2_019_001.hpp"
+//R t_2_019_001
+//R #line 16 "t_2_019_002.hpp"
+//R t_2_019_002
+//R #line 16 "t_2_019_003.hpp"
+//R t_2_019_003
+
+//H 10: t_2_019.cpp(13): #include "t_2_019_001.hpp"
+//H 04: "t_2_019_001.hpp"
+//H 05: $S(t_2_019_001.hpp) ($B(t_2_019_001.hpp))
+//H 10: t_2_019_001.hpp(10): #pragma
+//H 20: t_2_019_001.hpp(10): #pragma: $B(t_2_019_001.hpp)
+//H 06:
+//H 10: t_2_019.cpp(14): #include "t_2_019_002.hpp"
+//H 04: "t_2_019_002.hpp"
+//H 05: t_2_019_002.hpp ($B(t_2_019_002.hpp))
+//H 10: t_2_019_002.hpp(12): #if
+//H 11: t_2_019_002.hpp(12): #if !defined(T_2_019_002): 1
+//H 10: t_2_019_002.hpp(14): #define
+//H 08: t_2_019_002.hpp(14): T_2_019_002=
+//H 10: t_2_019_002.hpp(18): #endif
+//H 06:
+//H 19: $B(t_2_019_002.hpp): T_2_019_002
+//H 10: t_2_019.cpp(15): #include "t_2_019_003.hpp"
+//H 04: "t_2_019_003.hpp"
+//H 05: t_2_019_003.hpp ($B(t_2_019_003.hpp))
+//H 10: t_2_019_003.hpp(12): #ifndef
+//H 11: t_2_019_003.hpp(12): #ifndef T_2_019_003: 0
+//H 10: t_2_019_003.hpp(14): #define
+//H 08: t_2_019_003.hpp(14): T_2_019_003=
+//H 10: t_2_019_003.hpp(18): #endif
+//H 06:
+//H 19: $B(t_2_019_003.hpp): T_2_019_003
+//H 10: t_2_019.cpp(18): #include "t_2_019_001.hpp"
+//H 04: "t_2_019_001.hpp"
+//H 10: t_2_019.cpp(19): #include "t_2_019_002.hpp"
+//H 04: "t_2_019_002.hpp"
+//H 10: t_2_019.cpp(20): #include "t_2_019_003.hpp"
+//H 04: "t_2_019_003.hpp"
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_019_001.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_019_001.hpp
new file mode 100644
index 000000000..281621c3d
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_019_001.hpp
@@ -0,0 +1,11 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#pragma once
+t_2_019_001
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_019_002.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_019_002.hpp
new file mode 100644
index 000000000..778b8e0fa
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_019_002.hpp
@@ -0,0 +1,20 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#
+
+#if !defined(T_2_019_002)
+# // more comments here
+#define T_2_019_002
+
+t_2_019_002
+
+#endif
+# // and here
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_019_003.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_019_003.hpp
new file mode 100644
index 000000000..ab9e5635e
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_019_003.hpp
@@ -0,0 +1,20 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#
+
+#ifndef T_2_019_003
+# // more comments here
+#define T_2_019_003
+
+t_2_019_003
+
+#endif
+# // and here
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_020.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_020.cpp
new file mode 100644
index 000000000..7691ffe36
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_020.cpp
@@ -0,0 +1,261 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// check called hooks during conditional preprocessing
+//O --skipped_token_hooks
+
+#ifdef FOO
+int foo;
+#else
+float foo;
+#endif
+
+#if defined BAR
+int bar;
+#elif defined BAR2
+float bar;
+#endif
+
+#define BAZ
+#ifdef BAZ
+int baz;
+#else
+float baz;
+#endif
+
+#if defined BAZ
+int baz1;
+#elif defined BAZ
+float baz1;
+#endif
+
+#ifndef BAZ
+int baz2;
+#else
+float baz2;
+#endif
+
+#if 1
+int w1;
+#elif 1
+int w2;
+#else
+int w3;
+#endif
+
+#if 0
+int x1;
+#elif 1
+int x2;
+#else
+int x3;
+#endif
+
+#if 1
+int y1;
+#elif 0
+int y2;
+#else
+int y3;
+#endif
+
+#if 0
+int z1;
+#elif 0
+int z2;
+#else
+int z3;
+#endif
+
+//R #line 16 "t_2_020.cpp"
+//R float foo;
+//R #line 27 "t_2_020.cpp"
+//R int baz;
+//R #line 33 "t_2_020.cpp"
+//R int baz1;
+//R #line 41 "t_2_020.cpp"
+//R float baz2;
+//R #line 45 "t_2_020.cpp"
+//R int w1;
+//R #line 55 "t_2_020.cpp"
+//R int x2;
+//R #line 61 "t_2_020.cpp"
+//R int y1;
+//R #line 73 "t_2_020.cpp"
+//R int z3;
+
+//H 10: t_2_020.cpp(13): #ifdef
+//H 11: t_2_020.cpp(13): #ifdef FOO: 0
+//H 12: t_2_020.cpp(13): >\n<
+//H 12: t_2_020.cpp(14): >int<
+//H 12: t_2_020.cpp(14): > <
+//H 12: t_2_020.cpp(14): >foo<
+//H 12: t_2_020.cpp(14): >;<
+//H 12: t_2_020.cpp(14): >\n<
+//H 12: t_2_020.cpp(15): >#else<
+//H 12: t_2_020.cpp(15): >\n<
+//H 10: t_2_020.cpp(17): #endif
+//H 12: t_2_020.cpp(17): >#endif<
+//H 12: t_2_020.cpp(17): >\n<
+//H 10: t_2_020.cpp(19): #if
+//H 12: t_2_020.cpp(19): > <
+//H 11: t_2_020.cpp(19): #if defined BAR: 0
+//H 12: t_2_020.cpp(19): >\n<
+//H 12: t_2_020.cpp(20): >int<
+//H 12: t_2_020.cpp(20): > <
+//H 12: t_2_020.cpp(20): >bar<
+//H 12: t_2_020.cpp(20): >;<
+//H 12: t_2_020.cpp(20): >\n<
+//H 10: t_2_020.cpp(21): #elif
+//H 12: t_2_020.cpp(21): > <
+//H 11: t_2_020.cpp(21): #elif defined BAR2: 0
+//H 12: t_2_020.cpp(21): >\n<
+//H 12: t_2_020.cpp(22): >float<
+//H 12: t_2_020.cpp(22): > <
+//H 12: t_2_020.cpp(22): >bar<
+//H 12: t_2_020.cpp(22): >;<
+//H 12: t_2_020.cpp(22): >\n<
+//H 12: t_2_020.cpp(23): >#endif<
+//H 12: t_2_020.cpp(23): >\n<
+//H 10: t_2_020.cpp(25): #define
+//H 08: t_2_020.cpp(25): BAZ=
+//H 12: t_2_020.cpp(25): >\n<
+//H 10: t_2_020.cpp(26): #ifdef
+//H 11: t_2_020.cpp(26): #ifdef BAZ: 1
+//H 12: t_2_020.cpp(26): >\n<
+//H 10: t_2_020.cpp(28): #else
+//H 12: t_2_020.cpp(28): >#else<
+//H 12: t_2_020.cpp(28): >\n<
+//H 12: t_2_020.cpp(29): >float<
+//H 12: t_2_020.cpp(29): > <
+//H 12: t_2_020.cpp(29): >baz<
+//H 12: t_2_020.cpp(29): >;<
+//H 12: t_2_020.cpp(29): >\n<
+//H 12: t_2_020.cpp(30): >#endif<
+//H 12: t_2_020.cpp(30): >\n<
+//H 10: t_2_020.cpp(32): #if
+//H 12: t_2_020.cpp(32): > <
+//H 11: t_2_020.cpp(32): #if defined BAZ: 1
+//H 12: t_2_020.cpp(32): >\n<
+//H 10: t_2_020.cpp(34): #elif
+//H 12: t_2_020.cpp(34): > <
+//H 12: t_2_020.cpp(34): >defined<
+//H 12: t_2_020.cpp(34): > <
+//H 12: t_2_020.cpp(34): >BAZ<
+//H 12: t_2_020.cpp(34): >\n<
+//H 12: t_2_020.cpp(35): >float<
+//H 12: t_2_020.cpp(35): > <
+//H 12: t_2_020.cpp(35): >baz1<
+//H 12: t_2_020.cpp(35): >;<
+//H 12: t_2_020.cpp(35): >\n<
+//H 12: t_2_020.cpp(36): >#endif<
+//H 12: t_2_020.cpp(36): >\n<
+//H 10: t_2_020.cpp(38): #ifndef
+//H 11: t_2_020.cpp(38): #ifndef BAZ: 1
+//H 12: t_2_020.cpp(38): >\n<
+//H 12: t_2_020.cpp(39): >int<
+//H 12: t_2_020.cpp(39): > <
+//H 12: t_2_020.cpp(39): >baz2<
+//H 12: t_2_020.cpp(39): >;<
+//H 12: t_2_020.cpp(39): >\n<
+//H 12: t_2_020.cpp(40): >#else<
+//H 12: t_2_020.cpp(40): >\n<
+//H 10: t_2_020.cpp(42): #endif
+//H 12: t_2_020.cpp(42): >#endif<
+//H 12: t_2_020.cpp(42): >\n<
+//H 10: t_2_020.cpp(44): #if
+//H 12: t_2_020.cpp(44): > <
+//H 11: t_2_020.cpp(44): #if 1: 1
+//H 12: t_2_020.cpp(44): >\n<
+//H 10: t_2_020.cpp(46): #elif
+//H 12: t_2_020.cpp(46): > <
+//H 12: t_2_020.cpp(46): >1<
+//H 12: t_2_020.cpp(46): >\n<
+//H 12: t_2_020.cpp(47): >int<
+//H 12: t_2_020.cpp(47): > <
+//H 12: t_2_020.cpp(47): >w2<
+//H 12: t_2_020.cpp(47): >;<
+//H 12: t_2_020.cpp(47): >\n<
+//H 12: t_2_020.cpp(48): >#else<
+//H 12: t_2_020.cpp(48): >\n<
+//H 12: t_2_020.cpp(49): >int<
+//H 12: t_2_020.cpp(49): > <
+//H 12: t_2_020.cpp(49): >w3<
+//H 12: t_2_020.cpp(49): >;<
+//H 12: t_2_020.cpp(49): >\n<
+//H 12: t_2_020.cpp(50): >#endif<
+//H 12: t_2_020.cpp(50): >\n<
+//H 10: t_2_020.cpp(52): #if
+//H 12: t_2_020.cpp(52): > <
+//H 11: t_2_020.cpp(52): #if 0: 0
+//H 12: t_2_020.cpp(52): >\n<
+//H 12: t_2_020.cpp(53): >int<
+//H 12: t_2_020.cpp(53): > <
+//H 12: t_2_020.cpp(53): >x1<
+//H 12: t_2_020.cpp(53): >;<
+//H 12: t_2_020.cpp(53): >\n<
+//H 10: t_2_020.cpp(54): #elif
+//H 12: t_2_020.cpp(54): > <
+//H 11: t_2_020.cpp(54): #elif 1: 1
+//H 12: t_2_020.cpp(54): >\n<
+//H 10: t_2_020.cpp(56): #else
+//H 12: t_2_020.cpp(56): >#else<
+//H 12: t_2_020.cpp(56): >\n<
+//H 12: t_2_020.cpp(57): >int<
+//H 12: t_2_020.cpp(57): > <
+//H 12: t_2_020.cpp(57): >x3<
+//H 12: t_2_020.cpp(57): >;<
+//H 12: t_2_020.cpp(57): >\n<
+//H 12: t_2_020.cpp(58): >#endif<
+//H 12: t_2_020.cpp(58): >\n<
+//H 10: t_2_020.cpp(60): #if
+//H 12: t_2_020.cpp(60): > <
+//H 11: t_2_020.cpp(60): #if 1: 1
+//H 12: t_2_020.cpp(60): >\n<
+//H 10: t_2_020.cpp(62): #elif
+//H 12: t_2_020.cpp(62): > <
+//H 12: t_2_020.cpp(62): >0<
+//H 12: t_2_020.cpp(62): >\n<
+//H 12: t_2_020.cpp(63): >int<
+//H 12: t_2_020.cpp(63): > <
+//H 12: t_2_020.cpp(63): >y2<
+//H 12: t_2_020.cpp(63): >;<
+//H 12: t_2_020.cpp(63): >\n<
+//H 12: t_2_020.cpp(64): >#else<
+//H 12: t_2_020.cpp(64): >\n<
+//H 12: t_2_020.cpp(65): >int<
+//H 12: t_2_020.cpp(65): > <
+//H 12: t_2_020.cpp(65): >y3<
+//H 12: t_2_020.cpp(65): >;<
+//H 12: t_2_020.cpp(65): >\n<
+//H 12: t_2_020.cpp(66): >#endif<
+//H 12: t_2_020.cpp(66): >\n<
+//H 10: t_2_020.cpp(68): #if
+//H 12: t_2_020.cpp(68): > <
+//H 11: t_2_020.cpp(68): #if 0: 0
+//H 12: t_2_020.cpp(68): >\n<
+//H 12: t_2_020.cpp(69): >int<
+//H 12: t_2_020.cpp(69): > <
+//H 12: t_2_020.cpp(69): >z1<
+//H 12: t_2_020.cpp(69): >;<
+//H 12: t_2_020.cpp(69): >\n<
+//H 10: t_2_020.cpp(70): #elif
+//H 12: t_2_020.cpp(70): > <
+//H 11: t_2_020.cpp(70): #elif 0: 0
+//H 12: t_2_020.cpp(70): >\n<
+//H 12: t_2_020.cpp(71): >int<
+//H 12: t_2_020.cpp(71): > <
+//H 12: t_2_020.cpp(71): >z2<
+//H 12: t_2_020.cpp(71): >;<
+//H 12: t_2_020.cpp(71): >\n<
+//H 12: t_2_020.cpp(72): >#else<
+//H 12: t_2_020.cpp(72): >\n<
+//H 10: t_2_020.cpp(74): #endif
+//H 12: t_2_020.cpp(74): >#endif<
+//H 12: t_2_020.cpp(74): >\n<
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_021.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_021.cpp
new file mode 100644
index 000000000..ceef8e8a2
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_021.cpp
@@ -0,0 +1,50 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#define SIX (4 + 2.0)
+
+//R #line 14 "t_2_021.cpp"
+//R #pragma command option
+#pragma command option
+//R #line 17 "t_2_021.cpp"
+//R #pragma command option (4 + 2.0)
+#pragma command option SIX
+//R #line 20 "t_2_021.cpp"
+//R #pragma command option[(4 + 2.0)]
+#pragma command option[SIX]
+//R #line 23 "t_2_021.cpp"
+//R #pragma command option(5)
+#pragma command option(5)
+//R #line 26 "t_2_021.cpp"
+//R #pragma command option((4 + 2.0))
+#pragma command option(SIX)
+//R #line 29 "t_2_021.cpp"
+//R #pragma command (4 + 2.0)
+#pragma command SIX
+
+//H 10: t_2_021.cpp(10): #define
+//H 08: t_2_021.cpp(10): SIX=(4 + 2.0)
+//H 10: t_2_021.cpp(14): #pragma
+//H 10: t_2_021.cpp(17): #pragma
+//H 01: t_2_021.cpp(10): SIX
+//H 02: (4 + 2.0)
+//H 03: (4 + 2.0)
+//H 10: t_2_021.cpp(20): #pragma
+//H 01: t_2_021.cpp(10): SIX
+//H 02: (4 + 2.0)
+//H 03: (4 + 2.0)
+//H 10: t_2_021.cpp(23): #pragma
+//H 10: t_2_021.cpp(26): #pragma
+//H 01: t_2_021.cpp(10): SIX
+//H 02: (4 + 2.0)
+//H 03: (4 + 2.0)
+//H 10: t_2_021.cpp(29): #pragma
+//H 01: t_2_021.cpp(10): SIX
+//H 02: (4 + 2.0)
+//H 03: (4 + 2.0)
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_022.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_022.cpp
new file mode 100644
index 000000000..a25f3be34
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_022.cpp
@@ -0,0 +1,23 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Verify fix of regression #6838: Adding include file with force_include makes
+// Wave fail to emit #line directive
+
+//O --forceinclude=t_2_022.hpp
+
+//R #line 12 "t_2_022.hpp"
+//R int func() { return 42; }
+//R #line 19 "t_2_022.cpp"
+//R int main() { return func(); }
+int main() { return func(); }
+
+//H 04: t_2_022.hpp
+//H 05: $B(t_2_022.hpp) ($B(t_2_022.hpp))
+//H 06:
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_2_022.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_2_022.hpp
new file mode 100644
index 000000000..6b7c52f68
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_2_022.hpp
@@ -0,0 +1,12 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Verify fix of regression #6838: Adding include file with force_include makes
+// Wave fail to emit #line directive
+int func() { return 42; }
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_3_001.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_3_001.cpp
new file mode 100644
index 000000000..1718a5ddf
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_3_001.cpp
@@ -0,0 +1,17 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, if a diagnostic is emitted, if a predefined macro is to be undefined.
+
+//R
+//E t_3_001.cpp(14): warning: #undef may not be used on this predefined name: __cplusplus
+#undef __cplusplus // should emit a warning
+
+//H 10: t_3_001.cpp(14): #undef
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_3_002.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_3_002.cpp
new file mode 100644
index 000000000..cb9825948
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_3_002.cpp
@@ -0,0 +1,50 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests predefined macros
+
+//R #line 13 "t_3_002.cpp"
+__STDC__ //R 1
+__STDC_VERSION__ //R __STDC_VERSION__
+__cplusplus //R 199711L
+__STDC_HOSTED__ //R __STDC_HOSTED__
+__LINE__ //R 17
+__FILE__ //R "$P"
+__BASE_FILE__ //R "$F"
+__WAVE_HAS_VARIADICS__ //R __WAVE_HAS_VARIADICS__
+__INCLUDE_LEVEL__ //R 0
+//R #line 50 "test.cpp"
+#line 50 "test.cpp"
+__LINE__ //R 50
+__FILE__ //R "test.cpp"
+__BASE_FILE__ //R "$F"
+
+
+//R #line 56 "test.cpp"
+__LINE__ //R 56
+__FILE__ //R "test.cpp"
+__BASE_FILE__ //R "$F"
+
+//H 01: <built-in>(1): __STDC__
+//H 02: 1
+//H 03: 1
+//H 01: <built-in>(1): __cplusplus
+//H 02: 199711L
+//H 03: 199711L
+//H 01: <built-in>(1): __BASE_FILE__
+//H 02: "$F"
+//H 03: "$F"
+//H 10: t_3_002.cpp(23): #line
+//H 17: 50 "test.cpp" (50, "test.cpp")
+//H 01: <built-in>(1): __BASE_FILE__
+//H 02: "$F"
+//H 03: "$F"
+//H 01: <built-in>(1): __BASE_FILE__
+//H 02: "$F"
+//H 03: "$F"
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_3_003.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_3_003.cpp
new file mode 100644
index 000000000..63c17b55a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_3_003.cpp
@@ -0,0 +1,55 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --variadics
+
+// Tests predefined macros
+
+//R #line 15 "t_3_003.cpp"
+__STDC__ //R 1
+__STDC_VERSION__ //R __STDC_VERSION__
+__cplusplus //R 199711L
+__STDC_HOSTED__ //R __STDC_HOSTED__
+__LINE__ //R 19
+__FILE__ //R "$P"
+__BASE_FILE__ //R "$F"
+__WAVE_HAS_VARIADICS__ //R 1
+__INCLUDE_LEVEL__ //R 0
+//R #line 50 "test.cpp"
+#line 50 "test.cpp"
+__LINE__ //R 50
+__FILE__ //R "test.cpp"
+__BASE_FILE__ //R "$F"
+
+
+//R #line 56 "test.cpp"
+__LINE__ //R 56
+__FILE__ //R "test.cpp"
+__BASE_FILE__ //R "$F"
+
+//H 01: <built-in>(1): __STDC__
+//H 02: 1
+//H 03: 1
+//H 01: <built-in>(1): __cplusplus
+//H 02: 199711L
+//H 03: 199711L
+//H 01: <built-in>(1): __BASE_FILE__
+//H 02: "$F"
+//H 03: "$F"
+//H 01: <built-in>(1): __WAVE_HAS_VARIADICS__
+//H 02: 1
+//H 03: 1
+//H 10: t_3_003.cpp(25): #line
+//H 17: 50 "test.cpp" (50, "test.cpp")
+//H 01: <built-in>(1): __BASE_FILE__
+//H 02: "$F"
+//H 03: "$F"
+//H 01: <built-in>(1): __BASE_FILE__
+//H 02: "$F"
+//H 03: "$F"
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_3_004.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_3_004.cpp
new file mode 100644
index 000000000..a5a0dc3ea
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_3_004.cpp
@@ -0,0 +1,58 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --c99
+
+// Tests predefined macros
+
+//R #line 15 "t_3_004.cpp"
+__STDC__ //R 1
+__STDC_VERSION__ //R 199901L
+__cplusplus //R __cplusplus
+__STDC_HOSTED__ //R 0
+__LINE__ //R 19
+__FILE__ //R "$P"
+__BASE_FILE__ //R "$F"
+__WAVE_HAS_VARIADICS__ //R 1
+__INCLUDE_LEVEL__ //R 0
+//R #line 50 "test.cpp"
+#line 50 "test.cpp"
+__LINE__ //R 50
+__FILE__ //R "test.cpp"
+__BASE_FILE__ //R "$F"
+
+
+//R #line 56 "test.cpp"
+__LINE__ //R 56
+__FILE__ //R "test.cpp"
+__BASE_FILE__ //R "$F"
+
+//H 01: <built-in>(1): __STDC__
+//H 02: 1
+//H 03: 1
+//H 01: <built-in>(1): __STDC_VERSION__
+//H 02: 199901L
+//H 03: 199901L
+//H 01: <built-in>(1): __STDC_HOSTED__
+//H 02: 0
+//H 03: 0
+//H 01: <built-in>(1): __BASE_FILE__
+//H 02: "$F"
+//H 03: "$F"
+//H 01: <built-in>(1): __WAVE_HAS_VARIADICS__
+//H 02: 1
+//H 03: 1
+//H 10: t_3_004.cpp(25): #line
+//H 17: 50 "test.cpp" (50, "test.cpp")
+//H 01: <built-in>(1): __BASE_FILE__
+//H 02: "$F"
+//H 03: "$F"
+//H 01: <built-in>(1): __BASE_FILE__
+//H 02: "$F"
+//H 03: "$F"
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_4_001.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_4_001.cpp
new file mode 100644
index 000000000..dbb52f7f8
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_4_001.cpp
@@ -0,0 +1,22 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, whether integer arithmetic results get truncated correctly
+
+//R #line 15 "t_4_001.cpp"
+//R true
+#if 1 / 10 == 0
+true
+#else
+false
+#endif
+
+//H 10: t_4_001.cpp(14): #if
+//H 11: t_4_001.cpp(14): #if 1 / 10 == 0: 1
+//H 10: t_4_001.cpp(16): #else
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_4_002.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_4_002.cpp
new file mode 100644
index 000000000..71feb4311
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_4_002.cpp
@@ -0,0 +1,28 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, whether ecursively defined macros get expanded correctly in the
+// context of an #if expression
+
+#define C C
+
+//R #line 18 "t_4_002.cpp"
+//R true
+#if !C
+true
+#endif
+
+//H 10: t_4_002.cpp(13): #define
+//H 08: t_4_002.cpp(13): C=C
+//H 10: t_4_002.cpp(17): #if
+//H 01: t_4_002.cpp(13): C
+//H 02: C
+//H 03: C
+//H 11: t_4_002.cpp(17): #if !C: 1
+//H 10: t_4_002.cpp(19): #endif
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_4_003.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_4_003.cpp
new file mode 100644
index 000000000..ec0566af0
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_4_003.cpp
@@ -0,0 +1,100 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests simple expression arithmetics
+
+# define CAT(a, b) PRIMITIVE_CAT(a, b)
+# define PRIMITIVE_CAT(a, b) a ## b
+
+# define OFFSET(n) OFFSET_ ## n
+
+# define OFFSET_1 OFFSET_2 % 10
+# define OFFSET_2 OFFSET_3 % 100
+# define OFFSET_3 OFFSET_4 % 1000
+# define OFFSET_4
+
+# define FACTOR(n) FACTOR_ ## n
+
+# define FACTOR_1 / 1
+# define FACTOR_2 CAT(FACTOR_1, 0)
+# define FACTOR_3 CAT(FACTOR_2, 0)
+# define FACTOR_4 CAT(FACTOR_3, 0)
+
+# define DIGIT(n) OFFSET(n) FACTOR(n)
+
+# define x 987
+
+# if (x) DIGIT(3) == 0
+# define D3 0
+# elif (x) DIGIT(3) == 1
+# define D3 1
+# elif (x) DIGIT(3) == 2
+# define D3 2
+# elif (x) DIGIT(3) == 3
+# define D3 3
+# elif (x) DIGIT(3) == 4
+# define D3 4
+# elif (x) DIGIT(3) == 5
+# define D3 5
+# elif (x) DIGIT(3) == 6
+# define D3 6
+# elif (x) DIGIT(3) == 7
+# define D3 7
+# elif (x) DIGIT(3) == 8
+# define D3 8
+# elif (x) DIGIT(3) == 9
+# define D3 9
+# endif
+
+# if (x) DIGIT(2) == 0
+# define D2 0
+# elif (x) DIGIT(2) == 1
+# define D2 1
+# elif (x) DIGIT(2) == 2
+# define D2 2
+# elif (x) DIGIT(2) == 3
+# define D2 3
+# elif (x) DIGIT(2) == 4
+# define D2 4
+# elif (x) DIGIT(2) == 5
+# define D2 5
+# elif (x) DIGIT(2) == 6
+# define D2 6
+# elif (x) DIGIT(2) == 7
+# define D2 7
+# elif (x) DIGIT(2) == 8
+# define D2 8
+# elif (x) DIGIT(2) == 9
+# define D2 9
+# endif
+
+# if (x) DIGIT(1) == 0
+# define D1 0
+# elif (x) DIGIT(1) == 1
+# define D1 1
+# elif (x) DIGIT(1) == 2
+# define D1 2
+# elif (x) DIGIT(1) == 3
+# define D1 3
+# elif (x) DIGIT(1) == 4
+# define D1 4
+# elif (x) DIGIT(1) == 5
+# define D1 5
+# elif (x) DIGIT(1) == 6
+# define D1 6
+# elif (x) DIGIT(1) == 7
+# define D1 7
+# elif (x) DIGIT(1) == 8
+# define D1 8
+# elif (x) DIGIT(1) == 9
+# define D1 9
+# endif
+
+//R #line 100 "t_4_003.cpp"
+D3 D2 D1 //R 9 8 7
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_4_004.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_4_004.cpp
new file mode 100644
index 000000000..15f66e70f
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_4_004.cpp
@@ -0,0 +1,61 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, whether invalid expression errors get ignored for 'passive' #elif
+// expressions
+#define USHRT_MAX 0xffffU
+
+// The number of bytes in a short.
+# if !defined (SIZEOF_SHORT)
+# if (USHRT_MAX) == 255U
+# define SIZEOF_SHORT 1
+# elif (USHRT_MAX) == 65535U
+# define SIZEOF_SHORT 2
+# elif (USHRT_MAX) == 4294967295U
+# define SIZEOF_SHORT 4
+# elif (USHRT_MAX) == 18446744073709551615U
+# define SIZEOF_SHORT 8
+# else
+# error: unsupported short size, must be updated for this platform!
+# endif /* USHRT_MAX */
+# endif /* !defined (SIZEOF_SHORT) */
+
+//R #line 32 "t_4_004.cpp"
+//R true
+#if SIZEOF_SHORT == 2
+true
+#else
+false
+#endif
+
+//H 10: t_4_004.cpp(12): #define
+//H 08: t_4_004.cpp(12): USHRT_MAX=0xffffU
+//H 10: t_4_004.cpp(15): # if
+//H 11: t_4_004.cpp(15): # if !defined (SIZEOF_SHORT): 1
+//H 10: t_4_004.cpp(16): # if
+//H 01: t_4_004.cpp(12): USHRT_MAX
+//H 02: 0xffffU
+//H 03: 0xffffU
+//H 11: t_4_004.cpp(16): # if (USHRT_MAX) == 255U: 0
+//H 10: t_4_004.cpp(18): # elif
+//H 01: t_4_004.cpp(12): USHRT_MAX
+//H 02: 0xffffU
+//H 03: 0xffffU
+//H 11: t_4_004.cpp(18): # elif (USHRT_MAX) == 65535U: 1
+//H 10: t_4_004.cpp(19): #define
+//H 08: t_4_004.cpp(19): SIZEOF_SHORT=2
+//H 10: t_4_004.cpp(20): # elif
+//H 10: t_4_004.cpp(22): # elif
+//H 10: t_4_004.cpp(27): # endif
+//H 10: t_4_004.cpp(31): #if
+//H 01: t_4_004.cpp(19): SIZEOF_SHORT
+//H 02: 2
+//H 03: 2
+//H 11: t_4_004.cpp(31): #if SIZEOF_SHORT == 2: 1
+//H 10: t_4_004.cpp(33): #else
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_001.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_001.cpp
new file mode 100644
index 000000000..7a2114229
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_001.cpp
@@ -0,0 +1,58 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests the conversion of trigraph sequences.
+
+// 1.1: The following 9 sequences are valid trigraph sequences.
+//R #line 20 "t_5_001.cpp"
+"??( ??) ??/??/ ??' ??< ??> ??! ??- ??=" //R "[ ] \\ ^ { } | ~ #"
+??( ??) ??/??/ ??' ??< ??> ??! ??- ??= //R [ ] \\ ^ { } | ~ #
+
+// 1.2: In directive line.
+//R #line 26 "t_5_001.cpp"
+??= define OR(a, b) a ??! b
+OR(1, 2) //R 1 | 2
+
+// 1.3: Any sequence other than above 9 is not a trigraph sequence.
+//R #line 30 "t_5_001.cpp"
+"?? ??? ??% ??^ ???=" //R "?? ??? ??% ??^ ?#"
+?? ??? ??% ??^ ???= //R ? ? ? ? ? ? ?% ? ?^ ?#
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_002.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_002.cpp
new file mode 100644
index 000000000..1e265095c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_002.cpp
@@ -0,0 +1,76 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests the line splicing by <backslash><newline> sequence.
+
+// 2.1: In a #define directive line, between the parameter list and the
+// replacement text.
+//R #line 23 "t_5_002.cpp"
+#define FUNC(a, b, c) \
+ a ## b ## c
+FUNC(ab, cd, ef) //R abcdef
+
+// 2.2: In a #define directive line, among the parameter list and among the
+// replacement text.
+//R #line 33 "t_5_002.cpp"
+#undef FUNC
+#define FUNC(a, b \
+ , c) \
+ a ## b \
+ ## c
+FUNC(ab, cd, ef) //R abcdef
+
+// 2.3: In a string literal.
+//R #line 37 "t_5_002.cpp"
+"abc\
+de" //R "abcde"
+
+// 2.4: <backslash><newline> in midst of an identifier.
+//R #line 43 "t_5_002.cpp"
+#define ABCDE 5
+ABC\
+DE //R 5
+
+// 2.5: <backslash><newline> by trigraph.
+//R #line 48 "t_5_002.cpp"
+ABC??/
+DE //R 5
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_003.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_003.cpp
new file mode 100644
index 000000000..55d249d6a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_003.cpp
@@ -0,0 +1,68 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests the handling of comments.
+
+#define STR(x) #x
+
+// 3.1: A comment is converted to one space.
+//R #line 22 "t_5_003.cpp"
+STR(abc/* comment */de) //R "abc de"
+abc/* comment */de //R abc de
+
+// 3.2: // is not a comment of C.
+// Wave always treats the '//' style as comments (even in C99 mode)
+/* assert( strcmp( str( //), "//") == 0); */
+
+// 3.3: Comments are parsed prior to the parsing of preprocessing directives.
+//R #line 41 "t_5_003.cpp"
+#if 0
+ "nonsence"; /*
+#else
+ still in
+ comment */
+#else
+#define MACRO_abcd /*
+ in comment
+ */ abcd
+#endif
+MACRO_abcd //R abcd
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_004.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_004.cpp
new file mode 100644
index 000000000..e2b1db60c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_004.cpp
@@ -0,0 +1,59 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests the handling of comments and <backslash><newline>.
+
+// This test is currently disabled, because of the known problem in Wave, that
+// causes multiple __LINE__ macros on splitted lines after preprocessing
+// directives are expanded as the line number of the directive itself.
+
+// Note: This unit test passes only if Wave was compiled with a defined
+// BOOST_WAVE_PREPROCESS_ERROR_MESSAGE_BODY compile time constant
+// (which is the default).
+#define STR(x) #x
+
+// 3.4: Comment and <backslash><newline> in #error line.
+//E t_5_004.cpp(29): fatal error: encountered #error directive or #pragma wave stop(): (29) Message of first physical line. (30) Message of second physical and first logical line. (32) Message of forth physical and third logical line.
+#error (__LINE__) Message of first physical line. \
+ (__LINE__) Message of second physical and first logical line. /*
+ this comment splices the lines
+ */ (__LINE__) Message of forth physical and third logical line.
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_005.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_005.cpp
new file mode 100644
index 000000000..87b3ee182
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_005.cpp
@@ -0,0 +1,52 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests the handling of special tokens.
+
+// 4.1: Digraph spellings in directive line.
+//R #line 21 "t_5_005.cpp"
+%: define STR(a) %: a
+STR(abc) //R "abc"
+
+// 4.2: Digraph spellings are retained in stringization.
+//R #line 25 "t_5_005.cpp"
+STR(<:) //R "<:"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_006.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_006.cpp
new file mode 100644
index 000000000..6f03d5897
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_006.cpp
@@ -0,0 +1,53 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// boostinspect:notab this file needs to contain tabs
+
+// Tests, whether spaces or tabs are allowed at any place in a pp-directive
+// lines, including between the top of a pp-directive line and '#', and between
+// the '#' and the directive.
+
+// /**/[TAB]# /**/[TAB]define /**/[TAB]MACRO[TAB]/**/ abcde /**/
+ /**/ # /**/ define /**/ MACRO /**/ abcde /**/
+
+//R #line 26 "t_5_006.cpp"
+MACRO //R abcde
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_007.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_007.cpp
new file mode 100644
index 000000000..be08d5c35
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_007.cpp
@@ -0,0 +1,70 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ Some of the tests included in this file were initially taken from the mcpp
+ V2.5 preprocessor validation suite and were modified to fit into the
+ Boost.Wave unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests the #include directive (need to switch off include guard detection).
+//O --noguard
+
+// 6.1: Header-name quoted by " and " as well as by < and > can include
+// standard headers.
+//R #line 23 "t_5_007.cpp"
+#include "boost/version.hpp"
+BOOST_LIB_VERSION //R "$V"
+
+//R #line 29 "t_5_007.cpp"
+#undef BOOST_VERSION_HPP
+#undef BOOST_LIB_VERSION
+#include <boost/version.hpp>
+BOOST_LIB_VERSION //R "$V"
+
+// 6.2: Macro is allowed in #include line.
+//R #line 36 "t_5_007.cpp"
+#undef MACRO_005_007
+#define HEADER "t_5_007.hpp"
+#include HEADER
+MACRO_005_007 //R abc
+
+// 6.3: With macro nonsense but legal.
+//R #line 43 "t_5_007.cpp"
+#undef MACRO_005_007
+#define ZERO_TOKEN
+#include ZERO_TOKEN HEADER ZERO_TOKEN
+MACRO_005_007 //R abc
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_007.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_007.hpp
new file mode 100644
index 000000000..5534d768c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_007.hpp
@@ -0,0 +1,12 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests the #include directive.
+#define MACRO_005_007 abc
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_008.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_008.cpp
new file mode 100644
index 000000000..c934d1192
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_008.cpp
@@ -0,0 +1,62 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests the #line directive.
+
+// 7.1: Line number and filename.
+//R #line 1234 "cpp"
+#line 1234 "cpp"
+__LINE__ //R 1234
+__FILE__ //R "cpp"
+
+// 7.2: Filename argument is optional.
+//R #line 2345 "cpp"
+#line 2345
+__LINE__ //R 2345
+__FILE__ //R "cpp"
+
+// 7.3: Argument with macro.
+//R #line 1234 "t_5_008.cpp"
+#define LINE_AND_FILENAME 1234 "t_5_008.cpp"
+#line LINE_AND_FILENAME
+__LINE__ //R 1234
+__FILE__ //R "t_5_008.cpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_009.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_009.cpp
new file mode 100644
index 000000000..b3141c977
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_009.cpp
@@ -0,0 +1,57 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests the #error directive.
+
+// 8.1: The original mcpp validation suite claims:
+// Argument of #error directive is not a subject of macro expansion.
+//
+// But the Standard doesn't say anything about this (neither the C99 nor
+// the C++ Standard), so Wave allows to be configured at compile time
+// whether to macro expand the arguments to an #error directive.
+// This test assumes that macro expansion is enabled.
+
+//E t_5_009.cpp(29): fatal error: encountered #error directive or #pragma wave stop(): 0 is not a positive number.
+#define MACRO 0
+#if MACRO <= 0
+#error MACRO is not a positive number.
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_010.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_010.cpp
new file mode 100644
index 000000000..40d4609e3
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_010.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests, whether the argument of #error is optional
+
+// 8.2: #error should be executed even without argument.
+//E t_5_010.cpp(20): fatal error: encountered #error directive or #pragma wave stop()
+#error
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_011.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_011.cpp
new file mode 100644
index 000000000..2805a63be
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_011.cpp
@@ -0,0 +1,54 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests, whether the argument of #error is optional
+
+// 9.1: Any #pragma directive should be processed or ignored, should not
+// be diagnosed as an error.
+// Wave allows to be configured at compile time, whether unknown #pragmas
+// are left untouched or skipped entirely (see the
+// BOOST_WAVE_EMIT_PRAGMA_DIRECTIVES pp constant)
+
+//R #line 27 "t_5_011.cpp"
+//R #pragma who knows ?
+#pragma once
+#pragma who knows ?
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_012.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_012.cpp
new file mode 100644
index 000000000..d10107493
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_012.cpp
@@ -0,0 +1,74 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests #if, #elif, #else and #endif pp-directives.
+
+#define MACRO_0 0
+#define MACRO_1 1
+
+// 10.1:
+// Note: an undefined identifier in #if expression is replaced to 0.
+//R #line 30 "t_5_012.cpp"
+//R true
+#if a
+false
+#elif MACRO_0
+false
+#elif MACRO_1 /* Valid block */
+true
+#else
+false
+#endif
+
+// 10.2: Comments must be processed even if in skipped #if block.
+// At least tokenization of string literal and character constant is
+// necessary to process comments, e.g. /* is not a comment mark in string
+// literal.
+
+//R #line 46 "t_5_012.cpp"
+//R true
+#ifdef UNDEFINED
+ /* Comment */
+ "in literal /* is not a comment"
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_013.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_013.cpp
new file mode 100644
index 000000000..3245bbd0b
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_013.cpp
@@ -0,0 +1,82 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests operator "defined" in #if or #elif directives.
+
+#define MACRO_abc abc
+#define MACRO_0 2
+#define ZERO_TOKEN
+
+// 11.1:
+//R #line 28 "t_5_013.cpp"
+//R true
+#if defined a
+false
+#else
+true
+#endif
+
+//R #line 34 "t_5_013.cpp"
+//R true
+#if defined (MACRO_abc)
+true
+#else
+false
+#endif
+
+// 11.2: "defined" is an unary operator whose result is 1 or 0.
+
+//R #line 46 "t_5_013.cpp"
+//R true
+#if defined MACRO_0 * 3 != 3
+false
+#else
+true
+#endif
+
+//R #line 54 "t_5_013.cpp"
+//R true
+#if (!defined ZERO_TOKEN != 0) || (-defined ZERO_TOKEN != -1)
+false
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_014.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_014.cpp
new file mode 100644
index 000000000..c955d8f9d
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_014.cpp
@@ -0,0 +1,114 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests integer preprocessing number token and type of #if expression.
+
+// 12.1:
+//R #line 24 "t_5_014.cpp"
+//R true
+#if __TESTWAVE_LONG_MAX__ <= __TESTWAVE_LONG_MIN__
+ "Bad evaluation of long."
+#else
+true
+#endif
+
+//R #line 32 "t_5_014.cpp"
+//R true
+#if __TESTWAVE_LONG_MAX__ <= (__TESTWAVE_LONG_MAX__ / 2) /* 0x3FFFFFFF */
+ "Bad evaluation of long."
+#else
+true
+#endif
+
+// 12.2:
+//R #line 41 "t_5_014.cpp"
+//R true
+#if __TESTWAVE_ULONG_MAX__ / 2 < __TESTWAVE_LONG_MAX__
+ "Bad evaluation of unsigned long."
+#else
+true
+#endif
+
+// 12.3: Octal number.
+//R #line 50 "t_5_014.cpp"
+//R true
+#if 0177777 != 65535
+ "Bad evaluation of octal number."
+#else
+true
+#endif
+
+// 12.4: Hexadecimal number.
+//R #line 59 "t_5_014.cpp"
+//R true
+#if 0Xffff != 65535 || 0xFfFf != 65535
+ "Bad evaluation of hexadecimal number."
+#else
+true
+#endif
+
+// 12.5: Suffix 'L' or 'l'.
+//R #line 68 "t_5_014.cpp"
+//R true
+#if 0L != 0 || 0l != 0
+ "Bad evaluation of 'L' suffix."
+#else
+true
+#endif
+
+// 12.6: Suffix 'U' or 'u'.
+//R #line 77 "t_5_014.cpp"
+//R true
+#if 1U != 1 || 1u != 1
+ "Bad evaluation of 'U' suffix."
+#else
+true
+#endif
+
+// 12.7: Negative integer.
+//R #line 86 "t_5_014.cpp"
+//R true
+#if 0 <= -1
+ "Bad evaluation of negative number."
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_015.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_015.cpp
new file mode 100644
index 000000000..49e4fd496
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_015.cpp
@@ -0,0 +1,93 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests valid operators in #if expression.
+
+// Valid operators are (precedence in this order) :
+// defined, (unary)+, (unary)-, ~, !,
+// *, /, %,
+// +, -,
+// <<, >>,
+// <, >, <=, >=,
+// ==, !=,
+// &,
+// ^,
+// |,
+// &&,
+// ||,
+// ? :
+
+// 13.1: Bit shift.
+//R #line 38 "t_5_015.cpp"
+//R true
+#if 1 << 2 != 4 || 8 >> 1 != 4
+ "Bad arithmetic of <<, >> operators."
+#else
+true
+#endif
+
+// 13.2: Bitwise operators.
+//R #line 47 "t_5_015.cpp"
+//R true
+#if (3 ^ 5) != 6 || (3 | 5) != 7 || (3 & 5) != 1
+ "Bad arithmetic of ^, |, & operators."
+#else
+true
+#endif
+
+// 13.3: Result of ||, && operators is either of 1 or 0.
+//R #line 56 "t_5_015.cpp"
+//R true
+#if (2 || 3) != 1 || (2 && 3) != 1 || (0 || 4) != 1 || (0 && 5) != 0
+ "Bad arithmetic of ||, && operators."
+#else
+true
+#endif
+
+// 13.4: ?, : operator.
+//R #line 65 "t_5_015.cpp"
+//R true
+#if (0 ? 1 : 2) != 2
+ "Bad arithmetic of ?: operator.";
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_016.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_016.cpp
new file mode 100644
index 000000000..f7bcc0f11
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_016.cpp
@@ -0,0 +1,79 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests arithmetic conversion in #if expressions.
+
+// 13.5: The usual arithmetic conversion is not performed on bit shift.
+//R #line 24 "t_5_016.cpp"
+//R true
+#if -1 << 3U > 0
+ "Bad conversion of bit shift operands."
+#else
+true
+#endif
+
+// 13.6: Usual arithmetic conversions.
+//R #line 33 "t_5_016.cpp"
+//R true
+#if -1 <= 0U /* -1 is converted to unsigned long. */
+ "Bad arithmetic conversion."
+#else
+true
+#endif
+
+//R #line 41 "t_5_016.cpp"
+//R true
+#if -1 * 1U <= 0
+ "Bad arithmetic conversion."
+#else
+true
+#endif
+
+// Second and third operands of conditional operator are converted to the
+// same type, thus -1 is converted to unsigned long.
+//R #line 51 "t_5_016.cpp"
+//R true
+#if (1 ? -1 : 0U) <= 0
+ "Bad arithmetic conversion.";
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_017.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_017.cpp
new file mode 100644
index 000000000..6a3679494
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_017.cpp
@@ -0,0 +1,88 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests short-circuit evaluation of #if expression.
+
+#define MACRO_0 0
+
+// 13.7: 10/0 or 10/MACRO_0 are never evaluated, "divide by zero" error
+// cannot occur.
+
+//R #line 28 "t_5_017.cpp"
+//R true
+#if 0 && 10 / 0
+false
+#else
+true
+#endif
+
+//R #line 36 "t_5_017.cpp"
+//R true
+#if not_defined && 10 / not_defined
+false
+#else
+true
+#endif
+
+//R #line 44 "t_5_017.cpp"
+//R true
+#if MACRO_0 && 10 / MACRO_0 > 1
+false
+#else
+true
+#endif
+
+//R #line 52 "t_5_017.cpp"
+//R true
+#if MACRO_0 ? 10 / MACRO_0 : 0
+false
+#else
+true
+#endif
+
+//R #line 58 "t_5_017.cpp"
+//R true
+#if MACRO_0 == 0 || 10 / MACRO_0 > 1 /* Valid block */
+true
+#else
+false
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_018.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_018.cpp
new file mode 100644
index 000000000..8683accaa
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_018.cpp
@@ -0,0 +1,91 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests grouping of sub-expressions in #if expression.
+
+// 13.8: Unary operators are grouped from right to left.
+//R #line 24 "t_5_018.cpp"
+//R true
+#if (- -1 != 1) || (!!9 != 1) || (-!+!9 != -1) || (~~1 != 1)
+ "Bad grouping of -, +, !, ~ in #if expression."
+#else
+true
+#endif
+
+// 13.9: ?: operators are grouped from right to left.
+//R #line 33 "t_5_018.cpp"
+//R true
+#if (1 ? 2 ? 3 ? 3 : 2 : 1 : 0) != 3
+ "Bad grouping of ? : in #if expression."
+#else
+true
+#endif
+
+// 13.10: Other operators are grouped from left to right.
+//R #line 42 "t_5_018.cpp"
+//R true
+#if (15 >> 2 >> 1 != 1) || (3 << 2 << 1 != 24)
+ "Bad grouping of >>, << in #if expression."
+#else
+true
+#endif
+
+// 13.11: Test of precedence.
+//R #line 51 "t_5_018.cpp"
+//R true
+#if 3*10/2 >> !0*2 >> !+!-9 != 1
+ "Bad grouping of -, +, !, *, /, >> in #if expression."
+#else
+true
+#endif
+
+// 13.12: Overall test. Grouped as:
+// ((((((+1 - -1 - ~~1 - -!0) & 6) | ((8 % 9) ^ (-2 * -2))) >> 1) == 7)
+// ? 7 : 0) != 7
+// evaluates to false.
+//R #line 63 "t_5_018.cpp"
+//R true
+#if (((+1- -1-~~1- -!0&6|8%9^-2*-2)>>1)==7?7:0)!=7
+ "Bad arithmetic of #if expression."
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_019.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_019.cpp
new file mode 100644
index 000000000..e5bbf1a84
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_019.cpp
@@ -0,0 +1,72 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests #if expressions with macros.
+
+#define ZERO_TOKEN
+#define MACRO_0 0
+#define MACRO_1 1
+
+#define and_op &&
+#define or_op ||
+#define not_eq_op !=
+#define bitor_op |
+
+// 13.13: With macros expanding to operators.
+//R #line 32 "t_5_019.cpp"
+//R true
+#if (1 bitor_op 2) == 3 and_op 4 not_eq_op 5 or_op 0
+// #if (1 | 2) == 3 && 4 != 5 || 0
+true
+#else
+ "Bad evaluation of macros expanding to operators in #if expression."
+#endif
+
+// 13.14: With macros expanding to nothing, nonsence but legal.
+//R #line 42 "t_5_019.cpp"
+//R true
+#if ZERO_TOKEN MACRO_1 ZERO_TOKEN > ZERO_TOKEN MACRO_0 ZERO_TOKEN
+// #if 1 > 0
+true
+#else
+ "Bad evaluation of macros expanding to 0 token in #if expression."
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_020.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_020.cpp
new file mode 100644
index 000000000..877a8a7ea
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_020.cpp
@@ -0,0 +1,64 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests #ifdef, #ifndef directives.
+
+#define MACRO_0 0
+#define MACRO_1 1
+
+// 15.1: #ifdef directive.
+//R #line 25 "t_5_020.cpp"
+//R true
+#ifdef MACRO_1 /* Valid block */
+true
+#else
+false
+#endif
+
+// 15.2: #ifndef directive.
+//R #line 36 "t_5_020.cpp"
+//R true
+#ifndef MACRO_1
+false
+#else /* Valid block */
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_021.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_021.cpp
new file mode 100644
index 000000000..1edd2d041
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_021.cpp
@@ -0,0 +1,69 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests #define directive.
+
+// Excerpts from ISO C 6.8.3 "Examples".
+#define OBJ_LIKE (1-1)
+#define FTN_LIKE(a) ( a )
+
+// 18.1: Definition of an object-like macro.
+//R #line 24 "t_5_021.cpp"
+OBJ_LIKE //R (1-1)
+
+//R #line 32 "t_5_021.cpp"
+//R true
+#define ZERO_TOKEN
+#ifndef ZERO_TOKEN
+ "Can't define macro to 0-token."
+#else
+true
+#endif
+
+// 18.2: Definition of a function-like macro.
+//R #line 37 "t_5_021.cpp"
+FTN_LIKE(3) //R ( 3 )
+
+// 18.3: Spelling in string identical to parameter is not a parameter.
+//R #line 42 "t_5_021.cpp"
+#define STR(n1, n2) "n1:n2"
+STR(1, 2) //R "n1:n2"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_022.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_022.cpp
new file mode 100644
index 000000000..fd287dba2
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_022.cpp
@@ -0,0 +1,59 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests valid re-definitions of macros.
+
+/* Excerpts from ISO C 6.8.3 "Examples". */
+#define OBJ_LIKE (1-1)
+#define FTN_LIKE(a) ( a )
+
+// 19.1:
+//R #line 25 "t_5_022.cpp"
+#define OBJ_LIKE /* white space */ (1-1) /* other */
+OBJ_LIKE //R (1-1)
+
+// 19.2:
+//R #line 32 "t_5_022.cpp"
+#define FTN_LIKE( a )( /* note the white space */ \
+ a /* other stuff on this line
+ */ )
+FTN_LIKE(3) //R ( 3 )
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_023.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_023.cpp
new file mode 100644
index 000000000..6450af6c0
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_023.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests macro lexically identical to keyword.
+
+// 20.1:
+//R #line 21 "t_5_023.cpp"
+#define float double
+float //R double
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_024.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_024.cpp
new file mode 100644
index 000000000..64c9b849a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_024.cpp
@@ -0,0 +1,54 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests tokenization (No preprocessing tokens are merged implicitly).
+
+// 21.1:
+//R #line 21 "t_5_024.cpp"
+#define MINUS -
+-MINUS-1 //R - - -1
+
+// 21.2:
+//R #line 27 "t_5_024.cpp"
+#define sub(a, b) a-b /* '(a)-(b)' would be better */
+#define Y -y /* '(-y)' would be better */
+sub(x, Y) //R x- -y
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_025.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_025.cpp
new file mode 100644
index 000000000..3243fc885
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_025.cpp
@@ -0,0 +1,64 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests tokenization of preprocessing numbers.
+
+// Note: Wave curently fails the tests 22.1 and 22.2 because of Wave's design
+// choice to act on C++ tokens and not on the raw inut stream.
+// This limitation will be removed in a future release.
+
+#define STR1(a) # a
+#define STR(a) STR1(a)
+#define EXP 1
+
+// 22.1: 12E+EXP is a preprocessing number, EXP is not expanded.
+//R #line 28 "t_5_025.cpp"
+STR(12E+EXP) //R "12E+EXP"
+
+// 22.2: .2e-EXP is also a preprocessing number.
+//R #line 32 "t_5_025.cpp"
+STR(.2e-EXP) //R ".2e-EXP"
+
+// 22.3: + or - is allowed only following E or e, 12+EXP is not
+// a preprocessing number.
+//R #line 37 "t_5_025.cpp"
+STR(12+EXP) //R "12+1"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_026.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_026.cpp
new file mode 100644
index 000000000..a70da086d
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_026.cpp
@@ -0,0 +1,60 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests ## operator in macro definition.
+
+// TODO: revise the --variadics mode
+//O --variadics
+
+#define GLUE(a, b) a ## b
+#define XGLUE(a, b) GLUE(a, b)
+#define MACRO_0 0
+#define MACRO_1 1
+
+// 23.1:
+//R #line 28 "t_5_026.cpp"
+GLUE(x, y) //R xy
+
+// 23.2: Generate a preprocessing number.
+//R #line 33 "t_5_026.cpp"
+#define EXP 2
+XGLUE(.12e+, EXP) //R .12e+2
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_027.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_027.cpp
new file mode 100644
index 000000000..84066c5ae
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_027.cpp
@@ -0,0 +1,70 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests # operator in macro definition.
+
+// 24.1:
+//R #line 21 "t_5_027.cpp"
+#define STR(a) # a
+STR(a+b) //R "a+b"
+
+// 24.2: White spaces between tokens of operand are converted to one space.
+//R #line 25 "t_5_027.cpp"
+STR( ab /* comment */ +
+ cd ) //R "ab + cd"
+
+// 24.3: \ is inserted before \ and " in or surrounding literals and no
+// other character is inserted to anywhere.
+//R #line 31 "t_5_027.cpp"
+STR( '"' + "' \"") //R "'\"' + \"' \\\"\""
+
+// 24.4: Line splicing by <backslash><newline> is done prior to token parsing.
+//R #line 35 "t_5_027.cpp"
+STR( "ab\
+c") //R "\"abc\""
+
+// 24.5: Token separator inserted by macro expansion should be removed.
+// (Meanwhile, tokens should not be merged. See 21.2.)
+//R #line 43 "t_5_027.cpp"
+#define XSTR(a) STR(a)
+#define f(a) a
+XSTR(x-f(y)) //R "x-y"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_028.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_028.cpp
new file mode 100644
index 000000000..15888794c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_028.cpp
@@ -0,0 +1,75 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests whether macro arguments are pre-expanded (unless the argument is an
+// operand of # or ## operator) separately, that is, are macro-replaced
+// completely prior to rescanning.
+
+#define ZERO_TOKEN
+#define MACRO_0 0
+#define MACRO_1 1
+#define TWO_ARGS a,b
+#define SUB(x, y) (x - y)
+#define GLUE(a, b) a ## b
+#define XGLUE(a, b) GLUE( a, b)
+#define STR(a) # a
+
+// 25.1: "TWO_ARGS" is read as one argument to "SUB", then expanded to
+// "a,b", then "x" is substituted by "a,b".
+//R #line 32 "t_5_028.cpp"
+SUB(TWO_ARGS, 1) //R (a,b - 1)
+
+// 25.2: An argument pre-expanded to 0-token. */
+//R #line 36 "t_5_028.cpp"
+SUB(ZERO_TOKEN, a) //R ( - a)
+
+// 25.3: "glue( a, b)" is pre-expanded. */
+//R #line 40 "t_5_028.cpp"
+XGLUE(GLUE(a, b), c) //R abc
+
+// 25.4: Operands of ## operator are not pre-expanded.
+//R #line 44 "t_5_028.cpp"
+GLUE(MACRO_0, MACRO_1) //R MACRO_0MACRO_1
+
+// 25.5: Operand of # operator is not pre-expanded.
+//R #line 48 "t_5_028.cpp"
+STR(ZERO_TOKEN) //R "ZERO_TOKEN"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_029.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_029.cpp
new file mode 100644
index 000000000..202529c6b
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_029.cpp
@@ -0,0 +1,69 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests whether the name once replaced is not further replaced.
+
+// 26.1: Directly recursive object-like macro definition.
+//R #line 21 "t_5_029.cpp"
+#define Z Z[0]
+Z //R Z[0]
+
+// 26.2: Intermediately recursive object-like macro definition.
+//R #line 27 "t_5_029.cpp"
+#define AB BA
+#define BA AB
+AB //R AB
+
+// 26.3: Directly recursive function-like macro definition.
+//R #line 32 "t_5_029.cpp"
+#define f(a) a + f(a)
+f(x) //R x + f(x)
+
+// 26.4: Intermediately recursive function-like macro definition.
+//R #line 38 "t_5_029.cpp"
+#define g(a) a + h(a)
+#define h(a) a + g(a)
+g(x) //R x + x + g(x)
+
+// 26.5: Rescanning encounters the non-replaced macro name.
+//R #line 42 "t_5_029.cpp"
+f(Z) //R Z[0] + f(Z[0])
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_030.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_030.cpp
new file mode 100644
index 000000000..338467aee
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_030.cpp
@@ -0,0 +1,93 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests whether rescanning of a macro replace any macro call in the replacement
+// text after substitution of parameters by pre-expanded-arguments. This
+// re-examination may involve the succeeding sequences from the source
+// file (what a queer thing!).
+
+// Note: The tests 27.4 and 27.5 are currently disabled because of Wave's
+// problem with replacement-list terminating in partial macro expansion.
+
+// 27.1: Cascaded use of object-like macros.
+//R #line 34 "t_5_030.cpp"
+#define NEST8 NEST7 + 8
+#define NEST7 NEST6 + 7
+#define NEST6 NEST5 + 6
+#define NEST5 NEST4 + 5
+#define NEST4 NEST3 + 4
+#define NEST3 NEST2 + 3
+#define NEST2 NEST1 + 2
+#define NEST1 1
+NEST8 //R 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8
+
+// 27.2: Cascaded use of function-like macros.
+//R #line 42 "t_5_030.cpp"
+#define FUNC4(a, b) FUNC3(a, b) + NEST4
+#define FUNC3(a, b) FUNC2(a, b) + NEST3
+#define FUNC2(a, b) FUNC1(a, b) + NEST2
+#define FUNC1(a, b) (a) + (b)
+FUNC4(NEST1, NEST2) //R (1) + ( 1 + 2) + 1 + 2 + 1 + 2 + 3 + 1 + 2 + 3 + 4
+
+// 27.3: An identifier generated by ## operator is subject to expansion.
+//R #line 48 "t_5_030.cpp"
+#define GLUE( a, b) a ## b
+#define MACRO_1 1
+GLUE(MACRO_, 1) //R 1
+
+// 27.4: 'SUB' as an argument of math() is not pre-expanded, since '('
+// missing.
+//R #line 55 "t_5_030.cpp"
+#define SUB(x, y) (x - y)
+#define MATH(op, a, b) op( (a), (b))
+MATH(SUB, a, b) //R ( ( a) - ( b))
+
+// 27.5: Queer thing.
+// R #line 28 "t_5_030.cpp"
+//#define HEAD SUB(
+// HEAD a,b ) // R
+
+// 27.6: Recursive macro.
+//R #line 66 "t_5_030.cpp"
+#define M N
+#define N(a) a
+M(m) //R m
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_031.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_031.cpp
new file mode 100644
index 000000000..7c1453c07
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_031.cpp
@@ -0,0 +1,78 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests whether __FILE__, __LINE__, __DATE__, __TIME__, __STDC__ and
+// __STDC_VERSION__ are predefined.
+
+// The tests 28.3 and 28.4 are disabled because it is nearly impossible to
+// verify the __DATE__ and __TIME__ macro expansion (at least I have no idea
+// how to achieve this reliably).
+
+// 28.1:
+//R #line 25 "t_5_031.cpp"
+__FILE__ //R "$F"
+
+// 28.2:
+//R #line 29 "t_5_031.cpp"
+__LINE__ //R 29
+
+// 28.3:
+// R #line 29 "t_5_031.cpp"
+//__DATE__
+
+// 28.4:
+// R #line 33 "t_5_031.cpp"
+//__TIME__
+
+// 28.5:
+//R #line 41 "t_5_031.cpp"
+__STDC__ //R 1
+
+// 28.6:
+//R #line 45 "t_5_031.cpp"
+__STDC_VERSION__ //R __STDC_VERSION__
+
+// 28.7:
+//R #line 16 "t_5_031.hpp"
+//R "$P(t_5_031.hpp)"
+//R 17
+#include "t_5_031.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_031.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_031.hpp
new file mode 100644
index 000000000..43f1d3984
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_031.hpp
@@ -0,0 +1,44 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+__FILE__
+__LINE__
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_032.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_032.cpp
new file mode 100644
index 000000000..f04f05cf9
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_032.cpp
@@ -0,0 +1,72 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests the #undef directive.
+
+// 29.1: Undefined macro is not a macro.
+//R #line 23 "t_5_032.cpp"
+//R true
+#define DEFINED
+#if defined(DEFINED)
+true
+#else
+false
+#endif
+
+//R #line 34 "t_5_032.cpp"
+//R true
+#undef DEFINED
+#if defined(DEFINED)
+false
+#else
+true
+#endif
+
+// 29.2: Undefining undefined name is not an error.
+//R #line 44 "t_5_032.cpp"
+//R true
+#undef UNDEFINED
+#if defined(UNDEFINED)
+false
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_033.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_033.cpp
new file mode 100644
index 000000000..672ebd92c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_033.cpp
@@ -0,0 +1,58 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests macro calls.
+
+// 30.1: A macro call crossing lines.
+//R #line 22 "t_5_033.cpp"
+//R a + b + c
+#define FUNC(a, b, c) a + b + c
+FUNC
+(
+ a,
+ b,
+ c
+)
+
+// 30.2: A macro call containing additional parenthesises
+//R #line 31 "t_5_033.cpp"
+FUNC(a, (b + c), d) //R a + (b + c) + d
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_034.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_034.cpp
new file mode 100644
index 000000000..92f609f6d
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_034.cpp
@@ -0,0 +1,61 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests escape sequence in character constant in #if expression.
+
+// 32.1: Character octal escape sequence.
+//R #line 24 "t_5_034.cpp"
+//R true
+#if '\123' != 83
+ "Bad evaluation of octal escape sequence."
+#else
+true
+#endif
+
+// 32.2: Character hexadecimal escape sequence.
+//R #line 33 "t_5_034.cpp"
+//R true
+#if '\x1b' != '\033'
+ "Bad evaluation of hexadecimal escape sequence."
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035.cpp
new file mode 100644
index 000000000..5c5d6bc15
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035.cpp
@@ -0,0 +1,137 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#define ABCDEFGHIJKLMNOPQRSTUVWXYZabcde 0
+#define ABCDEFGHIJKLMNOPQRSTUVWXYZabcd_ 1
+
+// 37.1: Number of parameters in macro: at least 31.
+#define GLUE31(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E) \
+ a##b##c##d##e##f##g##h##i##j##k##l##m##n##o##p##q##r##s##t##u##v##w##x##y##z##A##B##C##D##E
+
+// 37.2: Number of arguments in macro call: at least 31.
+//R #line 28 "t_5_035.cpp"
+//R 0
+GLUE31( A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R,
+ S, T, U, V, W, X, Y, Z, a, b, c, d, e)
+
+// 37.3: Significant initial characters in an internal identifier or
+// macro name: at least 31.
+//R #line 34 "t_5_035.cpp"
+ABCDEFGHIJKLMNOPQRSTUVWXYZabcd_ //R 1
+
+// 37.4: Nested conditional inclusion: at least 8 levels.
+//R #line 65 "t_5_035.cpp"
+#define NEST 0
+#ifdef A
+#else
+# ifdef B
+# else
+# ifdef C
+# else
+# ifdef D
+# else
+# ifdef E
+# else
+# ifdef F
+# else
+# ifdef G
+# else
+# ifdef H
+# else
+#undef NEST
+#define NEST 1
+# endif
+# endif
+# endif
+# endif
+# endif
+# endif
+# endif
+#endif
+NEST //R 1
+
+// 37.5: Nested source file inclusion: at least 8 levels.
+//R #line 70 "t_5_035.cpp"
+#include "t_5_035_01.hpp"
+NEST //R 8
+
+// 37.6: Parenthesized expression: at least 32 levels.
+//R #line 81 "t_5_035.cpp"
+#if 0 + (1 - (2 + (3 - (4 + (5 - (6 + (7 - (8 + (9 - (10 + (11 - (12 + \
+ (13 - (14 + (15 - (16 + (17 - (18 + (19 - (20 + (21 - (22 + (23 - \
+ (24 + (25 - (26 + (27 - (28 + (29 - (30 + (31 - (32 + 0)))))))))) \
+ )))))))))))))))))))))) == 0
+#undef NEST
+#define NEST 32
+#endif
+NEST //R 32
+
+// 37.7: Characters in a string (after concatenation): at least 509.
+//R #line 86 "t_5_035.cpp"
+//R "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567"
+"123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+012345678901234567"
+
+// 37.8: Characters in a logical source line: at least 509.
+//R #line 98 "t_5_035.cpp"
+//R 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567
+123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+0123456789012345678901234567890123456789012345678901234567890123456789\
+012345678901234567
+
+// 37.9: Macro definitions: at least 1024.
+//R #line 110 "t_5_035.cpp"
+#include "t_5_035.hpp"
+ZX //R 1
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035.hpp
new file mode 100644
index 000000000..2a48af765
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035.hpp
@@ -0,0 +1,1069 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits (number of possible macro definitions should be at
+// least 1024).
+
+#define AA
+#define AB
+#define AC
+#define AD
+#define AE
+#define AF
+#define AG
+#define AH
+#define AI
+#define AJ
+#define AK
+#define AL
+#define AM
+#define AN
+#define AO
+#define AP
+#define AQ
+#define AR
+#define AS
+#define AT
+#define AU
+#define AV
+#define AW
+#define AX
+#define AY
+#define AZ
+#define Aa
+#define Ab
+#define Ac
+#define Ad
+#define Ae
+#define Af
+#define Ag
+#define Ah
+#define Ai
+#define Aj
+#define Ak
+#define Al
+#define Am
+#define An
+#define BA
+#define BB
+#define BC
+#define BD
+#define BE
+#define BF
+#define BG
+#define BH
+#define BI
+#define BJ
+#define BK
+#define BL
+#define BM
+#define BN
+#define BO
+#define BP
+#define BQ
+#define BR
+#define BS
+#define BT
+#define BU
+#define BV
+#define BW
+#define BX
+#define BY
+#define BZ
+#define Ba
+#define Bb
+#define Bc
+#define Bd
+#define Be
+#define Bf
+#define Bg
+#define Bh
+#define Bi
+#define Bj
+#define Bk
+#define Bl
+#define Bm
+#define Bn
+#define CA
+#define CB
+#define CC
+#define CD
+#define CE
+#define CF
+#define CG
+#define CH
+#define CI
+#define CJ
+#define CK
+#define CL
+#define CM
+#define CN
+#define CO
+#define CP
+#define CQ
+#define CR
+#define CS
+#define CT
+#define CU
+#define CV
+#define CW
+#define CX
+#define CY
+#define CZ
+#define Ca
+#define Cb
+#define Cc
+#define Cd
+#define Ce
+#define Cf
+#define Cg
+#define Ch
+#define Ci
+#define Cj
+#define Ck
+#define Cl
+#define Cm
+#define Cn
+#define DA
+#define DB
+#define DC
+#define DD
+#define DE
+#define DF
+#define DG
+#define DH
+#define DI
+#define DJ
+#define DK
+#define DL
+#define DM
+#define DN
+#define DO
+#define DP
+#define DQ
+#define DR
+#define DS
+#define DT
+#define DU
+#define DV
+#define DW
+#define DX
+#define DY
+#define DZ
+#define Da
+#define Db
+#define Dc
+#define Dd
+#define De
+#define Df
+#define Dg
+#define Dh
+#define Di
+#define Dj
+#define Dk
+#define Dl
+#define Dm
+#define Dn
+#define EA
+#define EB
+#define EC
+#define ED
+#define EE
+#define EF
+#define EG
+#define EH
+#define EI
+#define EJ
+#define EK
+#define EL
+#define EM
+#define EN
+#define EO
+#define EP
+#define EQ
+#define ER
+#define ES
+#define ET
+#define EU
+#define EV
+#define EW
+#define EX
+#define EY
+#define EZ
+#define Ea
+#define Eb
+#define Ec
+#define Ed
+#define Ee
+#define Ef
+#define Eg
+#define Eh
+#define Ei
+#define Ej
+#define Ek
+#define El
+#define Em
+#define En
+#define FA
+#define FB
+#define FC
+#define FD
+#define FE
+#define FF
+#define FG
+#define FH
+#define FI
+#define FJ
+#define FK
+#define FL
+#define FM
+#define FN
+#define FO
+#define FP
+#define FQ
+#define FR
+#define FS
+#define FT
+#define FU
+#define FV
+#define FW
+#define FX
+#define FY
+#define FZ
+#define Fa
+#define Fb
+#define Fc
+#define Fd
+#define Fe
+#define Ff
+#define Fg
+#define Fh
+#define Fi
+#define Fj
+#define Fk
+#define Fl
+#define Fm
+#define Fn
+#define GA
+#define GB
+#define GC
+#define GD
+#define GE
+#define GF
+#define GG
+#define GH
+#define GI
+#define GJ
+#define GK
+#define GL
+#define GM
+#define GN
+#define GO
+#define GP
+#define GQ
+#define GR
+#define GS
+#define GT
+#define GU
+#define GV
+#define GW
+#define GX
+#define GY
+#define GZ
+#define Ga
+#define Gb
+#define Gc
+#define Gd
+#define Ge
+#define Gf
+#define Gg
+#define Gh
+#define Gi
+#define Gj
+#define Gk
+#define Gl
+#define Gm
+#define Gn
+#define HA
+#define HB
+#define HC
+#define HD
+#define HE
+#define HF
+#define HG
+#define HH
+#define HI
+#define HJ
+#define HK
+#define HL
+#define HM
+#define HN
+#define HO
+#define HP
+#define HQ
+#define HR
+#define HS
+#define HT
+#define HU
+#define HV
+#define HW
+#define HX
+#define HY
+#define HZ
+#define Ha
+#define Hb
+#define Hc
+#define Hd
+#define He
+#define Hf
+#define Hg
+#define Hh
+#define Hi
+#define Hj
+#define Hk
+#define Hl
+#define Hm
+#define Hn
+#define IA
+#define IB
+#define IC
+#define ID
+#define IE
+#define IF
+#define IG
+#define IH
+#define II
+#define IJ
+#define IK
+#define IL
+#define IM
+#define IN
+#define IO
+#define IP
+#define IQ
+#define IR
+#define IS
+#define IT
+#define IU
+#define IV
+#define IW
+#define IX
+#define IY
+#define IZ
+#define Ia
+#define Ib
+#define Ic
+#define Id
+#define Ie
+#define If
+#define Ig
+#define Ih
+#define Ii
+#define Ij
+#define Ik
+#define Il
+#define Im
+#define In
+#define JA
+#define JB
+#define JC
+#define JD
+#define JE
+#define JF
+#define JG
+#define JH
+#define JI
+#define JJ
+#define JK
+#define JL
+#define JM
+#define JN
+#define JO
+#define JP
+#define JQ
+#define JR
+#define JS
+#define JT
+#define JU
+#define JV
+#define JW
+#define JX
+#define JY
+#define JZ
+#define Ja
+#define Jb
+#define Jc
+#define Jd
+#define Je
+#define Jf
+#define Jg
+#define Jh
+#define Ji
+#define Jj
+#define Jk
+#define Jl
+#define Jm
+#define Jn
+#define KA
+#define KB
+#define KC
+#define KD
+#define KE
+#define KF
+#define KG
+#define KH
+#define KI
+#define KJ
+#define KK
+#define KL
+#define KM
+#define KN
+#define KO
+#define KP
+#define KQ
+#define KR
+#define KS
+#define KT
+#define KU
+#define KV
+#define KW
+#define KX
+#define KY
+#define KZ
+#define Ka
+#define Kb
+#define Kc
+#define Kd
+#define Ke
+#define Kf
+#define Kg
+#define Kh
+#define Ki
+#define Kj
+#define Kk
+#define Kl
+#define Km
+#define Kn
+#define LA
+#define LB
+#define LC
+#define LD
+#define LE
+#define LF
+#define LG
+#define LH
+#define LI
+#define LJ
+#define LK
+#define LL
+#define LM
+#define LN
+#define LO
+#define LP
+#define LQ
+#define LR
+#define LS
+#define LT
+#define LU
+#define LV
+#define LW
+#define LX
+#define LY
+#define LZ
+#define La
+#define Lb
+#define Lc
+#define Ld
+#define Le
+#define Lf
+#define Lg
+#define Lh
+#define Li
+#define Lj
+#define Lk
+#define Ll
+#define Lm
+#define Ln
+#define MA
+#define MB
+#define MC
+#define MD
+#define ME
+#define MF
+#define MG
+#define MH
+#define MI
+#define MJ
+#define MK
+#define ML
+#define MM
+#define MN
+#define MO
+#define MP
+#define MQ
+#define MR
+#define MS
+#define MT
+#define MU
+#define MV
+#define MW
+#define MX
+#define MY
+#define MZ
+#define Ma
+#define Mb
+#define Mc
+#define Md
+#define Me
+#define Mf
+#define Mg
+#define Mh
+#define Mi
+#define Mj
+#define Mk
+#define Ml
+#define Mm
+#define Mn
+#define NA
+#define NB
+#define NC
+#define ND
+#define NE
+#define NF
+#define NG
+#define NH
+#define NI
+#define NJ
+#define NK
+#define NL
+#define NM
+#define NN
+#define NO
+#define NP
+#define NQ
+#define NR
+#define NS
+#define NT
+#define NU
+#define NV
+#define NW
+#define NX
+#define NY
+#define NZ
+#define Na
+#define Nb
+#define Nc
+#define Nd
+#define Ne
+#define Nf
+#define Ng
+#define Nh
+#define Ni
+#define Nj
+#define Nk
+#define Nl
+#define Nm
+#define Nn
+#define OA
+#define OB
+#define OC
+#define OD
+#define OE
+#define OF
+#define OG
+#define OH
+#define OI
+#define OJ
+#define OK
+#define OL
+#define OM
+#define ON
+#define OO
+#define OP
+#define OQ
+#define OR
+#define OS
+#define OT
+#define OU
+#define OV
+#define OW
+#define OX
+#define OY
+#define OZ
+#define Oa
+#define Ob
+#define Oc
+#define Od
+#define Oe
+#define Of
+#define Og
+#define Oh
+#define Oi
+#define Oj
+#define Ok
+#define Ol
+#define Om
+#define On
+#define PA
+#define PB
+#define PC
+#define PD
+#define PE
+#define PF
+#define PG
+#define PH
+#define PI
+#define PJ
+#define PK
+#define PL
+#define PM
+#define PN
+#define PO
+#define PP
+#define PQ
+#define PR
+#define PS
+#define PT
+#define PU
+#define PV
+#define PW
+#define PX
+#define PY
+#define PZ
+#define Pa
+#define Pb
+#define Pc
+#define Pd
+#define Pe
+#define Pf
+#define Pg
+#define Ph
+#define Pi
+#define Pj
+#define Pk
+#define Pl
+#define Pm
+#define Pn
+#define QA
+#define QB
+#define QC
+#define QD
+#define QE
+#define QF
+#define QG
+#define QH
+#define QI
+#define QJ
+#define QK
+#define QL
+#define QM
+#define QN
+#define QO
+#define QP
+#define QQ
+#define QR
+#define QS
+#define QT
+#define QU
+#define QV
+#define QW
+#define QX
+#define QY
+#define QZ
+#define Qa
+#define Qb
+#define Qc
+#define Qd
+#define Qe
+#define Qf
+#define Qg
+#define Qh
+#define Qi
+#define Qj
+#define Qk
+#define Ql
+#define Qm
+#define Qn
+#define RA
+#define RB
+#define RC
+#define RD
+#define RE
+#define RF
+#define RG
+#define RH
+#define RI
+#define RJ
+#define RK
+#define RL
+#define RM
+#define RN
+#define RO
+#define RP
+#define RQ
+#define RR
+#define RS
+#define RT
+#define RU
+#define RV
+#define RW
+#define RX
+#define RY
+#define RZ
+#define Ra
+#define Rb
+#define Rc
+#define Rd
+#define Re
+#define Rf
+#define Rg
+#define Rh
+#define Ri
+#define Rj
+#define Rk
+#define Rl
+#define Rm
+#define Rn
+#define SA
+#define SB
+#define SC
+#define SD
+#define SE
+#define SF
+#define SG
+#define SH
+#define SI
+#define SJ
+#define SK
+#define SL
+#define SM
+#define SN
+#define SO
+#define SP
+#define SQ
+#define SR
+#define SS
+#define ST
+#define SU
+#define SV
+#define SW
+#define SX
+#define SY
+#define SZ
+#define Sa
+#define Sb
+#define Sc
+#define Sd
+#define Se
+#define Sf
+#define Sg
+#define Sh
+#define Si
+#define Sj
+#define Sk
+#define Sl
+#define Sm
+#define Sn
+#define TA
+#define TB
+#define TC
+#define TD
+#define TE
+#define TF
+#define TG
+#define TH
+#define TI
+#define TJ
+#define TK
+#define TL
+#define TM
+#define TN
+#define TO
+#define TP
+#define TQ
+#define TR
+#define TS
+#define TT
+#define TU
+#define TV
+#define TW
+#define TX
+#define TY
+#define TZ
+#define Ta
+#define Tb
+#define Tc
+#define Td
+#define Te
+#define Tf
+#define Tg
+#define Th
+#define Ti
+#define Tj
+#define Tk
+#define Tl
+#define Tm
+#define Tn
+#define UA
+#define UB
+#define UC
+#define UD
+#define UE
+#define UF
+#define UG
+#define UH
+#define UI
+#define UJ
+#define UK
+#define UL
+#define UM
+#define UN
+#define UO
+#define UP
+#define UQ
+#define UR
+#define US
+#define UT
+#define UU
+#define UV
+#define UW
+#define UX
+#define UY
+#define UZ
+#define Ua
+#define Ub
+#define Uc
+#define Ud
+#define Ue
+#define Uf
+#define Ug
+#define Uh
+#define Ui
+#define Uj
+#define Uk
+#define Ul
+#define Um
+#define Un
+#define VA
+#define VB
+#define VC
+#define VD
+#define VE
+#define VF
+#define VG
+#define VH
+#define VI
+#define VJ
+#define VK
+#define VL
+#define VM
+#define VN
+#define VO
+#define VP
+#define VQ
+#define VR
+#define VS
+#define VT
+#define VU
+#define VV
+#define VW
+#define VX
+#define VY
+#define VZ
+#define Va
+#define Vb
+#define Vc
+#define Vd
+#define Ve
+#define Vf
+#define Vg
+#define Vh
+#define Vi
+#define Vj
+#define Vk
+#define Vl
+#define Vm
+#define Vn
+#define WA
+#define WB
+#define WC
+#define WD
+#define WE
+#define WF
+#define WG
+#define WH
+#define WI
+#define WJ
+#define WK
+#define WL
+#define WM
+#define WN
+#define WO
+#define WP
+#define WQ
+#define WR
+#define WS
+#define WT
+#define WU
+#define WV
+#define WW
+#define WX
+#define WY
+#define WZ
+#define Wa
+#define Wb
+#define Wc
+#define Wd
+#define We
+#define Wf
+#define Wg
+#define Wh
+#define Wi
+#define Wj
+#define Wk
+#define Wl
+#define Wm
+#define Wn
+#define XA
+#define XB
+#define XC
+#define XD
+#define XE
+#define XF
+#define XG
+#define XH
+#define XI
+#define XJ
+#define XK
+#define XL
+#define XM
+#define XN
+#define XO
+#define XP
+#define XQ
+#define XR
+#define XS
+#define XT
+#define XU
+#define XV
+#define XW
+#define XX
+#define XY
+#define XZ
+#define Xa
+#define Xb
+#define Xc
+#define Xd
+#define Xe
+#define Xf
+#define Xg
+#define Xh
+#define Xi
+#define Xj
+#define Xk
+#define Xl
+#define Xm
+#define Xn
+#define YA
+#define YB
+#define YC
+#define YD
+#define YE
+#define YF
+#define YG
+#define YH
+#define YI
+#define YJ
+#define YK
+#define YL
+#define YM
+#define YN
+#define YO
+#define YP
+#define YQ
+#define YR
+#define YS
+#define YT
+#define YU
+#define YV
+#define YW
+#define YX
+#define YY
+#define YZ
+#define Ya
+#define Yb
+#define Yc
+#define Yd
+#define Ye
+#define Yf
+#define Yg
+#define Yh
+#define Yi
+#define Yj
+#define Yk
+#define Yl
+#define Ym
+#define Yn
+#define ZA
+#define ZB
+#define ZC
+#define ZD
+#define ZE
+#define ZF
+#define ZG
+#define ZH
+#define ZI
+#define ZJ
+#define ZK
+#define ZL
+#define ZM
+#define ZN
+#define ZO
+#define ZP
+#define ZQ
+#define ZR
+#define ZS
+#define ZT
+#define ZU
+#define ZV
+#define ZW
+#define ZX 1
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_01.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_01.hpp
new file mode 100644
index 000000000..ec93622bb
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_01.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 1
+
+#include "t_5_035_02.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_02.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_02.hpp
new file mode 100644
index 000000000..e43a593d9
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_02.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 2
+
+#include "t_5_035_03.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_03.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_03.hpp
new file mode 100644
index 000000000..b721c89e9
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_03.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 3
+
+#include "t_5_035_04.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_04.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_04.hpp
new file mode 100644
index 000000000..c754d4277
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_04.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 4
+
+#include "t_5_035_05.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_05.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_05.hpp
new file mode 100644
index 000000000..3a07b6f42
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_05.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 5
+
+#include "t_5_035_06.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_06.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_06.hpp
new file mode 100644
index 000000000..5c2a6859c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_06.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 6
+
+#include "t_5_035_07.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_07.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_07.hpp
new file mode 100644
index 000000000..d95d6a070
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_07.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 7
+
+#include "t_5_035_08.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_08.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_08.hpp
new file mode 100644
index 000000000..2a346da78
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_08.hpp
@@ -0,0 +1,54 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#ifndef X0F
+
+#undef NEST
+#define NEST 8
+
+#else
+
+#include "t_5_035_09.hpp"
+
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_09.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_09.hpp
new file mode 100644
index 000000000..134c8814e
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_09.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 9
+
+#include "t_5_035_10.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_10.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_10.hpp
new file mode 100644
index 000000000..957bc88e3
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_10.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 10
+
+#include "t_5_035_11.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_11.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_11.hpp
new file mode 100644
index 000000000..9c8c566d9
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_11.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 11
+
+#include "t_5_035_12.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_12.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_12.hpp
new file mode 100644
index 000000000..46e695e11
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_12.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 12
+
+#include "t_5_035_13.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_13.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_13.hpp
new file mode 100644
index 000000000..aaa28275d
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_13.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 13
+
+#include "t_5_035_14.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_14.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_14.hpp
new file mode 100644
index 000000000..5840831c1
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_14.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#undef NEST
+#define NEST 14
+
+#include "t_5_035_15.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_5_035_15.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_15.hpp
new file mode 100644
index 000000000..9989b95ca
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_5_035_15.hpp
@@ -0,0 +1,50 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests translation limits.
+
+#ifdef X0F
+
+#undef NEST
+#define NEST 0xf
+
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_001.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_001.cpp
new file mode 100644
index 000000000..154c26797
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_001.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: out of range of integer pp-token in #if expression.
+
+// 12.8: Preprocessing number perhaps out of range of unsigned long.
+//E t_6_001.cpp(20): error: ill formed integer literal or integer constant too large: 123456789012345678901
+#if 123456789012345678901
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_002.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_002.cpp
new file mode 100644
index 000000000..4109983d7
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_002.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+// 14.1: String literal is not allowed in #if expression.
+//E t_6_002.cpp(20): error: ill formed preprocessor expression: "string"
+#if "string"
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_003.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_003.cpp
new file mode 100644
index 000000000..e6548b4d7
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_003.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+#define A 1
+#define B 1
+
+// 14.2: Operators =, +=, ++, etc. are not allowed in #if expression.
+//E t_6_003.cpp(23): error: ill formed preprocessor expression: 1 = 1
+#if A = B
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_004.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_004.cpp
new file mode 100644
index 000000000..af948a51b
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_004.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+#define A 1
+#define B 1
+
+// 14.2: Operators =, +=, ++, etc. are not allowed in #if expression.
+//E t_6_004.cpp(23): error: ill formed preprocessor expression: 1++ 1
+#if A++ B
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_005.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_005.cpp
new file mode 100644
index 000000000..d0865bf3a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_005.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+#define A 1
+#define B 1
+
+// 14.2: Operators =, +=, ++, etc. are not allowed in #if expression.
+//E t_6_005.cpp(23): error: ill formed preprocessor expression: 1 --1
+#if A --B
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_006.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_006.cpp
new file mode 100644
index 000000000..5062602e0
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_006.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+#define A 1
+#define B 1
+
+// 14.2: Operators =, +=, ++, etc. are not allowed in #if expression.
+//E t_6_006.cpp(23): error: ill formed preprocessor expression: 1.1
+#if A.B
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_007.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_007.cpp
new file mode 100644
index 000000000..8c158ae69
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_007.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+// 14.3: Unterminated #if expression.
+//E t_6_007.cpp(20): error: ill formed preprocessor expression: 0 <
+#if 0 <
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_008.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_008.cpp
new file mode 100644
index 000000000..3b0cff5ac
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_008.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+#define A 1
+#define B 1
+
+// 14.3: Unterminated #if expression.
+//E t_6_008.cpp(23): error: ill formed preprocessor expression: ( (1 == 1)
+#if ( (A == B)
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_009.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_009.cpp
new file mode 100644
index 000000000..2ecff36d1
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_009.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+// 14.4: Unbalanced parenthesis in #if defined operator.
+//E t_6_009.cpp(20): error: ill formed preprocessor expression: defined(): defined ( MACRO
+#if defined ( MACRO
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_010.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_010.cpp
new file mode 100644
index 000000000..4c32afaad
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_010.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+// 14.5: No argument.
+//E t_6_010.cpp(20): error: ill formed preprocessor directive: #if
+#if
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_011.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_011.cpp
new file mode 100644
index 000000000..4773fe3a2
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_011.cpp
@@ -0,0 +1,49 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+// 14.6: Macro expanding to 0 token in #if expression.
+//E t_6_011.cpp(21): error: ill formed preprocessor expression: <empty expression>
+#define ZERO_TOKEN
+#if ZERO_TOKEN
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_012.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_012.cpp
new file mode 100644
index 000000000..2ed7de72f
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_012.cpp
@@ -0,0 +1,49 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: there is no keyword allowed in #if expression.
+
+// 14.7: sizeof operator is disallowed.
+// Evaluated as: 0 (0), Constant expression syntax error. */
+//E t_6_012.cpp(21): error: ill formed preprocessor expression: 0 (0)
+#if sizeof (int)
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_013.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_013.cpp
new file mode 100644
index 000000000..e039439d7
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_013.cpp
@@ -0,0 +1,49 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: illegal #if expressions.
+
+// 14.8: type cast is disallowed.
+// Evaluated as: (0)0x8000, constant expression error.
+//E t_6_013.cpp(21): error: ill formed preprocessor expression: (0)0x8000 < 0
+#if (int)0x8000 < 0
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_014.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_014.cpp
new file mode 100644
index 000000000..5e44dcef6
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_014.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: out of range in #if expression (division by 0).
+
+// 14.9: Division by 0.
+//E t_6_014.cpp(20): fatal error: division by zero in preprocessor expression: 1 / 0
+#if 1 / 0
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_015.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_015.cpp
new file mode 100644
index 000000000..f072c9c88
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_015.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: overflow of constant expression in #if directive.
+
+// 14.10:
+//E t_6_015.cpp(20): error: integer overflow in preprocessor expression: $E(__TESTWAVE_LONG_MAX__) - $E(__TESTWAVE_LONG_MIN__)
+#if __TESTWAVE_LONG_MAX__ - __TESTWAVE_LONG_MIN__
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_016.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_016.cpp
new file mode 100644
index 000000000..ec3d57a00
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_016.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: overflow of constant expression in #if directive.
+
+// 14.10:
+//E t_6_016.cpp(20): error: integer overflow in preprocessor expression: $E(__TESTWAVE_LONG_MAX__) + 1
+#if __TESTWAVE_LONG_MAX__ + 1
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_017.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_017.cpp
new file mode 100644
index 000000000..1617fc0d7
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_017.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: overflow of constant expression in #if directive.
+
+// 14.10:
+//E t_6_017.cpp(20): error: integer overflow in preprocessor expression: $E(__TESTWAVE_LONG_MIN__) - 1
+#if __TESTWAVE_LONG_MIN__ - 1
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_018.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_018.cpp
new file mode 100644
index 000000000..878274bce
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_018.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: overflow of constant expression in #if directive.
+
+// 14.10:
+//E t_6_018.cpp(20): error: integer overflow in preprocessor expression: $E(__TESTWAVE_LONG_MAX__) * 2
+#if __TESTWAVE_LONG_MAX__ * 2
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_019.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_019.cpp
new file mode 100644
index 000000000..7a30e8e9b
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_019.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #ifdef, #ifndef syntax errors.
+
+// 15.3: Not an identifier.
+//E t_6_019.cpp(20): error: ill formed preprocessor directive: #ifdef "string"
+#ifdef "string"
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_020.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_020.cpp
new file mode 100644
index 000000000..7eafd389a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_020.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #ifdef, #ifndef syntax errors.
+
+// 15.3: Not an identifier.
+//E t_6_020.cpp(20): error: ill formed preprocessor directive: #ifdef 123
+#ifdef 123
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_021.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_021.cpp
new file mode 100644
index 000000000..ff697cd25
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_021.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #ifdef, #ifndef syntax errors.
+
+// 15.4: Excessive token sequence.
+//E t_6_021.cpp(20): error: ill formed preprocessor directive: #ifdef MACRO Junk
+#ifdef MACRO Junk
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_022.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_022.cpp
new file mode 100644
index 000000000..f0d0061b2
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_022.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #ifdef, #ifndef syntax errors.
+
+// 15.5: No argument.
+//E t_6_022.cpp(20): error: ill formed preprocessor directive: #ifndef
+#ifndef
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_023.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_023.cpp
new file mode 100644
index 000000000..f40b52035
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_023.cpp
@@ -0,0 +1,50 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Trailing junk of #else, #endif.
+
+// 16.1: Trailing junk of #else.
+//E t_6_023.cpp(22): error: ill formed preprocessor directive: #else MACRO_0
+#define MACRO_0 0
+#if MACRO_0
+#else MACRO_0
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_024.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_024.cpp
new file mode 100644
index 000000000..118d50ed0
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_024.cpp
@@ -0,0 +1,50 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Trailing junk of #else, #endif.
+
+// 16.2: Trailing junk of #endif.
+//E t_6_024.cpp(23): error: ill formed preprocessor directive: #endif MACRO_0
+#define MACRO_0 0
+#if MACRO_0
+#else
+#endif MACRO_0
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_025.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_025.cpp
new file mode 100644
index 000000000..b9f3e546a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_025.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: ill-formed group in a source file.
+
+// 17.1: Errorneous #endif without #if.
+//E t_6_025.cpp(20): error: the #if for this directive is missing: #endif
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_026.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_026.cpp
new file mode 100644
index 000000000..c22424309
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_026.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: ill-formed group in a source file.
+
+// 17.2: Errorneous #else without #if.
+//E t_6_026.cpp(20): error: the #if for this directive is missing: #else
+#else
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_027.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_027.cpp
new file mode 100644
index 000000000..04c6f94c8
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_027.cpp
@@ -0,0 +1,50 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: ill-formed group in a source file.
+
+// 17.3: Errorneous #else after #else (missing #if).
+//E t_6_027.cpp(22): error: the #if for this directive is missing: #else
+#if MACRO_1
+#else
+#else
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_028.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_028.cpp
new file mode 100644
index 000000000..6a5d2bac2
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_028.cpp
@@ -0,0 +1,50 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: ill-formed group in a source file.
+
+// 17.4: Errorneous #elif after #else (missing #if).
+//E t_6_028.cpp(22): error: the #if for this directive is missing: #elif
+#if MACRO_1 == 1
+#else
+#elif MACRO_1 == 0
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_029.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_029.cpp
new file mode 100644
index 000000000..8261b4c01
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_029.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: ill-formed group in a source file.
+
+// 17.5: Errorneous #endif without #if in an included file.
+//E t_6_029.hpp(47): warning: unbalanced #if/#endif in include file: $P(t_6_029.hpp)
+#if 1
+#include "t_6_029.hpp"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_029.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_029.hpp
new file mode 100644
index 000000000..3333ec490
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_029.hpp
@@ -0,0 +1,46 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: ill-formed group in a source file.
+
+// 17.5: Errorneous #endif without #if in an included file.
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_030.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_030.cpp
new file mode 100644
index 000000000..0459b8d62
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_030.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: ill-formed group in a source file.
+
+// 17.6: Errorneous unterminated #if section in an included file.
+//E t_6_030.hpp(49): warning: unbalanced #if/#endif in include file: $P(t_6_030.hpp)
+#include "t_6_030.hpp"
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_030.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_030.hpp
new file mode 100644
index 000000000..8ea0b22ab
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_030.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: ill-formed group in a source file.
+
+// 17.6: Errorneous unterminated #if section in an included file.
+#define UNBAL2 1
+#if UNBAL2
+#else
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_031.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_031.cpp
new file mode 100644
index 000000000..d39525c3b
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_031.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: ill-formed group in a source file.
+
+// 17.7: Errorneous unterminated #if section (missing #endif).
+//E t_6_031.cpp(49): error: detected at least one missing #endif directive
+#if MACRO_1 == 0
+#else
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_032.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_032.cpp
new file mode 100644
index 000000000..27777b258
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_032.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #define syntax errors.
+
+// 18.4: Not an identifier.
+//E t_6_032.cpp(20): error: ill formed preprocessor directive: #define "string"
+#define "string"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_033.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_033.cpp
new file mode 100644
index 000000000..fd2b63272
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_033.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #define syntax errors.
+
+// 18.4: Not an identifier.
+//E t_6_033.cpp(20): error: ill formed preprocessor directive: #define 123
+#define 123
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_034.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_034.cpp
new file mode 100644
index 000000000..eecb88f2d
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_034.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #define syntax errors.
+
+// 18.5: No argument.
+//E t_6_034.cpp(20): error: ill formed preprocessor directive: #define
+#define
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_035.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_035.cpp
new file mode 100644
index 000000000..c785b931f
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_035.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #define syntax errors.
+
+// 18.6: Empty parameter list.
+//E t_6_035.cpp(20): error: ill formed preprocessor directive: #define math( op, a, ) op( (a), (b))
+#define math( op, a, ) op( (a), (b))
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_036.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_036.cpp
new file mode 100644
index 000000000..a168ddaa5
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_036.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #define syntax errors.
+
+// 18.7: Duplicate parameter names.
+//E t_6_036.cpp(20): error: duplicate macro parameter name: a
+#define math( op, a, a) op( (a), (b))
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_037.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_037.cpp
new file mode 100644
index 000000000..36ee92052
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_037.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #define syntax errors.
+
+// 18.8: Argument is not an identifier.
+//E t_6_037.cpp(20): error: ill formed preprocessor directive: #define NUMARGS( 1, +, 2) (1 + 2)
+#define NUMARGS( 1, +, 2) (1 + 2)
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_038.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_038.cpp
new file mode 100644
index 000000000..5e764d454
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_038.cpp
@@ -0,0 +1,58 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #define syntax errors.
+
+// 18.9: No space between macro name and replacement text.
+// C90 (Corrigendum 1) forbids this if and only if the replacement text
+// begins with a non-basic-character.
+// C99 forbids this even when the replacement text begins with basic-
+// character.
+
+// From ISO 9899:1990 / Corrigendum 1.
+#if defined(__TESTWAVE_HAS_STRICT_LEXER__)
+//E(__TESTWAVE_HAS_STRICT_LEXER__) t_6_038.cpp(27): error: ill formed preprocessor directive: #define
+#define THIS$AND$THAT(a, b) ((a) + (b))
+#endif
+
+// Note: the following definition is legal (object-like macro).
+// #define THIS $AND$THAT(a, b) ((a) + (b))
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_039.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_039.cpp
new file mode 100644
index 000000000..75adf8eef
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_039.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Redefinitions of macros.
+#define OBJ_LIKE (1-1)
+
+// 19.3: different token sequence
+//E t_6_039.cpp(21): warning: illegal macro redefinition: OBJ_LIKE
+#define OBJ_LIKE (0)
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_040.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_040.cpp
new file mode 100644
index 000000000..647b41912
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_040.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Redefinitions of macros.
+#define OBJ_LIKE (1-1)
+
+// 19.4: different white space
+//E t_6_040.cpp(21): warning: illegal macro redefinition: OBJ_LIKE
+#define OBJ_LIKE (1 - 1)
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_041.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_041.cpp
new file mode 100644
index 000000000..371612b87
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_041.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Redefinitions of macros.
+#define FTN_LIKE(a) ( a )
+
+// 19.5: different parameter usage
+//E t_6_041.cpp(21): warning: illegal macro redefinition: FTN_LIKE
+#define FTN_LIKE(b) ( a )
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_042.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_042.cpp
new file mode 100644
index 000000000..237da9112
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_042.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Redefinitions of macros.
+#define FTN_LIKE(a) ( a )
+
+// 19.6: different parameter spelling
+//E t_6_042.cpp(21): warning: illegal macro redefinition: FTN_LIKE
+#define FTN_LIKE(b) ( b )
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_043.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_043.cpp
new file mode 100644
index 000000000..c446129f3
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_043.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Redefinitions of macros.
+#define FTN_LIKE(a) ( a )
+
+// 19.7
+//E t_6_043.cpp(21): warning: illegal macro redefinition: FTN_LIKE
+#define FTN_LIKE OBJ_LIKE
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_044.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_044.cpp
new file mode 100644
index 000000000..802742f9a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_044.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: The ## operator shall not occur at the beginning or at
+// the end of replacement list for either form of macro
+// definition.
+
+// 23.3: In object-like macro (left).
+#define CON ## name
+
+//E t_6_044.cpp(24): error: ill formed preprocessing operator: concat ('##')
+CON
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_045.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_045.cpp
new file mode 100644
index 000000000..fd605025c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_045.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: The ## operator shall not occur at the beginning or at
+// the end of replacement list for either form of macro
+// definition.
+
+// 23.3: In object-like macro (right).
+#define CAT 12 ##
+
+//E t_6_045.cpp(24): error: ill formed preprocessing operator: concat ('##')
+CAT
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_046.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_046.cpp
new file mode 100644
index 000000000..53a3e8590
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_046.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: The ## operator shall not occur at the beginning or at
+// the end of replacement list for either form of macro
+// definition.
+
+// 23.4: In function-like macro (left).
+#define CON(a, b) ## a ## b
+
+//E t_6_046.cpp(24): error: ill formed preprocessing operator: concat ('##')
+CON(1, 2)
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_047.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_047.cpp
new file mode 100644
index 000000000..02c12f34f
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_047.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: The ## operator shall not occur at the beginning or at
+// the end of replacement list for either form of macro
+// definition.
+
+// 23.4: In function-like macro (right).
+#define CON(a, b) a ## b ##
+
+//E t_6_047.cpp(24): error: ill formed preprocessing operator: concat ('##')
+CON(1, 2)
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_048.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_048.cpp
new file mode 100644
index 000000000..07db985e1
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_048.cpp
@@ -0,0 +1,50 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: The operand of the # operator in function-like macro
+// definition should be a parameter.
+
+// 24.6: In function-like macro (right).
+#define FUNC(a) # b
+
+//E t_6_048.cpp(23): error: ill formed preprocessing operator: stringize ('#')
+FUNC(1)
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_049.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_049.cpp
new file mode 100644
index 000000000..6abaf7d1c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_049.cpp
@@ -0,0 +1,56 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Macro arguments are pre-expanded separately.
+
+// 25.6:
+#define SUB(x, y) (x - y)
+#define HEAD SUB(
+#define BODY(x,y) x,y
+#define TAIL )
+#define HEAD_BODY_TAIL(a, b, c) a b c
+
+// "HEAD" is once expanded to "SUB(", then rescanning of "SUB(" causes an
+// uncompleted macro call. Expansion of an argument should complete
+// within the argument.
+//E t_6_049.cpp(29): error: improperly terminated macro invocation or replacement-list terminates in partial macro expansion (not supported yet): missing ')'
+HEAD_BODY_TAIL(HEAD, BODY(a,b), TAIL)
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_050.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_050.cpp
new file mode 100644
index 000000000..aff380a2f
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_050.cpp
@@ -0,0 +1,54 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Error of rescanning.
+
+// 27.7
+#define SUB1(x, y) (x - y)
+#define TWO_TOKENS a,b
+#define SUB(x, y) SUB1(x, y)
+
+// Too many arguments error while rescanning after once replaced to:
+// SUB(a, b, 1)
+
+//E t_6_050.cpp(27): warning: too many macro arguments: SUB1
+SUB(TWO_TOKENS, 1)
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_051.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_051.cpp
new file mode 100644
index 000000000..4dd98335a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_051.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #undef errors.
+
+// 29.3: Not an identifier.
+//E t_6_051.cpp(20): error: ill formed preprocessor directive: #undef "string"
+#undef "string"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_052.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_052.cpp
new file mode 100644
index 000000000..943f398bd
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_052.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #undef errors.
+
+// 29.3: Not an identifier.
+//E t_6_052.cpp(20): error: ill formed preprocessor directive: #undef 123
+#undef 123
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_053.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_053.cpp
new file mode 100644
index 000000000..84f1e282d
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_053.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #undef errors.
+
+// 29.4: Excessive token sequence.
+//E t_6_053.cpp(20): error: ill formed preprocessor directive: #undef MACRO_0 Junk
+#undef MACRO_0 Junk
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_054.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_054.cpp
new file mode 100644
index 000000000..1f55f1648
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_054.cpp
@@ -0,0 +1,47 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #undef errors.
+
+// 29.5: No argument.
+//E t_6_054.cpp(20): error: ill formed preprocessor directive: #undef
+#undef
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_055.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_055.cpp
new file mode 100644
index 000000000..413fe8aef
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_055.cpp
@@ -0,0 +1,49 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Illegal macro calls.
+
+#define SUB(x, y) (x - y)
+
+// 31.1: Too many arguments error.
+//E t_6_055.cpp(22): warning: too many macro arguments: SUB
+SUB(x, y, z);
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_056.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_056.cpp
new file mode 100644
index 000000000..dafe05b06
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_056.cpp
@@ -0,0 +1,49 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Illegal macro calls.
+
+#define SUB(x, y) (x - y)
+
+// 31.2: Too few arguments error.
+//E t_6_056.cpp(22): warning: too few macro arguments: SUB
+SUB(x);
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_057.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_057.cpp
new file mode 100644
index 000000000..d2efa5ecd
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_057.cpp
@@ -0,0 +1,52 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Macro call in control line should complete in the line.
+
+#define GLUE(a, b) a ## b
+#define STR(s) # s
+#define XSTR(s) STR(s)
+
+// 31.3: Unterminated macro call.
+//E t_6_057.cpp(24): error: improperly terminated macro invocation or replacement-list terminates in partial macro expansion (not supported yet): missing ')'
+#include XSTR(GLUE(header,
+ .h))
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_058.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_058.cpp
new file mode 100644
index 000000000..e4c969be9
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_058.cpp
@@ -0,0 +1,52 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Range error of character constant.
+
+// 32.5: Value of a numerical escape sequence in character constant should
+// be in the range of char.
+//E t_6_058.cpp(21): warning: expression contains out of range character literal: '\x123' == 0x123
+#if '\x123' == 0x123
+false
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_059.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_059.cpp
new file mode 100644
index 000000000..e36b19826
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_059.cpp
@@ -0,0 +1,52 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Out of range of numerical escape sequence in wide-char.
+
+// 32.5: Value of a numerical escape sequence in character constant should
+// be in the range of char.
+//E t_6_059.cpp(21): warning: expression contains out of range character literal: L'\xabcdef012' == 0xbcdef012
+#if L'\xabcdef012' == 0xbcdef012
+false
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_060.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_060.cpp
new file mode 100644
index 000000000..7ec2ef85e
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_060.cpp
@@ -0,0 +1,52 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Out of range of character constant.
+
+// In ASCII character set.
+// 35.2:
+//E t_6_060.cpp(21): warning: expression contains out of range character literal: 'abcdefghi' == '\x61\x62\x63\x64\x65\x66\x67\x68\x69'
+#if 'abcdefghi' == '\x61\x62\x63\x64\x65\x66\x67\x68\x69'
+false
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_061.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_061.cpp
new file mode 100644
index 000000000..25c6f4630
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_061.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Illegal pp-token.
+
+// 4.3: Empty character constant is an error.
+//E t_6_061.cpp(20): error: ill formed preprocessor expression: '' == 0
+#if '' == 0
+false
+#else
+true
+#endif
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_062.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_062.cpp
new file mode 100644
index 000000000..1f1514110
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_062.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: #line error.
+
+// 7.4: string literal in #line directive shall be a character string
+// literal.
+//E t_6_062.cpp(21): warning: filename argument of #line directive should be a narrow string literal: 123 L"wide"
+#line 123 L"wide"
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_063.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_063.cpp
new file mode 100644
index 000000000..776561a7c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_063.cpp
@@ -0,0 +1,54 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: undefined behavior: End of a source file without a
+// <newline>.
+
+//E t_6_063.hpp(45): warning: last line of file ends without a newline
+#include "t_6_063.hpp"
+
+//R #line 19 "t_6_063.hpp"
+//R int dummy = 0;
+
+//H 10: t_6_063.cpp(20): #include "t_6_063.hpp"
+//H 04: "t_6_063.hpp"
+//H 05: $S(t_6_063.hpp) ($B(t_6_063.hpp))
+//H 18: boost::wave::preprocess_exception
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_063.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_063.hpp
new file mode 100644
index 000000000..bd1faee1a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_063.hpp
@@ -0,0 +1,45 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: undefined behavior: End of a source file without a
+// <newline>: boostinspect:noend
+
+int dummy = 0;
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */ \ No newline at end of file
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_064.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_064.cpp
new file mode 100644
index 000000000..ebf8918b6
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_064.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.6.1
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Undefined behavior on out-of-range #line number.
+
+//O --variadics
+
+// C99: Line number argument of #line directive should be in range of
+// [1..2147483647]
+
+//E t_6_064.cpp(24): warning: line number argument of #line directive should consist out of decimal digits only and must be in range of [1..INT_MAX]
+#line 0
+
+/*-
+ * Copyright (c) 1998, 2002-2006 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_065.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_065.cpp
new file mode 100644
index 000000000..819add33a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_065.cpp
@@ -0,0 +1,51 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.6.1
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: Undefined behavior on out-of-range #line number.
+
+//O --variadics
+
+// C99: Line number argument of #line directive should be in range of
+// [1..2147483647]
+
+//E t_6_065.cpp(24): warning: line number argument of #line directive should consist out of decimal digits only and must be in range of [1..INT_MAX]
+#line 2147483648
+
+/*-
+ * Copyright (c) 1998, 2002-2006 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_066.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_066.cpp
new file mode 100644
index 000000000..4f9868ec5
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_066.cpp
@@ -0,0 +1,49 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: undefined behavior: End of a source file is
+// <backslash><newline>.
+
+//E t_6_066.hpp(46): warning: last line of file ends without a newline
+#include "t_6_066.hpp"
+
+//R #line 19 "t_6_066.hpp"
+//R int dummy = 0;
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_066.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_066.hpp
new file mode 100644
index 000000000..c0e7d8856
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_066.hpp
@@ -0,0 +1,46 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: undefined behavior: End of a source file is
+// <backslash><newline>: boostinspect:noend
+
+int dummy = 0;
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */ \
+ \ No newline at end of file
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_067.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_067.cpp
new file mode 100644
index 000000000..b5cdbd538
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_067.cpp
@@ -0,0 +1,54 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: undefined behavior: End of a source file with an
+// unterminated comment.
+
+//E t_6_067.hpp(48): warning: generic lexer warning: Unterminated 'C' style comment
+#include "t_6_067.hpp"
+
+//R #line 19 "t_6_067.hpp"
+//R int dummy = 0;
+
+//H 10: t_6_067.cpp(20): #include "t_6_067.hpp"
+//H 04: "t_6_067.hpp"
+//H 05: $S(t_6_067.hpp) ($B(t_6_067.hpp))
+//H 18: boost::wave::lexing_exception
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_067.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_067.hpp
new file mode 100644
index 000000000..ae0adec1a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_067.hpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: undefined behavior: End of a source file with an
+// unterminated comment: boostinspect:noend
+
+int dummy = 0;
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+ /* unterminated comment ...
+ \ No newline at end of file
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_068.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_068.cpp
new file mode 100644
index 000000000..e24d77c7a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_068.cpp
@@ -0,0 +1,46 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: undefined behavior: Argument of #include other than
+// header-name
+
+//E t_6_068.cpp(20): error: ill formed #include directive: filename
+#include filename
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_6_069.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_6_069.cpp
new file mode 100644
index 000000000..a2edaa0c5
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_6_069.cpp
@@ -0,0 +1,45 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ The tests included in this file were initially taken from the mcpp V2.5
+ preprocessor validation suite and were modified to fit into the Boost.Wave
+ unit test requirements.
+ The original files of the mcpp preprocessor are distributed under the
+ license reproduced at the end of this file.
+=============================================================================*/
+
+// Tests error reporting: undefined behavior: trailing junk of #include
+
+//E t_6_069.cpp(19): error: ill formed preprocessor directive: #include <boost/assert.hpp> Junk
+#include <boost/assert.hpp> Junk
+
+/*-
+ * Copyright (c) 1998, 2002-2005 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_7_001.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_7_001.cpp
new file mode 100644
index 000000000..226bca4f5
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_7_001.cpp
@@ -0,0 +1,49 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --c++11
+//O -Werror
+
+//R #line 17 "t_7_001.cpp"
+//R R"(de
+//R fg
+//R h)"
+R"(de
+fg
+h)"
+
+//R #line 22 "t_7_001.cpp"
+"abc" //R "abc"
+R"(abc)" //R R"(abc)"
+
+//R #line 28 "t_7_001.cpp"
+//R uR"(de fg
+//R h)"
+uR"(de \
+fg
+h)"
+
+//R #line 33 "t_7_001.cpp"
+u"abc" //R u"abc"
+U"def" //R U"def"
+u8"ghi" //R u8"ghi"
+
+//R #line 40 "t_7_001.cpp"
+//R R"delim("quoted text
+//R with newline")delim"
+R"delim("quoted text
+with newline")delim"
+
+//R #line 45 "t_7_001.cpp"
+//R R"de"lim(some text)de"lim"
+R"de"lim(some text)de"lim"
+
+//R #line 49 "t_7_001.cpp"
+//R no_newline_at_end_of_file
+no_newline_at_end_of_file \ No newline at end of file
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_7_002.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_7_002.cpp
new file mode 100644
index 000000000..390ddc952
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_7_002.cpp
@@ -0,0 +1,15 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2017 Abel Sinkovics. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --c++11
+//O -Werror
+//R
+
+#if 0
+#endif \ No newline at end of file
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_7_003.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_7_003.cpp
new file mode 100644
index 000000000..a8cab32ee
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_7_003.cpp
@@ -0,0 +1,13 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2017 Abel Sinkovics. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --c++11
+//O -Werror
+
+#line 7 \ No newline at end of file
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_7_004.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_7_004.cpp
new file mode 100644
index 000000000..dde43b13e
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_7_004.cpp
@@ -0,0 +1,14 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2017 Abel Sinkovics. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --c++11
+
+//E t_7_004.cpp(14): error: detected at least one missing #endif directive
+
+#if 0 \ No newline at end of file
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_7_005.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_7_005.cpp
new file mode 100644
index 000000000..776d7fbfe
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_7_005.cpp
@@ -0,0 +1,15 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2017 Abel Sinkovics. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --c++11
+
+//E t_7_005.cpp(15): error: detected at least one missing #endif directive
+
+#if 0
+#else \ No newline at end of file
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_7_006.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_7_006.cpp
new file mode 100644
index 000000000..0d9ec951b
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_7_006.cpp
@@ -0,0 +1,17 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2017 Abel Sinkovics. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --c++11
+//R #line 10 "t_7_006.hpp"
+//R header
+//R #line 17 "t_7_006.cpp"
+//R cpp_content
+
+#include "t_7_006.hpp"
+cpp_content \ No newline at end of file
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_7_006.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_7_006.hpp
new file mode 100644
index 000000000..061bf2ed8
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_7_006.hpp
@@ -0,0 +1,10 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2017 Abel Sinkovics. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+header \ No newline at end of file
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_001.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_001.cpp
new file mode 100644
index 000000000..0732c71d6
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_001.cpp
@@ -0,0 +1,23 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+ /*
+
+ Expose bug
+
+ */
+
+#if 1
+//R #line 18 "t_9_001.cpp"
+ void exposed() {} //R void exposed() {}
+#endif
+
+//H 10: t_9_001.cpp(16): #if
+//H 11: t_9_001.cpp(16): #if 1: 1
+//H 10: t_9_001.cpp(19): #endif
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_002.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_002.cpp
new file mode 100644
index 000000000..9c0b0ca6a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_002.cpp
@@ -0,0 +1,23 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#if 0
+ //
+ // some comment
+ //
+#endif
+
+ // another comment
+ // ----------------------------------------------------
+1
+//R #line 18 "t_9_002.cpp"
+//R 1
+
+//H 10: t_9_002.cpp(10): #if
+//H 11: t_9_002.cpp(10): #if 0: 0
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_003.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_003.cpp
new file mode 100644
index 000000000..845eeb8c7
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_003.cpp
@@ -0,0 +1,61 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test, if additional whitespace is inserted at appropriate places.
+
+#define STRINGIZE(x) STRINGIZE_D(x)
+#define STRINGIZE_D(x) #x
+
+#define X() 1
+#define PLUS() +
+#define MINUS() -
+#define DOT() .
+#define GREATER() >
+#define LESS() <
+
+//R #line 23 "t_9_003.cpp"
+X()2 //R 1 2
+STRINGIZE( X()2 ) //R "12"
+//R
+X() 2 //R 1 2
+STRINGIZE( X() 2 ) //R "1 2"
+//R
+PLUS()MINUS() //R +-
+STRINGIZE( PLUS()MINUS() ) //R "+-"
+//R
+PLUS()PLUS() //R + +
+STRINGIZE( PLUS()PLUS() ) //R "++"
+//R
+MINUS()MINUS() //R - -
+STRINGIZE( MINUS()MINUS() ) //R "--"
+//R
+DOT()DOT()DOT() //R .. .
+STRINGIZE( DOT()DOT()DOT() ) //R "..."
+
+// the following are regressions reported by Stefan Seefeld
+//R #line 43 "t_9_003.cpp"
+GREATER()GREATER() //R > >
+STRINGIZE( GREATER()GREATER() ) //R ">>"
+//R
+LESS()LESS() //R < <
+STRINGIZE( LESS()LESS() ) //R "<<"
+
+#define COMMA() ,
+#define AND() &
+#define CHAR() char
+#define STAR() *
+
+// Make sure no whitespace gets inserted in between the operator symbols
+//R #line 56 "t_9_003.cpp"
+void foo(char&, char) //R void foo(char&, char)
+void foo(char *) //R void foo(char *)
+void foo(char *&) //R void foo(char *&)
+void foo(CHAR()AND()COMMA() CHAR()) //R void foo(char&, char)
+void foo(CHAR() STAR()) //R void foo(char *)
+void foo(CHAR() STAR()AND()) //R void foo(char *&)
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_004.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_004.cpp
new file mode 100644
index 000000000..0a5fc6e9e
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_004.cpp
@@ -0,0 +1,28 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test if invalid or not allowed universal characters are rejected
+
+#define \u00ff ...
+
+//R #line 16 "t_9_004.cpp"
+//R ...
+\u00ff
+
+//E t_9_004.cpp(19): error: a universal character name cannot designate a character in the basic character set: \u0061
+#define \u0061 weird // 0x61 == 'a'
+
+\u0061
+
+//H 10: t_9_004.cpp(12): #define
+//H 08: t_9_004.cpp(12): \u00ff=...
+//H 01: t_9_004.cpp(12): \u00ff
+//H 02: ...
+//H 03: ...
+//H 18: boost::wave::lexing_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_005.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_005.cpp
new file mode 100644
index 000000000..f3e414dd4
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_005.cpp
@@ -0,0 +1,27 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, if no universal character values are to be generated accidently by
+// concatenation
+
+#define CONCAT(a, b) PRIMITIVE_CONCAT(a, b)
+#define PRIMITIVE_CONCAT(a, b) a ## b
+#define STRINGIZE(x) STRINGIZE_D(x)
+#define STRINGIZE_D(x) # x
+
+//R #line 19 "t_9_005.cpp"
+STRINGIZE( CONCAT(\, u00ff) ) //R "\u00ff"
+STRINGIZE( CONCAT(\u00, ff) ) //R "\u00ff"
+STRINGIZE( CONCAT(\u00ff, 56) ) //R "\u00ff56"
+CONCAT(\, u00ff) //R \u00ff
+CONCAT(\u00, ff) //R \ u00ff
+CONCAT(\u00ff, 56) //R \u00ff56
+
+//E t_9_005.cpp(27): error: a universal character name cannot designate a character in the basic character set: \u0061
+STRINGIZE( CONCAT(\, u0061) ) // reports an error
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_006.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_006.cpp
new file mode 100644
index 000000000..d96b464bb
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_006.cpp
@@ -0,0 +1,46 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// syntax for defined operator
+// is either:
+//
+// defined X
+//
+// -or-
+//
+// defined(X)
+//
+// i.e. the parenthesis are optional (ala sizeof)
+
+#define X
+
+//R #line 26 "t_9_006.cpp"
+//R "X" is defined.
+#if defined(X)
+"X" is defined.
+#else
+"X" is not defined.
+#endif
+
+//R #line 34 "t_9_006.cpp"
+//R "X" is defined.
+#if defined X
+"X" is defined.
+#else
+"X" is not defined.
+#endif
+
+//H 10: t_9_006.cpp(21): #define
+//H 08: t_9_006.cpp(21): X=
+//H 10: t_9_006.cpp(25): #if
+//H 11: t_9_006.cpp(25): #if defined(X): 1
+//H 10: t_9_006.cpp(27): #else
+//H 10: t_9_006.cpp(33): #if
+//H 11: t_9_006.cpp(33): #if defined X: 1
+//H 10: t_9_006.cpp(35): #else
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_007.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_007.cpp
new file mode 100644
index 000000000..c5348e6d8
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_007.cpp
@@ -0,0 +1,20 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test error reporting during redefinition of 'defined'
+
+//E t_9_007.cpp(13): warning: this predefined name may not be redefined: defined
+#define defined 1 // undefined in C++ (16.8/3), error in C99 (6.10.8/4)
+
+#if defined // error
+<error>
+#endif
+
+//H 10: t_9_007.cpp(13): #define
+//H 18: boost::wave::macro_handling_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_008.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_008.cpp
new file mode 100644
index 000000000..fa0b557d0
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_008.cpp
@@ -0,0 +1,16 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test error reporting during redefinition of 'defined'
+
+//E t_9_008.cpp(13): warning: #undef may not be used on this predefined name: defined
+#undef defined
+
+//H 10: t_9_008.cpp(13): #undef
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_009.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_009.cpp
new file mode 100644
index 000000000..6022034e8
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_009.cpp
@@ -0,0 +1,27 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests for a problem wrt preprocessing tokens (preprocessing numbers)
+
+#define X() X_ ## 0R()
+#define X_0R() ...
+
+//R #line 16 "t_9_009.cpp"
+X() //R ...
+
+//H 10: t_9_009.cpp(12): #define
+//H 08: t_9_009.cpp(12): X()=X_ ## 0R()
+//H 10: t_9_009.cpp(13): #define
+//H 08: t_9_009.cpp(13): X_0R()=...
+//H 00: t_9_009.cpp(16): X(), [t_9_009.cpp(12): X()=X_ ## 0R()]
+//H 02: X_0R()
+//H 00: t_9_009.cpp(12): X_0R(), [t_9_009.cpp(13): X_0R()=...]
+//H 02: ...
+//H 03: ...
+//H 03: ...
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_010.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_010.cpp
new file mode 100644
index 000000000..d4740440c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_010.cpp
@@ -0,0 +1,70 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, whether adjacent tokens are separated by whitespace if the adjacency
+// is created by macro expansion
+
+#define A(x) x
+
+//R #line 16 "t_9_010.cpp"
+A(1)1 //R 1 1
+A(1)X //R 1 X
+A(X)1 //R X 1
+A(X)X //R X X
+
+#define CAT(a, b) PRIMITIVE_CAT(a, b)
+#define PRIMITIVE_CAT(a, b) a ## b
+
+#define X() B
+#define ABC 1
+
+//R #line 28 "t_9_010.cpp"
+CAT(A, X() C) //R AB C
+CAT(A, X()C) //R AB C
+
+//H 10: t_9_010.cpp(13): #define
+//H 08: t_9_010.cpp(13): A(x)=x
+//H 00: t_9_010.cpp(16): A(1), [t_9_010.cpp(13): A(x)=x]
+//H 02: 1
+//H 03: 1
+//H 00: t_9_010.cpp(17): A(1), [t_9_010.cpp(13): A(x)=x]
+//H 02: 1
+//H 03: 1
+//H 00: t_9_010.cpp(18): A(X), [t_9_010.cpp(13): A(x)=x]
+//H 02: X
+//H 03: X
+//H 00: t_9_010.cpp(19): A(X), [t_9_010.cpp(13): A(x)=x]
+//H 02: X
+//H 03: X
+//H 10: t_9_010.cpp(21): #define
+//H 08: t_9_010.cpp(21): CAT(a, b)=PRIMITIVE_CAT(a, b)
+//H 10: t_9_010.cpp(22): #define
+//H 08: t_9_010.cpp(22): PRIMITIVE_CAT(a, b)=a ## b
+//H 10: t_9_010.cpp(24): #define
+//H 08: t_9_010.cpp(24): X()=B
+//H 10: t_9_010.cpp(25): #define
+//H 08: t_9_010.cpp(25): ABC=1
+//H 00: t_9_010.cpp(28): CAT(A, X() C), [t_9_010.cpp(21): CAT(a, b)=PRIMITIVE_CAT(a, b)]
+//H 00: t_9_010.cpp(28): X(), [t_9_010.cpp(24): X()=B]
+//H 02: B
+//H 03: B
+//H 02: PRIMITIVE_CAT(A, B C)
+//H 00: t_9_010.cpp(21): PRIMITIVE_CAT(A, B C), [t_9_010.cpp(22): PRIMITIVE_CAT(a, b)=a ## b]
+//H 02: AB C
+//H 03: AB C
+//H 03: AB C
+//H 00: t_9_010.cpp(29): CAT(A, X()C), [t_9_010.cpp(21): CAT(a, b)=PRIMITIVE_CAT(a, b)]
+//H 00: t_9_010.cpp(29): X(), [t_9_010.cpp(24): X()=B]
+//H 02: B
+//H 03: B
+//H 02: PRIMITIVE_CAT(A, BC)
+//H 00: t_9_010.cpp(21): PRIMITIVE_CAT(A, BC), [t_9_010.cpp(22): PRIMITIVE_CAT(a, b)=a ## b]
+//H 02: ABC
+//H 03: ABC
+//H 03: ABC
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_011.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_011.cpp
new file mode 100644
index 000000000..fb2e06b55
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_011.cpp
@@ -0,0 +1,30 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Test, if additional whitespace is inserted at appropriate places.
+
+//O --variadics
+
+#define PRIMITIVE_CAT(a, b) a ## b
+#define PRIMITIVE_CAT3(a, b, c) a ## b ## c
+
+//R #line 18 "t_9_011.cpp"
+PRIMITIVE_CAT(1, ABC) //R 1 ABC
+PRIMITIVE_CAT3(ABC, 1, ABC) //R ABC1ABC
+
+//H 10: t_9_011.cpp(14): #define
+//H 08: t_9_011.cpp(14): PRIMITIVE_CAT(a, b)=a ## b
+//H 10: t_9_011.cpp(15): #define
+//H 08: t_9_011.cpp(15): PRIMITIVE_CAT3(a, b, c)=a ## b ## c
+//H 00: t_9_011.cpp(18): PRIMITIVE_CAT(1, ABC), [t_9_011.cpp(14): PRIMITIVE_CAT(a, b)=a ## b]
+//H 02: 1ABC
+//H 03: 1ABC
+//H 00: t_9_011.cpp(19): PRIMITIVE_CAT3(ABC, 1, ABC), [t_9_011.cpp(15): PRIMITIVE_CAT3(a, b, c)=a ## b ## c]
+//H 02: ABC1ABC
+//H 03: ABC1ABC
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_012.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_012.cpp
new file mode 100644
index 000000000..36cf5a885
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_012.cpp
@@ -0,0 +1,25 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests, whether macro definition works when there is no whitespace in between
+// the macro name and the defined expansion list
+
+#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,\
+nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\
+CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,\
+nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
+
+//R #line 19 "t_9_012.cpp"
+CreateWindowA(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) //R CreateWindowExA(0L, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
+
+//H 10: t_9_012.cpp(13): #define
+//H 08: t_9_012.cpp(13): CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)=CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
+//H 00: t_9_012.cpp(19): CreateWindowA(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), [t_9_012.cpp(13): CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)=CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)]
+//H 02: CreateWindowExA(0L, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
+//H 03: CreateWindowExA(0L, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_013.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_013.cpp
new file mode 100644
index 000000000..6a8e21d8c
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_013.cpp
@@ -0,0 +1,19 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests error reporting of C99 features in C++ mode (without variadics)
+
+#define MACRO(a, b, c) a ## b ## c
+
+//E t_9_013.cpp(15): warning: empty macro arguments are not supported in pure C++ mode, use variadics mode to allow these: MACRO
+MACRO(1,, 3)
+
+//H 10: t_9_013.cpp(12): #define
+//H 08: t_9_013.cpp(12): MACRO(a, b, c)=a ## b ## c
+//H 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_014.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_014.cpp
new file mode 100644
index 000000000..35c80e05a
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_014.cpp
@@ -0,0 +1,15 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O --long_long
+// Tests 'LL' suffix
+
+//R #line 14 "t_9_014.cpp"
+1000LL //R 1000LL
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_015.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_015.cpp
new file mode 100644
index 000000000..3c1c21255
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_015.cpp
@@ -0,0 +1,15 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Tests 'LL' suffix
+
+//R #line 14 "t_9_015.cpp"
+//E t_9_015.cpp(14): warning: long long suffixes are not allowed in pure C++ mode, enable long_long mode to allow these: 1000LL
+1000LL
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_016.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_016.cpp
new file mode 100644
index 000000000..3b4106601
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_016.cpp
@@ -0,0 +1,42 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+#if !defined(inclusion)
+# define inclusion
+# include __FILE__
+# include "t_9_016.hpp"
+#else
+//R #line 18 "t_9_016.cpp"
+//R # define later
+#define EXPAND(x) x
+EXPAND(#) define later
+#endif
+
+//H 10: t_9_016.cpp(10): #if
+//H 11: t_9_016.cpp(10): #if !defined(inclusion): 1
+//H 10: t_9_016.cpp(11): #define
+//H 08: t_9_016.cpp(11): inclusion=
+//H 10: t_9_016.cpp(12): # include
+//H 04: "$P(t_9_016.cpp)"
+//H 05: $B(t_9_016.cpp) ($B(t_9_016.cpp))
+//H 10: t_9_016.cpp(10): #if
+//H 11: t_9_016.cpp(10): #if !defined(inclusion): 0
+//H 10: t_9_016.cpp(17): #define
+//H 08: t_9_016.cpp(17): EXPAND(x)=x
+//H 00: t_9_016.cpp(18): EXPAND(#), [t_9_016.cpp(17): EXPAND(x)=x]
+//H 02: #
+//H 03: #
+//H 10: t_9_016.cpp(19): #endif
+//H 06:
+//H 19: $B(t_9_016.cpp): inclusion
+//H 10: t_9_016.cpp(13): # include "t_9_016.hpp"
+//H 04: "t_9_016.hpp"
+//H 05: t_9_016.hpp ($B(t_9_016.hpp))
+//H 06:
+//H 10: t_9_016.cpp(14): #else
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_016.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_016.hpp
new file mode 100644
index 000000000..ef3aaa249
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_016.hpp
@@ -0,0 +1,11 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+/* intentionally left empty */
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_017.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_017.cpp
new file mode 100644
index 000000000..bb1c431dc
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_017.cpp
@@ -0,0 +1,75 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// tests, whether true and false are usable a 'normal' identifiers
+
+#define true 1
+#define false 0
+
+//R #line 18 "t_9_017.cpp"
+//R 1 is defined
+#if defined(true)
+true is defined
+#else
+true is not defined
+#endif
+
+//R #line 26 "t_9_017.cpp"
+//R 0 is defined
+#if defined(false)
+false is defined
+#else
+false is not defined
+#endif
+
+#undef true
+#undef false
+
+//R #line 37 "t_9_017.cpp"
+//R true is not defined
+#ifndef true
+true is not defined
+#else
+true is defined
+#endif
+
+//R #line 45 "t_9_017.cpp"
+//R false is not defined
+#ifndef false
+false is not defined
+#else
+false is defined
+#endif
+
+//H 10: t_9_017.cpp(12): #define
+//H 08: t_9_017.cpp(12): true=1
+//H 10: t_9_017.cpp(13): #define
+//H 08: t_9_017.cpp(13): false=0
+//H 10: t_9_017.cpp(17): #if
+//H 11: t_9_017.cpp(17): #if defined(true): 1
+//H 01: t_9_017.cpp(12): true
+//H 02: 1
+//H 03: 1
+//H 10: t_9_017.cpp(19): #else
+//H 10: t_9_017.cpp(25): #if
+//H 11: t_9_017.cpp(25): #if defined(false): 1
+//H 01: t_9_017.cpp(13): false
+//H 02: 0
+//H 03: 0
+//H 10: t_9_017.cpp(27): #else
+//H 10: t_9_017.cpp(31): #undef
+//H 09: t_9_017.cpp(31): true
+//H 10: t_9_017.cpp(32): #undef
+//H 09: t_9_017.cpp(32): false
+//H 10: t_9_017.cpp(36): #ifndef
+//H 11: t_9_017.cpp(36): #ifndef true: 0
+//H 10: t_9_017.cpp(38): #else
+//H 10: t_9_017.cpp(44): #ifndef
+//H 11: t_9_017.cpp(44): #ifndef false: 0
+//H 10: t_9_017.cpp(46): #else
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_018.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_018.cpp
new file mode 100644
index 000000000..a6d3818a9
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_018.cpp
@@ -0,0 +1,20 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// tests, whether macro redefinition does not crash anymore, even if the new
+// replacement list is shorter, than the initial one.
+
+//E t_9_018.cpp(15): warning: illegal macro redefinition: M1
+#define M1 1
+#define M1
+
+//H 10: t_9_018.cpp(14): #define
+//H 08: t_9_018.cpp(14): M1=1
+//H 10: t_9_018.cpp(15): #define
+//H 18: boost::wave::macro_handling_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_019.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_019.cpp
new file mode 100644
index 000000000..1141aa9e9
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_019.cpp
@@ -0,0 +1,21 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// tests, whether regression causing #include_next to infinitely recurse is
+// fixed
+
+//E t_9_019.hpp(11): error: could not find include file: t_9_019.hpp
+#include "t_9_019.hpp"
+
+// 10: t_9_019.cpp(14): #include "t_9_019.hpp"
+// 04: "t_9_019.hpp"
+// 05: $B(t_9_019.hpp) ($B(t_9_019.hpp))
+// 10: t_9_019.hpp(11): #include_next "t_9_019.hpp"
+// 04: "t_9_019.hpp" (include_next)
+// 18: boost::wave::preprocess_exception
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_019.hpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_019.hpp
new file mode 100644
index 000000000..39685a26b
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_019.hpp
@@ -0,0 +1,11 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// this shouldn't give an recursion
+#include_next "t_9_019.hpp"
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_020.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_020.cpp
new file mode 100644
index 000000000..f78ef776b
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_020.cpp
@@ -0,0 +1,48 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// tests whether whitespace is correctly handled in macro arguments
+
+//O --variadics
+
+#define STRINGIZE1(x) #x
+#define STRINGIZE(x) STRINGIZE1(x)
+
+#define MACRO(...) (__VA_ARGS__) - STRINGIZE((__VA_ARGS__))
+
+//R #line 20 "t_9_020.cpp"
+MACRO() //R () - "()"
+MACRO( ) //R () - "()"
+MACRO(a) //R (a) - "(a)"
+MACRO( a ) //R ( a ) - "( a )"
+MACRO( a ) //R ( a ) - "( a )"
+MACRO(a,b) //R (a,b) - "(a,b)"
+MACRO(a, b) //R (a, b) - "(a, b)"
+MACRO(a ,b) //R (a ,b) - "(a ,b)"
+MACRO( a ,b, c ) //R ( a ,b, c ) - "( a ,b, c )"
+MACRO( a ,b, c ) //R ( a ,b, c ) - "( a ,b, c )"
+
+#undef MACRO
+#define MACRO(x) [x]
+
+//R #line 35 "t_9_020.cpp"
+MACRO() //R []
+MACRO( ) //R []
+MACRO(123) //R [123]
+MACRO( 123 ) //R [ 123 ]
+MACRO( 123 ) //R [ 123 ]
+
+#define A(x) 1 x 3
+#define B(x) (1)x(3)
+
+//R #line 45 "t_9_020.cpp"
+A(2) //R 1 2 3
+STRINGIZE(A(2)) //R "1 2 3"
+STRINGIZE(B(2)) //R "(1)2(3)"
+STRINGIZE(B( 2 )) //R "(1) 2 (3)"
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_021.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_021.cpp
new file mode 100644
index 000000000..84b0e3314
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_021.cpp
@@ -0,0 +1,24 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Verifies that preprocessing directives are properly recognized only if
+// the '#' is really the first character on a line before macro expansion.
+// See http://www.open-std.org/jtc1/sc22/wg14/docs/rr/dr_144.html.
+
+#define EMPTY
+EMPTY # define M 1
+
+//R #line 15 "t_9_021.cpp"
+//R #define M 1
+
+//H 10: t_9_021.cpp(14): #define
+//H 08: t_9_021.cpp(14): EMPTY=
+//H 01: t_9_021.cpp(14): EMPTY
+//H 02:
+//H 03: _
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_022.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_022.cpp
new file mode 100644
index 000000000..119018e29
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_022.cpp
@@ -0,0 +1,18 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Verifies that preprocessing directives are properly recognized only if
+// the '#' is really the first character on a line before macro expansion.
+// See http://www.open-std.org/jtc1/sc22/wg14/docs/rr/dr_144.html.
+
+#define EMPTY
+# EMPTY define M 1
+
+//E t_9_022.cpp(15): error: ill formed preprocessor directive: # EMPTY define M 1
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_023.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_023.cpp
new file mode 100644
index 000000000..de6c4565f
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_023.cpp
@@ -0,0 +1,31 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Verifies that preprocessing directives are properly recognized only if
+// the '#' is really the first character on a line before macro expansion.
+// See http://www.open-std.org/jtc1/sc22/wg14/docs/rr/dr_144.html.
+
+#define _C_STD_BEGIN
+
+_C_STD_BEGIN
+#ifndef _M_CEE_PURE
+_C_LIB_DECL
+#endif
+
+//R #line 18 "t_9_023.cpp"
+//R _C_LIB_DECL
+
+//H 10: t_9_023.cpp(14): #define
+//H 08: t_9_023.cpp(14): _C_STD_BEGIN=
+//H 01: t_9_023.cpp(14): _C_STD_BEGIN
+//H 02:
+//H 03: _
+//H 10: t_9_023.cpp(17): #ifndef
+//H 11: t_9_023.cpp(17): #ifndef _M_CEE_PURE: 0
+//H 10: t_9_023.cpp(19): #endif
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_024.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_024.cpp
new file mode 100644
index 000000000..a57989b5e
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_024.cpp
@@ -0,0 +1,35 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2013 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+// Verifies resolution of #8848: Wave driver improperly processes 0xFFFFui64
+// token
+
+//O --long_long
+//D __TESTWAVE_SUPPORT_MS_EXTENSIONS__
+
+#if defined(__TESTWAVE_SUPPORT_MS_EXTENSIONS__)
+
+#define TEST 0xFFFFFui64
+
+TEST
+
+//R #line 19 "t_9_024.cpp"
+//R 0xFFFFFui64
+
+//H 10: t_9_024.cpp(15): #if
+//H 11: t_9_024.cpp(15): #if defined(__TESTWAVE_SUPPORT_MS_EXTENSIONS__): 1
+//H 10: t_9_024.cpp(17): #define
+//H 08: t_9_024.cpp(17): TEST=0xFFFFFui64
+//H 01: t_9_024.cpp(17): TEST
+//H 02: 0xFFFFFui64
+//H 03: 0xFFFFFui64
+//H 10: t_9_024.cpp(33): #endif
+
+#endif
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_025.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_025.cpp
new file mode 100644
index 000000000..579ffc2d4
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_025.cpp
@@ -0,0 +1,13 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//U yes
+//R #line 10 "file.hpp"
+//R "$P(utf8-test-ßµ™∃/file.hpp)"
+#include <utf8-test-ßµ™∃/file.hpp>
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_026.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_026.cpp
new file mode 100644
index 000000000..b4accc624
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_026.cpp
@@ -0,0 +1,14 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//U yes
+//O -S$P(utf8-test-ßµ™∃)
+//R #line 10 "file.hpp"
+//R "$P(utf8-test-ßµ™∃/file.hpp)"
+#include <file.hpp>
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_027.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_027.cpp
new file mode 100644
index 000000000..0755acacf
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_027.cpp
@@ -0,0 +1,12 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+//O -S$P(utf8-test-ßµ™∃)
+//E t_9_027.cpp(12): error: could not find include file: file.hpp
+#include <file.hpp>
diff --git a/src/boost/libs/wave/test/testwave/testfiles/t_9_028.cpp b/src/boost/libs/wave/test/testwave/testfiles/t_9_028.cpp
new file mode 100644
index 000000000..959c6f2ba
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/t_9_028.cpp
@@ -0,0 +1,13 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+
+//E t_9_028.cpp(12): error: could not find include file: utf8-test-ßµ™∃/file.hpp
+#include <utf8-test-ßµ™∃/file.hpp>
+
diff --git a/src/boost/libs/wave/test/testwave/testfiles/test.cfg b/src/boost/libs/wave/test/testwave/testfiles/test.cfg
new file mode 100644
index 000000000..ffe1a20a6
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/test.cfg
@@ -0,0 +1,251 @@
+#
+# Boost.Wave: A Standard compliant C++ preprocessor library
+# http://www.boost.org/
+#
+# Copyright (c) 2003-2013 Hartmut Kaiser. Distributed under the Boost
+# Software License, Version 1.0. (See accompanying file
+# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+#
+
+#
+# t_1: Macro expansion
+#
+t_1_001.cpp
+t_1_002.cpp
+t_1_003.cpp
+t_1_004.cpp
+t_1_005.cpp
+t_1_006.cpp
+t_1_007.cpp
+t_1_008.cpp
+t_1_009.cpp
+t_1_010.cpp
+t_1_011.cpp
+t_1_012.cpp
+t_1_013.cpp
+# t_1_014 currently disabled because of a known problem in the Wave library
+#t_1_014.cpp
+t_1_015.cpp
+t_1_016.cpp
+t_1_017.cpp
+t_1_018.cpp
+t_1_019.cpp
+t_1_020.cpp
+t_1_021.cpp
+t_1_022.cpp
+t_1_023.cpp
+t_1_024.cpp
+t_1_025.cpp
+t_1_026.cpp
+t_1_027.cpp
+t_1_028.cpp
+t_1_029.cpp
+t_1_030.cpp
+t_1_031.cpp
+t_1_032.cpp
+t_1_033.cpp
+t_1_034.cpp
+t_1_035.cpp
+t_1_036.cpp
+t_1_037.cpp
+t_1_038.cpp
+
+#
+# t_2: Preprocessing directives
+#
+t_2_001.cpp
+t_2_002.cpp
+t_2_003.cpp
+t_2_004.cpp
+t_2_005.cpp
+t_2_006.cpp
+t_2_007.cpp
+t_2_008.cpp
+t_2_009.cpp
+t_2_010.cpp
+t_2_011.cpp
+t_2_012.cpp
+t_2_013.cpp
+t_2_014.cpp
+t_2_015.cpp
+t_2_016.cpp
+t_2_017.cpp
+t_2_018.cpp
+t_2_019.cpp
+t_2_020.cpp
+t_2_021.cpp
+t_2_022.cpp
+
+#
+# t_3: Predefined macros
+#
+t_3_001.cpp
+t_3_002.cpp
+t_3_003.cpp
+t_3_004.cpp
+
+#
+# Preprocessing expressions
+#
+t_4_001.cpp
+t_4_002.cpp
+t_4_003.cpp
+t_4_004.cpp
+
+#
+# unit tests from the mcpp preprocessor validation suite
+# (general functionality)
+#
+t_5_001.cpp
+t_5_002.cpp
+t_5_003.cpp
+# t_5_004 is currently disabled because of a known problem in the Wave library
+#t_5_004.cpp
+t_5_005.cpp
+t_5_006.cpp
+t_5_007.cpp
+t_5_008.cpp
+t_5_009.cpp
+t_5_010.cpp
+t_5_011.cpp
+t_5_012.cpp
+t_5_013.cpp
+t_5_014.cpp
+t_5_015.cpp
+t_5_016.cpp
+t_5_017.cpp
+t_5_018.cpp
+t_5_019.cpp
+t_5_020.cpp
+t_5_021.cpp
+t_5_022.cpp
+t_5_023.cpp
+t_5_024.cpp
+t_5_025.cpp
+t_5_026.cpp
+t_5_027.cpp
+t_5_028.cpp
+t_5_029.cpp
+# t_5_030 contains one disabled test
+t_5_030.cpp
+t_5_031.cpp
+t_5_032.cpp
+t_5_033.cpp
+t_5_034.cpp
+t_5_035.cpp
+
+#
+# unit tests from the mcpp preprocessor validation suite
+# (error reporting)
+#
+t_6_001.cpp
+t_6_002.cpp
+t_6_003.cpp
+t_6_004.cpp
+t_6_005.cpp
+t_6_006.cpp
+t_6_007.cpp
+t_6_008.cpp
+t_6_009.cpp
+t_6_010.cpp
+t_6_011.cpp
+t_6_012.cpp
+t_6_013.cpp
+t_6_014.cpp
+t_6_015.cpp
+t_6_016.cpp
+t_6_017.cpp
+t_6_018.cpp
+t_6_019.cpp
+t_6_020.cpp
+t_6_021.cpp
+t_6_022.cpp
+t_6_023.cpp
+t_6_024.cpp
+t_6_025.cpp
+t_6_026.cpp
+t_6_027.cpp
+t_6_028.cpp
+t_6_029.cpp
+t_6_030.cpp
+t_6_031.cpp
+t_6_032.cpp
+t_6_033.cpp
+t_6_034.cpp
+t_6_035.cpp
+t_6_036.cpp
+t_6_037.cpp
+t_6_038.cpp
+t_6_039.cpp
+t_6_040.cpp
+t_6_041.cpp
+t_6_042.cpp
+t_6_043.cpp
+t_6_044.cpp
+t_6_045.cpp
+t_6_046.cpp
+t_6_047.cpp
+t_6_048.cpp
+t_6_049.cpp
+t_6_050.cpp
+t_6_051.cpp
+t_6_052.cpp
+t_6_053.cpp
+t_6_054.cpp
+t_6_055.cpp
+t_6_056.cpp
+t_6_057.cpp
+t_6_058.cpp
+t_6_059.cpp
+t_6_060.cpp
+t_6_061.cpp
+t_6_062.cpp
+t_6_063.cpp
+t_6_064.cpp
+t_6_065.cpp
+t_6_066.cpp
+t_6_067.cpp
+t_6_068.cpp
+t_6_069.cpp
+
+#
+# t_7: C++0x testing
+#
+t_7_001.cpp
+t_7_002.cpp
+t_7_003.cpp
+t_7_004.cpp
+t_7_005.cpp
+t_7_006.cpp
+
+#
+# t_9: General preprocessing problems
+#
+t_9_001.cpp
+t_9_002.cpp
+t_9_003.cpp
+t_9_004.cpp
+t_9_005.cpp
+t_9_006.cpp
+t_9_007.cpp
+t_9_008.cpp
+t_9_009.cpp
+t_9_010.cpp
+t_9_011.cpp
+t_9_012.cpp
+t_9_013.cpp
+t_9_014.cpp
+t_9_015.cpp
+t_9_016.cpp
+t_9_017.cpp
+t_9_018.cpp
+t_9_019.cpp
+t_9_020.cpp
+t_9_021.cpp
+t_9_022.cpp
+t_9_023.cpp
+t_9_024.cpp
+t_9_025.cpp
+t_9_026.cpp
+# t_9_027.cpp currently disabled, expected fail only on windows
+# t_9_028.cpp currently disabled, expected fail only on windows
diff --git a/src/boost/libs/wave/test/testwave/testfiles/utf8-test-ßµ™∃/file.hpp b/src/boost/libs/wave/test/testwave/testfiles/utf8-test-ßµ™∃/file.hpp
new file mode 100644
index 000000000..df704b2d0
--- /dev/null
+++ b/src/boost/libs/wave/test/testwave/testfiles/utf8-test-ßµ™∃/file.hpp
@@ -0,0 +1,10 @@
+/*=============================================================================
+ Boost.Wave: A Standard compliant C++ preprocessor library
+ http://www.boost.org/
+
+ Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
+ Software License, Version 1.0. (See accompanying file
+ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+__FILE__