This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch for "front end"/"front-end" etc. terminology


This patch attempts to make the use of "front end"/"front-end" and
"back end"/"back-end" consistent in the manual.  It passes "make info"
and "make dvi".  Applied to mainline.  (I'd like this considered for
the 3.0 branch as well.)

2001-06-21  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
	doc/gcc.texi, doc/install-old.texi, doc/install.texi,
	doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and
	"back end" as nouns and "front-end" and "back-end" as adjectives.

diff -ruN doc.orig/c-tree.texi doc/c-tree.texi
--- doc.orig/c-tree.texi	Thu Jun 14 22:40:20 2001
+++ doc/c-tree.texi	Wed Jun 20 23:24:39 2001
@@ -8,7 +8,7 @@
 @c ---------------------------------------------------------------------
 
 @node Trees
-@chapter Trees: The intermediate representation used by the C and C++ front-ends
+@chapter Trees: The intermediate representation used by the C and C++ front ends
 @cindex Trees
 @cindex C/C++ Internal Representation
 
@@ -18,7 +18,7 @@
 (including the generation of error messages), and then produces the
 internal representation described here.  This representation contains a
 complete representation for the entire translation unit provided as
-input to the front-end.  This representation is then typically processed
+input to the front end.  This representation is then typically processed
 by a code-generator in order to produce machine code, but could also be
 used in the creation of source browsers, intelligent editors, automatic
 documentation generators, interpreters, and any other programs needing
@@ -28,13 +28,13 @@
 documents the internal representation for C and C++ source
 constructs, and the macros, functions, and variables that can be used to
 access these constructs.  The C++ representation which is largely a superset
-of the representation used in the C front-end.  There is only one
-construct used in C that does not appear in the C++ front-end and that
+of the representation used in the C front end.  There is only one
+construct used in C that does not appear in the C++ front end and that
 is the GNU ``nested function'' extension.  Many of the macros documented
 here do not apply in C because the corresponding language constructs do
 not appear in C.
 
-If you are developing a ``back-end'', be it is a code-generator or some
+If you are developing a ``back end'', be it is a code-generator or some
 other tool, that uses this representation, you may occasionally find
 that you need to ask questions not easily answered by the functions and
 macros available here.  If that situation occurs, it is quite likely
@@ -42,8 +42,8 @@
 interface is simply not documented here.  In that case, you should ask
 the GCC maintainers (via mail to @email{gcc@@gcc.gnu.org}) about
 documenting the functionality you require.  Similarly, if you find
-yourself writing functions that do not deal directly with your back-end,
-but instead might be useful to other people using the GCC front-end, you
+yourself writing functions that do not deal directly with your back end,
+but instead might be useful to other people using the GCC front end, you
 should submit your patches for inclusion in GCC.
 
 @menu
@@ -134,7 +134,7 @@
 the usual practice is to compare the tree against
 @code{error_mark_node}.  (This test is just a test for pointer
 equality.)  If an error has occurred during front-end processing the
-flag @code{errorcount} will be set.  If the front-end has encountered
+flag @code{errorcount} will be set.  If the front end has encountered
 code it cannot handle, it will issue a message to the user and set
 @code{sorrycount}.  When these flags are set, any macro or function
 which normally returns a tree of a particular kind may instead return
@@ -144,16 +144,16 @@
 
 Occasionally, a particular tree slot (like an operand to an expression,
 or a particular field in a declaration) will be referred to as
-``reserved for the back-end.''  These slots are used to store RTL when
-the tree is converted to RTL for use by the GCC back-end.  However, if
-that process is not taking place (e.g., if the front-end is being hooked
+``reserved for the back end.''  These slots are used to store RTL when
+the tree is converted to RTL for use by the GCC back end.  However, if
+that process is not taking place (e.g., if the front end is being hooked
 up to an intelligent editor), then those slots may be used by the
-back-end presently in use.
+back end presently in use.
 
 If you encounter situations that do not match this documentation, such
 as tree nodes of types not mentioned here, or macros documented to
 return entities of a particular kind that instead return entities of
-some different kind, you have found a bug, either in the front-end or in
+some different kind, you have found a bug, either in the front end or in
 the documentation.  Please report these bugs as you would any other
 bug.
 
@@ -677,7 +677,7 @@
 Although most entries on this list will be declarations,
 @code{TREE_LIST} nodes may also appear.  In this case, the
 @code{TREE_VALUE} will be an @code{OVERLOAD}.  The value of the
-@code{TREE_PURPOSE} is unspecified; back-ends should ignore this value.
+@code{TREE_PURPOSE} is unspecified; back ends should ignore this value.
 As with the other kinds of declarations returned by
 @code{cp_namespace_decls}, the @code{TREE_CHAIN} will point to the next
 declaration in this list.
@@ -736,7 +736,7 @@
 
 The @code{TYPE_VFIELD} is a compiler-generated field used to point to
 virtual function tables.  It may or may not appear on the
-@code{TYPE_FIELDS} list.  However, back-ends should handle the
+@code{TYPE_FIELDS} list.  However, back ends should handle the
 @code{TYPE_VFIELD} just like all the entries on the @code{TYPE_FIELDS}
 list.
 
@@ -978,7 +978,7 @@
 data member) templates.  The @code{DECL_TEMPLATE_SPECIALIZATIONS} are a
 @code{TREE_LIST}.  The @code{TREE_VALUE} of each node in the list is a
 @code{TEMPLATE_DECL}s or @code{FUNCTION_DECL}s representing
