Commit ee142fe7 by Kazu Hirata

ChangeLog: Follow spelling conventions.

	* ChangeLog: Follow spelling conventions.
	* class.c: Likewise.
	* decl.c: Likewise.
	* expr.c: Likewise.
	* gjavah.c: Likewise.
	* java-tree.h: Likewise.
	* jcf-dump.c: Likewise.
	* jcf-parse.c: Likewise.
	* jvspec.c: Likewise.
	* lang.c: Likewise.
	* mangle.c: Likewise.
	* parse.y: Likewise.

From-SVN: r57378
parent 42a6388c
2002-09-20 Kazu Hirata <kazu@cs.umass.edu>
* ChangeLog: Follow spelling conventions.
* class.c: Likewise.
* decl.c: Likewise.
* expr.c: Likewise.
* gjavah.c: Likewise.
* java-tree.h: Likewise.
* jcf-dump.c: Likewise.
* jcf-parse.c: Likewise.
* jvspec.c: Likewise.
* lang.c: Likewise.
* mangle.c: Likewise.
* parse.y: Likewise.
2002-09-17 Tom Tromey <tromey@redhat.com> 2002-09-17 Tom Tromey <tromey@redhat.com>
* lex.c (java_read_unicode_collapsing_terminators): Handle case * lex.c (java_read_unicode_collapsing_terminators): Handle case
...@@ -2830,7 +2845,7 @@ Tue Oct 23 14:02:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> ...@@ -2830,7 +2845,7 @@ Tue Oct 23 14:02:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
(generate_classfile): Compute the attribute count, invoke (generate_classfile): Compute the attribute count, invoke
`append_gcj_attribute'. `append_gcj_attribute'.
* jcf.h (typedef struct JCF): `seen_in_zip' and `java_source' * jcf.h (typedef struct JCF): `seen_in_zip' and `java_source'
turned into bit fields. New bit field `right_zip.' turned into bit-fields. New bit-field `right_zip.'
(JCF_ZERO): Set `right_zip' to zero. (JCF_ZERO): Set `right_zip' to zero.
* lang-options.h (-fforce-classes-archive-check): Added flag. * lang-options.h (-fforce-classes-archive-check): Added flag.
* lang.c (flag_force_classes_archive_check): New flag. * lang.c (flag_force_classes_archive_check): New flag.
...@@ -6912,8 +6927,8 @@ Fri Dec 24 00:25:29 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> ...@@ -6912,8 +6927,8 @@ Fri Dec 24 00:25:29 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf.h (typedef struct JCF): Field `outofsynch' deleted. * jcf.h (typedef struct JCF): Field `outofsynch' deleted.
(jcf_out_of_synch): Prototype deleted. (jcf_out_of_synch): Prototype deleted.
* parse.h (struct parser_ctxt): `minus_seen', `java_error_flag', * parse.h (struct parser_ctxt): `minus_seen', `java_error_flag',
`deprecated' and `class_err': integer turned into bit fields. `deprecated' and `class_err': integer turned into bit-fields.
New bit fields `saved_data_ctx' and `saved_data'. Fixed comments. New bit-fields `saved_data_ctx' and `saved_data'. Fixed comments.
* parse.y (package_list): New global. * parse.y (package_list): New global.
(package_declaration:): Record newly parsed package name. (package_declaration:): Record newly parsed package name.
(extra_ctxp_pushed_p): Static global deleted. (extra_ctxp_pushed_p): Static global deleted.
...@@ -12888,7 +12903,7 @@ Mon Apr 27 10:50:05 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> ...@@ -12888,7 +12903,7 @@ Mon Apr 27 10:50:05 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
this_wfl. Call to parse_error_context uses this_wfl instead of this_wfl. Call to parse_error_context uses this_wfl instead of
relying on lookup_cl. relying on lookup_cl.
(parser_check_super): Comment reflects function's new returned (parser_check_super): Comment reflects function's new returned
type (int). Function returns non zero value on error. type (int). Function returns nonzero value on error.
(create_jdep_list, reverse_jdep_list, obtain_incomplete_type, (create_jdep_list, reverse_jdep_list, obtain_incomplete_type,
register_incomplete_type, jdep_resolve_class): New functions to register_incomplete_type, jdep_resolve_class): New functions to
handle incomplete types in declarations. handle incomplete types in declarations.
......
...@@ -75,7 +75,7 @@ typedef struct assume_compiled_node_struct ...@@ -75,7 +75,7 @@ typedef struct assume_compiled_node_struct
/* The class or package name. */ /* The class or package name. */
const char *ident; const char *ident;
/* Non-zero if this represents an exclusion. */ /* Nonzero if this represents an exclusion. */
int excludep; int excludep;
/* Pointers to other nodes in the tree. */ /* Pointers to other nodes in the tree. */
...@@ -141,7 +141,7 @@ find_assume_compiled_node (node, ident) ...@@ -141,7 +141,7 @@ find_assume_compiled_node (node, ident)
} }
/* Add a new IDENT to the include/exclude tree. It's an exclusion /* Add a new IDENT to the include/exclude tree. It's an exclusion
if EXCLUDEP is non-zero. */ if EXCLUDEP is nonzero. */
void void
add_assume_compiled (ident, excludep) add_assume_compiled (ident, excludep)
...@@ -192,7 +192,7 @@ add_assume_compiled (ident, excludep) ...@@ -192,7 +192,7 @@ add_assume_compiled (ident, excludep)
parent->child = node; parent->child = node;
} }
/* Returns non-zero if IDENT is the name of a class that the compiler /* Returns nonzero if IDENT is the name of a class that the compiler
should assume has been compiled to FIXME */ should assume has been compiled to FIXME */
static int static int
......
...@@ -57,7 +57,7 @@ static tree check_local_named_variable PARAMS ((tree, tree, int, int *)); ...@@ -57,7 +57,7 @@ static tree check_local_named_variable PARAMS ((tree, tree, int, int *));
static tree check_local_unnamed_variable PARAMS ((tree, tree, tree)); static tree check_local_unnamed_variable PARAMS ((tree, tree, tree));
static void dump_function PARAMS ((enum tree_dump_index, tree)); static void dump_function PARAMS ((enum tree_dump_index, tree));
/* Set to non-zero value in order to emit class initilization code /* Set to nonzero value in order to emit class initilization code
before static field references. */ before static field references. */
extern int always_initialize_class_p; extern int always_initialize_class_p;
......
...@@ -91,7 +91,7 @@ static GTY(()) tree methods_ident; ...@@ -91,7 +91,7 @@ static GTY(()) tree methods_ident;
static GTY(()) tree ncode_ident; static GTY(()) tree ncode_ident;
tree dtable_ident = NULL_TREE; tree dtable_ident = NULL_TREE;
/* Set to non-zero value in order to emit class initilization code /* Set to nonzero value in order to emit class initilization code
before static field references. */ before static field references. */
int always_initialize_class_p; int always_initialize_class_p;
...@@ -176,7 +176,7 @@ java_truthvalue_conversion (expr) ...@@ -176,7 +176,7 @@ java_truthvalue_conversion (expr)
case ABS_EXPR: case ABS_EXPR:
case FLOAT_EXPR: case FLOAT_EXPR:
case FFS_EXPR: case FFS_EXPR:
/* These don't change whether an object is non-zero or zero. */ /* These don't change whether an object is nonzero or zero. */
return java_truthvalue_conversion (TREE_OPERAND (expr, 0)); return java_truthvalue_conversion (TREE_OPERAND (expr, 0));
case COND_EXPR: case COND_EXPR:
......
...@@ -48,7 +48,7 @@ static int found_error = 0; ...@@ -48,7 +48,7 @@ static int found_error = 0;
/* Nonzero if we're generating JNI output. */ /* Nonzero if we're generating JNI output. */
static int flag_jni = 0; static int flag_jni = 0;
/* When non zero, warn when source file is newer than matching class /* When nonzero, warn when source file is newer than matching class
file. */ file. */
int flag_newer = 1; int flag_newer = 1;
......
...@@ -160,20 +160,20 @@ extern int flag_emit_class_files; ...@@ -160,20 +160,20 @@ extern int flag_emit_class_files;
extern int flag_filelist_file; extern int flag_filelist_file;
/* When non zero, assume all native functions are implemented with /* When nonzero, assume all native functions are implemented with
JNI, not CNI. */ JNI, not CNI. */
extern int flag_jni; extern int flag_jni;
/* When non zero, report the now deprecated empty statements. */ /* When nonzero, report the now deprecated empty statements. */
extern int flag_extraneous_semicolon; extern int flag_extraneous_semicolon;
/* When non zero, always check for a non gcj generated classes archive. */ /* When nonzero, always check for a non gcj generated classes archive. */
extern int flag_force_classes_archive_check; extern int flag_force_classes_archive_check;
/* When non zero, we emit xref strings. Values of the flag for xref /* When nonzero, we emit xref strings. Values of the flag for xref
backends are defined in xref.h. */ backends are defined in xref.h. */
extern int flag_emit_xref; extern int flag_emit_xref;
...@@ -190,28 +190,28 @@ extern int flag_redundant; ...@@ -190,28 +190,28 @@ extern int flag_redundant;
extern int flag_not_overriding; extern int flag_not_overriding;
extern int flag_static_local_jdk1_1; extern int flag_static_local_jdk1_1;
/* When non zero, warn when source file is newer than matching class /* When nonzero, warn when source file is newer than matching class
file. */ file. */
extern int flag_newer; extern int flag_newer;
/* When non zero, call a library routine to do integer divisions. */ /* When nonzero, call a library routine to do integer divisions. */
extern int flag_use_divide_subroutine; extern int flag_use_divide_subroutine;
/* When non zero, generate code for the Boehm GC. */ /* When nonzero, generate code for the Boehm GC. */
extern int flag_use_boehm_gc; extern int flag_use_boehm_gc;
/* When non zero, assume the runtime uses a hash table to map an /* When nonzero, assume the runtime uses a hash table to map an
object to its synchronization structure. */ object to its synchronization structure. */
extern int flag_hash_synchronization; extern int flag_hash_synchronization;
/* When non zero, generate checks for references to NULL. */ /* When nonzero, generate checks for references to NULL. */
extern int flag_check_references; extern int flag_check_references;
/* Used through STATIC_CLASS_INIT_OPT_P to check whether static /* Used through STATIC_CLASS_INIT_OPT_P to check whether static
initialization optimization should be performed. */ initialization optimization should be performed. */
extern int flag_optimize_sci; extern int flag_optimize_sci;
/* When non zero, use offset tables for virtual method calls /* When nonzero, use offset tables for virtual method calls
in order to improve binary compatibility. */ in order to improve binary compatibility. */
extern int flag_indirect_dispatch; extern int flag_indirect_dispatch;
...@@ -1699,7 +1699,7 @@ extern tree *type_map; ...@@ -1699,7 +1699,7 @@ extern tree *type_map;
TREE_SIDE_EFFECTS (WHERE) = 1; \ TREE_SIDE_EFFECTS (WHERE) = 1; \
} }
/* Non zero if TYPE is an unchecked exception */ /* Nonzero if TYPE is an unchecked exception */
#define IS_UNCHECKED_EXCEPTION_P(TYPE) \ #define IS_UNCHECKED_EXCEPTION_P(TYPE) \
(inherits_from_p ((TYPE), runtime_exception_type_node) \ (inherits_from_p ((TYPE), runtime_exception_type_node) \
|| inherits_from_p ((TYPE), error_exception_type_node)) || inherits_from_p ((TYPE), error_exception_type_node))
......
...@@ -71,7 +71,7 @@ int flag_print_fields = 1; ...@@ -71,7 +71,7 @@ int flag_print_fields = 1;
int flag_print_methods = 1; int flag_print_methods = 1;
int flag_print_attributes = 1; int flag_print_attributes = 1;
/* When non zero, warn when source file is newer than matching class /* When nonzero, warn when source file is newer than matching class
file. */ file. */
int flag_newer = 1; int flag_newer = 1;
......
...@@ -68,7 +68,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ ...@@ -68,7 +68,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
extern struct obstack temporary_obstack; extern struct obstack temporary_obstack;
/* Set to non-zero value in order to emit class initilization code /* Set to nonzero value in order to emit class initilization code
before static field references. */ before static field references. */
extern int always_initialize_class_p; extern int always_initialize_class_p;
...@@ -378,7 +378,7 @@ get_name_constant (jcf, index) ...@@ -378,7 +378,7 @@ get_name_constant (jcf, index)
return name; return name;
} }
/* Handle reading innerclass attributes. If a non zero entry (denoting /* Handle reading innerclass attributes. If a nonzero entry (denoting
a non anonymous entry) is found, We augment the inner class list of a non anonymous entry) is found, We augment the inner class list of
the outer context with the newly resolved innerclass. */ the outer context with the newly resolved innerclass. */
......
...@@ -148,7 +148,7 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries) ...@@ -148,7 +148,7 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
{ {
int i, j; int i, j;
/* If non-zero, the user gave us the `-v' flag. */ /* If nonzero, the user gave us the `-v' flag. */
int saw_verbose_flag = 0; int saw_verbose_flag = 0;
int saw_save_temps = 0; int saw_save_temps = 0;
...@@ -188,7 +188,7 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries) ...@@ -188,7 +188,7 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
/* The new argument list will be contained in this. */ /* The new argument list will be contained in this. */
const char **arglist; const char **arglist;
/* Non-zero if we saw a `-xfoo' language specification on the /* Nonzero if we saw a `-xfoo' language specification on the
command line. Used to avoid adding our own -xc++ if the user command line. Used to avoid adding our own -xc++ if the user
already gave a language for the file. */ already gave a language for the file. */
int saw_speclang = 0; int saw_speclang = 0;
...@@ -238,10 +238,10 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries) ...@@ -238,10 +238,10 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
/* The total number of arguments with the new stuff. */ /* The total number of arguments with the new stuff. */
int num_args = 1; int num_args = 1;
/* Non-zero if linking is supposed to happen. */ /* Nonzero if linking is supposed to happen. */
int will_link = 1; int will_link = 1;
/* Non-zero if we want to find the spec file. */ /* Nonzero if we want to find the spec file. */
int want_spec_file = 1; int want_spec_file = 1;
/* The argument we use to specify the spec file. */ /* The argument we use to specify the spec file. */
......
...@@ -126,62 +126,62 @@ int flag_emit_class_files = 0; ...@@ -126,62 +126,62 @@ int flag_emit_class_files = 0;
int flag_filelist_file = 0; int flag_filelist_file = 0;
/* When non zero, we emit xref strings. Values of the flag for xref /* When nonzero, we emit xref strings. Values of the flag for xref
backends are defined in xref_flag_table, xref.c. */ backends are defined in xref_flag_table, xref.c. */
int flag_emit_xref = 0; int flag_emit_xref = 0;
/* When non zero, -Wall was turned on. */ /* When nonzero, -Wall was turned on. */
int flag_wall = 0; int flag_wall = 0;
/* When non zero, check for redundant modifier uses. */ /* When nonzero, check for redundant modifier uses. */
int flag_redundant = 0; int flag_redundant = 0;
/* When non zero, call a library routine to do integer divisions. */ /* When nonzero, call a library routine to do integer divisions. */
int flag_use_divide_subroutine = 1; int flag_use_divide_subroutine = 1;
/* When non zero, generate code for the Boehm GC. */ /* When nonzero, generate code for the Boehm GC. */
int flag_use_boehm_gc = 0; int flag_use_boehm_gc = 0;
/* When non zero, assume the runtime uses a hash table to map an /* When nonzero, assume the runtime uses a hash table to map an
object to its synchronization structure. */ object to its synchronization structure. */
int flag_hash_synchronization; int flag_hash_synchronization;
/* When non zero, assume all native functions are implemented with /* When nonzero, assume all native functions are implemented with
JNI, not CNI. */ JNI, not CNI. */
int flag_jni = 0; int flag_jni = 0;
/* When non zero, warn when source file is newer than matching class /* When nonzero, warn when source file is newer than matching class
file. */ file. */
int flag_newer = 1; int flag_newer = 1;
/* When non zero, generate checks for references to NULL. */ /* When nonzero, generate checks for references to NULL. */
int flag_check_references = 0; int flag_check_references = 0;
/* The encoding of the source file. */ /* The encoding of the source file. */
const char *current_encoding = NULL; const char *current_encoding = NULL;
/* When non zero, report the now deprecated empty statements. */ /* When nonzero, report the now deprecated empty statements. */
int flag_extraneous_semicolon; int flag_extraneous_semicolon;
/* When non zero, always check for a non gcj generated classes archive. */ /* When nonzero, always check for a non gcj generated classes archive. */
int flag_force_classes_archive_check; int flag_force_classes_archive_check;
/* When zero, don't optimize static class initialization. This flag shouldn't /* When zero, don't optimize static class initialization. This flag shouldn't
be tested alone, use STATIC_CLASS_INITIALIZATION_OPTIMIZATION_P instead. */ be tested alone, use STATIC_CLASS_INITIALIZATION_OPTIMIZATION_P instead. */
int flag_optimize_sci = 1; int flag_optimize_sci = 1;
/* When non zero, use offset tables for virtual method calls /* When nonzero, use offset tables for virtual method calls
in order to improve binary compatibility. */ in order to improve binary compatibility. */
int flag_indirect_dispatch = 0; int flag_indirect_dispatch = 0;
/* When zero, don't generate runtime array store checks. */ /* When zero, don't generate runtime array store checks. */
int flag_store_check = 1; int flag_store_check = 1;
/* When non zero, print extra version information. */ /* When nonzero, print extra version information. */
static int version_flag = 0; static int version_flag = 0;
/* Set non-zero if the user specified -finline-functions on the command /* Set nonzero if the user specified -finline-functions on the command
line. */ line. */
int flag_really_inline = 0; int flag_really_inline = 0;
......
...@@ -170,7 +170,7 @@ mangle_method_decl (mdecl) ...@@ -170,7 +170,7 @@ mangle_method_decl (mdecl)
} }
/* This mangles a member name, like a function name or a field /* This mangles a member name, like a function name or a field
name. Handle cases were `name' is a C++ keyword. Return a non zero name. Handle cases were `name' is a C++ keyword. Return a nonzero
value if unicode encoding was required. */ value if unicode encoding was required. */
static void static void
...@@ -340,7 +340,7 @@ find_compression_record_match (type, next_current) ...@@ -340,7 +340,7 @@ find_compression_record_match (type, next_current)
return match; return match;
} }
/* Mangle a record type. If a non zero value is returned, it means /* Mangle a record type. If a nonzero value is returned, it means
that a 'N' was emitted (so that a matching 'E' can be emitted if that a 'N' was emitted (so that a matching 'E' can be emitted if
necessary.) FOR_POINTER indicates that this element is for a pointer necessary.) FOR_POINTER indicates that this element is for a pointer
symbol, meaning it was preceded by a 'P'. */ symbol, meaning it was preceded by a 'P'. */
......
...@@ -2678,7 +2678,7 @@ pop_current_osb (ctxp) ...@@ -2678,7 +2678,7 @@ pop_current_osb (ctxp)
Add mode documentation here. FIXME */ Add mode documentation here. FIXME */
/* Helper function. Create a new parser context. With /* Helper function. Create a new parser context. With
COPY_FROM_PREVIOUS set to a non zero value, content of the previous COPY_FROM_PREVIOUS set to a nonzero value, content of the previous
context is copied, otherwise, the new context is zeroed. The newly context is copied, otherwise, the new context is zeroed. The newly
created context becomes the current one. */ created context becomes the current one. */
...@@ -6499,7 +6499,7 @@ java_check_regular_methods (class_decl) ...@@ -6499,7 +6499,7 @@ java_check_regular_methods (class_decl)
abort (); abort ();
} }
/* Return a non zero value if the `throws' clause of METHOD (if any) /* Return a nonzero value if the `throws' clause of METHOD (if any)
is incompatible with the `throws' clause of FOUND (if any). */ is incompatible with the `throws' clause of FOUND (if any). */
static void static void
...@@ -8238,7 +8238,7 @@ build_outer_field_access (id, decl) ...@@ -8238,7 +8238,7 @@ build_outer_field_access (id, decl)
return resolve_expression_name (access, NULL); return resolve_expression_name (access, NULL);
} }
/* Return a non zero value if NODE describes an outer field inner /* Return a nonzero value if NODE describes an outer field inner
access. */ access. */
static int static int
...@@ -8274,7 +8274,7 @@ outer_field_access_p (type, decl) ...@@ -8274,7 +8274,7 @@ outer_field_access_p (type, decl)
return 0; return 0;
} }
/* Return a non zero value if NODE represents an outer field inner /* Return a nonzero value if NODE represents an outer field inner
access that was been already expanded. As a side effect, it returns access that was been already expanded. As a side effect, it returns
the name of the field being accessed and the argument passed to the the name of the field being accessed and the argument passed to the
access function, suitable for a regeneration of the access method access function, suitable for a regeneration of the access method
...@@ -10402,7 +10402,7 @@ patch_method_invocation (patch, primary, where, from_super, ...@@ -10402,7 +10402,7 @@ patch_method_invocation (patch, primary, where, from_super,
this$0 (the immediate outer context) to this$0 (the immediate outer context) to
access$0(access$0(...(this$0))). access$0(access$0(...(this$0))).
maybe_use_access_method returns a non zero value if the maybe_use_access_method returns a nonzero value if the
this_arg has to be moved into the (then generated) stub this_arg has to be moved into the (then generated) stub
argument list. In the meantime, the selected function argument list. In the meantime, the selected function
might have be replaced by a generated stub. */ might have be replaced by a generated stub. */
...@@ -10643,7 +10643,7 @@ maybe_use_access_method (is_super_init, mdecl, this_arg) ...@@ -10643,7 +10643,7 @@ maybe_use_access_method (is_super_init, mdecl, this_arg)
*mdecl = md; *mdecl = md;
*this_arg = ta; *this_arg = ta;
/* Returnin a non zero value indicates we were doing a non static /* Returnin a nonzero value indicates we were doing a non static
method invokation that is now a static invocation. It will have method invokation that is now a static invocation. It will have
callee displace `this' to insert it in the regular argument callee displace `this' to insert it in the regular argument
list. */ list. */
...@@ -12294,7 +12294,7 @@ java_complete_lhs (node) ...@@ -12294,7 +12294,7 @@ java_complete_lhs (node)
return node; return node;
} }
/* Complete function call's argument. Return a non zero value is an /* Complete function call's argument. Return a nonzero value is an
error was found. */ error was found. */
static int static int
...@@ -13136,7 +13136,7 @@ do_unary_numeric_promotion (arg) ...@@ -13136,7 +13136,7 @@ do_unary_numeric_promotion (arg)
return arg; return arg;
} }
/* Return a non zero value if SOURCE can be converted into DEST using /* Return a nonzero value if SOURCE can be converted into DEST using
the method invocation conversion rule (5.3). */ the method invocation conversion rule (5.3). */
static int static int
valid_method_invocation_conversion_p (dest, source) valid_method_invocation_conversion_p (dest, source)
...@@ -13235,7 +13235,7 @@ java_decl_equiv (var_acc1, var_acc2) ...@@ -13235,7 +13235,7 @@ java_decl_equiv (var_acc1, var_acc2)
&& TREE_OPERAND (var_acc1, 1) == TREE_OPERAND (var_acc2, 1)); && TREE_OPERAND (var_acc1, 1) == TREE_OPERAND (var_acc2, 1));
} }
/* Return a non zero value if CODE is one of the operators that can be /* Return a nonzero value if CODE is one of the operators that can be
used in conjunction with the `=' operator in a compound assignment. */ used in conjunction with the `=' operator in a compound assignment. */
static int static int
...@@ -14936,7 +14936,7 @@ build_new_loop (loop_body) ...@@ -14936,7 +14936,7 @@ build_new_loop (loop_body)
BODY end of this labeled block) BODY end of this labeled block)
INCREMENT (if any) INCREMENT (if any)
REVERSED, if non zero, tells that the loop condition expr comes REVERSED, if nonzero, tells that the loop condition expr comes
after the body, like in the do-while loop. after the body, like in the do-while loop.
To obtain a loop, the loop body structure described above is To obtain a loop, the loop body structure described above is
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment