gcc/gcc
Nick Clifton 789a3090f3 Add support for MCore port
From-SVN: r31974
2000-02-14 22:56:20 +00:00
..
ch decl.c (init_decl_processing): Remove duplicate decl of set_alignment. 2000-02-11 15:49:56 +00:00
config Backend for Motorola's MCore processors. 2000-02-14 22:51:36 +00:00
cp parse.y (frob_specs): Split out... 2000-02-13 14:29:53 -05:00
f Daily bump. 2000-02-14 01:45:07 -07:00
fixinc Remove unneeded @fixinc_defs@ 2000-02-11 20:20:14 +00:00
ginclude ppc-asm.h (FUNC_START): Use USER_LABEL_PREFIX. 2000-02-06 03:14:46 +00:00
intl
java except.c (maybe_start_try): Remove excess argument to `check_start_handlers'. 2000-02-10 19:10:07 +00:00
objc c-parse.in: Apply Ulrich's changes from c-parse.y. 2000-01-30 03:44:04 +00:00
po tinfo.h: Remove apostrophes from C++ comment (xgettext thinks this file is plain C). 2000-02-06 06:57:21 +00:00
testsuite Remove duplicate test case - same as gcc.dg/20000127-1.c 2000-02-14 01:04:16 +00:00
.cvsignore
.gdbinit
ABOUT-GCC-NLS
ABOUT-NLS
acconfig.h configure.in (--enable-new-gxx-abi): New option. 2000-01-13 15:36:24 +00:00
aclocal.m4 Oops, a reference to mmap_zero remained 2000-01-16 18:49:31 +00:00
alias.c Typo fix. 2000-01-21 10:36:05 +00:00
assert.h
basic-block.h basic_block.h: Added prototype for reorder_basic_blocks. 2000-02-14 19:34:06 +00:00
bitmap.c alias.c: PROTO -> PARAMS. 2000-01-11 23:27:40 +00:00
bitmap.h alias.c: PROTO -> PARAMS. 2000-01-11 23:27:40 +00:00
BUGS
build-make
builtins.c builtins.c (expand_builtin_memset): Expand for variable sized lengths too. 2000-02-01 18:57:21 +00:00
c-aux-info.c alias.c: PROTO -> PARAMS. 2000-01-11 23:27:40 +00:00
c-common.c Makefile.in (c-common.o): Depend on $(EXPR_H). 2000-02-06 03:40:46 +00:00
c-common.h c-common.c: PROTO -> PARAMS. 2000-01-12 22:47:13 +00:00
c-convert.c
c-decl.c c-decl.c (c_decode_option): Accept optional numeric argument to -Wformat and set warn_format. 2000-01-31 03:31:26 +00:00
c-gperf.h
c-iterate.c c-common.c: PROTO -> PARAMS. 2000-01-12 22:47:13 +00:00
c-lang.c c-common.c, [...]: Remove all references to obstack functions obsoleted by GC... 2000-01-25 17:13:14 +00:00
c-lex.c Adjust variable names, comments, help strings to c99. 2000-01-29 18:59:40 +00:00
c-lex.h c-common.c: PROTO -> PARAMS. 2000-01-12 22:47:13 +00:00
c-parse.c c-parse.in: Apply Ulrich's changes from c-parse.y. 2000-01-30 03:44:04 +00:00
c-parse.gperf
c-parse.h c-parse.in (string action): Do not warn about ANSI string concatenation in system headers. 1999-12-17 21:23:38 +00:00
c-parse.in c-parse.in: Apply Ulrich's changes from c-parse.y. 2000-01-30 03:44:04 +00:00
c-parse.y Adjust variable names, comments, help strings to c99. 2000-01-29 18:59:40 +00:00
c-pragma.c c-pragma.c (maximum_field_alignment): Remove duplicate declaration. 2000-02-10 23:13:17 +00:00
c-pragma.h c-common.c: PROTO -> PARAMS. 2000-01-12 22:47:13 +00:00
c-tree.h Adjust variable names, comments, help strings to c99. 2000-01-29 18:59:40 +00:00
c-typeck.c tree.def (UNNE_EXPR): Remove. 2000-01-25 18:06:21 -08:00
caller-save.c Makefile.in (c-common.o): Depend on $(EXPR_H). 2000-02-06 03:40:46 +00:00
calls.c Fix for ia64 setjmp miscompilation problem. 2000-02-10 13:00:09 -08:00
cccp.1
cccp.c cccp.c (main): Check 'dir' for a NULL pointer before passing it to strcmp. 2000-02-05 05:04:09 +00:00
cexp.c cccp.c: PROTO -> PARAMS. 2000-01-14 00:46:57 +00:00
cexp.y cccp.c: PROTO -> PARAMS. 2000-01-14 00:46:57 +00:00
ChangeLog Add support for MCore port 2000-02-14 22:56:20 +00:00
ChangeLog.0
ChangeLog.1
ChangeLog.lib
collect2.c collect2.c (main): If we have frames, then we will need to import the frame handling functions. 2000-02-14 19:46:02 +00:00
collect2.h
combine.c * combine.c (simplify_comparison): Fix typo. 2000-02-13 13:22:58 -07:00
conditions.h
config.guess
config.in aclocal.m4 (AC_FUNC_MMAP_ZERO): New macro. 2000-01-16 18:16:55 +00:00
configure Add support for MCore port 2000-02-14 22:56:20 +00:00
configure.bat
configure.frag
configure.in Add support for MCore port 2000-02-14 22:56:20 +00:00
configure.lang
convert.c
convert.h cccp.c: PROTO -> PARAMS. 2000-01-14 00:46:57 +00:00
COPYING
COPYING.LIB
cpp.1
cpp.fns
cpp.texi
cppalloc.c cpplib.c (my_strerror, [...]): Move to cpperror.c. 2000-02-06 23:46:18 +00:00
cpperror.c cpplib.c (my_strerror, [...]): Move to cpperror.c. 2000-02-06 23:46:18 +00:00
cppexp.c cppexp.c: Don't include cpphash.h. 2000-02-10 23:47:04 +00:00
cppfiles.c cppfiles.c (read_and_prescan): When emitting deferred newlines... 2000-02-14 06:31:20 +00:00
cpphash.c cpphash.c: Fix formatting, update commentary. 2000-02-11 20:17:27 +00:00
cpphash.h cpphash.c: Fix formatting, update commentary. 2000-02-11 20:17:27 +00:00
cppinit.c cpphash.c: Fix formatting, update commentary. 2000-02-11 20:17:27 +00:00
cpplib.c cpplib.c (do_define): Only free the old definition if it actually had one. 2000-02-14 07:57:30 +00:00
cpplib.h cppexp.c: Don't include cpphash.h. 2000-02-10 23:47:04 +00:00
cppmain.c cpplib.c (my_strerror, [...]): Move to cpperror.c. 2000-02-06 23:46:18 +00:00
cppspec.c
cppulp.c
cross-make configure.in (i?86-*-beos{pe,elf,}*): Recognize. 2000-01-12 19:37:06 -05:00
crtstuff.c crtstuff.c (__do_global_ctors_aux, [...]): Add prototype argument. 2000-02-12 19:19:01 +00:00
cse.c cse.c (cse_altered): New internal flag. 2000-02-14 01:32:19 +00:00
cstamp-h.in
dbxout.c cccp.c: PROTO -> PARAMS. 2000-01-14 00:46:57 +00:00
dbxout.h cccp.c: PROTO -> PARAMS. 2000-01-14 00:46:57 +00:00
dbxstclass.h
defaults.h * defaults.h (ASM_OUTPUT_ASCII): Use ISDIGIT. 2000-01-15 03:00:11 +00:00
diagnostic.c Makefile.in (c-common.o): Depend on $(EXPR_H). 2000-02-06 03:40:46 +00:00
doprint.c cccp.c: PROTO -> PARAMS. 2000-01-14 00:46:57 +00:00
doschk.c
dostage2
dostage3
dwarf2.h dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant. 2000-02-09 01:57:21 +00:00
dwarf2out.c dwarf2out.c (add_abstract_origin_attribute): Check TREE_CODE (origin) rather than die->die_tag. 2000-02-10 17:10:36 -05:00
dwarf2out.h Makefile.in (c-common.o): Depend on $(EXPR_H). 2000-02-06 03:40:46 +00:00
dwarf.h
dwarfout.c dwarfout.c (SHORT_TYPE_SIZE): Correct default. 2000-02-01 11:00:43 +00:00
dwarfout.h cccp.c: PROTO -> PARAMS. 2000-01-14 00:46:57 +00:00
dyn-string.c
dyn-string.h cccp.c: PROTO -> PARAMS. 2000-01-14 00:46:57 +00:00
eh-common.h eh-common.h: PROTO -> PARAMS. 2000-01-14 17:14:43 +00:00
emit-rtl.c flow.c (flow_delete_insn, [...]): Export. 2000-02-06 05:01:03 -08:00
enquire.c
errors.c eh-common.h: PROTO -> PARAMS. 2000-01-14 17:14:43 +00:00
errors.h eh-common.h: PROTO -> PARAMS. 2000-01-14 17:14:43 +00:00
except.c stupid.c: Die die die. 2000-01-19 01:42:11 -08:00
except.h eh-common.h: PROTO -> PARAMS. 2000-01-14 17:14:43 +00:00
exgettext tinfo.h: Remove apostrophes from C++ comment (xgettext thinks this file is plain C). 2000-02-06 06:57:21 +00:00
explow.c calls.c (compute_argument_block_size): New argument preferred_stack_boundary. 2000-02-07 17:39:40 +00:00
expmed.c combine.c (make_extraction, [...]): Avoid warning on mixed-signedness conditionals. 2000-02-10 17:05:40 -05:00
expr.c combine.c (make_extraction, [...]): Avoid warning on mixed-signedness conditionals. 2000-02-10 17:05:40 -05:00
expr.h combine.c (make_extraction, [...]): Avoid warning on mixed-signedness conditionals. 2000-02-10 17:05:40 -05:00
extend.texi
final.c calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED. 2000-01-18 22:45:16 +00:00
fix-header.c cppexp.c: Don't include cpphash.h. 2000-02-10 23:47:04 +00:00
fixproto
flags.h stupid.c: Die die die. 2000-01-19 01:42:11 -08:00
floatlib.c
flow.c basic_block.h: Added prototype for reorder_basic_blocks. 2000-02-14 19:34:06 +00:00
fold-const.c combine.c (make_extraction, [...]): Avoid warning on mixed-signedness conditionals. 2000-02-10 17:05:40 -05:00
fp-test.c rtl.def: Add unordered fp comparisions. 2000-01-24 12:10:04 -08:00
frame.c dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant. 2000-02-09 01:57:21 +00:00
frame.h Restore i386 binary compatibility in Dwarf EH info. 1999-12-29 20:44:13 -07:00
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
function.c function.c (thread_prologue_and_epilogue_insns): Don't insert a RETURN insn into a block which already ends with a jump. 2000-02-11 19:31:55 +00:00
function.h calls.c (compute_argument_block_size): New argument preferred_stack_boundary. 2000-02-07 17:39:40 +00:00
future.options
gansidecl.h gansidecl.h (PROTO, [...]): Delete macros. 2000-01-31 16:39:49 +00:00
gbl-ctors.h
gcc.1
gcc.c Makefile.in (fixinc.sh): Depend on specs. 2000-01-20 18:25:12 +00:00
gcc.h
gcc.hlp
gcc.texi gcc.texi (Passes): Fix typo. 2000-02-14 10:37:13 +00:00
gccspec.c
gcov-io.h eh-common.h: PROTO -> PARAMS. 2000-01-14 17:14:43 +00:00
gcov.c eh-common.h: PROTO -> PARAMS. 2000-01-14 17:14:43 +00:00
gcov.texi
gcse.c flow.c (find_basic_blocks): Remove do_cleanup argument. 2000-01-28 14:22:50 -08:00
gen-protos.c Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a. 2000-02-08 21:27:02 +00:00
genattr.c Update copyrights 2000-01-17 17:16:21 +00:00
genattrtab.c genattr.c: PROTO -> PARAMS. 2000-01-17 15:17:38 +00:00
gencheck.c Update copyrights 2000-01-17 17:16:21 +00:00
gencodes.c Update copyrights 2000-01-17 17:16:21 +00:00
genconfig.c Update copyrights 2000-01-17 17:16:21 +00:00
genemit.c Word wrap comment 2000-02-05 05:05:03 +00:00
genextract.c Update copyrights 2000-01-17 17:16:21 +00:00
genflags.c recog.h: Remove NO_MD_PROTOTYPES ifdefs. 2000-02-05 04:56:11 +00:00
gengenrtl.c Update copyrights 2000-01-17 17:16:21 +00:00
genmultilib
genopinit.c genattr.c: PROTO -> PARAMS. 2000-01-17 15:17:38 +00:00
genoutput.c recog.h: Remove NO_MD_PROTOTYPES ifdefs. 2000-02-05 04:56:11 +00:00
genpeep.c Update copyrights 2000-01-17 17:16:21 +00:00
genrecog.c genattr.c: PROTO -> PARAMS. 2000-01-17 15:17:38 +00:00
ggc-callbacks.c Makefile.in (toplev.o): Depend on loop.h. 1999-12-24 14:04:54 +00:00
ggc-common.c dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root. 2000-01-25 02:47:46 -08:00
ggc-none.c
ggc-page.c flow.c (mark_regs_live_at_end): Delete unused variables. 2000-02-10 16:45:23 +00:00
ggc-simple.c Update copyrights 2000-01-17 17:16:21 +00:00
ggc.h Makefile.in (c-common.o): Depend on $(EXPR_H). 2000-02-06 03:40:46 +00:00
glimits.h rs6000.c (processor_target_table): Add power3 as alias for 630. 2000-01-07 13:33:12 -05:00
global.c stupid.c: Die die die. 2000-01-19 01:42:11 -08:00
gmon.c
graph.c Update copyrights 2000-01-17 17:16:21 +00:00
graph.h
gstab.h
gsyms.h
gsyslimits.h
gthr-dce.h crtstuff.c (__do_global_ctors_aux, [...]): Add prototype argument. 2000-02-12 19:19:01 +00:00
gthr-posix.h crtstuff.c (__do_global_ctors_aux, [...]): Add prototype argument. 2000-02-12 19:19:01 +00:00
gthr-single.h gthr-posix.h: Fix typo; compatibily -> compatibility. 2000-01-27 10:49:12 -08:00
gthr-solaris.h crtstuff.c (__do_global_ctors_aux, [...]): Add prototype argument. 2000-02-12 19:19:01 +00:00
gthr-vxworks.h crtstuff.c (__do_global_ctors_aux, [...]): Add prototype argument. 2000-02-12 19:19:01 +00:00
gthr-win32.h crtstuff.c (__do_global_ctors_aux, [...]): Add prototype argument. 2000-02-12 19:19:01 +00:00
gthr.h gthr-posix.h: Fix typo; compatibily -> compatibility. 2000-01-27 10:49:12 -08:00
haifa-sched.c * haifa-sched.c (BUF_LEN): Increase a lot. 2000-02-11 19:27:00 +00:00
halfpic.c
halfpic.h Update copyrights 2000-01-17 17:16:21 +00:00
hard-reg-set.h
hash.c Makefile.in (toplev.o): Depend on loop.h. 1999-12-24 14:04:54 +00:00
hash.h configure.in (i?86-*-beos{pe,elf,}*): Recognize. 2000-01-12 19:37:06 -05:00
hwint.h
input.h
install1.texi
INSTALL
install.texi Add support for MCore port 2000-02-14 22:56:20 +00:00
integrate.c function.c (assign_temp): Change zero-sized arrays to size 1. 2000-02-10 17:43:55 +00:00
integrate.h Update copyrights 2000-01-17 17:16:21 +00:00
intl.c
intl.h
invoke.texi Add support for MCore port 2000-02-14 22:56:20 +00:00
jump.c jump.c (jump_optimize_1): The first operand in a relational can be a CONST_INT. 2000-02-11 12:35:57 -07:00
LANGUAGES
lcm.c Update copyrights 2000-01-17 17:16:21 +00:00
libgcc1-test.c
libgcc1.c
libgcc2.c frame.c (find_fde): Convert for loop to do-while so compiler sees it's always executed at least once. 2000-02-01 23:51:38 +00:00
limitx.h
limity.h
listing
lists.c
local-alloc.c stupid.c: Die die die. 2000-01-19 01:42:11 -08:00
longlong.h * longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg. 2000-02-06 04:48:20 +00:00
loop.c Reflect renaming of invariant_p to loop_invariant_p in comment. 2000-01-27 17:45:12 +00:00
loop.h loop.c (current_loop_info): Delete. 2000-01-25 22:49:56 +00:00
machmode.def
machmode.h combine.c (make_extraction, [...]): Avoid warning on mixed-signedness conditionals. 2000-02-10 17:05:40 -05:00
make-l2.com
Makefile.in Makefile.in (bootstrap-lean): Remove additional files. 2000-02-11 17:50:31 +00:00
makefile.vms
mbchar.c
mbchar.h Update copyrights 2000-01-17 17:16:21 +00:00
md.texi gcc.texi (Passes): Fix typo. 2000-02-14 10:37:13 +00:00
mips-tdump.c Update copyrights 2000-01-17 17:16:21 +00:00
mips-tfile.c Update copyrights 2000-01-17 17:16:21 +00:00
mkinstalldirs
move-if-change
NEWS Add support for MCore port 2000-02-14 22:56:20 +00:00
optabs.c jump.c (jump_optimize_1): The first operand in a relational can be a CONST_INT. 2000-02-11 12:35:57 -07:00
output.h flow.c (find_basic_blocks): Remove do_cleanup argument. 2000-01-28 14:22:50 -08:00
patch-apollo-includes
pcp.h
predict.c [multiple changes] 2000-01-29 01:41:22 +00:00
prefix.c prefix.c (concat, lookup_key): Use xmalloc and xrealloc consistently. 2000-02-13 12:59:29 -07:00
prefix.h
print-rtl.c Update copyrights 2000-01-17 17:16:21 +00:00
print-tree.c
PROBLEMS
profile.c Update copyrights 2000-01-17 17:16:21 +00:00
protoize.c Update copyrights 2000-01-17 17:16:21 +00:00
pself1.c
pself2.c
pself3.c
pself4.c
pself5.c
pself.c
README
README-bugs
README-fixinc
README.ACORN
README.ALTOS
README.APOLLO
README.AVR Denis Chertykov <denisc@overta.ru> 2000-02-11 14:31:46 -08:00
README.C4X
README.DWARF
README.FRESCO
README.gnat
README.NS32K
README.RS6000
README.TRAD
README.X11
real.c real.c (enan, [...]): Wrap in NANS. 2000-01-19 22:21:22 +00:00
real.h machmode.h: PROTO -> PARAMS. 2000-01-17 15:37:04 +00:00
recog.c Update copyrights 2000-01-17 17:16:21 +00:00
recog.h recog.h: Remove NO_MD_PROTOTYPES ifdefs. 2000-02-05 04:56:11 +00:00
reg-stack.c Makefile.in (c-common.o): Depend on $(EXPR_H). 2000-02-06 03:40:46 +00:00
regclass.c machmode.h: PROTO -> PARAMS. 2000-01-17 15:37:04 +00:00
regmove.c machmode.h: PROTO -> PARAMS. 2000-01-17 15:37:04 +00:00
regs.h Update copyrights 2000-01-17 17:16:21 +00:00
reload1.c * reload1.c (reload) Align stack frame to cfun->stack_alignment_needed, 2000-02-09 13:38:09 +00:00
reload.c reload.c: PROTO -> PARAMS. 2000-01-17 15:47:29 +00:00
reload.h Update copyrights 2000-01-17 17:16:21 +00:00
reorg.c Update copyrights 2000-01-17 17:16:21 +00:00
resource.c print-rtl.c: PROTO -> PARAMS. 2000-01-17 16:01:04 +00:00
resource.h reload.c: PROTO -> PARAMS. 2000-01-17 15:47:29 +00:00
rtl.c Update copyrights 2000-01-17 17:16:21 +00:00
rtl.def tree.def (UNNE_EXPR): Remove. 2000-01-25 18:06:21 -08:00
rtl.h combine.c (make_extraction, [...]): Avoid warning on mixed-signedness conditionals. 2000-02-10 17:05:40 -05:00
rtl.texi
rtlanal.c rtlanal.c (reg_referenced_p): A CLOBBER of a MEM uses any REGs inside the MEM. 2000-01-19 20:21:08 +00:00
sbitmap.c [multiple changes] 2000-01-29 01:41:22 +00:00
sbitmap.h * sbitmap.h: Make SBITMAP_ELT_BITS unsigned. 2000-02-11 02:49:40 -07:00
scan-decls.c builtins.c (expand_builtin_strlen): Initialize variable `icode'. 2000-01-04 16:29:41 +00:00
scan-types.sh
scan.c Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a. 2000-02-08 21:27:02 +00:00
scan.h cpplib.h: Provide HASHNODE typedef and forward decl of struct hashnode only. 2000-02-10 02:23:08 +00:00
sdbout.c reload.c: PROTO -> PARAMS. 2000-01-17 15:47:29 +00:00
sdbout.h Update copyrights 2000-01-17 17:16:21 +00:00
SERVICE
simplify-rtx.c simplify-rtx.c (simplify_relational_operation): Canonicalize constant to op1 for testing. 2000-02-06 02:56:56 -08:00
sort-protos
stab.def
stack.h Update copyrights 2000-01-17 17:16:21 +00:00
stmt.c flow.c (mark_regs_live_at_end): Delete unused variables. 2000-02-10 16:45:23 +00:00
stor-layout.c combine.c (make_extraction, [...]): Avoid warning on mixed-signedness conditionals. 2000-02-10 17:05:40 -05:00
sys-protos.h
sys-types.h
system.h reload.c: PROTO -> PARAMS. 2000-01-17 15:47:29 +00:00
TESTS.FLUNK
texinfo.tex
tlink.c
tm.texi gcc.texi (Passes): Fix typo. 2000-02-14 10:37:13 +00:00
toplev.c basic_block.h: Added prototype for reorder_basic_blocks. 2000-02-14 19:34:06 +00:00
toplev.h Makefile.in (c-common.o): Depend on $(EXPR_H). 2000-02-06 03:40:46 +00:00
tree.c combine.c (make_extraction, [...]): Avoid warning on mixed-signedness conditionals. 2000-02-10 17:05:40 -05:00
tree.def tree.def (UNNE_EXPR): Remove. 2000-01-25 18:06:21 -08:00
tree.h combine.c (make_extraction, [...]): Avoid warning on mixed-signedness conditionals. 2000-02-10 17:05:40 -05:00
tsystem.h tsystem.h: New file. 2000-02-01 21:30:52 +00:00
typeclass.h
unprotoize.c
unroll.c flow.c (mark_regs_live_at_end): Delete unused variables. 2000-02-10 16:45:23 +00:00
varasm.c combine.c (make_extraction, [...]): Avoid warning on mixed-signedness conditionals. 2000-02-10 17:05:40 -05:00
varray.c Update copyrights 2000-01-17 17:16:21 +00:00
varray.h Update copyrights 2000-01-17 17:16:21 +00:00
version.c Daily bump. 2000-02-14 01:45:07 -07:00
vmsconfig.com
xcoffout.c Update copyrights 2000-01-17 17:16:21 +00:00
xcoffout.h Update copyrights 2000-01-17 17:16:21 +00:00

This directory contains the GNU Compiler Collection (GCC) version 2.96.
It includes all of the support for compiling C, C++, Objective C, Fortran,
Java, and Chill.

The GNU Compiler Collection is free software.  See the file COPYING for copying
permission.

See the file gcc.texi (together with other files that it includes) for
installation and porting information.  The file INSTALL contains a
copy of the installation information, as plain ASCII.

Installing this package will create various files in subdirectories of
/usr/local/lib, which are passes used by the compiler and a library
named libgcc.a.  It will also create /usr/local/bin/gcc, which is
the user-level command to do a compilation.

See the Bugs chapter of the GCC Manual for how to report bugs
usefully.  An online readable version of the manual is in the files
gcc.info*.

The files pself.c and pself1.c are not part of GCC.
They are programs that print themselves on standard output.
They were written by Dario Dariol and Giovanni Cozzi, and are
included for your hacking pleasure.  Likewise pself2.c
(Who is the author of that?) and pself3.c (by Vlad Taeerov and Rashit
Fakhreyev).