2010-07-31 Release Manager
|
2010-07-31 Release Manager
|
|
|
* GCC 4.5.1 released.
|
* GCC 4.5.1 released.
|
|
|
2010-07-11 Kai Tietz
|
2010-07-11 Kai Tietz
|
|
|
Merged back from trunk
|
Merged back from trunk
|
PR ada/43731
|
PR ada/43731
|
* gcc-interface/Makefile.in: Add rules for multilib x86/x64
|
* gcc-interface/Makefile.in: Add rules for multilib x86/x64
|
mingw targets.
|
mingw targets.
|
|
|
2010-04-25 Eric Botcazou
|
2010-04-25 Eric Botcazou
|
|
|
* gcc-interface/trans.c (gnat_to_gnu) : Do not
|
* gcc-interface/trans.c (gnat_to_gnu) : Do not
|
use memmove if the array type is bit-packed.
|
use memmove if the array type is bit-packed.
|
|
|
2010-04-14 Release Manager
|
2010-04-14 Release Manager
|
|
|
* GCC 4.5.0 released.
|
* GCC 4.5.0 released.
|
|
|
2010-03-10 Eric Botcazou
|
2010-03-10 Eric Botcazou
|
|
|
* gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
|
* gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
|
|
|
2010-02-27 Eric Botcazou
|
2010-02-27 Eric Botcazou
|
|
|
PR ada/42253
|
PR ada/42253
|
* gcc-interface/utils2.c (build_binary_op) : Assert that fat
|
* gcc-interface/utils2.c (build_binary_op) : Assert that fat
|
pointer base types are variant of each other. Apply special treatment
|
pointer base types are variant of each other. Apply special treatment
|
for null to fat pointer types in all cases.
|
for null to fat pointer types in all cases.
|
|
|
2010-01-28 Pascal Obry
|
2010-01-28 Pascal Obry
|
|
|
* s-win32.ads: Add some missing constants.
|
* s-win32.ads: Add some missing constants.
|
|
|
2010-01-28 Vincent Celier
|
2010-01-28 Vincent Celier
|
|
|
* prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
|
* prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
|
Unknown_Package.
|
Unknown_Package.
|
|
|
2010-01-28 Robert Dewar
|
2010-01-28 Robert Dewar
|
|
|
* gnat_rm.texi: Minor correction
|
* gnat_rm.texi: Minor correction
|
|
|
2010-01-27 Pascal Obry
|
2010-01-27 Pascal Obry
|
|
|
* g-awk.adb: ensure that an AWK session is reusable.
|
* g-awk.adb: ensure that an AWK session is reusable.
|
|
|
2010-01-27 Vasiliy Fofanov
|
2010-01-27 Vasiliy Fofanov
|
|
|
* g-regist.adb (For_Every_Key): Fix previous change.
|
* g-regist.adb (For_Every_Key): Fix previous change.
|
Minor reformatting.
|
Minor reformatting.
|
|
|
2010-01-27 Thomas Quinot
|
2010-01-27 Thomas Quinot
|
|
|
* lib-writ.ads: Current version of spec for new N (note) ALI lines
|
* lib-writ.ads: Current version of spec for new N (note) ALI lines
|
|
|
2010-01-27 Yannick Moy
|
2010-01-27 Yannick Moy
|
|
|
* a-cdlili.adb (Insert): Correct exception message when cursor
|
* a-cdlili.adb (Insert): Correct exception message when cursor
|
designates wrong list.
|
designates wrong list.
|
|
|
2010-01-27 Vincent Celier
|
2010-01-27 Vincent Celier
|
|
|
* gnatcmd.adb: When there is only one main specified, the package
|
* gnatcmd.adb: When there is only one main specified, the package
|
support Switches () and attribute Switches is specified for the
|
support Switches () and attribute Switches is specified for the
|
main, use these switches, instead of Default_Switches ("Ada").
|
main, use these switches, instead of Default_Switches ("Ada").
|
|
|
2010-01-27 Robert Dewar
|
2010-01-27 Robert Dewar
|
|
|
* sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
|
* sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
|
implementation.
|
implementation.
|
* exp_disp.adb: Minor reformatting
|
* exp_disp.adb: Minor reformatting
|
|
|
2010-01-27 Tristan Gingold
|
2010-01-27 Tristan Gingold
|
|
|
* seh_init.c: Use __ImageBase instead of _ImageBase.
|
* seh_init.c: Use __ImageBase instead of _ImageBase.
|
|
|
2010-01-27 Javier Miranda
|
2010-01-27 Javier Miranda
|
|
|
* exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
|
* exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
|
profile of interface thunks. The type of the controlling formal is now
|
profile of interface thunks. The type of the controlling formal is now
|
the covered interface type (instead of the target tagged type).
|
the covered interface type (instead of the target tagged type).
|
|
|
2010-01-27 Sergey Rybin
|
2010-01-27 Sergey Rybin
|
|
|
* gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
|
* gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
|
|
|
2010-01-27 Robert Dewar
|
2010-01-27 Robert Dewar
|
|
|
* sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
|
* sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
|
changed from Expr to N.
|
changed from Expr to N.
|
|
|
2010-01-26 Thomas Quinot
|
2010-01-26 Thomas Quinot
|
|
|
* gnat_ugn.texi: Adjust documentation of -gnatz switches.
|
* gnat_ugn.texi: Adjust documentation of -gnatz switches.
|
* usage.adb: Replace line for -gnatz with two lines for -gnatzc and
|
* usage.adb: Replace line for -gnatz with two lines for -gnatzc and
|
-gnatzr.
|
-gnatzr.
|
|
|
2010-01-26 Vincent Celier
|
2010-01-26 Vincent Celier
|
|
|
* prj-attr.adb: Add new attribute Library_Install_Name_Option
|
* prj-attr.adb: Add new attribute Library_Install_Name_Option
|
Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
|
Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
|
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
|
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
|
attributes Run_Path_Option and Library_Install_Name_Option.
|
attributes Run_Path_Option and Library_Install_Name_Option.
|
* prj.ads (Project_Configuration): Replace component
|
* prj.ads (Project_Configuration): Replace component
|
Run_Path_Origin_Supported with component Run_Path_Origin. Add new
|
Run_Path_Origin_Supported with component Run_Path_Origin. Add new
|
component Library_Install_Name_Option.
|
component Library_Install_Name_Option.
|
* snames.ads-tmpl: Add new standard name Library_Install_Name_Option
|
* snames.ads-tmpl: Add new standard name Library_Install_Name_Option
|
Replace Run_Path_Origin_Supported with Run_Path_Origin
|
Replace Run_Path_Origin_Supported with Run_Path_Origin
|
|
|
2010-01-26 Ed Schonberg
|
2010-01-26 Ed Schonberg
|
|
|
* sem_ch8.adb (Use_One_Package): Within an instance, an actual package
|
* sem_ch8.adb (Use_One_Package): Within an instance, an actual package
|
is not hidden by a homograph declared in another actual package.
|
is not hidden by a homograph declared in another actual package.
|
|
|
2010-01-26 Robert Dewar
|
2010-01-26 Robert Dewar
|
|
|
* par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
|
* par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
|
decisions for pragmas Assert, Check, Precondition, Postcondition if
|
decisions for pragmas Assert, Check, Precondition, Postcondition if
|
-gnata set.
|
-gnata set.
|
* scos.ads: Update comments.
|
* scos.ads: Update comments.
|
* get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
|
* get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
|
Also remove obsolete code for CT (exit point) SCOs.
|
Also remove obsolete code for CT (exit point) SCOs.
|
|
|
2010-01-26 Thomas Quinot
|
2010-01-26 Thomas Quinot
|
|
|
* switch-c.adb: Fix handling of -gnatz*
|
* switch-c.adb: Fix handling of -gnatz*
|
|
|
2010-01-26 Robert Dewar
|
2010-01-26 Robert Dewar
|
|
|
* par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
|
* par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
|
qualifiers for FOR/WHILE loops
|
qualifiers for FOR/WHILE loops
|
* scos.ads: Use separate type letters F/W for for/while loops
|
* scos.ads: Use separate type letters F/W for for/while loops
|
|
|
2010-01-26 Robert Dewar
|
2010-01-26 Robert Dewar
|
|
|
* get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
|
* get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
|
entries per line, one for each statement in the sequence).
|
entries per line, one for each statement in the sequence).
|
* par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
|
* par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
|
size from 100 to 10_000 for SC_Array to avoid any real possibility of
|
size from 100 to 10_000 for SC_Array to avoid any real possibility of
|
overflow. Output decisions in for loops.
|
overflow. Output decisions in for loops.
|
Exclude labels from CS lines.
|
Exclude labels from CS lines.
|
* scos.ads: Clarify that label is not included in the entry point
|
* scos.ads: Clarify that label is not included in the entry point
|
|
|
2010-01-26 Robert Dewar
|
2010-01-26 Robert Dewar
|
|
|
* par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
|
* par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
|
format of statement sequence SCO entries (one location/statement).
|
format of statement sequence SCO entries (one location/statement).
|
* put_scos.adb (Put_SCOs): Implement new format of CS lines
|
* put_scos.adb (Put_SCOs): Implement new format of CS lines
|
* scos.ads: Update comments.
|
* scos.ads: Update comments.
|
* sem_eval.adb: Minor reformatting.
|
* sem_eval.adb: Minor reformatting.
|
|
|
2010-01-26 Robert Dewar
|
2010-01-26 Robert Dewar
|
|
|
* par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
|
* par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
|
(Extend_Statement_Sequence): New procedures
|
(Extend_Statement_Sequence): New procedures
|
(Traverse_Declarations_Or_Statements): New handling for exits.
|
(Traverse_Declarations_Or_Statements): New handling for exits.
|
|
|
2010-01-26 Robert Dewar
|
2010-01-26 Robert Dewar
|
|
|
* par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
|
* par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
|
Case.
|
Case.
|
|
|
2010-01-26 Robert Dewar
|
2010-01-26 Robert Dewar
|
|
|
* par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
|
* par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
|
* scos.ads: Clarify handling of logical operators
|
* scos.ads: Clarify handling of logical operators
|
|
|
2010-01-26 Arnaud Charlet
|
2010-01-26 Arnaud Charlet
|
|
|
* s-tpoben.adb: Update comments.
|
* s-tpoben.adb: Update comments.
|
|
|
2010-01-26 Robert Dewar
|
2010-01-26 Robert Dewar
|
|
|
* freeze.adb (Set_Small_Size): Don't set size if alignment clause
|
* freeze.adb (Set_Small_Size): Don't set size if alignment clause
|
present.
|
present.
|
|
|
2010-01-26 Robert Dewar
|
2010-01-26 Robert Dewar
|
|
|
* scos.ads: Clean up documentation, remove obsolete XOR references
|
* scos.ads: Clean up documentation, remove obsolete XOR references
|
2010-01-26 Vincent Celier
|
2010-01-26 Vincent Celier
|
|
|
* gnat_ugn.texi: Complete documentation on the restrictions for
|
* gnat_ugn.texi: Complete documentation on the restrictions for
|
combined options in -gnatxxx switches.
|
combined options in -gnatxxx switches.
|
Fix typo.
|
Fix typo.
|
|
|
2010-01-26 Arnaud Charlet
|
2010-01-26 Arnaud Charlet
|
|
|
* s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
|
* s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
|
a controlled operation, abort is already deferred at this point, so we
|
a controlled operation, abort is already deferred at this point, so we
|
need to use Defer_Abort_Nestable.
|
need to use Defer_Abort_Nestable.
|
|
|
2010-01-26 Vincent Celier
|
2010-01-26 Vincent Celier
|
|
|
* prj-conf.adb (Get_Config_Switches): Check for a default language for
|
* prj-conf.adb (Get_Config_Switches): Check for a default language for
|
a project extending a project with no languages.
|
a project extending a project with no languages.
|
|
|
2010-01-26 Vincent Celier
|
2010-01-26 Vincent Celier
|
|
|
* switch-c.adb (Scan_Front_End_Switches): Take into account options
|
* switch-c.adb (Scan_Front_End_Switches): Take into account options
|
that follow -gnatef.
|
that follow -gnatef.
|
Allow -gnateG to be followed by other options.
|
Allow -gnateG to be followed by other options.
|
|
|
2010-01-26 Robert Dewar
|
2010-01-26 Robert Dewar
|
|
|
* s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
|
* s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
|
s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
|
s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
|
reformatting.
|
reformatting.
|
|
|
2010-01-26 Vasiliy Fofanov
|
2010-01-26 Vasiliy Fofanov
|
|
|
* g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
|
* g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
|
that allows to iterate over all subkeys of a key.
|
that allows to iterate over all subkeys of a key.
|
|
|
2010-01-26 Ed Falis
|
2010-01-26 Ed Falis
|
|
|
* sysdep.c: enable NFS for VxWorks MILS
|
* sysdep.c: enable NFS for VxWorks MILS
|
* env.c: enable __gnat_environ for VxWorks MILS
|
* env.c: enable __gnat_environ for VxWorks MILS
|
* gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
|
* gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
|
|
|
2010-01-25 Bob Duff
|
2010-01-25 Bob Duff
|
|
|
* sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
|
* sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
|
is an internally-generated positional aggregate, and the bounds are
|
is an internally-generated positional aggregate, and the bounds are
|
already correctly set. We don't want to overwrite those bounds with
|
already correctly set. We don't want to overwrite those bounds with
|
bounds determined by context.
|
bounds determined by context.
|
|
|
2010-01-25 Robert Dewar
|
2010-01-25 Robert Dewar
|
|
|
* g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
|
* g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
|
exp_ch9.adb, g-sechas.ads: Minor reformatting.
|
exp_ch9.adb, g-sechas.ads: Minor reformatting.
|
|
|
2010-01-25 Thomas Quinot
|
2010-01-25 Thomas Quinot
|
|
|
* s-commun.adb (Last_Index): Count must be converted to SEO (a signed
|
* s-commun.adb (Last_Index): Count must be converted to SEO (a signed
|
integer type) before subtracting 1, otherwise the computation may wrap
|
integer type) before subtracting 1, otherwise the computation may wrap
|
(because size_t is modular) and cause the conversion to fail.
|
(because size_t is modular) and cause the conversion to fail.
|
|
|
2010-01-25 Ed Falis
|
2010-01-25 Ed Falis
|
|
|
* sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
|
* sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
|
|
|
2010-01-25 Vincent Celier
|
2010-01-25 Vincent Celier
|
|
|
* prj-attr.adb: New attribute Run_Path_Origin_Required
|
* prj-attr.adb: New attribute Run_Path_Origin_Required
|
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
|
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
|
attribute Run_Path_Origin_Required.
|
attribute Run_Path_Origin_Required.
|
* prj.ads (Project_Configuration): New component
|
* prj.ads (Project_Configuration): New component
|
Run_Path_Origin_Supported.
|
Run_Path_Origin_Supported.
|
* snames.ads-tmpl: New standard name Run_Path_Origin_Required
|
* snames.ads-tmpl: New standard name Run_Path_Origin_Required
|
|
|
2010-01-25 Ed Schonberg
|
2010-01-25 Ed Schonberg
|
|
|
* sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
|
* sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
|
have errors, do not continue resolution of the aggregate.
|
have errors, do not continue resolution of the aggregate.
|
* sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
|
* sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
|
the array type indicates an error.
|
the array type indicates an error.
|
|
|
2010-01-25 Bob Duff
|
2010-01-25 Bob Duff
|
|
|
* sinfo.ads: Minor comment fixes.
|
* sinfo.ads: Minor comment fixes.
|
|
|
2010-01-25 Bob Duff
|
2010-01-25 Bob Duff
|
|
|
* exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
|
* exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
|
|
|
2010-01-25 Arnaud Charlet
|
2010-01-25 Arnaud Charlet
|
|
|
* gnatvsn.ads (Current_Year): Update.
|
* gnatvsn.ads (Current_Year): Update.
|
|
|
2010-01-25 Florian Villoing
|
2010-01-25 Florian Villoing
|
|
|
* gnat_ugn.texi: Fix typo.
|
* gnat_ugn.texi: Fix typo.
|
|
|
2010-01-25 Thomas Quinot
|
2010-01-25 Thomas Quinot
|
|
|
* scos.ads: Update specification.
|
* scos.ads: Update specification.
|
|
|
2010-01-25 Ed Schonberg
|
2010-01-25 Ed Schonberg
|
|
|
* sem_ch6.adb (Process_PPCs): If a postcondition is present and the
|
* sem_ch6.adb (Process_PPCs): If a postcondition is present and the
|
enclosing subprogram has no previous spec, attach postcondition
|
enclosing subprogram has no previous spec, attach postcondition
|
procedure to the defining entity for the body.
|
procedure to the defining entity for the body.
|
|
|
2010-01-25 Ed Schonberg
|
2010-01-25 Ed Schonberg
|
|
|
* exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
|
* exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
|
initialization procedure of the ancestor part of an extension aggregate
|
initialization procedure of the ancestor part of an extension aggregate
|
if it is an interface type.
|
if it is an interface type.
|
|
|
2010-01-25 Vincent Celier
|
2010-01-25 Vincent Celier
|
|
|
* gnatlink.adb (Process_Binder_File): The directory for the shared
|
* gnatlink.adb (Process_Binder_File): The directory for the shared
|
version of libgcc in the run path options is found in the subdirectory
|
version of libgcc in the run path options is found in the subdirectory
|
indicated by __gnat_default_libgcc_subdir.
|
indicated by __gnat_default_libgcc_subdir.
|
* link.c: Declare new const char * __gnat_default_libgcc_subdir for
|
* link.c: Declare new const char * __gnat_default_libgcc_subdir for
|
each platform.
|
each platform.
|
|
|
2010-01-25 Ed Schonberg
|
2010-01-25 Ed Schonberg
|
|
|
* sem_prag.adb: More flexible pragma Annotate.
|
* sem_prag.adb: More flexible pragma Annotate.
|
|
|
2010-01-22 Eric Botcazou
|
2010-01-22 Eric Botcazou
|
|
|
* system-linux-armel.ads (Stack_Check_Probes): Set to True.
|
* system-linux-armel.ads (Stack_Check_Probes): Set to True.
|
* system-linux-armeb.ads (Stack_Check_Probes): Likewise.
|
* system-linux-armeb.ads (Stack_Check_Probes): Likewise.
|
|
|
2010-01-18 Eric Botcazou
|
2010-01-18 Eric Botcazou
|
|
|
* gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
|
* gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
|
|
|
2010-01-18 Jan Hubicka
|
2010-01-18 Jan Hubicka
|
|
|
PR middle-end/42068
|
PR middle-end/42068
|
* gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
|
* gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
|
unit local variables.
|
unit local variables.
|
|
|
2010-01-17 Laurent GUERBY
|
2010-01-17 Laurent GUERBY
|
|
|
* gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
|
* gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
|
|
|
2010-01-11 Mikael Pettersson
|
2010-01-11 Mikael Pettersson
|
|
|
* gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
|
* gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
|
* system-linux-armeb.ads, system-linux-armel.ads: New files.
|
* system-linux-armeb.ads, system-linux-armel.ads: New files.
|
|
|
2010-01-09 Simon Wright
|
2010-01-09 Simon Wright
|
|
|
PR ada/42626
|
PR ada/42626
|
* gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
|
* gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
|
end-quote.
|
end-quote.
|
|
|
|
|
|
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
|
|
Copying and distribution of this file, with or without modification,
|
Copying and distribution of this file, with or without modification,
|
are permitted in any medium without royalty provided the copyright
|
are permitted in any medium without royalty provided the copyright
|
notice and this notice are preserved.
|
notice and this notice are preserved.
|
|
|