Commit Graph

22966 Commits

Author SHA1 Message Date
Mark Mitchell
27b8d0cd53 call.c (NEED_TEMPORARY_P): New macro.
* call.c (NEED_TEMPORARY_P): New macro.
	(standard_conversion): Set it, for derived-to-base conversions.
	(reference_related_p): New function.
	(reference_compatible_p): Likewise.
	(convert_class_to_reference): Likewise.
	(direct_reference_binding): Likewise.
	(reference_binding): Rework for standards-compliance.
	(convert_like): Adjust accordingly.
	(maybe_handle_ref_bind): Simplify; the right conversion sequences
	are now built up in reference_binding.
	(initialize_reference): New function.
	* cp-tree.h (ICS_USER_FLAG): Document.
	(ICS_THIS_FLAG): Likewise.
	(ICS_BAD_FLAG): Likewise.
	(NEED_TEMPORARY_P): Likewise.
	(cp_lvalue_kind): New type.
	(real_lvalue_p): Return it.
	* error.c (dump_expr): Provide more accurate representation for
	AGGR_INIT_EXPRs.
	* init.c (expand_default_init): Do not try to perform implicit
	conversions for a brace-enclosed initializer.
	* search.c (lookup_conversions): Document.
	* tree.c (lvalue_p_1): Return a cp_lvalue_kind.  Calculate
	appropriately.
	(real_lvalue_p): Adjust accordingly.
	(lvalue_p): Likewise.
	(build_cplus_new): Don't allow the creation of an abstract class.
	* typeck.c (convert_for_initialization): Use initialize_reference.

