diff --git a/docs/CodingStandards.html b/docs/CodingStandards.html index 176f796cf4e..489e47694c7 100644 --- a/docs/CodingStandards.html +++ b/docs/CodingStandards.html @@ -220,9 +220,9 @@ In practice, this means that you shouldn't assume much about the host compiler, C++ doesn't do too well in the modularity department. There is no real encapsulation or data hiding (unless you use expensive protocol classes), but it is what we have to work with. When you write a public header file (in the LLVM source tree, they live in the top level "include" directory), you are defining a module of functionality.
-Modules should be completely independent of each other, except for their dependence. A module is not just a class, a function, or a namespace: it's a collection of these that defines an interface. This interface may be several functions, classes or data structures, but the important issues is how they work together.
+Modules should be completely independent of each other, except for their dependence. A module is not just a class, a function, or a namespace: it's a collection of these that defines an interface. This interface may be several functions, classes or data structures, but the important issue is how they work together.
-One example of this is the llvm/include/llvm/CFG.h file. It defines a collection of global functions, template classes, and member functions that are syntactically unrelated to each other. Semantically, however, they all provide useful functionality for operating on a CFG, and so they are bound together.
+ In general, a module should be implemented with one or more .cpp files. Each of these .cpp files should include the header that defines their interface first. This ensure that all of the dependences of the module header have been properly added to the module header itself, and are not implicit. System headers should be included after user headers for a translation unit.
@@ -646,7 +646,7 @@ If you get some free time, and you haven't read them: do so, you might learn som
Chris Lattner -Last modified: Mon Jul 23 15:40:22 CDT 2001 +Last modified: Mon Oct 1 08:17:21 CDT 2001