-specializations (including instantiations) of this template.  Back-ends
+specializations (including instantiations) of this template.  Back ends
 can safely ignore @code{TEMPLATE_DECL}s, but should examine
 @code{FUNCTION_DECL} nodes on the specializations list just as they
 would ordinary @code{FUNCTION_DECL} nodes.
@@ -990,7 +990,7 @@
 
 @item USING_DECL
 
-Back-ends can safely ignore these nodes.
+Back ends can safely ignore these nodes.
 
 @end table
 
@@ -1044,12 +1044,12 @@
 use.  For details on the semantics of nested functions, see the GCC
 Manual.  The nested function can refer to local variables in its
 containing function.  Such references are not explicitly marked in the
-tree structure; back-ends must look at the @code{DECL_CONTEXT} for the
+tree structure; back ends must look at the @code{DECL_CONTEXT} for the
 referenced @code{VAR_DECL}.  If the @code{DECL_CONTEXT} for the
 referenced @code{VAR_DECL} is not the same as the function currently
 being processed, and neither @code{DECL_EXTERNAL} nor @code{DECL_STATIC}
 hold, then the reference is to a local variable in a containing
-function, and the back-end must take appropriate action.
+function, and the back end must take appropriate action.
 
 @menu
 * Function Basics::     Function names, linkage, and so forth.
@@ -1103,8 +1103,8 @@
 on systems that prefix all identifiers with underscores.  The mangled
 name is computed in the same way on all platforms; if special processing
 is required to deal with the object file format used on a particular
-platform, it is the responsibility of the back-end to perform those
-modifications.  (Of course, the back-end should not modify
+platform, it is the responsibility of the back end to perform those
+modifications.  (Of course, the back end should not modify
 @code{DECL_ASSEMBLER_NAME} itself.)
 
 @item DECL_EXTERNAL
@@ -1325,7 +1325,7 @@
 @findex WHILE_COND
 
 A function that has a definition in the current translation unit will
-have a non-NULL @code{DECL_INITIAL}.  However, back-ends should not make
+have a non-NULL @code{DECL_INITIAL}.  However, back ends should not make
 use of the particular value given by @code{DECL_INITIAL}.
 
 The @code{DECL_SAVED_TREE} macro will give the complete body of the
@@ -1460,7 +1460,7 @@
 
 Used to represent an action that should take place upon exit from the
 enclosing scope.  Typically, these actions are calls to destructors for
-local objects, but back-ends cannot rely on this fact.  If these nodes
+local objects, but back ends cannot rely on this fact.  If these nodes
 are in fact representing such destructors, @code{CLEANUP_DECL} will be
 the @code{VAR_DECL} destroyed.  Otherwise, @code{CLEANUP_DECL} will be
 @code{NULL_TREE}.  In any case, the @code{CLEANUP_EXPR} is the
@@ -1603,7 +1603,7 @@
 a scope.  On exit from a scope, all cleanups from @code{CLEANUP_STMT}s
 occurring in the scope must be run, in reverse order to the order in
 which they were encountered.  If @code{SCOPE_NULLIFIED_P} or
-@code{SCOPE_NO_CLEANUPS_P} holds of the scope, back-ends should behave
+@code{SCOPE_NO_CLEANUPS_P} holds of the scope, back ends should behave
 as if the @code{SCOPE_STMT} were not present at all.
 
 @item SUBOBJECT
@@ -1745,10 +1745,10 @@
 
 In what follows, some nodes that one might expect to always have type
 @code{bool} are documented to have either integral or boolean type.  At
-some point in the future, the C front-end may also make use of this same
+some point in the future, the C front end may also make use of this same
 intermediate representation, and at this point these nodes will
 certainly have integral type.  The previous sentence is not meant to
-imply that the C++ front-end does not or will not give these nodes
+imply that the C++ front end does not or will not give these nodes
 integral type.
 
 Below, we list the various kinds of expression nodes.  Except where
@@ -1927,7 +1927,7 @@
 
 @item NON_LVALUE_EXPR
 These nodes indicate that their one and only operand is not an lvalue.
-A back-end can treat these identically to the single operand.
+A back end can treat these identically to the single operand.
 
 @item NOP_EXPR
 These nodes are used to represent conversions that do not require any
@@ -1954,7 +1954,7 @@
 exception.  However, there is one implicit action not represented in
 that expression; namely the call to @code{__throw}.  This function takes
 no arguments.  If @code{setjmp}/@code{longjmp} exceptions are used, the
-function @code{__sjthrow} is called instead.  The normal GCC back-end
+function @code{__sjthrow} is called instead.  The normal GCC back end
 uses the function @code{emit_throw} to generate this code; you can
 examine this function to see what needs to be done.
 
@@ -1987,7 +1987,7 @@
 @itemx TRUTH_XOR_EXPR
 These nodes represent logical and, logical or, and logical exclusive or.
 They are strict; both arguments are always evaluated.  There are no
-corresponding operators in C or C++, but the front-end will sometimes
+corresponding operators in C or C++, but the front end will sometimes
 generate these expressions anyhow, if it can tell that strictness does
 not matter.
 
@@ -2157,7 +2157,7 @@
 
 @item CONSTRUCTOR
 These nodes represent the brace-enclosed initializers for a structure or
-array.  The first operand is reserved for use by the back-end.  The
+array.  The first operand is reserved for use by the back end.  The
 second operand is a @code{TREE_LIST}.  If the @code{TREE_TYPE} of the
 @code{CONSTRUCTOR} is a @code{RECORD_TYPE} or @code{UNION_TYPE}, then
 the @code{TREE_PURPOSE} of each node in the @code{TREE_LIST} will be a
diff -ruN doc.orig/contrib.texi doc/contrib.texi
--- doc.orig/contrib.texi	Thu Jun 14 22:40:20 2001
+++ doc/contrib.texi	Wed Jun 20 23:24:55 2001
@@ -28,7 +28,7 @@
 Alasdair Baird for various bugfixes.
 
 @item
-Gerald Baumgartner added the signature extension to the C++ front-end.
+Gerald Baumgartner added the signature extension to the C++ front end.
 
 @item
 Neil Booth for various work on cpplib.
@@ -282,7 +282,7 @@
 
 @item
 Warren Levy major work on libgcj (Java Runtime Library) and random
-work on the Java front-end.
+work on the Java front end.
 
 @item
 Alain Lichnewsky ported GCC to the Mips cpu.
diff -ruN doc.orig/extend.texi doc/extend.texi
--- doc.orig/extend.texi	Thu Jun 14 22:40:20 2001
+++ doc/extend.texi	Wed Jun 20 23:25:00 2001
@@ -2394,7 +2394,7 @@
 @code{transparent_union}, @code{unused}, and @code{weak}.  Some other
 attributes are defined for variables on particular target systems.  Other
 attributes are available for functions (@pxref{Function Attributes}) and
-for types (@pxref{Type Attributes}).  Other front-ends might define more
+for types (@pxref{Type Attributes}).  Other front ends might define more
 attributes (@pxref{C++ Extensions,,Extensions to the C++ Language}).
 
 You may also specify attributes with @samp{__} preceding and following
diff -ruN doc.orig/gcc.texi doc/gcc.texi
--- doc.orig/gcc.texi	Thu Jun 14 22:40:20 2001
+++ doc/gcc.texi	Wed Jun 20 23:25:38 2001
@@ -42,12 +42,12 @@
 @c anything else?                       --mew 10feb93
 
 @c For consistency, use the following:
+@c - "back end" as a noun, "back-end" as an adjective.
 @c - "bit-field" not "bitfield" or "bit field" (following the C and C++
 @c   standards).
 @c - "built-in" as an adjective ("built-in function"), or sometimes
 @c   "built in", not "builtin" (which isn't a word).
-@c - "front end" as a noun, "front-end" as an adjective (not yet
-@c   consistently followed).
+@c - "front end" as a noun, "front-end" as an adjective.
 
 @macro gcctabopt{body}
 @code{\body\}
@@ -263,7 +263,7 @@
 * Portability::     Goals of GCC's portability features.
 * Interface::       Function-call interface of GCC output.
 * Passes::          Order of passes, what they do, and what each file is for.
-* Trees::           The source representation used by the C and C++ front-ends.
+* Trees::           The source representation used by the C and C++ front ends.
 * RTL::             The intermediate representation that most passes work on.
 * Machine Desc::    How to write machine description instruction patterns.
 * Target Macros::   How to write the machine description C macros.
@@ -316,7 +316,7 @@
 affecting the behavior of ``GCC'' or sometimes just ``the compiler''.
 
 Front ends for other languages, such as Ada 95 and Pascal exist but
-have not yet been integrated into GCC. These front-ends, like that for C++,
+have not yet been integrated into GCC. These front ends, like that for C++,
 are built in subdirectories of GCC and link to it.  The result is an
 integrated compiler that can compile programs written in C, C++,
 Objective C, or any of the languages for which you have installed front
diff -ruN doc.orig/install-old.texi doc/install-old.texi
--- doc.orig/install-old.texi	Thu Jun 14 10:57:43 2001
+++ doc/install-old.texi	Wed Jun 20 23:25:52 2001
@@ -127,7 +127,7 @@
 This option does not cause the GNU linker to be installed; it just
 modifies the behavior of GNU CC to work with the GNU linker.
 @c Specifically, it inhibits the installation of @code{collect2}, a program
-@c which otherwise serves as a front-end for the system's linker on most
+@c which otherwise serves as a front end for the system's linker on most
 @c configurations.
 
 @item --with-stabs
@@ -767,7 +767,7 @@
 to choose alternate definitions of @code{CC}, @code{CFLAGS}, and
 @code{LIBS}.  See comments in those files.  However, you must
 also have a working version of the GNU assembler (GNU as, aka GAS) as
-it is used as the back-end for GNU CC to produce binary object modules
+it is used as the back end for GNU CC to produce binary object modules
 and is not included in the GNU CC sources.  GAS is also needed to
 compile @file{libgcc2} in order to build @file{gcclib} (see above);
 @file{make-l2.com} expects to be able to find it operational in
diff -ruN doc.orig/install.texi doc/install.texi
--- doc.orig/install.texi	Sat Jun 16 08:47:42 2001
+++ doc/install.texi	Wed Jun 20 23:26:08 2001
@@ -192,9 +192,9 @@
 
 If you choose to download specific components, you must download the core
 gcc distribution plus any language specific distributions you wish to
-use.  The core distribution includes the C language front-end as well as the
+use.  The core distribution includes the C language front end as well as the
 shared components. Each language has a tarball which includes the language
-front-end as well as the language runtime (when appropriate).
+front end as well as the language runtime (when appropriate).
 
 Unpack the core distribution as well as any language specific
 distributions in the same directory.
@@ -561,7 +561,7 @@
 used by GCJ should not be built.  This is useful in case you intend
 to use GCJ with some other run-time, or you're going to install it
 separately, or it just happens not to build on your particular
-machine.  In general, if the Java front-end is enabled, the GCJ
+machine.  In general, if the Java front end is enabled, the GCJ
 libraries will be enabled too, unless they're known to not work on
 the target platform.  If GCJ is enabled but libgcj isn't built, you
 may need to port it; in this case, before modifying the top-level
diff -ruN doc.orig/invoke.texi doc/invoke.texi
--- doc.orig/invoke.texi	Sun Jun 17 00:55:22 2001
+++ doc/invoke.texi	Wed Jun 20 23:29:03 2001
@@ -1688,16 +1688,16 @@
 the output device's aspect (e.g. its width, @dots{}).  The options described
 below can be used to control the diagnostic messages formatting
 algorithm, e.g. how many characters per line, how often source location
-information should be reported.  Right now, only the C++ front-end can
+information should be reported.  Right now, only the C++ front end can
 honor these options.  However it is expected, in the near future, that
-the remaining front-ends would be able to digest them correctly.
+the remaining front ends would be able to digest them correctly.
 
 @table @gcctabopt
 @item -fmessage-length=@var{n}
 @opindex fmessage-length
 Try to format error messages so that they fit on lines of about @var{n}
 characters.  The default is 72 characters for g++ and 0 for the rest of
-the front-ends supported by GCC.  If @var{n} is zero, then no
+the front ends supported by GCC.  If @var{n} is zero, then no
 line-wrapping will be done; each error message will appear on a single
 line.
 
diff -ruN doc.orig/rtl.texi doc/rtl.texi
--- doc.orig/rtl.texi	Tue Jun 19 20:45:34 2001
+++ doc/rtl.texi	Wed Jun 20 23:27:00 2001
@@ -380,7 +380,7 @@
 In @code{mem} expressions, the alias set to which @var{x} belongs.  If
 zero, @var{x} is not in any alias set, and may alias anything.  If
 nonzero, @var{x} may only alias objects in the same alias set.  This
-value is set (in a language-specific manner) by the front-end.  This
+value is set (in a language-specific manner) by the front end.  This
 field is not a bit-field; it is in an integer, found as the second
 argument to the @code{mem}.
 

-- 
Joseph S. Myers
jsm28@cam.ac.uk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]