aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/lang-options.h
AgeCommit message (Collapse)AuthorFilesLines
2003-07-16c.opt: Document more options.Neil Booth1-162/+0
* c.opt: Document more options. cp: * lang-options.h: Remove. From-SVN: r69477
2003-05-19Add a new flag...Matt Austern1-0/+3
Add a new flag, -W(no-)invalid-offsetof, to control whether or not the compiler warns about incorrect use of the offsetof macro in C++. By default the warning is on. From-SVN: r66972
2003-04-29c-pragma.c (maybe_apply_renaming_pragma): Fix typo.Kriang Lerdsuwanakij1-2/+2
* c-pragma.c (maybe_apply_renaming_pragma): Fix typo. * gcc.c (display_help): Likewise. * toplev.c (f_options): Likewise. * params.def (PARAM_MAX_INLINE_SCOPE): Likewise. * config/c4x/c4x.h (TARGET_SWITCHES): Likewise. * config/mcore/mcore.h (TARGET_SWITCHES): Likewise. * config/s390/s390.h (TARGET_SWITCHES): Likewise. * config/v850/v850.h (TARGET_SWITCHES): Likewise. * call.c (build_operator_new_call): Fix typo. * lang-options.h: Likewise. From-SVN: r66228
2003-01-02except.c, [...]: Fix Copyright years.Steven Bosscher1-2/+2
2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl> * cp/except.c, cp/expr.c, cp/friend.c, cp/g++spec.c, cp/lang-options.h, cp/lang-specs.h, cp/lex.h, cp/ptree.c, cp/repo.c, java/jcf-reader.c, java/jvgenmain.c, java/keyword.gperf, java/lang-options.h, java/mangle.c, java/mangle_name.c, java/xref.c, java/zextract.c,java/zipfile.h, objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h, objc/objc-act.h: Fix Copyright years. From-SVN: r60783
2003-01-01call.c, [...]: Replace "GNU CC" with "GCC" in the copyright header.Steven Bosscher1-4/+4
* call.c, class.c, cp-lang.c, cp-tree.h, cvt.c, dump.c, error.c, except.c, expr.c friend.c, g++spec.c, init.c, lang-options.h, lang-specs.h, lex.c, mangle.c, method.c, optimize.c, parser.c, pt.c, ptree.c, repo.c, rtti.c, search.c, semantics.c, tree.c, typeck.c, typeck2.c: Replace "GNU CC" with "GCC" in the copyright header. * lex.h: parse.y is dead, so don't mention it. Also replace the copyright header with the default GNU copyright header. From-SVN: r60738
2001-12-15gcc.c, [...]: Use American spelling in messages.Joseph Myers1-3/+3
* gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use American spelling in messages. * po/gcc.pot: Regenerate. ch: * decl.c, parse.c, typeck.c: Use American spelling in messages. cp: * lang-options.h: Use American spelling in messages. From-SVN: r48047
2001-12-03c-decl.c (grokdeclarator): Use ISO word.Neil Booth1-1/+1
* c-decl.c (grokdeclarator): Use ISO word. * cppinit.c: Remove leading capital from diagnostic messages, as per GNU coding standards. * diagnostic.c: Similarly. * emit-rtl.c: Similarly. * final.c: Similarly. * gcc.c: Similarly. * tradcpp.c: Similarly. * config/arm/arm.c: Similarly. * config/arm/arm.h: Similarly. * config/avr/avr.c: Similarly. * config/avr/avr.h: Similarly. * config/c4x/c4x.c: Similarly. * config/cris/cris.c: Similarly. * config/cris/cris.h: Similarly. * config/d30v/d30v.c: Similarly. * config/dsp16xx/dsp16xx.c: Similarly. * config/dsp16xx/dsp16xx.h: Similarly. * config/h8300/h8300.c: Similarly. * config/i386/i386.c: Similarly. * config/i386/xm-djgpp.h: Similarly. * config/i960/i960.h: Similarly. * config/m32r/m32r.c: Similarly. * config/m68hc11/m68hc11.c: Similarly. * config/m88k/m88k.c: Similarly. * config/m88k/m88k.h: Similarly. * config/mcore/mcore.c: Similarly. * config/mcore/mcore.h: Similarly. * config/mips/mips.c: Similarly. * config/mmix/mmix.c: Similarly. * config/pa/pa.c: Similarly. * config/rs6000/rs6000.c: Similarly. * config/rs6000/sysv4.h: Similarly. * config/s390/s390.c: Similarly. * config/sparc/sparc.c: Similarly. * config/v850/v850-c.c: Similarly. * config/v850/v850.c: Similarly. ch: * actions.c: Remove leading capital from diagnostic messages, as per GNU coding standards. * decl.c: Similarly. * expr.c: Similarly. * inout.c: Similarly. * lang.c: Similarly. * loop.c: Similarly. * nloop.c: Similarly. * parse.c: Similarly. * satisfy.c: Similarly. * tasking.c: Similarly. * tree.c: Similarly. * typeck.c: Similarly. cp: * typeck2.c: Remove leading capital from diagnostic messages, as per GNU coding standards. f: * com.c: Remove leading capital from diagnostic messages, as per GNU coding standards. * g77spec.c: Similarly. * lex.c: Similarly. java: * expr.c: Remove leading capital from diagnostic messages, as per GNU coding standards. * jcf-io.c: Similarly. * jcf-parse.c: Similarly. * jv-scan.c: Similarly. * jvspec.c: Similarly. * mangle.c: Similarly. From-SVN: r47558
2001-08-02Kill -fhonor-std.Nathan Sidwell1-3/+0
.: Kill -fhonor-std. * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std interaction. * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std. cp: Kill -fhonor-std. * NEWS: Document. * cp-tree.h (flag_honor_std): Remove. (CPTI_FAKE_STD): Remove. (std_node): Remove comment about it being NULL. (fake_std_node): Remove. * decl.c (in_fake_std): Remove. (walk_namespaces_r): Remove fake_std_node check. (push_namespace): Remove in_fake_std code. (pop_namespace): Likewise. (lookup_name_real): Remove fake_std_node check. (init_decl_processing): Always create std_node. Always add std:: things there. (builtin_function): Always put non '_' fns in std. * decl2.c (flag_honor_std): Remove. (lang_f_options): Remove honor-std. (unsupported_options): Add honor-std. (set_decl_namespace): Remove fake_std_node check. (validate_nonmember_using_decl): Likewise. (do_using_directive): Likewise. (handle_class_head): Likewise. * dump.c (cp_dump_tree): Likewise. * except.c (init_exception_processing): Adjust. * init.c (build_member_call): Remove fake_std_node check. (build_offset_ref): Likewise. * lang-options.h: Remove -fhonor-std, -fno-honor-std. * rtti.c (init_rtti_processing): Adjust. testsuite: Kill -fhonor-std. * g++.old-deja/g++.ns/ns14.C: Remove special options. * g++.old-deja/g++.other/std1.C: Likewise. * g++.old-deja/g++.robertl/eb133.C: Likewise. Add using directive. From-SVN: r44569
2001-06-11c-tree.texi: Update information about flag_honor_std.Mark Mitchell1-3/+3
* doc/c-tree.texi: Update information about flag_honor_std. * doc/install.texi: Note that binutils is required on HPUX 11. * doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is now the default. * config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of variable-sized types. * lang-options.h: Emit documentation for -fno-honor-std, not -fhonor-std. From-SVN: r43226
2001-05-26toplev.c (debug_args, [...]): Mark descriptions for translation.Zack Weinberg1-41/+82
* toplev.c (debug_args, f_options, W_options): Mark descriptions for translation. (display_help): Translate descriptions on output. * cp/lang-options.h, f/lang-options.h, java/lang-options.h, objc/lang-options.h: Mark descriptions for translation. From-SVN: r42618
2001-04-29decl2.c (unsupported_options): Add new-abi.Joseph Myers1-19/+0
cp: * decl2.c (unsupported_options): Add new-abi. * lang-options.h: Remove no longer supported options. testsuite: * g++.old-deja/g++.other/crash14.C: Remove -fnew-abi. From-SVN: r41673
2001-01-05lang-options.h: Bring comment in line with reality.Phil Edwards1-2/+2
2001-01-05 Phil Edwards <pme@sources.redhat.com> * cp/lang-options.h: Bring comment in line with reality. * f/lang-options.h: Likewise. * java/lang-options.h: Likewise. * objc/lang-options.h: Likewise. * ch/lang-options.h: Likewise. * f/g77.texi: And update the manual. From-SVN: r38719
2000-06-06diagnostic.c (output_maximum_width): Remove.Gabriel Dos Reis1-2/+0
2000-06-06 Gabriel Dos Reis <gdr@codesourcery.com> * diagnostic.c (output_maximum_width): Remove. (doing_line_wrapping): Tweak. (diagnostic_buffer): New object. (global_output_buffer): New object. (output_destroy_prefix): New function. (default_initialize_buffer): Likewise. (reshape_diagnostic_buffer): Likewise. (initialize_diagnostics): Likewise. (output_clear): Tweak. (line_wrapper_printf): Adjust call to init_output_buffer. (vline_wrapper_message_with_location): Likewise. Use output_destroy_prefix. (v_message_with_decl): Likewise. * diagnostic.h (struct output_buffer): Constify prefix. (init_output_buffer, output_get_prefix): Constify. (diagnostic_message_length_per_line): Likewise. (reshape_diagnostic_buffer): Declare. (default_initialize_buffer): Declare. (initialize_diagnostics): Declare. (diagnostic_buffer): Declare new obbject. * toplev.c: #include diagnostic.h (display_help): Document diagnostic formatting options. (decode_f_option): Handle diagnostic formatting options. (main): Setup initialization for diagnostic messages outputter. * toplev.h (set_message_length): Remove. * Makefile.in (toplev.o): Depends upon diagnostic.h * invoke.texi : Document diagnostics formatting options. cp/ 2000-06-06 Gabriel Dos Reis <gdr@codesourcery.com> * lex.c (lang_init_options): Tweak. * decl2.c: Remove #inclusion of diagnostic.h (lang_decode_option): Move diagnostic formatting options to toplevel. * lang-options.h: Remove documentation for diagnostic options. * Makefile.in (lex.o): Depends upon diagnostic.h From-SVN: r34435
2000-05-14diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro.Gabriel Dos Reis1-0/+1
2000-05-13 Gabriel Dos Reis <gdr@codesourcery.com> * diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro. (DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise. (DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise. (struct output_buffer: emitted_prefix_p, prefixing_rule): New fields. (set_message_prefixing_rule): Declare. * diagnostic.c: (current_prefixing_rule): New variable. (set_message_prefixing_rule): Define. (output_set_prefix): Adjust buffer->emitted_prefix_p. (init_output_buffer): Adjust Initialization. (output_emit_prefix): Rewrite. Take prefixing rules into account. cp/ 2000-05-13 Gabriel Dos Reis <gdr@codesourcery.com> * lex.c: #include diagnostic.h. (lang_init_options): Set default prefixing rules. * lang-options.h: Add -fdiagnostics-show-location=. * decl2.c: #include diagnostic.h. (lang_decode_option): Handle -fdiagnostics-show-location=. From-SVN: r33890
2000-04-11extend.texi (-fthis-is-variable): Undocument.Martin v. Löwis1-1/+1
* extend.texi (-fthis-is-variable): Undocument. * flags.h (warn_template_debugging): Remove declaration. * gcc.1 (-fall-virtual, -fenum-int-equiv, -fthis-is-variable, -Wenum-clash, -Wtemplate-debugging): Undocument. * cp/tree.h (HAVE_TEMPLATES): Remove definition. * cp/lang-options.h (-fthis-is-variable): Remove documentation. From-SVN: r33071
2000-03-10lang-options.h, decl2.c: Add -fno-enforce-eh-specs.Jason Merrill1-0/+2
* lang-options.h, decl2.c: Add -fno-enforce-eh-specs. * cp-tree.h: Declare flag_enforce_eh_specs. * decl.c (store_parm_decls, finish_function): Check it. C library functions don't throw. * Makefile.in (cfns.h): New target. (except.o): Depend on it. * Make-lang.in (cc1plus): Depend on cfns.gperf. * cfns.gperf: New file. * cfns.h: Generated. * except.c: Include it. (nothrow_libfn_p): New fn. * decl.c (grokfndecl): Use it. * cp-tree.h: Declare it. From-SVN: r32469
2000-02-26* lang-options.h (-fmessage-length=): Add missing option.Richard Kenner1-1/+3
From-SVN: r32205
2000-02-26Fix copyrightsJeff Law1-1/+1
From-SVN: r32185
1999-12-17cp-tree.h (cp_tree_index): Add CPTI_DSO_HANDLE.Mark Mitchell1-0/+2
* cp-tree.h (cp_tree_index): Add CPTI_DSO_HANDLE. (dso_handle_node): New macro. (flag_use_cxa_atexit): New variable. (declare_global_var): New function. (start_anon_func): Remove declaration. (end_anon_func): Likewise. * decl.c (get_atexit_node): New function, split out from destroy_local_static. Handle flag_use_cxa_atexit. (get_dso_handle_node): Likewise. (start_cleanup_fn): Renamed from start_anon_func. Moved here from except.c. Handle flag_use_cxa_atexit. (end_cleanup_fn): Renamed from end_anon_func. Moved here from except.c. (declare_global_var): New variable. (destroy_local_static): Handle flag_use_cxa_atexit. * decl2.c (flag_use_cxa_atexit): New variable. (lang_f_options): Likewise. * except.c (start_anon_func): Remove. (end_anon_func): Liekwise. * lang-options.h: Add -fuse-cxa-atexit and -fno-use-cxa-atexit. * rtti.c (get_tinfo_var): Use declare_global_var. From-SVN: r30990
1999-09-22decl.c (define_case_label): Don't crash if we're not in a switch.Jason Merrill1-4/+6
* decl.c (define_case_label): Don't crash if we're not in a switch. * decl2.c (lang_decode_option): Don't bother explicitly ignoring flags. * lang-options.h: Restore -fthis-is-variable. Remove help strings for unsupported flags. * decl2.c (lang_decode_option): Accept and ignore -finit-priority. Accept and warn about -fthis-is-variable. From-SVN: r29594
1999-09-20Remove support for assigning to `this'.Mark Mitchell1-2/+0
* NEWS: Note that fact. * class.c (build_vbase_path): Don't check flag_this_is_variable. * cp-tree.h (EXPR_STMT_ASSIGNS_THIS): Remove. (language_function): Remove assigns_this, just_assigned_this, and x_base_init_expr. Add x_vcalls_possible_p. Add vtbls_set_up_p. (base_init_expr): Remove. (current_vcalls_possible_p): New macro. (vtbls_set_up_p): Likewise. (emit_base_init): Change prototype. * decl.c (finish_destructor_body): New function, split out from finish_function. (current_function_assigns_this): Remove. (current_function_just_assigned_this): Likewise. (start_function): Don't set them. (finish_function): Don't check them. Don't emit base-initialization code here. Generate code for destructors when doing semantic analysis. (finish_stmt): Don't check current_function_just_assigned_this. * decl2.c (lang_f_options): Remove this-is-variable. (lang_decode_option): Likewise. (grokclassfn): Don't check flag_this_is_variable. * init.c (emit_base_init): Return the expression generated. (construct_virtual_bases): Don't push/pop obstacks. Fix typo. (build_new_1): Don't check flag_this_is_variable. (get_temp_regvar): Don't set DECL_REGISTER. (build_vec_init): Don't call use_variable. * lang-options.h: Remove "-fthis-is-variable" and "-fno-this-is-variable". * pt.c (tsubst_expr): Don't check EXPR_STMT_ASSIGNS_THIS. * search.c (expand_upcast_fixups): Use finish_expr_stmt, not expand_expr_stmt. * semantics.c (finish_expr_stmt_real): Rename to ... (finish_expr_stmt): This. Remove assigned_this parameter. (begin_if_stmt): Call do_pushlevel before starting the statement. (begin_compound_stmt): Don't declare __FUNCTION__ in scope-less blocks. (setup_vtbl_ptr): Emit initialization code for bases and members at semantic-analysis time. Emit code to initialize vtables in destructors here. (expand_stmt): Use finish_expr_stmt, not finish_expr_stmt_real. Don't handle CTOR_INITIALIZER any more. * typeck.c (build_modify_expr): Don't check for assignments to this. (c_expand_return): Don't suggest assigning to `this'. * Makefile.in (decl.o): Depend on RTL_H. (decl2.o): Likewise. (class.o): Likewise. (call.o): Likewise. (method.o): Likewise. (search.o): Likewise. (tree.o): Likewise. (pt.o): Likewise. * decl.c (duplicate_decls): When a builtin function is redeclared as static, make sure it is mangled correctly. * ir.texi (CTOR_INITIALIZER): Remove mention. Fix typo. Add detail about the statement-tree. From-SVN: r29531
1999-08-12lang-options.h: Add -fms-extensions.Jason Merrill1-0/+2
* lang-options.h: Add -fms-extensions. * cp-tree.h: Declare flag_ms_extensions. * decl2.c: Define it. * class.c (instantiate_type): Don't complain about taking the address of a bound member function if -fms-extensions. * typeck.c (build_unary_op): Likewise. * decl.c (grokdeclarator): Or about implicit int. * init.c (resolve_offset_ref): Or about implicit '&'. From-SVN: r28684
1999-08-11extend.texi (C++ Signatures): Remove node.Mark Mitchell1-2/+0
* extend.texi (C++ Signatures): Remove node. * invoke.texi: Remove discussion of -fhandle-signatures, signature, sigof, __signature__, and __sigof__. * Make-lang.in (CXX_SRCS): Remove sig.c. * Makefile.in (CXX_OBJS): Remove sig.o. (sig.o): Remove. * cp-tree.h (CPTI_OPAQUE_TYPE): Remove. (CPTI_SIGNATURE_TYPE): Likewise. (CPTI_SIGTABLE_ENTRY_TYPE): Likewise. (opaque_type_node): Likewise. (signature_type_node): Likewise. (sigtable_entry_type): Likewise. (flag_handle_signatures): Likewise. (lang_type): Remove is_signature, is_signature_pointer, is_signature_reference, has_opaque_typedecls, sigtables_has_been_generated. Adjust dummy. Remove signature, signature_pointer_to, signature_reference_to. (IS_SIGNATURE): Remove. (SET_SIGNATURE): Remove. (CLEAR_SIGNATURE): Remove. (IS_SIGNATURE_POINTER): Remove. (IS_SIGNATURE_REFERENCE): Remove. (SIGNATURE_HAS_OPAQUE_TYPEDECLS): Remove. (SIGTABLE_HAS_BEEN_GENERATED): Remove. (CLASSTYPE_SIGNATURE): Remove. (SIGNATURE_TYPE): Remove. (SIGNATURE_METHOD_VEC): Remove. (SIGNATURE_POINTER_TO): Remove. (SIGNATURE_REFERENCE_TO): Remove. (lang_decl_flags): Remove is_default_implementation. Rename memfunc_pointer_to to saved_tree. (IS_DEFAULT_IMPLEMENTATION): Remove. (DECL_MEMFUNC_POINTER_TO): Remove. (DECL_MEMFUNC_POINTING_TO): Remove. (DECL_SAVED_TREE): Adjust definition. (tag_types): Remove signature_type_node. (SIGNATURE_FIELD_NAME): Remove. (SIGNATURE_FIELD_NAME_FORMAT): Likewise. (SIGNATURE_OPTR_NAME): Likewise. (SIGNATURE_SPTR_NAME): Likewise. (SIGNATURE_POINTER_NAME): Likewise. (SIGNATURE_POINTER_NAME_FORMAT): Likewise. (SIGNATURE_REFERENCE_NAME): Likewise. (SIGNATURE_REFERNECE_NAME_FORMAT): Likewise. (SIGTABLE_PTR_TYPE): Likewise. (SIGTABLE_NAME_FORMAT): Likewise. (SIGTABLE_NAME_FORMAT_LONG): Likewise. (SIGTABLE_TAG_NAME): Likewise. (SIGTABLE_VB_OFF_NAME): Likewise. (SIGTABLE_VT_OFF_NAME): Likewise. (finish_base_specifiers): Change prototype. (build_signature_pointer_type): Remove. (build_signature_reference_type): Remove. (build_signature_pointer_constructor): Remove. (build_signature_method_call): Remove. (build_optr_ref): Likewise. (append_signature_fields): Likewise. (signature_error): Likewise. * call.c (build_this): Remove signature support. (build_over_call): Likewise. (build_new_method_call): Likewise. * class.c (add_implicitly_declared_members): Likewise. (finish_struct_1): Likewise. (finish_struct): Likewise. * cvt.c (cp_convert_to_pointer): Likewise. (convert_to_pointer_force): Likewise. (ocp_convert): Likewise. * decl.c (sigtable_decl_p): Remove. (init_decl_processing): Remove support for signatures. (cp_finish_decl): Likewise. (grokdeclarator): Likewise. (grokparms): Likewise. (xref_tag): Likewise. (start_function): Likewise. (start_method): Likewise. * decl2.c (finish_sigtable_vardecl): Remove. (flag_handle_signatures): Remove. (lang_f_options): Remove handle-signatures. (grokfield): Remove support for signatures. (grokbitfield): Likewise. (finish_file): Likewise. (reparse_absdcl_as_casts): Likewise. * error.c (dump_type_real): Likewise. (dump_function_decl): Likewise. * friend.c (make_friend_class): Likewise. * gxx.gperf: Remove __signature__, signature, __sigof__, sigof. * hash.h: Regenerated. * init.c (build_new_1): Remove support for signatures. * lang-options.h: Remove -fhandle-signatures, -fno-handle-signatures. * lex.c (init_parse): Remove support for signatures. (yyprint): Likewise. * lex.h (rid): Remove RID_SIGNATURE. * method.c (build_decl_overload_real): Remove support for signatures. (hack_identifier): Likewise. * parse.y (base_class): Likewise. (base_class.1): Likewise. (access_specifier): Likewise. * search.c (lookup_member): Likewise. * semantics.c (finish_qualified_object_call_expr): Likewise. (finish_template_type_parm): Likewise. (begin_class_definition): Likewise. (finish_base_specifier): Likewise. * sig.c: Remove. * tree.c (build_cplus_method_type): Remove support for signatures. * typeck.c (require_complete_type): Likewise. (c_sizeof): Likewise. (c_alignof): Likewise. (build_object_ref): Likewise. (build_component_ref): Likewise. (build_indirect_ref): Likewise. (build_c_cast): Likewise. (build_modify_expr): Likewise. (convert_for_initialization): Likewise. * typeck2.c (signature_error): Remove. (store_init_value): Remove support for signatures. (digest_init): Likewise. (build_x_arrow): Likewise. (build_functional_cast): Likewise. * xref.c (GNU_xref_decl): Likewise. From-SVN: r28677
1999-08-03invoke.texi (-fdump-translation-unit): New option.Mark Mitchell1-0/+1
* invoke.texi (-fdump-translation-unit): New option. * Make-lang.in (CXX_SRCS): Add dump.c. * Makefile.in (CXX_OBJS): Add dump.o. (dump.o): New target. * cp-tree.h (DECL_CONV_FN_P): Document. (DECL_OVERLOADED_OPERATOR_P): New function. (TYPE_PTRMEM_CLASS_TYPE): New macro. (TYPE_PTRMEM_POINTED_TO_TYPE): Likewise. (PTRMEM_CST_CLASS): Use TYPE_PTRMEM_CLASS_TYPE. (ASM_VOLATILE_P): New macro. (STMT_LINENO): Likewise. (cp_namespace_decls): New function. (dump_node_to_file): New function. * decl.c (cp_namespace_decls): New function. (walk_namespaces_r): Use it. (wrapup_globals_for_namespace): Likewise. * decl2.c (flag_dump_translation_unit): New variable. (lang_decode_option): Handle -fdump-translation-unit. (finish_file): If flag_dump_translation_unit is set, dump the translation unit. * dump.c: New file. * lang-options.h: Add -fdump-translation-unit. * pt.c (tsubst_template_parms): Robustify. (tsubst_decl): Use DECL_OVERLOADED_OPERATOR_P. (tsubst_expr): Use STMT_LINENO. * semantics.c (finish_asm_stmt): Eliminate duplicate code. Check for invalid cv-qualifiers even while building templates. From-SVN: r28434
1999-04-14extend.texi (Deprecated Features): New node.Martin v. Löwis1-1/+2
* extend.texi (Deprecated Features): New node. * invoke.texi (-Wdeprecated): Document. * cp/lang-options.h (-Wdeprecated): New flag. * cp/decl2.c (warn_deprecated): New flag. (lang_decode_option): Deprecated this-is-variable, external-templates, alt-external-templates. Support -Wdeprecated. * cp/errfn.c (cp_deprecated): New function. From-SVN: r26438
1998-12-07decl.c (build_typename_type): Set DECL_ARTIFICIAL.Jason Merrill1-0/+2
* decl.c (build_typename_type): Set DECL_ARTIFICIAL. * error.c (dump_simple_decl): Also print namespace context. (dump_function_decl): Likewise. * decl2.c (ambiguous_decl): Don't print old value if it's error_mark_node. * decl.c (lookup_name_real): Fix handling of local types shadowed by a non-type decl. Remove obsolete code. * cp-tree.h (DECL_FUNCTION_SCOPE_P): New macro. Fixes g++.other/lookup6.C * lang-options.h: Add -fpermissive. * decl2.c: Likewise. * cp-tree.h: Add flag_permissive. * decl.c (init_decl_processing): If neither -fpermissive or -pedantic were specified, set flag_pedantic_errors. * call.c (build_over_call): Turn dropped qualifier messages back into pedwarns. * cvt.c (convert_to_reference): Likewise. * typeck.c (convert_for_assignment): Likewise. From-SVN: r24150
1998-12-04pt.c (check_template_shadow): New fn.Jason Merrill1-2/+4
* pt.c (check_template_shadow): New fn. * decl2.c (grokfield): Use it. * decl.c (pushdecl): Likewise. (pushdecl_class_level): Likewise. (start_method): Likewise. (xref_tag): Don't try to use 't' if we're defining. Fixes Sec14/7/C14387.cm. * call.c (check_dtor_name): Just return an error_mark_node. * pt.c (lookup_template_class): Complain about using non-template here. * parse.y (apparent_template_type): Not here. Fixes Sec14/C14339.cm. * pt.c (check_explicit_specialization): Complain about specialization with C linkage. Fixes Sec14/C14340.cm. * lang-options.h: Add -f{no-,}implicit-inline-templates. * pt.c (convert_nontype_argument): Don't assume that any integer argument is intended to be a constant-expression. Fixes Sec14/7/P14245.C. From-SVN: r24086
1998-11-22update copyrightsJason Merrill1-1/+1
From-SVN: r23764
1998-09-07revert error reporting patchJason Merrill1-4/+0
From-SVN: r22310
1998-09-06cp-error.def: New file.Mark Mitchell1-0/+4
* cp-error.def: New file. * Make-lang.in (cc1plus): Add dependency on it. * Makefile.in (CXX_TREE_H): Likewise. * cp-tree.h (error_code): New type. Include cp-error.def to get error codes. Make it possible to include cp-tree.h in errfn.c. (enable_warning): New function. (flag_diag_codes): New variable. * errfn.c: Include cp-tree.h. (cp_err_msg): New type. Include cp-error.def to define it. (err_msgs): New variable. (is_warning_enabled): New function. (cp_thing): Take an error_code, not a format string. Output the diagnostic code if flag_diag_codes. (cp_error, cp_compiler_error, cp_sprintf, cp_error_at): Take error_codes, not format strings. (cp_warning, cp_pedwarn, cp_warning_at, cp_pedwarn_at): Likewise. Call is_warning_enabled. * decl2.c (flag_diag_codes): New variable. (lang_decode_option): Handle -fdiag-codes and -Wnumber. * lang-options.h: Add -fdiag-codes, -fno-diag-codes, and -W-number-, and -Wno-number. * class.c: Update all calls to error-functions. * cvt.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * friend.c: Likewise. * lex.c: Likewise. * parse.y: Likewise. * pt.c: Likewise. * repo.c: Likewise. * rtti.c: Likewise. * search.c: Likewise. * semantics.c: Likewise. * sig.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. * xref.c: Likewise. From-SVN: r22304
1998-09-03cp-tree.h: Declare warn_nontemplate_friend.Benjamin Kosnik1-4/+7
S 1998-09-03 Benjamin Kosnik <bkoz@cygnus.com> * cp-tree.h: Declare warn_nontemplate_friend. * decl2.c (lang_decode_option): Set. * lang-options.h: Add -Wnon-template-friend. * friend.c (do_friend): Use to toggle non-template function warning. g++/17054 From-SVN: r22219
1998-09-01decl.c (lookup_name_real): Also do implicit typename thing for artificial ↵Jason Merrill1-1/+1
TYPE_DECLs. * decl.c (lookup_name_real): Also do implicit typename thing for artificial TYPE_DECLs. * search.c (lookup_field): Likewise. (lookup_fnfields, lookup_field): Adjust for implicit typename kludge. * semantics.c (begin_constructor_declarator): Use enter_scope_of. (enter_scope_of): Extract type from implicit typename. (begin_class_definition): Likewise. * lex.c (identifier_type): Handle implicit typename when checking for SELFNAME. * cp-tree.h: Declare flag_strict_prototype. * lex.c (do_scoped_id, do_identifier): Don't implicitly_declare if -fstrict-prototype. * decl.c (init_decl_processing): If -f{no,-}strict-prototype wasn't specified, set it to the value of pedantic. From-SVN: r22158
1998-08-28Add support for discarding unused virtual functions.Jason Merrill1-0/+2
* search.c (dfs_search, binfo_for_vtable, dfs_bfv_helper): New fns. * decl2.c (output_vtable_inherit): Call binfo_for_vtable. * lang-options.h: Add -fvtable-gc. * cp-tree.h: Add flag_vtable_gc. * decl2.c (output_vtable_inherit): New fn. (finish_vtable_vardecl): Call it. * class.c (build_vtable_entry_ref): New fn. (build_vtbl_ref): Call it. From-SVN: r22061
1998-08-27lex.c (handle_cp_pragma): Remove #pragma vtable.Jason Merrill1-7/+4
* lex.c (handle_cp_pragma): Remove #pragma vtable. * lang-options.h: Remove +e options. * decl2.c (lang_decode_option): Likewise. (import_export_vtable): Don't check write_virtuals. (finish_vtable_vardecl, finish_file): Likewise. * search.c (dfs_debug_mark): Likewise. * semantics.c (begin_class_definition): Likewise. * class.c (build_vtable, finish_vtbls, finish_struct_1): Likewise. * call.c (build_over_call): Check flag_elide_constructors. * decl2.c: flag_elide_constructors defaults to 1. * typeck.c (convert_arguments): Remove return_loc parm. (build_function_call_real): Adjust. From-SVN: r22027
1998-08-27search.c: Tear out all mi_matrix and memoize code.Jason Merrill1-3/+3
* search.c: Tear out all mi_matrix and memoize code. (lookup_field, lookup_fnfields): Use scratch_tree_cons. * lang-options.h: Remove documentation for -fhandle-exceptions, -fmemoize-lookups and -fsave-memoized. * cp-tree.h: Lose mi_matrix and memoize support. * decl2.c: Ignore -fmemoize-lookups and -fsave-memoized. * class.c: Lose struct class_level. (pushclass, popclass): Lose memoize support. * init.c (build_offset_ref): Likewise. From-SVN: r22025
1998-08-23c-common.c (combine_strings): Also set TREE_READONLY.Jason Merrill1-0/+2
* c-common.c (combine_strings): Also set TREE_READONLY. Change warn_write_strings to flag_const_strings. * c-decl.c, c-tree.h: Likewise. cp/ * tree.c (lvalue_type): Fix for arrays. * typeck.c (string_conv_p): New fn. (convert_for_assignment): Use it. (build_unary_op): Use lvalue_type. * call.c (standard_conversion, convert_like): Use string_conv_p. (add_function_candidate): Use lvalue_type. * cvt.c (convert_to_reference): Likewise. * decl2.c (lang_decode_option): Ignore -traditional. * decl.c (init_decl_processing): flag_writable_strings inhibits flag_const_strings. * lang-options.h (lang_options): Add fconst-strings to the list of valid options. * decl2.c (lang_f_options, lang_decode_option): Likewise. From-SVN: r21928
1998-08-13tree.h: De-conditionalize init_priority code.Jason Merrill1-0/+2
* tree.h: De-conditionalize init_priority code. * mips.h (NM_FLAGS): Change from -Bp to -Bn. * collect2.c (NM_FLAGS): Change from -p to -n. * configure.in: Turn on collect2 for mipstx39-elf. Handle use_collect2=no properly. * c-common.c: De-conditionalize init_priority code. * collect2.c (extract_init_priority, sort_ids): New fns. (main): Call sort_ids. Move sequence_number to file scope. * configure.in: Handle --enable-init-priority. * c-common.c (attrs): Add A_INIT_PRIORITY. (init_attributes, decl_attributes): Likewise. * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros. * tree.c (get_file_function_name_long): Split out... (get_file_function_name): ...from here. cp/: * lang-options.h: Add -finit-priority. * decl2.c: Likewise. Check flag_init_priority instead of USE_INIT_PRIORITY. * decl2.c (setup_initp): New fn. (start_objects, finish_objects, do_ctors): Handle init_priority. (do_dtors, finish_file): Likewise. From-SVN: r21701
1998-07-13--help support addedNick Clifton1-97/+99
From-SVN: r21110
1998-07-07decl.c (xref_tag): Handle attributes between 'class' and name.Jason Merrill1-0/+2
* decl.c (xref_tag): Handle attributes between 'class' and name. * parse.y (aggr): Likewise. * semantics.c (finish_class_definition): Likewise. * Makefile.in (EXPECTED): Adjust. * cp-tree.h: Declare flag_optional_diags and warn_multichar. * decl2.c: Define them. (lang_decode_option): Handle them. * lang-options.h: Add -foptional-diags. * class.c (finish_struct): Don't complain about multiple meanings of name if -fno-optional-diags. * decl.c (pushdecl_class_level): Likewise. * lex.c (real_yylex): Check warn_multichar. From-SVN: r20994
1998-06-30decl2.c (lang_decode_option): Remove warn_template_debugging.Benjamin Kosnik1-2/+0
� 1998-06-30 benjamin kosnik <bkoz@bliss.nabi.net> * decl2.c (lang_decode_option): Remove warn_template_debugging. * lang-options.h: Ditto. * dbxout.c (dbxout_type_methods): Remove warn_template_debugging. From-SVN: r20843
1998-05-07massive namespace patchMartin v. Löwis1-0/+2
From-SVN: r19631
1998-04-03Implement empty base optimization.Jason Merrill1-0/+2
* class.c (finish_struct_1): Add vbase fields earlier. Set CLASSTYPE_SIZE of an empty base to 0. Types with bases can be empty. * search.c (dfs_check_overlap, dfs_no_overlap_yet): New fns. (types_overlap_p): New fn. * tree.c (avoid_overlap): New fn. (build_base_fields): Use it to avoid overlapping empty bases. * cp-tree.h, decl2.c, lang-options.h: Add -fnew-abi. From-SVN: r18978
1998-02-10Add -fsquangle and -fno-squangle.Andrew Macleod1-0/+2
From-SVN: r17831
1997-09-29[multiple changes]Jason Merrill1-0/+2
Mon Sep 29 11:05:54 1997 Alexandre Oliva <oliva@dcc.unicamp.br> * lang-options.h: new -Wold-style-cast flag. * cp-tree.h (warn_old_style_cast): new variable. * decl2.c (warn_old_style_cast): ditto. (lang_decode_option): support -Wold-style-cast. (reparse_absdcl_as_casts): produce old-style-cast warning. Mon Sep 29 09:20:53 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com> * decl.c (cp_finish_decl): Allow expand_aggr_init to set TREE_USED, reset value based on already_used. * init.c (expand_member_init): Revert change. From-SVN: r15793
1997-09-28[multiple changes]Jason Merrill1-0/+3
Sat Sep 27 16:22:48 1997 Jason Merrill <jason@yorick.cygnus.com> * friend.c (do_friend): Disable injection for all template-derived decls. * decl2.c (lang_decode_option): Handle -fguiding-decls. * parse.y (notype_template_declarator): New nonterminal. (direct_notype_declarator): Use it. (complex_direct_notype_declarator): Likewise. (object_template_id): Accept any kind of identifier after TEMPLATE. (notype_qualified_id): Don't add template declarators here. Sat Sep 27 16:21:58 1997 Mark Mitchell <mmitchell@usa.net> * call.c (add_template_candidate): Add explicit_targs parameter. (build_scoped_method_call): Use it. (build_overload_call_real): Likewise. (build_user_type_conversion_1): Likewise. (build_new_function_call): Likewise. (build_object_call): Likewise. (build_new_op): Likewise. (build_new_method_call): Likewise. (build_new_function_call): Handle TEMPLATE_ID_EXPR. (build_new_method_call): Likewise. * class.c (finish_struct_methods): Add specialization pass to determine which methods were specializing which other methods. (instantiate_type): Handle TEMPLATE_ID_EXPR. * cp-tree.def (TEMPLATE_ID_EXPR): New tree code. * cp-tree.h (name_mangling_version): New variable. (flag_guiding_decls): Likewise. (build_template_decl_overload): New function. (begin_specialization): Likewise. (reset_specialization): Likewise. (end_specialization): Likewise. (determine_explicit_specialization): Likewise. (check_explicit_specialization): Likewise. (lookup_template_function): Likewise. (fn_type_unification): Add explicit_targs parameter. (type_unification): Likewise. * decl.c (duplicate_decls): Add smarts for explicit specializations. (grokdeclarator): Handle TEMPLATE_ID_EXPR, and function specializations. (grokfndecl): Call check_explicit_specialization. * decl2.c (lang_decode_option): Handle -fname-mangling-version. (build_expr_from_tree): Handle TEMPLATE_ID_EXPR. (check_classfn): Handle specializations. * error.c (dump_function_name): Print specialization arguments. * friend.c (do_friend): Don't call pushdecl for template instantiations. * init.c (build_member_call): Handle TEMPLATE_ID_EXPR. * lang-options.h: Add -fname-mangling-version, -fguiding-decls, and -fno-guiding-decls. * lex.c (identifier_type): Return PFUNCNAME for template function names. * method.c (build_decl_overload_real): New function. (build_template_parm_names): New function. (build_overload_identifier): Use it. (build_underscore_int): New function. (build_overload_int): Use it. Add levels for template parameters. (build_overload_name): Likewise. Also, handle TYPENAME_TYPEs. (build_overload_nested_names): Handle template type parameters. (build_template_decl_overload): New function. * parse.y (YYSTYPE): New ntype member. (nested_name_specifier): Use it. (nested_name_specifier_1): Likewise. (PFUNCNAME): New token. (template_id, object_template_id): New non-terminals. (template_parm_list): Note specializations. (template_def): Likewise. (structsp): Likewise. (fn.def2): Handle member template specializations. (component_decl_1): Likewise. (direct_notype_declarator): Handle template-ids. (component_decl_1): Likewise. (direct_notype_declarator): Handle template-ids. (primary): Handle TEMPLATE_ID_EXPR, and template-ids. * pt.c (processing_specializations): New variable. (template_header_count): Likewise. (type_unification_real): New function. (processing_explicit_specialization): Likewise. (note_template_header): Likewise. (is_member_template): Handle specializations. (end_template_decl): Call reset_specialization. (push_template_decl): Handle member template specializations. (tsubst): Likewise. (tsubst_copy): Handle TEMPLATE_ID_EXPR. (instantiate_template): Handle specializations. (instantiate_decl): Likewise. (fn_type_unification): Handle explicit_targs. (type_unification): Likewise. Allow incomplete unification without an error message, if allow_incomplete. (get_bindings): Use new calling sequence for fn_type_unification. * spew.c (yylex): Handle PFUNCNAME. * tree.c (is_overloaded_fn): Handle TEMPLATE_ID_EXPR. (really_overloaded_fn): Likewise. (get_first_fn): Handle function templates. * typeck.c (build_x_function_call): Use really_overloaded_fn. Handle TEMPLATE_ID_EXPR. (build_x_unary_op): Likewise. (build_unary_op): Likewise. (mark_addressable): Templates whose address is taken are marked as used. From-SVN: r15774
1997-08-19mergeJason Merrill1-0/+4
From-SVN: r14852
1997-05-0291th Cygnus<->FSF quick mergeMike Stump1-0/+2
From-SVN: r14007
1997-04-2391th Cygnus<->FSF mergeMike Stump1-2/+0
From-SVN: r13971
1997-02-1290th Cygnus<->FSF quick mergeMike Stump1-0/+1
From-SVN: r13629
1996-11-1290th Cygnus<->FSF quick mergeMike Stump1-0/+2
From-SVN: r13141