The GNU C++ Library Manual xx
B.1.4 Make . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
B.2 Writing and Generating Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
B.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
B.2.2 Generating Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
B.2.3 Doxygen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
B.2.3.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
B.2.3.2 Generating the Doxygen Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
B.2.3.3 Debugging Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
B.2.3.4 Markup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
B.2.4 Docbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
B.2.4.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
B.2.4.2 Generating the DocBook Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
B.2.4.3 Debugging Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
B.2.4.4 Editing and Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
B.2.4.5 File Organization and Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
B.2.4.6 Markup By Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
B.3 Porting to New Hardware or Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
B.3.1 Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
B.3.2 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
B.3.3 Character Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
B.3.4 Thread Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
B.3.5 Numeric Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
B.3.6 Libtool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
B.4 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
B.4.1 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
B.4.1.1 Directory Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
B.4.1.2 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
B.4.2 Running the Testsuite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
B.4.2.1 Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
B.4.2.2 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
B.4.2.3 Permutations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
B.4.3 Writing a new test case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
B.4.4 Test Harness and Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
B.4.4.1 Dejagnu Harness Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
B.4.4.2 Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
B.4.5 Special Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
B.4.5.1 Qualifying Exception Safety Guarantees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
B.4.5.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
B.4.5.1.2 Existing tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339