OSDN Git Service
neil [Wed, 29 Nov 2000 22:19:28 +0000 (22:19 +0000)]
* c-decl.c (c_decode_option): Don't handle -lang-objc.
* objc/lang-options.h: Remove -lang-objc.
* objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
* objc/objc-act.c (lang_init_options): Set c_language.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37859
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Wed, 29 Nov 2000 21:30:30 +0000 (21:30 +0000)]
2000-11-29 Benjamin Kosnik <bkoz@redhat.com>
Fixes for build directories with colons, AIX build problems.
* src/Makefile.am: Cleanups, add documentation.
(libstdc++.INC): Simplify rule.
(myinstallheaders): Consolidate install rules.
(myinstalldirs): New, make directores.
(base_headers): Subdivide based on install directory.
(ext_headers): New.
(backward_headers): New.
(headers): Remove.
(c_headers): Remove, unused.
(c_shadow_headers): Split up, deal with conditional usage in a
sane manner.
* src/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37858
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 29 Nov 2000 21:03:33 +0000 (21:03 +0000)]
* expr.c (can_store_by_pieces): Reinitialize max_size for reverse
tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37857
138bc75d-0d04-0410-961f-
82ee72b054a4
toon [Wed, 29 Nov 2000 20:57:55 +0000 (20:57 +0000)]
2000-11-29 Toon Moene <toon@moene.indiv.nluug.nl>
* g77.f-torture/execute/
20001111.x: Test fixed - remove XFAIL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37856
138bc75d-0d04-0410-961f-
82ee72b054a4
pme [Wed, 29 Nov 2000 20:37:02 +0000 (20:37 +0000)]
2000-11-29 Phil Edwards <pme@sources.redhat.com>
Sync with the documentation from wwwdocs.
* docs/Makefile: New file (rebuilds FAQ text version).
* docs/configopts.html: Update.
* docs/documentation.html: Update.
* docs/download.html: Update.
* docs/index.html: Update.
* docs/install.html: Update.
* docs/links.html: Update.
* docs/mail.html: Update.
* docs/status.html: Update.
* docs/thanks.html: Update.
* docs/27_io/howto.html: Update.
* docs/faq/index.html: Update for 2.91.
* docs/faq/index.txt: Update for 2.91.
* docs/footer.html: Removed.
* docs/footer.ihtml: New file.
* docs/gccrebuild.html: Removed.
* docs/header.html: Removed.
* docs/header.ihtml: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37855
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 29 Nov 2000 20:13:47 +0000 (20:13 +0000)]
* gcc.dg/
20001117-1.c: Add main.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37854
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Wed, 29 Nov 2000 19:30:04 +0000 (19:30 +0000)]
* c-pragma.c (init_pragma): Update for parse_in type change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37853
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Wed, 29 Nov 2000 19:07:29 +0000 (19:07 +0000)]
* configure.in: recognize DOS-style absolute paths.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37852
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 29 Nov 2000 18:24:50 +0000 (18:24 +0000)]
* expr.h (store_by_pieces): Add prototype.
(can_store_by_pieces): Likewise.
* expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
(can_store_by_pieces): New.
(store_by_pieces): New.
(clear_by_pieces): New.
(clear_by_pieces_1): New.
(store_by_pieces_1): Renamed from clear_by_pieces, handle storing
arbitrary compiler generated constants into memory block.
(store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
* builtins.c (c_readstr): New.
(builtin_memcpy_read_str): New.
(expand_builtin_memcpy): If src is string constant and
emit_block_move would move it by pieces, compute integer constants
from the string and store it into memory block instead.
(builtin_strncpy_read_str): New.
(expand_builtin_strncpy): If N is not constant zero and c_strlen does
not return INTEGER_CST, don't optimize.
If N is larger than strlen(src) + 1, try to copy the string
including padding with store_by_pieces.
(expand_builtin_strcmp): If both arguments have side effects, don't
optimize.
(expand_builtin_fputs): If STR has side effects, don't optimize.
* gcc.c-torture/execute/string-opt-5.c: Add some strcmp and strncpy
tests.
* gcc.c-torture/execute/string-opt-6.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37851
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Wed, 29 Nov 2000 17:53:18 +0000 (17:53 +0000)]
Fix copyright line
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37850
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 29 Nov 2000 16:29:34 +0000 (16:29 +0000)]
tabify
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37849
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Wed, 29 Nov 2000 15:53:46 +0000 (15:53 +0000)]
* arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
Add use of link register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37848
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Wed, 29 Nov 2000 10:37:40 +0000 (10:37 +0000)]
Check this.len, not len, when determining if there is no more input data.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37847
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Wed, 29 Nov 2000 10:06:03 +0000 (10:06 +0000)]
* java/util/zip/InflaterInputStream (read): Don't return -1 unless
the infate() call didn't deliver any output. Throw a ZipException if
the needsDictionary() call returns true.
* java/io/ByteArrayInputStream (read): Remove redundant bounds checks.
* java/io/InputStreamReader: Use the default buffer size for the
contained BufferedInputStream.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37846
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 29 Nov 2000 08:45:16 +0000 (08:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37845
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 29 Nov 2000 07:38:20 +0000 (07:38 +0000)]
* extend.texi: Update documentation for default format attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37844
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 29 Nov 2000 04:57:21 +0000 (04:57 +0000)]
* pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
a list, to keep track of the sections.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37843
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Wed, 29 Nov 2000 04:53:37 +0000 (04:53 +0000)]
2000-11-29 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/natSystem.cc (init_properties): Set user.language and
user.region.
* configure.in: Check for setlocale.
* configure: Rebuilt.
* include/config.h.in: Rebuilt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37842
138bc75d-0d04-0410-961f-
82ee72b054a4
gdr [Wed, 29 Nov 2000 03:57:35 +0000 (03:57 +0000)]
2000-11-29 Loren J. Rittle <ljrittle@acm.org>
* tests_flags.in: Correct typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37840
138bc75d-0d04-0410-961f-
82ee72b054a4
gdr [Wed, 29 Nov 2000 03:54:39 +0000 (03:54 +0000)]
* tests_flags (SH_FLAGS, ST_FLAGS): Move them back to ...
* mkcheck.in (SH_FLAGS, ST_FLAGS): ...here
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37839
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 29 Nov 2000 01:45:13 +0000 (01:45 +0000)]
Fix pic_l;oad_addr to work in Thumb mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37838
138bc75d-0d04-0410-961f-
82ee72b054a4
gdr [Wed, 29 Nov 2000 01:09:09 +0000 (01:09 +0000)]
* src/Makefile.am (sources): Add bitset.cc
* src/Makefile.in: Regenrate.
* include/bits/std_bitset.h (_GLIBCPP_BITSET_BITS_PER_WORD): New
macro. Replace __BITS_PER_WORDS throughout.
(__BITS_PER_WORDS): Remove.
(bitset<>::_M_do_find_first, bitset<>::_M_do_find_next): Move
definitions to src/bitset.cc.
* src/bitset.cc (bitset<>::_M_do_find_first,
bitset<>::_M_do_find_next): Define here.
(_Bit_count<>::_S_bit_count, _Find_one<>::_S_first_one): Define
here. Explicitly instantiate definitions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37837
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 29 Nov 2000 00:27:54 +0000 (00:27 +0000)]
* calls.c (expand_call): Defer const/pure NO_DEFER_POP until
after sibcall do_pending_stack_adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37836
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 29 Nov 2000 00:25:08 +0000 (00:25 +0000)]
* jump.c (delete_insn): Check that REG_LABEL note actually contains
a CODE_LABEL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37835
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Tue, 28 Nov 2000 23:07:29 +0000 (23:07 +0000)]
* c-common.h: Remove flag_digraphs.
* c-decl.c: Remove flag_digraphs.
(c_decode_option): Don't set it.
* c-lex.c (init_c_lex): Don't do anything for digraphs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37834
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 28 Nov 2000 22:56:31 +0000 (22:56 +0000)]
* com.c (ffecom_member_phase2_): Set TREE_USED on the debugging decl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37833
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 28 Nov 2000 22:52:26 +0000 (22:52 +0000)]
* c-parse.in (finish_parse): Update for parse_in type change.
(_yylex): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37832
138bc75d-0d04-0410-961f-
82ee72b054a4
sirl [Tue, 28 Nov 2000 22:28:49 +0000 (22:28 +0000)]
2000-11-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): Silence
preprocessor multi-line string warnings.
(__atomic_add): Likewise.
(__compare_and_swap): Likewise.
(__always_swap): Likewise.
(__test_and_set): Likewise.
* config/cpu/arm/bits/atomicity.h (__exchange_and_add): Likewise.
(__atomic_add): Likewise.
(__compare_and_swap): Likewise.
(__always_swap): Likewise.
(__test_and_set): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37831
138bc75d-0d04-0410-961f-
82ee72b054a4
geoffk [Tue, 28 Nov 2000 22:25:51 +0000 (22:25 +0000)]
* gcc.dg/noncompile/940510-1.c: Update to test c89 functionality.
Move from here ...
* gcc.dg/940510-1.c: ... to here.
* gcc.dg/
20000926-1.c: GNU C now allows initializations of
zero-size arrays in toplevel structures.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37830
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Tue, 28 Nov 2000 21:34:30 +0000 (21:34 +0000)]
* cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
indicating whether to scan all buffers on the stack or
just one.
* cppinit.c (do_includes): Update.
* cppmain.c (main): Update.
* cpplib.h: Update prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37829
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 28 Nov 2000 21:31:47 +0000 (21:31 +0000)]
* genoutput.c (validate_insn_operands): New.
(gen_insn): Call it.
* config/alpha/alpha.md (divmodsi_internal): Renumber operands.
(divmoddi_internal): Likewise.
* config/arm/arm.md (andsi3_compare0_scratch): Likewise.
* config/i960/i960.md (branch patterns): Likewise.
* config/ia64/ia64.md (tbit_and_0): Likewise.
(tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
* config/m68k/m68k.md (zero_extract memory patterns): Likewise.
* config/mips/mips.md (divmodsi4_internal): Likewise.
(divmoddi4_internal): Likewise.
* config/rs6000/rs6000.md (call patterns): Likewise.
* config/sh/sh.md (movsi_y): Likewise.
* config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37828
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 28 Nov 2000 21:23:58 +0000 (21:23 +0000)]
* config.gcc: Kill residual pyramid support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37827
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Tue, 28 Nov 2000 21:13:35 +0000 (21:13 +0000)]
* c-lex.h (parse_in): Change parse_in to a cpp_reader *.
* c-decl.c (c_decode_option): Update to match.
* c-lex.c (init_c_lex, yyparse): Update to match.
* c-lang.c (lang_init_options): Use cpp_create_reader.
* cppinit.c (cpp_init): Rename initialize.
(cpp_reader_init): Rename cpp_create_reader. Create the
reader. Initialize cpplib if appropriate.
* cpplib.h (cpp_create_reader) New prototype.
(cpp_init, cpp_reader_init): Delete prototypes.
* cppmain.c (general_init, setup_callbacks): New functions.
(main): Use them.
* fix-header.c (scan_in): Change type to cpp_reader *.
(read_scan_file): Update for new cpplib interface and scan_in type.
* cp/decl.c (parse_in): Change to cpp_reader *.
(lang_decode_option): Update.
* cp/lex.c (lang_init_options): Use new cpplib interface.
(init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
* cp/spew.c (read_token): Update.
* objc/objc-act.c (lang_init_options): Update new cpplib interface.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37826
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Tue, 28 Nov 2000 20:33:39 +0000 (20:33 +0000)]
2000-11-28 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
Update for 2.91 release.
* include/bits/c++config (__GLIBCPP__): Update.
* docs/17_intro/RELEASE-NOTES: Update.
* docs/status.html: Update, remove bogus autotools disinformation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37825
138bc75d-0d04-0410-961f-
82ee72b054a4
warrenl [Tue, 28 Nov 2000 20:11:46 +0000 (20:11 +0000)]
* java/text/DateFormatSymbols.java (zoneStringsDefault): Added
more time zone entries.
* java/text/SimpleDateFormat.java (format): Added case for
TIMEZONE_FIELD.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37824
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 28 Nov 2000 19:44:30 +0000 (19:44 +0000)]
* loop.c (load_mems): Avoid using next_label to find end_label. If
jumping outside of the loop (other than loop end), don't hoist MEMs
out of loop.
* gcc.c-torture/execute/loop-8.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37823
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 28 Nov 2000 19:34:59 +0000 (19:34 +0000)]
* calls.c (expand_call): Don't disable tail recursion based
on the loop nest.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37822
138bc75d-0d04-0410-961f-
82ee72b054a4
geoffk [Tue, 28 Nov 2000 19:31:16 +0000 (19:31 +0000)]
2000-11-28 Geoffrey Keating <geoffk@redhat.com>
Felix Lee <flee@redhat.com>
* gen-params: Put in cases for O_EXCL, O_APPEND not being defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37821
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Tue, 28 Nov 2000 19:14:16 +0000 (19:14 +0000)]
* tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
(struct directive): Drop 4th argument from handlers.
(do_define, do_line, do_include, do_undef, do_else, do_elif,
do_endif): Similarly.
(do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
(do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
(make_definition, make_undef): Take a const char*.
(make_assertion): New function.
(struct directive_table): Update.
(main): Handle -A command line argument.
(handle_directive): Drop fourth handler argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37820
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 28 Nov 2000 16:19:55 +0000 (16:19 +0000)]
Ignore SETs that are anything except REG or MEM, but look inside STRICT_LOW_PART.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37819
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 28 Nov 2000 14:58:08 +0000 (14:58 +0000)]
* system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
(IS_ABSOLUTE_PATHNAME): New macro.
* gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37818
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 28 Nov 2000 10:31:09 +0000 (10:31 +0000)]
cp:
* parse.y (base_class.1): Produce a _TYPE not a _DECL.
* semantics.c (finish_base_specifier): Accept a _TYPE not a
_DECL.
testsuite:
* g++.old-deja/g++.other/base1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37817
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 28 Nov 2000 10:23:03 +0000 (10:23 +0000)]
cp:
* spew.c (yyerror): Cope if yylval.ttype is NULL.
testsuite:
* g++.old-deja/g++.other/parse2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37816
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 28 Nov 2000 10:18:25 +0000 (10:18 +0000)]
cp:
* decl.c (grokdeclarator): Diagnose undefined template contexts.
testsuite:
* g++.old-deja/g++.pt/incomplete1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37815
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 28 Nov 2000 10:06:16 +0000 (10:06 +0000)]
cp:
* decl.c (grokdeclarator): Do type access control on friend
class.
testsuite:
* g++.old-deja/g++.other/friend9.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37814
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Tue, 28 Nov 2000 09:34:08 +0000 (09:34 +0000)]
2000-11-27 Benjamin Kosnik <bkoz@redhat.com>
* tests_flags.in (LTCXX): Change CXX_FLAG to CXXFLAGS.
* testsuite/22_locale/ctor_copy_dtor.cc: Adjust formatting.
* testsuite/27_io/istream_extractor_arith.cc (test11): New
testcase, based on libstdc++/90.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37813
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 28 Nov 2000 09:04:27 +0000 (09:04 +0000)]
* config/i386/i386.md (truncxfsf2_2): Fix predicate.
* gcc.dg/
20001127-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37812
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 28 Nov 2000 08:45:07 +0000 (08:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37811
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Tue, 28 Nov 2000 04:50:51 +0000 (04:50 +0000)]
2000-11-28 Bryce McKinlay <bryce@abatross.co.nz>
* java/io/DataInputStream.java: Merge classpath docs. Call in.read()
directly rather than read() in all cases. Make primitive read
implementations more efficient, as defined in JDK online docs.
(skipBytes): Behave like the JDK's implementation.
* java/io/BufferedReader.java: Merge classpath docs. Check for a
closed stream with checkStatus() whenever an IOException can be
thrown.
(checkStatus): New private method.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37810
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Tue, 28 Nov 2000 03:17:22 +0000 (03:17 +0000)]
Handle frame sizes larger than int.
* reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37809
138bc75d-0d04-0410-961f-
82ee72b054a4
warrenl [Tue, 28 Nov 2000 03:09:22 +0000 (03:09 +0000)]
* Makefile.am: Added natTimeZone.cc.
* Makefile.in: Rebuilt.
* gnu/gcj/text/LocaleData_en.java: Added DateFormat entries.
* java/text/DateFormatSymbols.java (ampms): Made package private.
(eras): Made package private.
(months): Made package private.
(shortMonths): Made package private.
(shortWeekdays): Made package private.
(weekdays): Made package private.
(formatPrefixes): New private field.
(localPatternCharsDefault): Made private.
(dateFormats): New package private field.
(timeFormats): New package private field.
(formatsForKey): New private method.
(DateFormatSymbols(Locale)): Set dateFormats and timeFormats.
(DateFormatSymbols(DateFormatSymbols)): Ditto.
* java/text/SimpleDateFormat.java: Merged with Classpath.
* java/util/TimeZone.java: Merged with Classpath.
* java/util/natTimeZone.cc: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37808
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Mon, 27 Nov 2000 23:58:36 +0000 (23:58 +0000)]
* extend.texi (Nested Functions): Update URL of Usenix paper.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37807
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Mon, 27 Nov 2000 20:14:21 +0000 (20:14 +0000)]
* function.c (free_after_compilation): Clear x_clobber_return_insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37806
138bc75d-0d04-0410-961f-
82ee72b054a4
sirl [Mon, 27 Nov 2000 20:07:17 +0000 (20:07 +0000)]
2000-11-27 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/cpu/arm/bits/atomicity.h (__exchange_and_add): Add
__volatile__ to asm.
(__atomic_add): Likewise.
(__compare_and_swap): Likewise.
(__always_swap): Likewise.
(__test_and_set): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37805
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Mon, 27 Nov 2000 19:08:36 +0000 (19:08 +0000)]
* cppinit.c (cpp_reader_init): Remove handling of warn_paste
command line options.
(cpp_handle_option): Similarly.
* cpplib.h (struct cpp_options): Remove warn_paste.
* cppmacro.c (paste_tokens): Apart from assembler, make
unpasteable token warning mandatory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37804
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Mon, 27 Nov 2000 19:04:54 +0000 (19:04 +0000)]
* tradcpp.c (enum pending_dir_t, struct pending_dir): New.
(main): Allocate a pending directive set of these. Use it.
Merge handling of -D and -U. Update handling of pending
directives. Free the memory after use.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37803
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Mon, 27 Nov 2000 18:17:40 +0000 (18:17 +0000)]
2000-11-27 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/cpu/powerpc/bits/atomicity.h: Replace '__ATOMICITY_INLINE'
with 'inline'.
(__ex__atomic_add): Add __volatile__ to asm.
(__atomic_add): Likewise.
(__compare_and_swap): Likewise.
(__always_swap): Likewise.
(__test_and_set): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37802
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 27 Nov 2000 17:50:11 +0000 (17:50 +0000)]
While building global lifetime information, keep track of which registers are
only conditionally set. Use this to force rescans in more cases where they
are needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37801
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 27 Nov 2000 17:32:05 +0000 (17:32 +0000)]
* gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
T register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37800
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Mon, 27 Nov 2000 16:40:08 +0000 (16:40 +0000)]
* arm.c (select_dominance_cc_mode): Handle new way that combine
canonicalizes conditional compares.
(arm_select_cc_mode): Likewise.
* arm.md: Garbage collect some dead code.
(cmp_and, cmp_ior): New patterns.
(splitter for conditional move with inverted false): Use cond_exec
and handle unordered comparisons.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37799
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Mon, 27 Nov 2000 16:29:52 +0000 (16:29 +0000)]
ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37798
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 27 Nov 2000 16:23:27 +0000 (16:23 +0000)]
* i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
* i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
* i386.md (float?i?f, int/fp operations): Rewrite spliters to use
ix86_force_to_memory and ix86_free_from_memory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37797
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Mon, 27 Nov 2000 16:01:29 +0000 (16:01 +0000)]
* arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
one_cmpldi2): Merge with splitters to create define_insn_and_split
patterns. Remove redundant splits.
(peephole2 for add:SI of invalid immediate): New.
(peephole2 for minus:SI of invalid immediate): New.
(peephole2 for ior:SI of invalid immediate): New.
(peephole for merge of move and compare): Convert ot peephole2.
(addsf3, adddf3): Mark as commutative.
* arm.md (thumb peephole for merging stack adjustments): Convert to
peephole2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37796
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 27 Nov 2000 15:08:08 +0000 (15:08 +0000)]
Prettier visualization of COND_EXECs
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37795
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 27 Nov 2000 14:42:54 +0000 (14:42 +0000)]
Re-apply an earlier fix, with a small update
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37794
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 27 Nov 2000 12:53:38 +0000 (12:53 +0000)]
cp:
* decl.c (grokfndecl): Undo COMPONENT_REF damage caused by
bison parser ickiness.
* pt.c (tsubst_friend_function): Enter namespace scope when
tsubsting the function name.
* cp-tree.h (DECL_TI_TEMPLATE): Update comment to reflect reality.
testsuite:
* g++.old-deja/g++.other/friend46.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37793
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 27 Nov 2000 11:43:32 +0000 (11:43 +0000)]
In cselib, do not consider constants with different modes equivalent.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37792
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 27 Nov 2000 10:55:32 +0000 (10:55 +0000)]
cp:
* cp-tree.h (binfo_from_vbase): Return the virtual base's binfo.
* cvt.c (cp_convert_to_pointer): Add force parameter.
Allow conversions via virtual base if forced.
(convert_to_pointer_force): Adjust call to cp_convert_to_pointer.
(ocp_convert): Likewise.
* search.c (binfo_from_vbase): Return the virtual base's binfo.
* typeck.c (get_delta_difference): Adjust handling of virtual
bases.
testsuite:
* g++.old-deja/g++.other/ptrmem8.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37791
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Mon, 27 Nov 2000 10:16:16 +0000 (10:16 +0000)]
* configure.in (extra_objs): Enclose extra_headers in quotes.
* configure: Rebuilt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37790
138bc75d-0d04-0410-961f-
82ee72b054a4
gdr [Mon, 27 Nov 2000 10:01:52 +0000 (10:01 +0000)]
2000-11-27 Gabriel Dos Reis <gdr@codesourcery.com>
* tests_flags.in: Update documentation to reflect the change
below.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37789
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Mon, 27 Nov 2000 08:48:38 +0000 (08:48 +0000)]
MIssing ChangeLog entry for my last commits.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37788
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 27 Nov 2000 08:45:08 +0000 (08:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37787
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Mon, 27 Nov 2000 08:44:59 +0000 (08:44 +0000)]
More new classes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37786
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Mon, 27 Nov 2000 08:30:26 +0000 (08:30 +0000)]
2000-11-27 Bryce McKinlay <bryce@albatross.co.nz>
* java/util/Vector.java (ensureCapacity): Don't increment modCount.
(addElement): Don't increment elementCount twice. Doh.
* java/util/ArrayList.java (add): Only call ensureCapacity if the
array needs to be expanded.
(addAll): Ditto.
* java/util/Collections.java (UnmodifiableCollection): Implement
toString().
(UnmodifiableList): Throw UnsupportedOperationException from
modification methods. Set `l' from the one-parameter constructor.
(UnmodifiableMap): Implement toString().
(SynchronizedCollection): Ditto.
(SynchronizedList): Set `l' from the one-parameter constructor.
(SynchronizedSortedSet): Set `ss' from the one-parameter constructor.
(SynchronizedMap): Implement toString().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37785
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Mon, 27 Nov 2000 08:00:04 +0000 (08:00 +0000)]
* c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
Combine into the new function cb_change_file.
(init_c_lex): Update.
* cppfiles.c (stack_include_file): Use _cpp_do_file_change.
(cpp_syshdr_flags): Delete.
* cpphash.h (_cpp_do_file_change): New prototype.
Move struct cpp_buffer here from...
* cpplib.h (struct cpp_buffer): ... here.
(enum cpp_fc_reason, struct cpp_file_loc,
struct_cpp_file_change, change_file): New.
(enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
* cpplib.c (do_line): Update for new cb_change_file callback.
(_cpp_do_file_change): New function.
(_cpp_pop_buffer): Update to use it.
* cppmain.c (move_printer): Delete.
(main): Set up single callback cb_change_file.
(cb_enter_file, cb_leave_file, cb_rename_file): Delete.
(cb_change_file): New.
* fix-header.c (cur_file, cb_change_file): New.
(recognized_function, read_scan_file): Update.
* scan-decls.c (scan_decls): Update.
* scan.h (recognized_function): Update prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37784
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Mon, 27 Nov 2000 07:09:20 +0000 (07:09 +0000)]
* tree.h (mark_tree_hashtable): New function.
* tree.c (mark_tree_hashtable_entry): New function.
(mark_tree_hashtable): Likewise.
* tree.c (struct list_hash): Remove.
(list_hash_table): Make it be an htab.
(struct list_proxy): New type.
(list_hash_eq): New function.
(list_hash_pieces): Renamed from ...
(list_hash): ... this.
(list_hash_lookup): Remove.
(list_hash_add): Remove.
(hash_tree_cons): Use the generic hashtable.
(mark_list_hash): Remove.
(init_tree): Create the hashtable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37783
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Mon, 27 Nov 2000 06:50:18 +0000 (06:50 +0000)]
Replace stubs with actual implementation
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37782
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Mon, 27 Nov 2000 06:18:24 +0000 (06:18 +0000)]
Fix rename registers problem; Rewrite 64-bit conditionals in terms of COND_EXEC instead of IF_THEN_ELSE
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37781
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Mon, 27 Nov 2000 06:04:16 +0000 (06:04 +0000)]
2000-11-26 Benjamin Kosnik <bkoz@fillmore.constant.com>
* tests_flags.in: Export CXX, CXXFLAGS.
* mkcheck.in: Grab them.
2000-11-26 David Billinghurst <David.Billinghurst@riotinto.com>
Benjamin Kosnik <bkoz@redhat.com>
* mkcheck.in: Add exe extension to printnow executable, abstract
out call to this with TIMER_COMMAND.
* configure.target (l_glibcpp_cxxflags): Add cygwin support.
* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Correct paths.
* aclocal.m4: Regenerate.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37780
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Mon, 27 Nov 2000 05:57:58 +0000 (05:57 +0000)]
More JNDI changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37779
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Mon, 27 Nov 2000 05:11:39 +0000 (05:11 +0000)]
ChangeLog for:
testsuite:
* gcc.c-torture/execute/string-opt-7.c: New test.
* gcc.c-torture/execute/string-opt-8.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37778
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Mon, 27 Nov 2000 05:00:06 +0000 (05:00 +0000)]
* builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
functions.
(expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
* builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
* c-common.c (c_common_nodes_and_builtins): Declare builtin
strncpy and strncmp.
* extend.texi (strncmp, strncpy): Document new builtins.
testsuite:
* gcc.c-torture/execute/string-opt-7.c: New test.
* gcc.c-torture/execute/string-opt-8.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37777
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Mon, 27 Nov 2000 04:25:32 +0000 (04:25 +0000)]
* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
a list, to keep track of the sections.
* tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
parameter provided will always be a canonical string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37776
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Mon, 27 Nov 2000 04:23:38 +0000 (04:23 +0000)]
* hashtab.c (higher_prime_number): Use a table, rather than a
seive, to find the next prime.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37775
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Mon, 27 Nov 2000 04:10:57 +0000 (04:10 +0000)]
Reverted erroneous Makefile.am commit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37774
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Mon, 27 Nov 2000 04:09:54 +0000 (04:09 +0000)]
Forgot to commit these ChangeLog entries.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37773
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Mon, 27 Nov 2000 04:07:48 +0000 (04:07 +0000)]
* Makefile.in: Rebuilt.
* Makefile.am (core_java_source_files): Added
RuntimePermission.java.
* java/lang/RuntimePermission.java: Imported from Classpath.
* java/lang/Thread.java (getContextClassLoader): Now
synchronized. Added security code.
(setContextClassLoader): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37772
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Mon, 27 Nov 2000 04:05:23 +0000 (04:05 +0000)]
* prims.cc (_Jv_NewObjectArray): Use const_cast to initialize
length field of array.
(_Jv_NewPrimArray): Likewise.
* gcj/array.h (__JArray): `length' field now const. Added
constructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37771
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Mon, 27 Nov 2000 03:16:14 +0000 (03:16 +0000)]
Initial jndi check-in
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37770
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Mon, 27 Nov 2000 03:02:00 +0000 (03:02 +0000)]
2000-11-26 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/27_io/istream_unformatted.cc (test05): Fixup.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37769
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Mon, 27 Nov 2000 00:05:39 +0000 (00:05 +0000)]
2000-11-26 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4: Only sanity check for compiler version when
configuring. More fixes for 'make clean'.
* aclocal.m4: Regenerate.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37768
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Sun, 26 Nov 2000 23:24:21 +0000 (23:24 +0000)]
* libjava.compile/weirddecl.java: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37767
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 26 Nov 2000 20:02:40 +0000 (20:02 +0000)]
* RELEASE-PREP: Remove obsolete EGCS reference.
* g77.texi: Adjust reference to EGCS as something current.
* lang-options.h (FTNOPT): Remove macro and obsolete comment.
Include doc strings directly in option listing instead of through
this macro.
* root.texi: Remove support for multiple different (FSF and EGCS)
distributions of g77.
* g77install.texi: Remove conditioned out instructions applying
only to obsolete distributions of g77 not as part of GCC. Change
"superceded" to the correct spelling "superseded".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37766
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 26 Nov 2000 19:30:31 +0000 (19:30 +0000)]
f:
* g77spec.c (lang_specific_driver): Update copyright year to 2000.
java:
* gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
Update copyright year to 2000.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37765
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Sun, 26 Nov 2000 19:30:27 +0000 (19:30 +0000)]
* cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
current buffer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37764
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 26 Nov 2000 19:15:39 +0000 (19:15 +0000)]
* makefile.vms: Remove EGCS references.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37763
138bc75d-0d04-0410-961f-
82ee72b054a4
drepper [Sun, 26 Nov 2000 19:12:18 +0000 (19:12 +0000)]
* dwarf2out.c (output_file_names): New function. Compute minimal
combination of directory and file name table and emit them.
(output_line_info): Remove code to emit directory and file name
table and call output_file_names instead.
(file_info_cmp): Helper function to sort directory names.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37762
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Sun, 26 Nov 2000 17:31:13 +0000 (17:31 +0000)]
* cpplib.h (struct cpp_reader): Remove lang_asm.
(struct cpp_options): Remove c89. New members lang,
extended_numbers.
* cppexp.c (parse_number): Use them.
* cpphash.h (VALID_SIGN): Use them.
* cppinit.c (set_lang, cpp_start_read): Update.
* cpplex.c (parse_string, _cpp_lex_token): Update.
* cpplib.c (_cpp_handle_directive): Update.
* cppmacro.c (parse_args): Update.
* cppmain.c (scan_buffer): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37761
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Sun, 26 Nov 2000 17:26:59 +0000 (17:26 +0000)]
* g++.old-deja/g++.other/overload12.C
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37760
138bc75d-0d04-0410-961f-
82ee72b054a4
toon [Sun, 26 Nov 2000 16:21:01 +0000 (16:21 +0000)]
2000-11-26 Toon Moene <toon@moene.indiv.nluug.nl>
* libI77/Version.c, libF77/Version.c, libU77/Version.c:
Designate version as (experimental) instead of (prerelease)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37759
138bc75d-0d04-0410-961f-
82ee72b054a4