From-SVN: r28221
1999-07-23 01:01:16 +00:00
Alexandre Petit-Bianco
ac1d97ceb6 re GNATS gcj/14 (Conditional expression in method call doesn't compile)
Thu Jul 22 12:41:12 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* check-init.c (check_init): Handle MAX_EXPR.

(Fix to net PR #14.)

From-SVN: r28220
1999-07-22 12:29:56 -07:00
Bernd Schmidt
5f5780e6ad Fix a typo in arm_print_operand.
From-SVN: r28219
1999-07-22 13:40:14 +00:00
Nick Clifton
67ebece1ad revert previous delta
From-SVN: r28218
1999-07-22 12:11:43 +00:00
Bernd Schmidt
28f4ec01e9 Break out builtin function expansion from expr.c
From-SVN: r28217
1999-07-22 11:04:58 +00:00
Vladik Goytin
89d68df8d6 Vladik Goytin (goytin@yahoo.com)
Define (ASM_OUTPUT_SECTION_NAME): Support section attribute for the target
'arm-semi-aout' for the sections .text and .data only.

From-SVN: r28216
1999-07-22 09:20:49 +00:00
Jeff Law
b698aafec8 Daily bump.
From-SVN: r28214
1999-07-22 01:45:13 -06:00
Mark Mitchell
b366352bbd defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
* defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
	* tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
 	* dwarf2out.c (dwarf2out_init): Don't output a label to mark the
 	start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
	false.
	* config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
	Define to zero.

From-SVN: r28213
1999-07-22 02:16:55 +00:00
Michael Meissner
a6c7a886f4 Print the names of the hardcoded virtural registers
From-SVN: r28212
1999-07-21 23:53:09 +00:00
Andrew Haley
d342a2e1eb prims.cc (JvRunMain): Always initialize arithexception.
1999-07-19  Andrew Haley  <aph@cygnus.com>

        * prims.cc (JvRunMain): Always initialize arithexception.
        (_Jv_divI): New function.
        (_Jv_remI): New function.
        (_Jv_divJ): New function.
        (_Jv_remI): New function.
        * include/jvm.h: Add these new functions.

        Makefile.am: add DIVIDESPEC.
        aclocal.m4: ditto.
        configure.host: set DIVIDESPEC.
        libgcj.spec.in: pass DIVIDESPEC to compiler.
        configure: rebuilt.
        Makefile.in: rebuilt.

From-SVN: r28211
1999-07-21 15:11:56 +00:00
Nick Clifton
9daca635ba Fix typo in previous delta
From-SVN: r28210
1999-07-21 15:09:36 +00:00
Andrew Haley
0b094f655a lang.c (flag_use_divide_subroutine): New variable.
1999-07-15  Andrew Haley  <aph@cygnus.com>

        * lang.c (flag_use_divide_subroutine): New variable.
        * typeck.c: (convert_ieee_real_to_integer): Bounds check
        fp-to-integer conversion.
        (convert): Call convert_ieee_real_to_integer when flag_fast_math
        is not set.

        * expr.c (build_java_soft_divmod): New function.
        (build_java_binop): Call build_java_soft_divmod if
        flag_use_divide_subroutine is set.
        * decl.c: soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
        soft_lrem_node: new builtin functions.
        (init_decl_processing) Initialize the new builtins.
        * java-tree.h soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
        soft_lrem_node: new builtin functions.
        (build_java_soft_divmod): New function.
        * parse.y: Call build_java_soft_divmod if
        flag_use_divide_subroutine is set.
        * parse.c: Rebuilt.

        * jvspec.c (lang_specific_driver): Always allow an extra arg (for
        a --specs= arg) even if not linking.
        * lang-options.h (DEFINE_LANG_NAME ("Java")): Add
        -fuse-divide-subroutine

From-SVN: r28209
1999-07-21 14:51:24 +00:00
Andrew Haley
aa4759c11c lang.c (flag_use_divide_subroutine): New variable.
1999-07-15  Andrew Haley  <aph@cygnus.com>

        * lang.c (flag_use_divide_subroutine): New variable.
        * typeck.c: (convert_ieee_real_to_integer): Bounds check
        fp-to-integer conversion.
        (convert): Call convert_ieee_real_to_integer when flag_fast_math
        is not set.

        * expr.c (build_java_soft_divmod): New function.
        (build_java_binop): Call build_java_soft_divmod if
        flag_use_divide_subroutine is set.
        * decl.c: soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
        soft_lrem_node: new builtin functions.
        (init_decl_processing) Initialize the new builtins.
        * java-tree.h soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
        soft_lrem_node: new builtin functions.
        (build_java_soft_divmod): New function.
        * parse.y: Call build_java_soft_divmod if
        flag_use_divide_subroutine is set.

From-SVN: r28208
1999-07-21 14:28:33 +00:00
Bernd Schmidt
9c1ce4332e c-lang.c (finish_file): Rename void_list_node to void_list_node_1 to avoid name clash.
* c-lang.c (finish_file): Rename void_list_node to void_list_node_1
	to avoid name clash.

From-SVN: r28207
1999-07-21 13:35:09 +00:00
Gavin Romig-Koch
cc14465562 For gcc:
* c-lex.c (yylex) : Correct the test for overflow when lexing
	integer literals.

For gcc/cp:
	* lex.c (real_yylex) : Correct the test for overflow when lexing
	integer literals.

From-SVN: r28206
1999-07-21 12:48:13 +00:00
Jason Merrill
0f03776326 x
From-SVN: r28205
1999-07-21 04:53:38 -04:00
Jason Merrill
9f33663b8d decl.c (warn_extern_redeclared_static): Check DECL_ARTIFICIAL...
* decl.c (warn_extern_redeclared_static): Check DECL_ARTIFICIAL,
	not DECL_BUILT_IN, to determine if a function is internally declared.
	(duplicate_decls): Likewise.  Improve handling of builtins.
	(push_overloaded_decl): Remove special handling of builtins.

	* cp-tree.h (ANON_AGGR_TYPE_P): Use CLASS_TYPE_P.

	* decl.c (grokdeclarator): Pull out decl_constant_value in
	templates, too.

	* class.c (finish_struct, finish_struct_1): Remove 'warn_anon' parm.
	* cp-tree.h, pt.c, semantics.c: Adjust.
	* method.c (largest_union_member): Remove.

From-SVN: r28204
1999-07-21 04:52:14 -04:00
Jeff Law
aad2312110 Daily bump.
From-SVN: r28203
1999-07-21 01:45:38 -06:00
Richard Henderson
197043f539 haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
* haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
        (adjust_priority): Always call ADJUST_PRIORITY.
        (schedule_insn): Only put insns into the ready at cost 0.
        (schedule_block): Remove redundant initial sort.  Give clock_var
        and can_issue_more to MD_SCHED_REORDER.  Requeue if hazard cost
        is not 0.
        * tm.texi (MD_SCHED_REORDER): Update docs.

        * sparc.h (MD_SCHED_REORDER): Update.  Set CAN_ISSUE_MORE.
        * sparc.c (ultra_reorder_called_this_block): Delete.
        (ultrasparc_sched_init): Don't set it.
        (ultrasparc_sched_reorder): Don't check it.

From-SVN: r28201
1999-07-20 18:15:47 -07:00
Richard Henderson
03a6745b8b Update
From-SVN: r28200
1999-07-20 17:29:54 -07:00
Richard Henderson
4cc833b7a8 rs6000.h (struct rs6000_args): Add sysv_gregno.
* rs6000.h (struct rs6000_args): Add sysv_gregno.
        * rs6000.c (init_cumulative_args): Init sysv_gregno.
        (function_arg_boundary): Align DFmode.
        (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
        to get fp reg and stack overflow correct.
        (function_arg): Likewise.
        (function_arg_pass_by_reference): True for TFmode for ABI_V4.
        (setup_incoming_varargs): Restructure for ABI_V4; use
        function_arg_advance to skip final named argument.
        (expand_builtin_saveregs): Properly unskip the last integer arg
        when doing varargs.  Adjust overflow location calculation.

        * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
        explicitly unsigned.
        (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
        (__VA_GP_REGSAVE): Similarly.
        (__va_longlong_p): Delete.
        (__va_arg_type_violation): New declaration.
        (va_arg): Restructure.  Flag promotion errors.  Align double.
        TFmode passed by reference.

        * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
        in the HOST_BITS_PER_WIDE_INT > 32 case.

From-SVN: r28199
1999-07-20 17:26:00 -07:00
Alexandre Petit-Bianco
7705e9db01 re GNATS gcj/12 (gcj accepts invalid code where an exception must be caught/thrown)
Tue Jul 20 13:20:05 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (resolve_and_layout): Check methods only once.
        (resolve_qualified_expression_name): Verify thrown exceptions
        compatibility.
        (check_thrown_exceptions): Reject exceptions thrown in
        initializer. Error message tuned.

(This fixes PR #12. Libgcj's java/net must be updated in order to compiles
 with a patch at this URL:
 http://sourceware.cygnus.com/ml/java-patches/1999-q3/msg00048.html)

From-SVN: r28196
1999-07-20 13:56:10 -07:00
Warren Levy
33551dfec5 DatagramSocket.java (DatagramSocket(int, InetAddress)): Default to using PlainDatagramSocketImpl.
* java/net/DatagramSocket.java (DatagramSocket(int, InetAddress)):
	Default to using PlainDatagramSocketImpl.
	* java/net/PlainDatagramSocketImpl.java (close): Catch IOException.

From-SVN: r28195
1999-07-20 20:30:42 +00:00
Jason Merrill
ce96455a31 remove whitespace
From-SVN: r28194
1999-07-20 16:01:00 -04:00
Jason Merrill
66a6250faa lang-specs.h (c++-cpp-output): Pass -fpreprocessed.
* lang-specs.h (c++-cpp-output): Pass -fpreprocessed.

	* lex.c (token_getch, token_put_back): New fns.
	(real_yylex): Use them.

	* lex.c (lang_init): Generalize.
	(lang_init_options): Tell cpplib this is C++.
	(nextchar): Remove.  Replace uses with put_back.
	(skip_white_space): Handle linemode here.  Optimize for cpplib.
	(extend_token_buffer_to): New fn.
	(extend_token_buffer): Use it.
	(read_line_number, check_newline): Just deal with tokens.
	(real_yylex): More cpplib optimizations.  Simplify.  Don't produce
	EXTERN_LANG_STRING, LEFT_RIGHT or PAREN_STAR_PAREN here.
	* spew.c (yylex): Produce LEFT_RIGHT and EXTERN_LANG_STRING.
	* parse.y (PAREN_STAR_PAREN): Remove.
	* input.c: Don't use the putback machinery with cpplib.
	(sub_getch): Fold back into getch.
	(getch): Don't handle linemode here.
	(feed_input): Unget any text in the token buffer.

	* lex.c	(set_typedecl_interface_info, set_vardecl_interface_info,
	nextyychar, nextyylval): Remove.

	* lex.c (indent_level): New variable.
	(init_parse): Set cpp_token to CPP_DIRECTIVE.
	(consume_string): Make this smart about USE_CPPLIB.
	(yyungetc): Use put_back function.
	(pragma_getc, pragma_ungetc): Functions deleted.
	(check_newline): Rewrite to be intelligent about USE_CPPLIB.
	Also, call HANDLE_PRAGMA with getch, yyungetc, not pragma_getc and
	pragma_ungetc.
	(real_yylex): Rewrite to be intelligent about USE_CPPLIB.
	Also, clean up cases where we redundantly set token_buffer[0].
	(read_line_number): New fn.
	* input.c (feed_input): Use integrated cpplib if USE_CPPLIB.
	(end_input): Call cpp_pop_buffer if USE_CPPLIB.
	(sub_getch): Conditionalize out code that's not appropriate if
	USE_CPPLIB.
	(put_back): Rewrite in case USE_CPPLIB is defined.
	(input_redirected): Ditto.

From-SVN: r28193
1999-07-20 15:53:38 -04:00
Hans-Peter Nilsson
81f374ebfb * dwarf2out.c (output_abbrev_section): Terminate with a zero.
From-SVN: r28192
1999-07-20 15:39:27 -04:00
Jason Merrill
a15fe78b44 oops
From-SVN: r28191
1999-07-20 15:14:01 -04:00
Jason Merrill
3773a46b93 gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
* gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
	* toplev.c (documented_lang_options): Add -fpreprocessed.
	* cpplib.h (struct cpp_buffer): Add preprocessed.
	* cppinit.c (cpp_handle_option): Handle -fpreprocessed.
	(cpp_start_read): Don't expand macros or emit an initial #line
	directive if -fpreprocessed.

	* cpplib.h (struct cpp_buffer): Added manual_pop for
	better C++ tokenization.
	* cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
	Also, support C++ tokenization for ->*, .*, <?, and >? operators.
	* c-common.c (cpp_token): Make non-static.

From-SVN: r28190
1999-07-20 15:13:01 -04:00
Alexandre Oliva
c8649fde97 * template8.C, typeof1.C: New test.
From-SVN: r28189
1999-07-20 12:24:37 +00:00
Bernd Schmidt
7f4edbcba6 c-common.h: New file.
* c-common.h: New file.
	* c-common.c (permanent_obstack): Delete unused declaration.
	(c_global_trees): New array.
	(c_common_nodes_and_builtins): New function; split off common code
	from init_decl_processing in both c-decl.c and cp/decl.c.
	* c-tree.h: Delete lots of declarations of tree nodes; replaced by
	c_global_trees and accessor macros defined in c-common.h.
	Include c-common.h.
	* c-decl.c: Delete definitions for tree nodes that were replaced by
	c_global_trees.
	(init_decl_processing): Build void_list_node.
	Call c_common_nodes_and_builtins; delete code to generate the common
	builtins here.

	* objc/objc-act.c (build_module_descriptor): Rename variable
	void_list_node to avoid clash with c-common.h.

	* cp/cp-tree.h: Delete lots of declarations of tree nodes; replaced by
	c_global_trees and accessor macros defined in c-common.h.
	(cp_tree_index): New enumeration.
	(cp_global_trees): Declare new array.  Add accessor macros for it, and
	delete declarations of tree nodes replaced by it.
	(builtin_function): Delete macro, add declaration for new function.
	Include c-common.h.
	* cp/decl.c: Delete definitions for tree nodes that were replaced by
	cp_global_trees and c_global_trees.
	(init_decl_processing): Call c_common_nodes_and_builtins; delete code
	to generate the common builtins here.
	(builtin_function): New function.
	* cp/decl2.c (abort_fndecl): Delete declaration.
	* cp/except.c (expand_builtin_return_address): Delete declaration.
	(builtin_return_address_fndecl): Delete variable.
	(const_ptr_type_node): Delete declaration.
	* cp/lex.c (cons_up_default_function): Delete declaration of
	void_list_node.
	* cp/parse.y (void_list_node): Delete declaration.
	* cp/rtti.c (type_info_type_node, tinfo_fn_id, tinfo_fn_type):
	Delete variables.
	(const_string_type_node): Delete declaration.
	* cp/search.c (abort_fndecl): Delete declaration.

	* Makefile.in: Update dependencies.
	* objc/Make-lang.in: Likewise.
	* cp/Makefile.in: Likewise.

From-SVN: r28188
1999-07-20 10:41:10 +00:00
Jeff Law
3791a1dc29 Daily bump.
From-SVN: r28187
1999-07-20 01:45:38 -06:00
Mark Mitchell
2d6b61cb6e iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
* config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
	(UNIQUE_SECTION_P): Likewise.
	(UNIQUE_SECTION): Likewise.

From-SVN: r28182
1999-07-20 00:41:56 +00:00
Mark Mitchell
66191c20ee pt.c (check_default_tmpl_args): Move test for missing default arguments here, from ...
* pt.c (check_default_tmpl_args): Move test for missing default
	arguments here, from ...
	(end_template_parm_list): Here.

From-SVN: r28180
1999-07-19 19:28:19 +00:00
Tom Tromey
5163d20e29 * config.h (MPROTECT_VDB): Don't define on Linux.
From-SVN: r28179
1999-07-19 19:27:56 +00:00
Linas Vepstas
92d6db668f Bulk patch from Linas.
From-SVN: r28178
1999-07-19 12:26:30 -07:00
Alexandre Oliva
14eee79459 Makefile.am (.s.lo): Avoid `#line' directives.
1999-07-19  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* Makefile.am (.s.lo): Avoid `#line' directives.
	* Makefile.in: Rebuilt.

From-SVN: r28175
1999-07-19 19:17:22 +00:00
Alexandre Oliva
44ebe2d0ac Makefile.am (*-recursive, [...]): Automake does not generate *-recursive for this Makefile, use *-am instead.
1999-07-19  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* Makefile.am (*-recursive, *-am, *-multi): Automake does not
	generate *-recursive for this Makefile, use *-am instead.
	* Makefile.in: Rebuilt.

From-SVN: r28173
1999-07-19 19:11:54 +00:00
David Edelsohn
0ad91047cd rs6000.md (arithmetic, [...]): Disable patterns performing SImode comparisons with SImode values if...
* rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
	Disable patterns performing SImode comparisons with SImode values
	if TARGET_POWERPC64 and instruction does not sign-extend or does
	not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
	differ for signed quantities.
	(indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
	(tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
	(decrement_and_branch_on_count): Add 64-bit variant.

From-SVN: r28172
1999-07-19 15:11:29 -04:00
Tom Tromey
9608c09195 * include/stamp-h.in: New file.
From-SVN: r28171
1999-07-19 18:03:31 +00:00
Bernd Schmidt
463a83844b Fix INTEL_SYNTAX output for i386 backend
From-SVN: r28170
1999-07-19 08:43:33 +00:00
Jeff Law
7211928ac2 Daily bump.
From-SVN: r28167
1999-07-19 01:45:11 -06:00
Mark Mitchell
848cf1e0f0 decl.c (lookup_nested_type): Remove.
* decl.c (lookup_nested_type): Remove.
	(pushtag): Don't call it.

From-SVN: r28166
1999-07-18 15:32:21 +00:00
Jeff Law
bdfdb7495b Daily bump.
From-SVN: r28163
1999-07-18 01:45:08 -06:00
Jeffrey A Law
cfce3d4cd3 * Makefile.in (INTERFACE): Bump to 3.
From-SVN: r28161
1999-07-17 23:52:37 -06:00
Jeffrey A Law
bcaf90dc39 * Makefile.in (INTERFACE): Bump to 2.
From-SVN: r28160
1999-07-17 23:52:32 -06:00
Mark Mitchell
bb740ce98a New test
From-SVN: r28157
1999-07-18 04:25:39 +00:00
Alexandre Oliva
a1c6afb002 root.texi: Update e-mail addresses to gcc.gnu.org.
* root.texi: Update e-mail addresses to gcc.gnu.org.
        * g77spec.c (lang_specific_driver): Updated URL with bug reporting
        instructions to gcc.gnu.org.  Removed e-mail address.

From-SVN: r28155
1999-07-17 21:51:22 -06:00
Alexandre Oliva
70ade953eb typeck2.c (my_friendly_abort): Updated URL with bug reporting instructions to gcc.gnu.org.
* typeck2.c (my_friendly_abort): Updated URL with bug reporting
        instructions to gcc.gnu.org.  Removed e-mail address.

From-SVN: r28153
1999-07-17 21:50:30 -06:00
Alexandre Oliva
e67df273a1 gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
* gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
        Removed paragraph about compression of files and size limitation,
        duplicated in the FAQ.  Use gcc-patches for posting patches.
        * gcc.c (main): Updated URL with bug reporting instructions to
        gcc.gnu.org.  Removed e-mail address.
        * system.h (abort): Likewise.

From-SVN: r28151
1999-07-17 21:48:02 -06:00
Alexandre Oliva
bc8735ed96 * test_summary: Replace egcs with gcc. Update e-mail address.
From-SVN: r28148
1999-07-17 21:45:48 -06:00