Appendix D.  MPL Portability Summary
Team LiB
Previous Section Next Section

Appendix D. MPL Portability Summary

Most reasonably conforming compilers "just work" with the MPL. We haven't tested every compiler in existence, but Table D.1 lists a few that are known to work as described in the text without any special user intervention. Please keep in mind that this is not a complete list; you can refer to this book's companion CD for more detailed portability reports.

Table D.1. Some Compilers Requiring No User Workarounds

Name

Version

Comeau

4.3.3

GCC

3.2.2

GCC

3.3.1

GCC

3.4

Intel C++

7.1

Intel C++

8.0

Metrowerks CodeWarrior

8.3

Metrowerks CodeWarrior

9.2

Microsoft Visual C++

7.1


The compilers listed in Table D.2 have incomplete support for templates, and so require some help from users, as shown in the last column. See this book's companion CD for specific details of these workarounds.

Table D.2. Compilers That Require User Workarounds

Compiler

Version

Problematic Areas

Borland C++

5.5.1

Lambda expressions, integral constant expressions

Borland C++

5.6.4

Lambda expressions, integral constant expressions

GCC

2.95.3

Lambda expressions

Microsoft Visual C++

6.0 sp5

Lambda expressions, ETI

Microsoft Visual C++

7.0

Lambda expressions, ETI


Finally, the template machinery in a few compilers has so many problems that even with help from the user we're unable to make the MPL work at all (see Table D.3). The fact that one version of a compiler appears in this list does not mean that future versions are also unworkablesome vendors are working hard to correct the problems... and, as of this writing, some are not.

Table D.3. Compilers Known Not to Work with MPL

Name

Version

HP aCC

03.55

Sun CC

5.6


    Team LiB
    Previous Section Next Section