* configure.in: default to '--with-gnu-as' and '--with-gnu-ld'
if gas and ld are in the source tree and are in ${configdirs}.
If ${use_gnu_as} or ${use_gnu_ld} are 'no', then don't set the
- the --with options (but still pass them down on the command line,
+ --with options (but still pass them down on the command line,
if they were explicitly specified).
Fri Sep 24 19:11:13 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
#pragma alloca
#endif
-/* $Id: regex.c,v 1.1 1998/03/20 16:19:41 korbb Exp $ */
+/* $Id: regex.c,v 1.3 1999/01/11 13:25:47 law Exp $ */
#define _GNU_SOURCE
default:
normal_backslash:
/* You might think it would be useful for \ to mean
- not to translate; but if we don't translate it
+ not to translate; but if we don't translate it,
it will never match anything. */
c = TRANSLATE (c);
goto normal_char;
/* re_match_2 matches the compiled pattern in BUFP against the
- the (virtual) concatenation of STRING1 and STRING2 (of length SIZE1
+ (virtual) concatenation of STRING1 and STRING2 (of length SIZE1
and SIZE2, respectively). We start matching at POS, and stop
matching at STOP.
to resume scanning the pattern; the second one is where to resume
scanning the strings. If the latter is zero, the failure point is
a ``dummy''; if a failure happens and the failure point is a dummy,
- it gets discarded and the next next one is tried. */
+ it gets discarded and the next one is tried. */
fail_stack_type fail_stack;
#ifdef DEBUG
static unsigned failure_id = 0;
@noindent
will fail when the build directory is not the source directory, because
-@file{foo.man} and @file{sedscript} are in the the source directory.
+@file{foo.man} and @file{sedscript} are in the source directory.
When using GNU @code{make}, relying on @samp{VPATH} to find the source
file will work in the case where there is a single dependency file,
named, use @code{ln} or @code{cp} to install the proper files in it, and
then @code{tar} that subdirectory.
-Compress the tar file file with @code{gzip}. For example, the actual
+Compress the tar file with @code{gzip}. For example, the actual
distribution file for GCC version 1.40 is called @file{gcc-1.40.tar.gz}.
The @code{dist} target should explicitly depend on all non-source files
frequently than or independent of the program, also state a version
number for the manual in both of these places.
-Each program documented in the manual should should have a node named
+Each program documented in the manual should have a node named
@samp{@var{program} Invocation} or @samp{Invoking @var{program}}. This
node (together with its subnodes, if any) should describe the program's
command line arguments and how to run it (the sort of information people
* Integrate reload bugfix from Wilon which enables the PA port
to bootstrap again.
- * reload1.c (reload): Sum needs for both OPADDR_ADDR and and
+ * reload1.c (reload): Sum needs for both OPADDR_ADDR and
OPERAND_ADDRESS when computing how many registers an insn needs.
(reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
conflict.
Wed Nov 29 13:59:58 1995 J"orn Rennecke (amylaar@meolyon.hanse.de)
- * c-decl.c (duplicate_decls): Add new paramter different_binding_level.
+ * c-decl.c (duplicate_decls): Add new parameter different_binding_level.
Lots of changes to use new new parameter.
(pushdecl): Delete variable declared_global. New variable
different_binding_level and code to set it. Move extern/static
* m88k.h (VERSION_INFO1): Removed BCS reference.
* m88k/dgux.h (ASM_SPEC, *_LEGEND):
- Added -mno-legend option. -mstandard no longer implies that legend
+ Added -mno-legend option. -mstandard no longer implies that
legend information not be produced.
(LINK_SPEC): Removed -z text
* va-alpha.h (__gnuc_va_list): Make __offset an int.
* alpha.c (alpha_builtin_saveregs): Properly compute address
- of __offset both both OSF and WINNT.
+ of __offset both OSF and WINNT.
* xm-alpha.h (sbrk): Don't define here.
* gmon.c (sbrk): Define here for __alpha.
(based_loc_descr): Likewise.
(add_bound_info): Delete default case.
Add cases for CONVERT_EXPR and NON_LVALUE_EXPR; treat like NOP_EXPR.
- Change NOP_EXPR to to recursive call.
+ Change NOP_EXPR to recursive call.
(add_type_attribute): Ignore unnamed subtype of integral or FP.
(gen_subprogram_die): Use reg_loc_descriptor.
(dwarf2out_decl): Ignore nested functions.
enclose it in a PARALLEL and set the PARALLEL mode correctly.
* mips.md (call_value): Call gen_call_value_multiple_internal0
only if there are multiple return values. Strip the PARALLEL off
- if there there is only one return value.
+ if there is only one return value.
Mon Jul 8 16:27:33 1996 Jeffrey A. Law <law@cygnus.com>
is the same as on modern sun systems; a_flags can have
machine specific flags. (There may be some endian problems
here: You would like to have the magic number be the
- first two bytes in the file, and then then next two could
+ first two bytes in the file, and then the next two could
be these options. It looks like the 68000 definitions
have to declare the options first to force this to happen.)
Defined M_386 for a_machtype.
* GCC now supports `long double' meaningfully on the Sparc (128-bit
floating point) and on the 386 (96-bit floating point). The Sparc
-support is enabled on on Solaris 2.x because earlier system versions
+support is enabled on Solaris 2.x because earlier system versions
(SunOS 4) have bugs in the emulation.
* All targets now have assertions for cpu, machine and system. So you
* Someone needs make one (or more) passes over the scheduler as a whole to
just clean it up. Try to move the machine dependent bits into the target
files where they belong, avoid re-creating functions where or near
- equivalents already exist (ie is_conditional_branch and friends), etc etc.
+ equivalents already exist (ie is_conditional_branch and friends), etc., etc.
* Document the new scheduling options. Remove those options which are
not really useful (like reverse scheduling for example). In general
you should obtain the DWARF version 1 specification document (and perhaps
also the DWARF version 2 draft specification document) developed by the
UNIX International Programming Languages Special Interest Group. A copy
-of the the DWARF version 1 specification (in PostScript form) may be
+of the DWARF version 1 specification (in PostScript form) may be
obtained either from me <rfg@netcom.com> or from the main Data General
FTP server. (See below.) The file you are looking at now only describes
known deviations from the DWARF version 1 specification, together with
so you may get inaccurate answers (or perhaps even addressing errors).
Some people may consider this simply a non-feature, but I consider it a
-bug, and I hope to provide some some GNU-specific attributes (on function
+bug, and I hope to provide some GNU-specific attributes (on function
DIEs) which will specify the address of the end of the prologue and the
address of the beginning of the epilogue in a future release.
Specifically, the current DWARF draft specification seems to require that
the type of an non-unsigned integral bit-field member of a struct or union
type be represented as either a "signed" type or as a "plain" type,
-depending upon the the exact set of keywords that were used in the
+depending upon the exact set of keywords that were used in the
type specification for the given bit-field member. It was felt (by the
UI/PLSIG) that this distinction between "plain" and "signed" integral types
could have some significance (in the case of bit-fields) because ANSI C
need this patch: get /contrib/R5.SunOS5.patch.tar.Z from
export.lcs.mit.edu instead. It has everything you need to do the
build for Solaris 2, sets you up to everything with GCC, and is
-backward compatible with SunOS 4.*. Get the the README
+backward compatible with SunOS 4.*. Get the README
(/contrib/R5.SunOS5.patch.README at export) for more info.
If you see undefined symbols _dlopen, _dlsym, or _dlclose when linking
else
if (c == '\'' || c == '"')
looking_for = c; /* Don't stop buffering until we see another
- another one of these (or an EOF). */
+ one of these (or an EOF). */
/* Handle backslash. */
char_escaped = (c == '\\' && ! char_escaped);
MY_TYPE object;
Later parts of the compiler might only know that `object' was of
- type `struct S' if if were not for code just below. With this
+ type `struct S' if it were not for code just below. With this
code however, later parts of the compiler see something like:
struct S' == struct S
else
if (c == '\'' || c == '"')
looking_for = c; /* Don't stop buffering until we see another
- another one of these (or an EOF). */
+ one of these (or an EOF). */
/* Handle backslash. */
char_escaped = (c == '\\' && ! char_escaped);
/* Allow for two different type nodes which have essentially the same
definition. Note that we already checked for equality of the type
- type qualifiers (just above). */
+ qualifiers (just above). */
if (TYPE_MAIN_VARIANT (t1) == TYPE_MAIN_VARIANT (t2))
return 1;
return fd;
}
-/* Return the remapped name of the the include file FILENAME.
+/* Return the remapped name of the include file FILENAME.
SEARCHPTR is the directory being tried from the include file path. */
static char *
}
} else {
/* In -traditional mode, recognize arguments inside strings and
- and character constants, and ignore special properties of #.
+ character constants, and ignore special properties of #.
Arguments inside strings are considered "stringified", but no
extra quote marks are supplied. */
switch (c) {
return hp;
}
-/* Find the most recent hash node for name name (ending with first
+/* Find the most recent hash node for name "name" (ending with first
non-identifier char) installed by install
If LEN is >= 0, it is the length of the name.
}
/*
- * find the most recent hash node for name name (ending with first
+ * find the most recent hash node for name "name" (ending with first
* non-identifier char) installed by install
*
* If LEN is >= 0, it is the length of the name.
is_stack_procedure = sa_size != 0 || alpha_ra_ever_killed ();
/* Decide whether to refer to objects off our PV via FP or PV.
- If we need need FP for something else or if we receive a nonlocal
+ If we need FP for something else or if we receive a nonlocal
goto (which expects PV to contain the value), we must use PV.
Otherwise, start by assuming we can use FP. */
base_regno = (frame_pointer_needed || current_function_has_nonlocal_label
reg_offset += 8;
}
- /* Now restore any other used integer registers that that we saved,
+ /* Now restore any other used integer registers that we saved,
except for FP if it is being used as FP, since it must be
restored last. */
missing exception handling info. If we emit a gcc_compiled. label into
text, and the file has no code, then the DEC assembler gives us a zero
sized text section with no associated exception handling info. The
- DEC linker sees this text section, and gives a warning saying saying that
+ DEC linker sees this text section, and gives a warning saying that
the exception handling info is missing. */
#define ASM_IDENTIFY_GCC
#define ASM_IDENTIFY_LANGUAGE
;; On EV4 there are two classes of resources to consider: resources needed
;; to issue, and resources needed to execute. IBUS[01] are in the first
;; category. ABOX, BBOX, EBOX, FBOX, IMUL & FDIV make up the second.
-;; (There are are a few other register-like resources, but ...)
+;; (There are a few other register-like resources, but ...)
; First, describe all of the issue constraints with single cycle delays.
; All insns need a bus, but all except loads require one or the other.
}"
[(set_attr "type" "store4")])
-;; Similarly for the the floating point registers
+;; Similarly for the floating point registers
(define_insn "*push_fp_multi"
[(match_parallel 2 "multi_register_push"
[(set (match_operand:BLK 0 "memory_operand" "=m")
28-30* - ASHIFT | LSHIFTRT: rotate top byte, mask, move byte into place,
zero others
ASHIFTRT: loop
- 31 - ASHIFT | LSHIFTRT: rotate top byte, mask, byte byte into place,
+ 31 - ASHIFT | LSHIFTRT: rotate top byte, mask, move byte into place,
zero others
ASHIFTRT: shll top byte, subx, copy to other bytes
static int pic_label_no = 0;
/* This function generates code for -fpic that loads %ebx with
- with the return address of the caller and then returns. */
+ the return address of the caller and then returns. */
void
asm_output_function_prefix (file, name)
/* This is how to output assembly code to define a `double' constant.
We always have to use a pair of .long pseudo-ops to do this because
the native SVR4 ELF assembler is buggy and it generates incorrect
- values when we try to use the the .double pseudo-op instead. */
+ values when we try to use the .double pseudo-op instead. */
#undef ASM_OUTPUT_DOUBLE
#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
/* This is how to output assembly code to define a `double' constant.
We always have to use a pair of .long pseudo-ops to do this because
the native SVR4 ELF assembler is buggy and it generates incorrect
- values when we try to use the the .double pseudo-op instead. */
+ values when we try to use the .double pseudo-op instead. */
#undef ASM_OUTPUT_DOUBLE
#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
On the i860, the following target-specific special codes are recognized:
- `r' The operand can be anything, but if is is an immediate zero
+ `r' The operand can be anything, but if it is an immediate zero
value (either integer or floating point) then it will be
represented as `r0' or as `f0' (respectively).
;; patterns store away the operands. Then, the scc and bcc patterns
;; emit RTL for both the compare and the branch.
;;
-;; We start with the DEFINE_EXPANDs, then then DEFINE_INSNs to match
+;; We start with the DEFINE_EXPANDs, then DEFINE_INSNs to match
;; the patterns. Finally, we have the DEFINE_SPLITs for some of the scc
;; insns that actually require more than one machine instruction.
# least N bytes will be copied. r2 is the destination pointer
# offset by 4, r3 is the source pointer offset by 4, r6 is the
# loop count. Thus, the total bytes moved is 64 * r6 + N. The
-# first value is is preloaded into r4 or r5 (r4 if N/4 is odd;
+# first value is preloaded into r4 or r5 (r4 if N/4 is odd;
# r5 if N/4 is even). Upon returning, r2 and r3 have been
# updated and may be used for the remainder bytes to move.
#
/* Go to LABEL if ADDR (a legitimate address expression)
has an effect that depends on the machine mode it is used for.
- On the the m88000 this is never true. */
+ On the m88000 this is never true. */
#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR,LABEL)
\f
/* A C expression that should indicate the number of bytes of its
- own arguments that a function function pops on returning, or 0
+ own arguments that a function pops on returning, or 0
if the function pops no arguments and the caller must therefore
pop them all after the function returns.
#define ASM_OUTPUT_ALIGN(STREAM,LOG) \
fprintf (STREAM, "\t.align\t%d\n", (LOG));
-/* This is how to output an assembler line to to advance the location
+/* This is how to output an assembler line to advance the location
counter by SIZE bytes. */
#define ASM_OUTPUT_SKIP(STREAM,SIZE) \
;; As a result of the various problems using address registers in
;; QImode, HImode, SImode, and SFmode, we discourage their use via
;; '*' in their constraints. They're still allowed, but they're never
-;; the preferred class for for insns with those modes.
+;; the preferred class for insns with those modes.
;; movqi
convrt.i[1] = CONST_DOUBLE_HIGH (operands[1]);
convrt.f = convrt.d;
- /* Is there a better machine-independent way to to this? */
+ /* Is there a better machine-independent way to do this? */
operands[1] = GEN_INT (convrt.i[0]);
return \"movd %1,%0\";
}
}
}
- /* The hppa calling conventions say that that %r19, the pic offset
+ /* The hppa calling conventions say that %r19, the pic offset
register, is saved at sp - 32 (in this function's frame) when
generating PIC code. FIXME: What is the correct thing to do
for functions which make no calls and allocate no frame? Do
/* An ALU flop can't be issued until two cycles before a
preceding divide or sqrt operation has finished if
the target of the ALU flop is also the target of
- of the divide or sqrt operation. */
+ the divide or sqrt operation. */
return cost - 2;
default:
/* Now macros that check whether X is a register and also,
strictly, whether it is in a specified class.
- These macros are specific to the the HP-PA, and may be used only
+ These macros are specific to the HP-PA, and may be used only
in code for printing assembler insns and in conditions for
define_optimization. */
/* Go to LABEL if ADDR (a legitimate address expression)
has an effect that depends on the machine mode it is used for.
- On the the pdp this is for predec/postinc */
+ On the pdp this is for predec/postinc */
#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR,LABEL) \
{ if (GET_CODE (ADDR) == POST_INC || GET_CODE (ADDR) == PRE_DEC) \
lwz 4,.Lexcepte(11) /* exception table pointers end */
bl FUNC_NAME(__eabi_convert) /* convert exceptions */
-/* Fixup the the addresses in the GOT below _GLOBAL_OFFSET_TABLE_-4 */
+/* Fixup the addresses in the GOT below _GLOBAL_OFFSET_TABLE_-4 */
lwz 3,.Lgots(11) /* GOT table pointers start */
lwz 4,.Lgotm1(11) /* GOT table pointers below _GLOBAL_OFFSET_TABLE-4 */
bl FUNC_NAME(__eabi_convert) /* convert lower GOT */
-/* Fixup the the addresses in the GOT above _GLOBAL_OFFSET_TABLE_+12 */
+/* Fixup the addresses in the GOT above _GLOBAL_OFFSET_TABLE_+12 */
lwz 3,.Lgotm2(11) /* GOT table pointers above _GLOBAL_OFFSET_TABLE+12 */
lwz 4,.Lgote(11) /* GOT table pointers end */
if (is_attribute_p ("cdecl", identifier))
return (args == NULL_TREE);
- /* Dllimport attribute says says the caller is to call the function
+ /* Dllimport attribute says the caller is to call the function
indirectly through a __imp_<name> pointer. */
if (is_attribute_p ("dllimport", identifier))
return (args == NULL_TREE);
- /* Dllexport attribute says says the callee is to create a __imp_<name>
+ /* Dllexport attribute says the callee is to create a __imp_<name>
pointer. */
if (is_attribute_p ("dllexport", identifier))
return (args == NULL_TREE);
{
}
-/* Return a dll import reference corresponding to to a call's SYMBOL_REF */
+/* Return a dll import reference corresponding to a call's SYMBOL_REF */
struct rtx_def *
rs6000_dll_import_ref (call_ref)
rtx call_ref;
;; of instructions. The & constraints are to prevent the register
;; allocator from allocating registers that overlap with the inputs
;; (for example, having an input in 7,8 and an output in 6,7). We
-;; also allow for the the output being the same as one of the inputs.
+;; also allow for the output being the same as one of the inputs.
(define_insn "*adddi3_noppc64"
[(set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r,r,r")
num_mova--;
if (barrier_align (next_real_insn (from)) == CACHE_LOG)
{
- /* We have just passed the barrier in front front of the
+ /* We have just passed the barrier in front of the
ADDR_DIFF_VEC, which is stored in found_barrier. Since
the ADDR_DIFF_VEC is accessed as data, just like our pool
constants, this is a good opportunity to accommodate what
}
/* Dump out any constants accumulated in the final pass. These will
- will only be labels. */
+ only be labels. */
char *
output_jump_label_table ()
and unrolled.
That is, at run time, copy enough bytes one at a time to ensure that the
- target and source addresses are aligned to the the largest possible
+ target and source addresses are aligned to the largest possible
alignment. Then use a preconditioned unrolled loop to copy say 16
bytes at a time. Then copy bytes one at a time until finish the rest. */
??? It would be nice to not include any subtarget specific values here,
however there's no way to portably provide subtarget values to
CPP_PREFINES. Also, -D values in CPP_SUBTARGET_SPEC don't get turned into
- into foo, __foo and __foo__. */
+ foo, __foo and __foo__. */
#define CPP_PREDEFINES "-Dsparc -Dsun -Dunix -Asystem(unix) -Asystem(bsd)"
* Doubles are normally 4 byte aligned, except in argument
lists where they are 8 byte aligned. Is the alignment
in the argument list based on the first parameter,
- first stack parameter, etc etc.
+ first stack parameter, etc., etc.
* Passing/returning of large structures probably isn't the same
as GHS. We don't have enough documentation on their conventions
/* Tell compiler we want to support GHS pragmas */
#define HANDLE_GHS_PRAGMA
-/* The assembler op to to start the file. */
+/* The assembler op to start the file. */
#define FILE_ASM_OP "\t.file\n"
* *.[chy] (expand_aggr_init) Add fourth argument to handle
distinction between = init and (init) style of initializations.
- * *.[chy] (finish_decl): Add fifth argument to to handle
+ * *.[chy] (finish_decl): Add fifth argument to handle
distinction between = init and (init) style of initializations.
Tue Dec 13 19:16:05 1994 Mike Stump <mrs@cygnus.com>
* decl.c (grok_op_properties): Split out checking for whether this
function should suppress the default assignment operator.
* decl2.c (grok_function_init): Likewise.
- (copy_assignment_arg_p): New function do do just that.
+ (copy_assignment_arg_p): New function to do just that.
Now considers virtual assignment operators that take a base as an
argument to count as copy assignment operators.
vfn = build1 (ADDR_EXPR, vfunc_ptr_type_node, fndecl);
TREE_CONSTANT (vfn) = 1;
- /* We can use integer_zero_node, as we will will core dump
+ /* We can use integer_zero_node, as we will core dump
if this is used anyway. */
TREE_VALUE (virtuals) = build_vtable_entry (integer_zero_node, vfn);
}
template will be a FUNCTION_DECL, TEMPLATE_DECL, or a list of
overloaded functions and templates if the template-id refers to
a global template. If the template-id refers to a member template,
- the template will will be an IDENTIFIER_NODE. */
+ the template will be an IDENTIFIER_NODE. */
DEFTREECODE (TEMPLATE_ID_EXPR, "template_id_expr", 'e', 2)
/* has two fields: scope and value */
extern int write_virtuals;
-/* True for more efficient but incompatible (not not fully tested)
+/* True for more efficient but incompatible (not fully tested)
vtable implementation (using thunks).
0 is old behavior; 1 is new behavior. */
extern int flag_vtable_thunks;
pointer to member function. TYPE_PTRMEMFUNC_P _must_ be true,
before using this macro. */
#define TYPE_PTRMEMFUNC_FN_TYPE(NODE) (TREE_TYPE (TYPE_FIELDS (TREE_TYPE (TREE_CHAIN (TREE_CHAIN (TYPE_FIELDS (NODE)))))))
-/* These are use to manipulate the the canonical RECORD_TYPE from the
+/* These are use to manipulate the canonical RECORD_TYPE from the
hashed POINTER_TYPE, and can only be used on the POINTER_TYPE. */
#define TYPE_GET_PTRMEMFUNC_TYPE(NODE) ((tree)TYPE_LANG_SPECIFIC(NODE))
#define TYPE_SET_PTRMEMFUNC_TYPE(NODE, VALUE) (TYPE_LANG_SPECIFIC(NODE) = ((struct lang_type *)(void*)(VALUE)))
/* A list (chain of TREE_LIST nodes) of named label uses.
The TREE_PURPOSE field is the list of variables defined
- the the label's scope defined at the point of use.
+ in the label's scope defined at the point of use.
The TREE_VALUE field is the LABEL_DECL used.
The TREE_TYPE field holds `current_binding_level' at the
point of the label's use.
if (class_binding_level->parm_flag != 2)
class_binding_level = (struct binding_level *)0;
- /* Now, pop out of the the binding level which we created up in the
+ /* Now, pop out of the binding level which we created up in the
`pushlevel_class' routine. */
#if defined(DEBUG_CP_BINDING_LEVELS)
is_class_level = 1;
}
/* Handle initialization of references.
- These three arguments from from `cp_finish_decl', and have the
+ These three arguments are from `cp_finish_decl', and have the
same meaning here that they do there.
Quotes on semantics can be found in ARM 8.4.3. */
destructor, so we don't complain about the 'resource
allocation is initialization' idiom. */
/* Now set attribute((unused)) on types so decls of
- of that type will be marked used. (see TREE_USED, above.)
+ that type will be marked used. (see TREE_USED, above.)
This avoids the warning problems this particular code
tried to work around. */
/* 14.5.2.2 [temp.mem]
A local class shall not have member templates. */
- cp_error ("declaration of of member template `%#D' in local class",
+ cp_error ("declaration of member template `%#D' in local class",
decl);
if (TREE_CODE (decl) == FUNCTION_DECL && DECL_VIRTUAL_P (decl))
(if any). If it was a destructor, then its parse tree is stored
in the finalization variable in the eh_entry structure. Otherwise
the finalization variable is set to NULL to reflect the fact that
- is the the end of a try block. Next, this modified eh_entry node
+ it is the end of a try block. Next, this modified eh_entry node
is enqueued in the finalizations queue by calling
enqueue_eh_entry (&queue,entry).
in places in the code) is not libg++, though it is included in the
libg++ distribution. Rather, it contains classes and functions
required by the ANSI/ISO standard. The copyright conditions are the
-same as those for for the iostreams classes; the LGPL is not used
+same as those for the iostreams classes; the LGPL is not used
(@pxref{legalities}).
This library, libstdc++, is in the libg++ distribution in versions 2.6.2
@end example
@noindent
-will return the binfo for the the given vfield.
+will return the binfo for the given vfield.
May or may not be set at @code{modify_vtable_entries} time. Set at
@code{finish_base_struct} time.
@item VF_DERIVED_VALUE
Identifies the type of the most derived class of the vfield, excluding
-the the class this vfield is for.
+the class this vfield is for.
Set at @code{finish_base_struct} time.
argument can be passed to indicate the handler for the marked region.
This can be passed in many ways, currently a tree is used. Another
possibility would be insns for the handler, or a label that denotes a
-handler. I have a feeling insns might be the the best way to pass it.
+handler. I have a feeling insns might be the best way to pass it.
Semantics are, if an exception is thrown inside the region, control is
transferred unconditionally to the handler. If control passes through
the handler, then the backend is to rethrow the exception, in the
/* Figure out what exactly is being specialized at this point.
Note that for an explicit instantiation, even one for a
- member function, we cannot tell apriori whether the the
+ member function, we cannot tell apriori whether the
instantiation is for a member template, or just a member
function of a template class. In particular, even in if the
instantiation is for a member template, the template
/* rval_binfo_h and binfo_h are binfo values used when we perform the
hiding checks, as virtual base classes may not be shared. The strategy
- is we always go into the the binfo hierarchy owned by TYPE_BINFO of
+ is we always go into the binfo hierarchy owned by TYPE_BINFO of
virtual base classes, as we cross virtual base class lines. This way
we know that binfo of a virtual base class will always == itself when
found along any line. (mrs) */
/* rval_binfo_h and binfo_h are binfo values used when we perform the
hiding checks, as virtual base classes may not be shared. The strategy
- is we always go into the the binfo hierarchy owned by TYPE_BINFO of
+ is we always go into the binfo hierarchy owned by TYPE_BINFO of
virtual base classes, as we cross virtual base class lines. This way
we know that binfo of a virtual base class will always == itself when
found along any line. (mrs) */
if (const_size)
{
/* Because a virtual base might take a single byte above,
- we have to re-adjust the total size to make sure it it
+ we have to re-adjust the total size to make sure it is
a multiple of the alignment. */
/* Give the whole object the alignment it wants. */
const_size = CEIL (const_size, record_align) * record_align;
BINFO is the base binfo to use, if we are deriving from one. This
is necessary, as we want specialized parent binfos from base
classes, so that the VTABLE_NAMEs of bases are for the most derived
- type, instead of of the simple type.
+ type, instead of the simple type.
VTABLE is the virtual function table with which to initialize
sub-objects of type TYPE.
/* Allow for two different type nodes which have essentially the same
definition. Note that we already checked for equality of the type
- type qualifiers (just above). */
+ qualifiers (just above). */
if (TYPE_MAIN_VARIANT (t1) == TYPE_MAIN_VARIANT (t2))
return 1;
run time inited when doing pic. (mrs) */
/* Since ctors and dtors are the only things that can
reference vtables, and they are always written down
- the the vtable definition, we can leave the
+ the vtable definition, we can leave the
vtables in initialized data space.
However, other initialized data cannot be initialized
this way. Instead a global file-level initializer
then the expression
x.A::ii refers to the ii member of the L part of
- of A part of the C object named by X. In this case,
+ the A part of the C object named by X. In this case,
DATUM would be x, and BASETYPE would be A. */
tree
/* Part of CPP library. (memory allocation - xmalloc etc)
Copyright (C) 1986, 87, 89, 92 - 95, 1998 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
- Based on CCCP program by by Paul Rubin, June 1986
+ Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
This program is free software; you can redistribute it and/or modify it
/* Default error handlers for CPP Library.
Copyright (C) 1986, 87, 89, 92 - 95, 1998 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
- Based on CCCP program by by Paul Rubin, June 1986
+ Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
This program is free software; you can redistribute it and/or modify it
/* Part of CPP library. (Macro hash table support.)
Copyright (C) 1986, 87, 89, 92-95, 1996 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
- Based on CCCP program by by Paul Rubin, June 1986
+ Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
This program is free software; you can redistribute it and/or modify it
return MAKE_POS (r) % hashsize;
}
-/* Find the most recent hash node for name name (ending with first
+/* Find the most recent hash node for name "name" (ending with first
non-identifier char) installed by install
If LEN is >= 0, it is the length of the name.
}
} else {
/* In -traditional mode, recognize arguments inside strings and
- and character constants, and ignore special properties of #.
+ character constants, and ignore special properties of #.
Arguments inside strings are considered "stringified", but no
extra quote marks are supplied. */
switch (c) {
if (ap->stringify)
{
register struct argdata *arg = &args[ap->argno];
- /* Stringify it it hasn't already been */
+ /* Stringify if it hasn't already been */
if (arg->stringified_length < 0)
{
int arglen = arg->raw_length;
return hp;
}
/*
- * find the most recent hash node for name name (ending with first
+ * find the most recent hash node for name "name" (ending with first
* non-identifier char) installed by install
*
* If LEN is >= 0, it is the length of the name.
in all the places that search a hash table chain for an equivalent
for a given value. A possible equivalent that has different structure
has its hash code computed from different data. Whether the hash code
- is the same as that of the the given value is pure luck. */
+ is the same as that of the given value is pure luck. */
static int
exp_equiv_p (x, y, validate, equal_values)
size += DWARF_LINE_OPCODE_BASE - 1;
/* Include directory table is empty (at present). Count only the
- the null byte used to terminate the table. */
+ null byte used to terminate the table. */
size += 1;
for (ft_index = 1; ft_index < file_table_in_use; ++ft_index)
if (type == NULL_TREE || type == error_mark_node)
return;
- /* We are going to output a DIE to represent the unqualified version of of
+ /* We are going to output a DIE to represent the unqualified version of
this type (i.e. without any const or volatile qualifiers) so get the
main variant (i.e. the unqualified version) of this type now. */
type = type_main_variant (type);
if (type == NULL_TREE || type == error_mark_node)
return;
- /* We are going to output a DIE to represent the unqualified version of of
+ /* We are going to output a DIE to represent the unqualified version of
this type (i.e. without any const or volatile qualifiers) so make sure
that we have the main variant (i.e. the unqualified version) of this
type now. */
/* If this ..._DECL node is marked to be ignored, then ignore it. But don't
ignore a function definition, since that would screw up our count of
- blocks, and that it turn will completely screw up the the labels we will
+ blocks, and that in turn will completely screw up the labels we will
reference in subsequent DW_AT_low_pc and DW_AT_high_pc attributes (for
subsequent blocks). */
if (DECL_IGNORED_P (decl) && TREE_CODE (decl) != FUNCTION_DECL)
/* If this ..._DECL node is marked to be ignored, then ignore it. We gotta
hope that the node in question doesn't represent a function definition.
If it does, then totally ignoring it is bound to screw up our count of
- blocks, and that it turn will completely screw up the the labels we will
+ blocks, and that in turn will completely screw up the labels we will
reference in subsequent DW_AT_low_pc and DW_AT_high_pc attributes (for
subsequent blocks). (It's too bad that BLOCK nodes don't carry their
own sequence numbers with them!) */
/* This is annoying, but we have to pop out of the .debug section
for a moment while we call `lookup_filename' because calling it
may cause a temporary switch into the .debug_sfnames section and
- most svr4 assemblers are not smart enough be be able to nest
+ most svr4 assemblers are not smart enough to be able to nest
section switches to any depth greater than one. Note that we
also can't skirt this issue by delaying all output to the
.debug_sfnames section unit the end of compilation because that
return;
/* We are going to output a DIE to represent the unqualified version of
- of this type (i.e. without any const or volatile qualifiers) so get
+ this type (i.e. without any const or volatile qualifiers) so get
the main variant (i.e. the unqualified version) of this type now. */
type = type_main_variant (type);
return;
/* We are going to output a DIE to represent the unqualified version of
- of this type (i.e. without any const or volatile qualifiers) so make
+ this type (i.e. without any const or volatile qualifiers) so make
sure that we have the main variant (i.e. the unqualified version) of
this type now. */
/* If this ..._DECL node is marked to be ignored, then ignore it.
But don't ignore a function definition, since that would screw
up our count of blocks, and that it turn will completely screw up the
- the labels we will reference in subsequent AT_low_pc and AT_high_pc
+ labels we will reference in subsequent AT_low_pc and AT_high_pc
attributes (for subsequent blocks). */
if (DECL_IGNORED_P (decl) && TREE_CODE (decl) != FUNCTION_DECL)
gotta hope that the node in question doesn't represent a function
definition. If it does, then totally ignoring it is bound to screw
up our count of blocks, and that it turn will completely screw up the
- the labels we will reference in subsequent AT_low_pc and AT_high_pc
+ labels we will reference in subsequent AT_low_pc and AT_high_pc
attributes (for subsequent blocks). (It's too bad that BLOCK nodes
don't carry their own sequence numbers with them!) */
throw. On machines that have unwind info support, __throw is generated
by code in libgcc2.c, otherwise __throw is generated on a
per-object-file basis for each source file compiled with
- -fexceptions by the the C++ frontend. Before __throw is invoked,
+ -fexceptions by the C++ frontend. Before __throw is invoked,
the current context of the throw needs to be placed in the global
variable __eh_pc.
return tempentry;
}
\f
-/* Routine to see if exception exception handling is turned on.
+/* Routine to see if exception handling is turned on.
DO_WARN is non-zero if we want to inform the user that exception
handling is turned off.
This routine notices one particular common case in C++ code
generation, and optimizes it so as to not need the exception
region. It works by creating a dynamic cleanup action, instead of
- of a using an exception region. */
+ a using an exception region. */
int
expand_eh_region_start_tree (decl, cleanup)
return 0;
}
-/* Output the entry of the exception table corresponding to to the
+/* Output the entry of the exception table corresponding to the
exception region numbered N to file FILE.
N is the code label number corresponding to the handler of the
these precise characteristics, we did something
entirely wrong in allocate_dynamic_stack_space.
- Note, one way this could happen if if SETJMP_VIA_SAVE_AREA
+ Note, one way this could happen is if SETJMP_VIA_SAVE_AREA
was defined on a machine where stacks grow towards higher
addresses.
total_bits = GET_MODE_BITSIZE (mode);
/* Make sure bitpos is valid for the chosen mode. Adjust BITPOS to
- be be in the range 0 to total_bits-1, and put any excess bytes in
+ be in the range 0 to total_bits-1, and put any excess bytes in
OFFSET. */
if (bitpos >= total_bits)
{
total_bits = GET_MODE_BITSIZE (mode);
/* Make sure bitpos is valid for the chosen mode. Adjust BITPOS to
- be be in the range 0 to total_bits-1, and put any excess bytes in
+ be in the range 0 to total_bits-1, and put any excess bytes in
OFFSET. */
if (bitpos >= total_bits)
{
tree elttype = TREE_TYPE (type);
/* If the constructor has fewer elements than the array,
- clear the whole array first. Similarly if this this is
+ clear the whole array first. Similarly if this is
static constructor of a non-BLKmode object. */
if (cleared || (GET_CODE (target) == REG && TREE_STATIC (exp)))
need_to_clear = 1;
/* If we were unable to expand via the builtin, stop the
sequence (without outputting the insns) and break, causing
- a call the the library function. */
+ a call to the library function. */
if (target == 0)
{
end_sequence ();
extern enum insn_code setcc_gen_code[NUM_RTX_CODE];
#ifdef HAVE_conditional_move
-/* Indexed by the the machine mode, gives the insn code to make a conditional
+/* Indexed by the machine mode, gives the insn code to make a conditional
move insn. */
extern enum insn_code movcc_gen_code[NUM_MACHINE_MODES];
wrap every new eval of lhs in save_expr() so it is clear to
back end that MULT_EXPR(lhs,lhs) has identical operands,
otherwise for an rhs like 32767 it generates around 65K pseudo
- registers, which which stupid_life_analysis cannot cope
+ registers, with which stupid_life_analysis cannot cope
(due to reg_renumber in regs.h being `short *' instead of
`int *').
typedef struct S MY_TYPE; MY_TYPE object;
Later parts of the compiler might only know that `object' was of type
- `struct S' if if were not for code just below. With this code
+ `struct S' if it were not for code just below. With this code
however, later parts of the compiler see something like:
struct S' == struct S typedef struct S' MY_TYPE; struct S' object;
@var{@1@} seconds by using @code{alarm(1)} to set up a signal and
@code{signal(2)} to catch it.
If @var{@3@} is supplied, it will be
-returned with the the number of seconds remaining until any previously
+returned with the number of seconds remaining until any previously
scheduled alarm was due to be delivered, or zero if there was no
previously scheduled alarm.
@xref{Signal Intrinsic (subroutine)}.
@var{Seconds} seconds by using @code{alarm(1)} to set up a signal and
@code{signal(2)} to catch it.
If @var{Status} is supplied, it will be
-returned with the the number of seconds remaining until any previously
+returned with the number of seconds remaining until any previously
scheduled alarm was due to be delivered, or zero if there was no
previously scheduled alarm.
@xref{Signal Intrinsic (subroutine)}.
else
if (c == '\'' || c == '"')
looking_for = c; /* Don't stop buffering until we see another
- another one of these (or an EOF). */
+ one of these (or an EOF). */
/* Handle backslash. */
char_escaped = (c == '\\' && ! char_escaped);
isn't enough, because then typing "GOTO" instead of "BLAH" above
doesn't work -- the statement is confirmed (we know the user
attempted a GOTO) but ffestc hasn't seen it. So, instead, just
- always tell ffestc to do "any" statement it needs to to reset. */
+ always tell ffestc to do "any" statement it needs to reset. */
if (!ffesta_is_inhibited_
&& ffesta_seen_first_exec)
/*
- * Compare the the mantissas of two doubles.
+ * Compare the mantissas of two doubles.
* Each mantissa is in two longs.
*
* return 1 if x1's mantissa is greater than x2's
if (significant)
SET_REGNO_REG_SET (significant, regno);
- /* Mark it as as dead before this insn. */
+ /* Mark it as dead before this insn. */
SET_REGNO_REG_SET (dead, regno);
/* A hard reg in a wide mode may really be multiple registers.
*PMASK is set to the mask used. This is either contained in a
BIT_AND_EXPR or derived from the width of the field.
- *PAND_MASK is set the the mask found in a BIT_AND_EXPR, if any.
+ *PAND_MASK is set to the mask found in a BIT_AND_EXPR, if any.
Return 0 if this is not a component reference or is one that we can't
do anything with. */
return p;
}
-/* Decode one instruction's worth of of DWARF 2 call frame information.
+/* Decode one instruction's worth of DWARF 2 call frame information.
Used by __frame_state_for. Takes pointers P to the instruction to
decode, STATE to the current register unwind information, INFO to the
current CIE information, and PC to the current PC value. Returns a
case SET:
/* We are allowed to set the virtual registers. This means that
- that the actual register should receive the source minus the
+ the actual register should receive the source minus the
appropriate offset. This is used, for example, in the handling
of non-local gotos. */
if (SET_DEST (x) == virtual_incoming_args_rtx)
}
/* Return the number of RTX objects making up the expression X.
- But if we count more more than MAX objects, stop counting. */
+ But if we count more than MAX objects, stop counting. */
static int
count_sub_rtxs (x, max)
In the latter case, we are branching to a node that is not the first
node in a decision list. We have already checked that it is possible
for both the node we originally tested at this level and the node we
- are branching to to be both match some pattern. That means that they
+ are branching to to both match some pattern. That means that they
usually will be testing the same mode and code. So it is normally safe
for such labels to be inside switch statements, since the tests done
by virtue of arriving at that label will usually already have been
goto out;
}
-/* Control profiling
+/* Control profiling;
profiling is what mcount checks to see if
all the data structures are ready. */
The transition (R->S) is implemented in the scheduling loop in
`schedule_block' when the best insn to schedule is chosen.
The transition (R->Q) is implemented in `queue_insn' when an
- insn is found to to have a function unit conflict with the already
+ insn is found to have a function unit conflict with the already
committed insns.
The transitions (P->R and P->Q) are implemented in `schedule_insn' as
insns move from the ready list to the scheduled list.
strict ANSI). This is because rtl.c now refers to the
CONSTANT_ADDRESS_P macro, which in turn refers to flag_half_pic,
and wants to call half_pic_address_p, whose address we also store
- in in a BSS variable. This way, the gen* programs won't get
+ in a BSS variable. This way, the gen* programs won't get
unknown symbol errors when being linked (flag_half_pic will never
be true in the gen* programs). */
/* Holds the number of loop iterations. It is zero if the number could not be
calculated. Must be unsigned since the number of iterations can
be as high as 2^wordsize-1. For loops with a wider iterator, this number
- will will be zero if the number of loop iterations is too large for an
+ will be zero if the number of loop iterations is too large for an
unsigned integer to hold. */
unsigned HOST_WIDE_INT loop_n_iterations;
p = NEXT_INSN (p);
code = GET_CODE (p);
- /* If library call, skip to end of of it. */
+ /* If library call, skip to end of it. */
if (code == INSN && (temp = find_reg_note (p, REG_LIBCALL, NULL_RTX)))
p = XEXP (temp, 0);
/* Past CODE_LABEL, we get to insns that may be executed multiple
times. The only way we can be sure that they can't is if every
- every jump insn between here and the end of the loop either
+ jump insn between here and the end of the loop either
returns, exits the loop, is a forward jump, or is a jump
to the loop start. */
We simplify this by looking for the common case where
there is one DEST_REG giv, and this giv's insn is the
last use of the dest_reg of that DEST_REG giv. If the
- the increment occurs after the address giv, then we can
+ increment occurs after the address giv, then we can
perform the optimization. (Otherwise, the increment
would have to go before other_giv, and we would not be
able to combine it with the address giv to get an
&& INSN_LUID (v->insn) < INSN_LUID (bl->biv->insn))
auto_inc_opt = 1;
}
- /* Check for case where increment is before the the address
+ /* Check for case where increment is before the address
giv. Do this test in "loop order". */
else if ((INSN_LUID (v->insn) > INSN_LUID (bl->biv->insn)
&& (INSN_LUID (v->insn) < INSN_LUID (scan_start)
rtx bivreg = regno_reg_rtx[bl->regno];
/* If there are no givs for this biv, and the only exit is the
- fall through at the end of the the loop, then
+ fall through at the end of the loop, then
see if perhaps there are no uses except to count. */
no_use_except_counting = 1;
for (p = loop_start; p != loop_end; p = NEXT_INSN (p))
/* This file contains the definitions and documentation for the
- machine modes used in the the GNU compiler.
+ machine modes used in the GNU compiler.
Copyright (C) 1987, 1992, 1994, 1997, 1998 Free Software Foundation, Inc.
This file is part of GNU CC.
#define ptrdiff_t int
\f
-/* Redefinition of of storage classes as an enumeration for better
+/* Redefinition of storage classes as an enumeration for better
debugging. */
#ifndef stStaParam
(ISALNUM (ch) || (ch) == '_' || (ch) == '.' || (ch) == '$')
\f
-/* Redefinition of of storage classes as an enumeration for better
+/* Redefinition of storage classes as an enumeration for better
debugging. */
typedef enum sc {
GNU CC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
GNU CC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
GNU CC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
GNU CC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
The runtime is modeled after the NeXT Objective C runtime. That is,
most functions have semantics as it is known from the NeXT. The
names, however, have changed. All runtime API functions have names
-of lowercase letters and and underscores as opposed to the
+of lowercase letters and underscores as opposed to the
`traditional' mixed case names.
The runtime api functions are not documented as of now.
Someone offered to write it, and did it, but we were not allowed to
GNU CC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
}
struct sarray*
-objc_get_uninstalled_dtable();
+objc_get_uninstalled_dtable(void);
#endif /* not __objc_api_INCLUDE_GNU */
GNU CC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
[(set TARG0 (operate OP0 OP1)) (set TARG1 (operate ...))].
Either TARG0 or TARG1 may be zero, but what that means is that
- that result is not actually wanted. We will generate it into
+ the result is not actually wanted. We will generate it into
a dummy pseudo-reg and discard it. They may not both be zero.
Returns 1 if this operation can be performed; 0 if not. */
switch (code)
{
case PLUS:
- /* If we have have a PLUS whose second operand is now a CONST_INT, use
+ /* If we have a PLUS whose second operand is now a CONST_INT, use
plus_constant to try to simplify it. */
if (GET_CODE (XEXP (x, 1)) == CONST_INT && XEXP (x, 1) == to)
validate_change (object, loc, plus_constant (XEXP (x, 0), INTVAL (to)),
{
offset += SUBREG_WORD (operand);
operand = SUBREG_REG (operand);
- /* Force reload if this is a constant or PLUS or if there may may
+ /* Force reload if this is a constant or PLUS or if there may
be a problem accessing OPERAND in the outer mode. */
if (CONSTANT_P (operand)
|| GET_CODE (operand) == PLUS
and that value is in a register that has been spilled,
and if the insn needs a reload in a class
that might use that register as the reload register,
- then add add an extra need in that class.
+ then add an extra need in that class.
This makes sure we have a register available that does
not overlap the return value. */
case ADDR_VEC:
case ADDR_DIFF_VEC:
/* Each of the labels in the address vector must be at their initial
- offsets. We want the first first for ADDR_VEC and the second
+ offsets. We want the first field for ADDR_VEC and the second
field for ADDR_DIFF_VEC. */
for (i = 0; i < XVECLEN (x, code == ADDR_DIFF_VEC); i++)
If INSN is an insn, it is the insn containing X. If we replace a REG
in a SET_DEST with an equivalent MEM and INSN is non-zero, write a
CLOBBER of the pseudo after INSN so find_equiv_regs will know that
- that the REG is being modified.
+ the REG is being modified.
Alternatively, INSN may be a note (an EXPR_LIST or INSN_LIST).
That's used when we eliminate in expressions stored in notes.
case RELOAD_FOR_INPADDR_ADDRESS:
/* Can't use a register if it is used for an input address
- address for this operand or used as an input in an earlier
+ for this operand or used as an input in an earlier
one. */
if (TEST_HARD_REG_BIT (reload_reg_used_in_inpaddr_addr[opnum], regno))
return 0;
case RELOAD_FOR_OUTADDR_ADDRESS:
/* Can't use a register if it is used for an output address
- address for this operand or used as an output in this or a
+ for this operand or used as an output in this or a
later operand. */
if (TEST_HARD_REG_BIT (reload_reg_used_in_outaddr_addr[opnum], regno))
return 0;
register rtx li;
int had_barrier = 0;
- /* Allocate the the rtvec to hold the insns and the SEQUENCE. */
+ /* Allocate the rtvec to hold the insns and the SEQUENCE. */
rtvec seqv = rtvec_alloc (length + 1);
rtx seq = gen_rtx_SEQUENCE (VOIDmode, seqv);
rtx seq_insn = make_insn_raw (seq);
return delay_list;
}
\f
-/* Delete INSN from the the delay slot of the insn that it is in. This may
+/* Delete INSN from the delay slot of the insn that it is in. This may
produce an insn without anything in its delay slots. */
static void
/* If all insns in the delay slot have been matched and we were previously
annulling the branch, we need not any more. In that case delete all the
- merged insns. Also clear the INSN_FROM_TARGET_P bit of each insn the
+ merged insns. Also clear the INSN_FROM_TARGET_P bit of each insn in
the delay list so that we know that it isn't only being used at the
target. */
if (slot_number == num_slots && annul_p)
if (GET_CODE (XVECEXP (pat, 0, 0)) == CALL_INSN)
return 0;
- /* If this this is an INSN or JUMP_INSN with delayed effects, it
+ /* If this is an INSN or JUMP_INSN with delayed effects, it
is hard to track the resource needs properly, so give up. */
#ifdef INSN_SETS_ARE_DELAYED
The transition (R->S) is implemented in the scheduling loop in
`schedule_block' when the best insn to schedule is chosen.
The transition (R->Q) is implemented in `schedule_select' when an
- insn is found to to have a function unit conflict with the already
+ insn is found to have a function unit conflict with the already
committed insns.
The transitions (P->R and P->Q) are implemented in `schedule_insn' as
insns move from the ready list to the scheduled list.
/* Add a pair of fake REG_NOTEs which we will later
convert back into a NOTE_INSN_SETJMP note. See
- reemit_notes for why we use a pair of of NOTEs. */
+ reemit_notes for why we use a pair of NOTEs. */
REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_DEAD,
GEN_INT (0),
The transformation is performed by splitting the ordered
list into two equal sections plus a pivot. The parts are
then attached to the pivot as left and right branches. Each
- branch is is then transformed recursively. */
+ branch is then transformed recursively. */
static void
balance_case_nodes (head, parent)
check for bounded nodes. In this case conditional and/or
unconditional jumps as a result of the boundary check for the
current node are arranged to target the subordinates associated
- code for out of bound conditions on the current node node.
+ code for out of bound conditions on the current node.
We can assume that when control reaches the code generated here,
the index value has already been compared with the parents
/* This file performs stupid register allocation, which is used
when cc1 gets the -noreg switch (which is when cc does not get -O).
- Stupid register allocation goes in place of the the flow_analysis,
+ Stupid register allocation goes in place of the flow_analysis,
local_alloc and global_alloc passes. combine_instructions cannot
be done with stupid allocation because the data flow info that it needs
is not computed here.
// Subject: Re: unexpected difference between gcc and g++ (both 2.3.3)
// Message-ID: <1oaacnINNt20@gap.caltech.edu>
-/* Notice that that this case parses fine */
+/* Notice that this case parses fine */
int (* volatile y)[10];
void foo2() {
//
// Error messages
// - an unacceptable, but expected and recoverable condition
- // was was detected (but the test fails)
+ // was detected (but the test fails)
// - errors are for ``the expected environment was not found''
// rather than for ``file couldn't be opened''
// - these messages cannot be shut off
//
// Error messages
// - an unacceptable, but expected and recoverable
- // condition was was detected
+ // condition was detected
// - errors are for ``the expected environment was not found''
// rather than for ``file couldn't be opened''
// - these messages cannot be shut off
//
// Error messages
// - an unacceptable, but expected and recoverable condition
- // was was detected (but the test fails)
+ // was detected (but the test fails)
// - errors are for ``the expected environment was not found''
// rather than for ``file couldn't be opened''
// - these messages cannot be shut off
//
// Error messages
// - an unacceptable, but expected and recoverable
- // condition was was detected
+ // condition was detected
// - errors are for ``the expected environment was not found''
// rather than for ``file couldn't be opened''
// - these messages cannot be shut off
should define this macro to express the relative cost.
If you do not define this macro, GNU CC uses a default cost of 4 plus
-the cost of copying copying via a secondary reload register, if one is
+the cost of copying via a secondary reload register, if one is
needed. If your machine requires a secondary reload register to copy
between memory and a register of @var{class} but the reload mechanism is
more complex than copying via an intermediate, define this macro to
Operand 0 is the condition.
Operand 1 is the then-value.
Operand 2 is the else-value.
- Operand 0 may be of any types, but the types of operands 1 and 2
- must be the same and the same as the the of this expression. */
+ Operand 0 may be of any type, but the types of operands 1 and 2
+ must be the same and the same as the type of this expression. */
DEFTREECODE (COND_EXPR, "cond_expr", 'e', 3)
/* Declare local variables, including making RTL and allocating space.
/* For increment, must check every instruction that sets it. Each
instruction must be executed only once each time through the loop.
- To verify this, we check that the the insn is always executed, and that
+ To verify this, we check that the insn is always executed, and that
there are no backward branches after the insn that branch to before it.
Also, the insn must have a mult_val of one (to make sure it really is
an increment). */
Permit real (or double precision) parameters in dimension expressions.
Mon Aug 7 08:04:00 EDT 1995
- Append "_eqv" rather than just "_" to names that that appear in
+ Append "_eqv" rather than just "_" to names that appear in
EQUIVALENCE statements as well as structs in f2c.h (to avoid a
conflict when these names also name common blocks).
DESCRIPTION
Duplicate an argument vector. Simply scans through the
- vector, duplicating each argument argument until the
+ vector, duplicating each argument until the
terminating NULL is found.
RETURNS
}
j = 0;
/* If you're going to end up with one or more colons in the middle of a
- a path after an all-Unix relative path is translated, you must add a
+ path after an all-Unix relative path is translated, you must add a
colon on the front, so that the first component is not thought to be
a disk name. */
if (unixname[0] != '/' && ! strchr (unixname, ':') && strchr (unixname, '/'))
#include <streambuf.h>
#if !_IO_UNIFIED_JUMPTABLES
-// A builtinbuf a a streambuf where all the virtual operations
+// A builtinbuf is a streambuf where all the virtual operations
// call the _IO_jump_t table.
extern "C++" {
return 0;
if (fp->_flags & _IO_IS_APPENDING)
/* On a system without a proper O_APPEND implementation,
- you would need to sys_seek(0, SEEK_END) here, but is
+ you would need to sys_seek(0, SEEK_END) here, but it
is not needed nor desirable for Unix- or Posix-like systems.
Instead, just indicate that offset (before and after) is
unpredictable. */
If you set things up to use the implementation of @code{stdio} provided
with this library, then @code{cin}, @code{cout}, and @code{cerr} will be
-set up to to use @code{stdiobuf} objects, since you get their benefits
+set up to use @code{stdiobuf} objects, since you get their benefits
for free. @xref{Stdio,,C Input and Output}.
@ignore
to a pipe; you can read from the pipe by reading from the
@code{procbuf}. (This is similar to @w{@samp{popen(@var{command}, "r")}}.)
-If @var{mode} is @samp{ios::out}, output written written to the
+If @var{mode} is @samp{ios::out}, output written to the
@code{procbuf} is written to a pipe; the program is set up to read its
standard input from (the other end of) the pipe. (This is similar to
@w{@samp{popen(@var{command}, "w")}}.)
virtual function, so that C functions can access (potentially user-defined)
streambuf-derived objects.
Contrast the builtinbuf class, which does the converse: Allow
- C++ virtual calls to to be used on _IO_FILE objects that are builtin
+ C++ virtual calls to be used on _IO_FILE objects that are builtin
(or defined by C code). */
// Returns an object of size n, and optionally adds to size n free list.
void *refill(size_t n);
- // Allocates a chunk for nobjs of size size. nobjs may be reduced
+ // Allocates a chunk for nobjs of size "size". nobjs may be reduced
// if it is inconvenient to allocate the requested number.
static char *chunk_alloc(size_t size, int &nobjs);
}
#if !defined(_MSC_VER) && !defined(__BORLANDC__)
-// I couldn't get this to work work with the VC++ version of basic_ostream.
+// I couldn't get this to work with the VC++ version of basic_ostream.
inline bool __rope_insert_char_consumer<wchar_t>::operator()
(const wchar_t * leaf, size_t n)
{
// Returns an object of size n, and optionally adds to size n free list.
static void *refill(size_t n);
- // Allocates a chunk for nobjs of size size. nobjs may be reduced
+ // Allocates a chunk for nobjs of size "size". nobjs may be reduced
// if it is inconvenient to allocate the requested number.
static char *chunk_alloc(size_t size, int &nobjs);
$ info -f info-stnd
If you are using GNU Emacs, you may want to install the Emacs Lisp files
-permanently. Move them them to a directory in the load-path for Emacs;
+permanently. Move them to a directory in the load-path for Emacs;
otherwise Emacs will not be able to load the autoloaded support files, such
as `texinfmt.el'.
Installation files:
- configure This file creates creates a Makefile
+ configure This file creates a Makefile
which in turn creates an `info' or
`makeinfo' executable, or a C sources
distribution.
# Macro to add for using GNU gettext.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
-# This file file be copied and used freely without restrictions. It can
+# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
# Search path for a program which passes the given test.
# Ulrich Drepper <drepper@cygnus.com>, 1996.
#
-# This file file be copied and used freely without restrictions. It can
+# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
# Check whether LC_MESSAGES is available in <locale.h>.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
-# This file file be copied and used freely without restrictions. It can
+# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
# Macro to add for using GNU gettext.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
-# This file file be copied and used freely without restrictions. It can
+# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
# Search path for a program which passes the given test.
# Ulrich Drepper <drepper@cygnus.com>, 1996.
#
-# This file file be copied and used freely without restrictions. It can
+# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
# Check whether LC_MESSAGES is available in <locale.h>.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
-# This file file be copied and used freely without restrictions. It can
+# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
(cons (- end-of-template start-of-template)
texinfo-multitable-width-list))
;; Remove carriage return from within a template, if any.
- ;; This helps those those who want to use more than
+ ;; This helps those who want to use more than
;; one line's worth of words in @multitable line.
(narrow-to-region start-of-template end-of-template)
(goto-char (point-min))
;;; @set, @clear, @ifset, @ifclear
;; If a flag is set with @set FLAG, then text between @ifset and @end
-;; ifset is formatted normally, but if the flag is is cleared with
+;; ifset is formatted normally, but if the flag is cleared with
;; @clear FLAG, then the text is not formatted; it is ignored.
;; If a flag is cleared with @clear FLAG, then text between @ifclear
-;; and @end ifclear is formatted normally, but if the flag is is set with
+;; and @end ifclear is formatted normally, but if the flag is set with
;; @set FLAG, then the text is not formatted; it is ignored. @ifclear
;; is the opposite of @ifset.
node to be selected. You do not need to type a complete nodename; if
you type a few letters and then a space or tab
.B info
-will will try to fill in the rest of the nodename. If you ask for further
+will try to fill in the rest of the nodename. If you ask for further
completion without typing any more characters you'll be given a list
of possibilities; you can also get the list with
.B ?.
}
-/* Remove upto COUNT characters of whitespace from the
- the current output line. If COUNT is less than zero,
+/* Remove up to COUNT characters of whitespace from the
+ current output line. If COUNT is less than zero,
then remove until none left. */
void
kill_self_indent (count)
}
/* Search forward for STRING in input_text.
- FROM says where where to start. */
+ FROM says where to start. */
int
search_forward (string, from)
char *string;
case IFSET:
case IFCLEAR:
/* If IFSET and NAME is not set, or if IFCLEAR and NAME is set,
- read lines from the the file until we reach a matching
+ read lines from the file until we reach a matching
"@end CONDITION". This means that we only take note of
"@ifset/clear" and "@end" commands. */
{
number) and then non-whitespace (the number). */
while (*params && (*params == ' ' || *params == '\t'))
params++;
- /* Hmm, but what what @columnfractions 3foo. Well, I suppose
+ /* Hmm, but what about @columnfractions 3foo? Well, I suppose
it's invalid input anyway. */
while (*params && *params != ' ' && *params != '\t'
&& *params != '\n' && *params != '@')
# Makefile for program source directory in GNU NLS utilities package.
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
-# This file file be copied and used freely without restrictions. It can
+# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.