[hellogcc] [patch 2 sourcebuild.texi] Update gccint-zh trunk to upstreams r179462

  • From: Yao Qi <qiyaoltc@xxxxxxxxx>
  • To: hellogcc@xxxxxxxxxxxxx
  • Date: Fri, 7 Oct 2011 21:59:04 +0800

On Fri, Oct 07, 2011 at 09:47:15PM +0800, Yao Qi wrote:
> 
> Index: sourcebuild.texi
> ===================================================================
> --- sourcebuild.texi  (revision 170935)
> +++ sourcebuild.texi  (revision 179462)
> @@ -366,7 +366,7 @@
>  @end table
>  
>  DVI-formatted manuals are generated by @samp{make dvi}, which uses
> -@command{texi2dvi} (via the Makefile macro @code{$(TEXI2DVI)}).  
> +@command{texi2dvi} (via the Makefile macro @code{$(TEXI2DVI)}).
>  PDF-formatted manuals are generated by @samp{make pdf}, which uses
>  @command{texi2pdf} (via the Makefile macro @code{$(TEXI2PDF)}).  HTML
>  formatted manuals are generated by @samp{make html}.  Info
> @@ -834,6 +834,9 @@
>  @file{MAINTAINERS}.  Some existing architectures may be unmaintained,
>  but it would be unusual to add support for a target that does not have
>  a maintainer when support is added.
> +@item
> +Target triplets covering all @file{config.gcc} stanzas for the target,
> +in the list in @file{contrib/config-list.mk}.
>  @end itemize
>  
>  @node Testsuites
> @@ -1013,6 +1016,11 @@
>  default, or that don't provide them at all.  It must come after
>  all @code{dg-options} directives.
>  For supported values of @var{feature} see @ref{Add Options, ,}.
> +
> +@item @{ dg-additional-options @var{options} [@{ target @var{selector} @}] @}
> +This directive provides a list of compiler options, to be used
> +if the target system matches @var{selector}, that are added to the default
> +options used for this set of tests.
>  @end table
>  
>  @subsubsection Modify the test timeout value
> @@ -1671,6 +1679,9 @@
>  conversion functions and overflow is not always detected correctly by
>  those functions.
>  
> +@item mmap
> +Target supports @code{mmap}.
> +
>  @item newlib
>  Target supports Newlib.
>  
> @@ -1752,6 +1763,9 @@
>  @item gc_sections
>  Target supports @option{--gc-sections}.
>  
> +@item gld
> +Target uses GNU @command{ld}.
> +
>  @item keeps_null_pointer_checks
>  Target keeps null pointer checks, either due to the use of
>  @option{-fno-delete-null-pointer-checks} or hardwired into the target.
> @@ -1779,6 +1793,9 @@
>  @item pe_aligned_commons
>  Target supports @option{-mpe-aligned-commons}.
>  
> +@item pie
> +Target supports @option{-pie}, @option{-fpie} and @option{-fPIE}.
> +
>  @item section_anchors
>  Target supports section anchors.
>  
> @@ -2113,9 +2130,9 @@
>  @node Ada Tests
>  @section Ada Language Testsuites
>  
> -The Ada testsuite includes executable tests from the ACATS 2.5
> +The Ada testsuite includes executable tests from the ACATS
>  testsuite, publicly available at
> -@uref{http://www.adaic.org/compilers/acats/2.5}.
> +@uref{http://www.ada-auth.org/acats.html}.
>  
>  These tests are integrated in the GCC testsuite in the
>  @file{ada/acats} directory, and
> Index: plugins.texi
> ===================================================================
> --- plugins.texi      (revision 170935)
> +++ plugins.texi      (revision 179462)
> @@ -14,7 +14,7 @@
>  and invoked at pre-determined locations in the compilation
>  process.
>  
> -Plugins are loaded with 
> +Plugins are loaded with
>  
>  @option{-fplugin=/path/to/@var{name}.so} 
> @option{-fplugin-arg-@var{name}-@var{key1}[=@var{value1}]}
>  
> @@ -151,6 +151,7 @@
>  @{
>    PLUGIN_PASS_MANAGER_SETUP,    /* To hook into pass manager.  */
>    PLUGIN_FINISH_TYPE,           /* After finishing parsing a type.  */
> +  PLUGIN_FINISH_DECL,           /* After finishing parsing a declaration. */
>    PLUGIN_FINISH_UNIT,           /* Useful for summary processing.  */
>    PLUGIN_PRE_GENERICIZE,        /* Allows to see low level AST in C and C++ 
> frontends.  */
>    PLUGIN_FINISH,                /* Called before GCC exits.  */
> @@ -264,7 +265,7 @@
>  @end smallexample
>  
>  
> -@section Interacting with the GCC Garbage Collector 
> +@section Interacting with the GCC Garbage Collector
>  
>  Some plugins may want to be informed when GGC (the GCC Garbage
>  Collector) is running. They can register callbacks for the
> @@ -277,7 +278,7 @@
>  for the @code{PLUGIN_GGC_MARKING} event. Such callbacks can call the
>  @code{ggc_set_mark} routine, preferably thru the @code{ggc_mark} macro
>  (and conversely, these routines should usually not be used in plugins
> -outside of the @code{PLUGIN_GGC_MARKING} event).  
> +outside of the @code{PLUGIN_GGC_MARKING} event).
>  
>  Some plugins may need to add extra GGC root tables, e.g. to handle their own
>  @code{GTY}-ed data. This can be done with the 
> @code{PLUGIN_REGISTER_GGC_ROOTS}
> @@ -331,12 +332,12 @@
>  
>  /* Attribute definition */
>  static struct attribute_spec user_attr =
> -  @{ "user", 1, 1, false,  false, false, handle_user_attribute @};
> +  @{ "user", 1, 1, false,  false, false, handle_user_attribute, false @};
>  
>  /* Plugin callback called during attribute registration.
>  Registered with register_callback (plugin_name, PLUGIN_ATTRIBUTES, 
> register_attributes, NULL)
>  */
> -static void 
> +static void
>  register_attributes (void *event_data, void *data)
>  @{
>    warning (0, G_("Callback to register attributes"));
> @@ -356,8 +357,8 @@
>       register_callback (plugin_name, PLUGIN_PRAGMAS,
>                          register_my_pragma, NULL);
>  */
> -static void 
> -register_my_pragma (void *event_data, void *data) 
> +static void
> +register_my_pragma (void *event_data, void *data)
>  @{
>    warning (0, G_("Callback to register pragmas"));
>    c_register_pragma ("GCCPLUGIN", "sayhello", handle_pragma_sayhello);
> @@ -365,7 +366,7 @@
>  @end smallexample
>  
>  It is suggested to pass @code{"GCCPLUGIN"} (or a short name identifying
> -your plugin) as the ``space'' argument of your pragma. 
> +your plugin) as the ``space'' argument of your pragma.
>  
>  
>  @section Recording information about pass execution
> @@ -417,6 +418,17 @@
>  Inside plugins, this @code{plugin} directory name can be queried by
>  calling @code{default_plugin_dir_name ()}.
>  
> +Plugins may know, when they are compiled, the GCC version for which
> +@file{plugin-version.h} is provided.  The constant macros
> +@code{GCCPLUGIN_VERSION_MAJOR}, @code{GCCPLUGIN_VERSION_MINOR},
> +@code{GCCPLUGIN_VERSION_PATCHLEVEL}, @code{GCCPLUGIN_VERSION} are
> +integer numbers, so a plugin could ensure it is built for GCC 4.7 with 
> +@smallexample
> +#if GCCPLUGIN_VERSION != 4007
> +#error this GCC plugin is for GCC 4.7
> +#endif
> +@end smallexample
> +
>  The following GNU Makefile excerpt shows how to build a simple plugin:
>  
>  @smallexample
> @@ -435,6 +447,6 @@
>  plugin.so}, using backquote shell syntax to query the @file{plugin}
>  directory.
>  
> -Plugins needing to use @command{gengtype} require a GCC build
> -directory for the same version of GCC that they will be linked
> -against.
> +When a plugin needs to use @command{gengtype}, be sure that both
> +@file{gengtype} and @file{gtype.state} have the same version as the
> +GCC for which the plugin is built.

-- 
Yao Qi <qiyaoltc AT gmail DOT com>

Don't go around saying the world owes you a living.  The world owes you
nothing.  It was here first.
                -- Mark Twain

Index: sourcebuild.texi
===================================================================
--- sourcebuild.texi    (revision 377)
+++ sourcebuild.texi    (working copy)
@@ -1092,8 +1092,10 @@
 @en but it would be unusual to add support for a target that does not have
 @en a maintainer when support is added.
 
通常的,会在@file{MAINTAINERS}中列出该目标的一个或多个维护者。虽然有些现存的体系结构可能没有被维护了,但是通常是不会为没有维护者的目标提供支持的。
+@item
+Target triplets covering all @file{config.gcc} stanzas for the target,
+in the list in @file{contrib/config-list.mk}.
 @end itemize
-
 @en @node Testsuites
 @en @chapter Testsuites
 @node Testsuites
@@ -1378,6 +1380,10 @@
 其必须在所有@code{dg-options}指令之后。
 
 支持的@var{feature}为:
+@item @{ dg-additional-options @var{options} [@{ target @var{selector} @}] @}
+This directive provides a list of compiler options, to be used
+if the target system matches @var{selector}, that are added to the default
+options used for this set of tests.
 @end table
 
 @subsubsection Modify the test timeout value
@@ -2046,6 +2052,9 @@
 conversion functions and overflow is not always detected correctly by
 those functions.
 
+@item mmap
+Target supports @code{mmap}.
+
 @item newlib
 Target supports Newlib.
 
@@ -2127,6 +2136,9 @@
 @item gc_sections
 Target supports @option{--gc-sections}.
 
+@item gld
+Target uses GNU @command{ld}.
+
 @item keeps_null_pointer_checks
 Target keeps null pointer checks, either due to the use of
 @option{-fno-delete-null-pointer-checks} or hardwired into the target.
@@ -2154,6 +2166,9 @@
 @item pe_aligned_commons
 Target supports @option{-mpe-aligned-commons}.
 
+@item pie
+Target supports @option{-pie}, @option{-fpie} and @option{-fPIE}.
+
 @item section_anchors
 Target supports section anchors.
 
@@ -2490,11 +2505,11 @@
 @node Ada Tests
 @section Ada语言测试包
 
-The Ada testsuite includes executable tests from the ACATS 2.5
+The Ada testsuite includes executable tests from the ACATS
 testsuite, publicly available at
-@uref{http://www.adaic.org/compilers/acats/2.5}.
-Ada测试包包括了来自ACATS 2.5测试包的可执行测试,
-其在@uref{http://www.adaic.org/compilers/acats/2.5}上可公开获得。;
+@uref{http://www.ada-auth.org/acats.html}.
+Ada测试包包括了来自ACATS测试包的可执行测试,
+其在@uref{http://www.ada-auth.org/acats.html}上可公开获得。;
 
 These tests are integrated in the GCC testsuite in the
 @file{ada/acats} directory, and


Other related posts:

  • » [hellogcc] [patch 2 sourcebuild.texi] Update gccint-zh trunk to upstreams r179462 - Yao Qi