summaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* Mark ChangeLogreleases/gcc-3.1Mark Mitchell2004-04-191-0/+4
| | | | From-SVN: r80840
* Mark ChangeLogMark Mitchell2002-07-251-0/+4
| | | | From-SVN: r55764
* * class.c (add_method): Correct handling of conversion operators.Mark Mitchell2002-07-121-0/+4
| | | | From-SVN: r55420
* re PR c++/7224 (g++ 3.x does not tecognize unused ambiguous inline member ↵Mark Mitchell2002-07-111-0/+5
| | | | | | | | | | | | functions) PR c++/7224 * class.c (add_method): Simplify. PR c++/7224 * g++.dg/overload/error1.C: New test. From-SVN: r55408
* re PR c++/7279 (NRV related miscompilation)Jason Merrill2002-07-111-0/+6
| | | | | | | | PR c++/7279 * tree.c (cp_copy_res_decl_for_inlining): Also copy TREE_ADDRESSABLE. From-SVN: r55406
* re PR c++/6255 (ICE with templatess)Jason Merrill2002-07-091-0/+6
| | | | | | | | PR c++/6255 * decl.c (lookup_name_real): Build a new TYPENAME_TYPE rather than modifying the old one. From-SVN: r55353
* pt.c (can_complete_type_without_circularity): Add static to function definition.Kriang Lerdsuwanakij2002-07-081-0/+5
| | | | | | | * pt.c (can_complete_type_without_circularity): Add static to function definition. From-SVN: r55327
* cvt.c (cp_convert_to_pointer): Call force_fit_type for null pointers.Jason Merrill2002-07-051-0/+3
| | | | | | | * cvt.c (cp_convert_to_pointer): Call force_fit_type for null pointers. From-SVN: r55273
* Fix problem reported in http://gcc.gnu.org/ml/gcc-patches/2002-07/msg00238.htmlJim Wilson2002-07-051-0/+5
| | | | | | | | Fix problem reported in http://gcc.gnu.org/ml/gcc-patches/2002-07/msg00238.html * decl.c (mark_named_label_lists): Add missing & in call to mark_binding_level. From-SVN: r55265
* re PR rtl-optimization/7145 (g++ -O with structure initializer & return ↵Jason Merrill2002-07-051-0/+5
| | | | | | | | | | | value optimization generates bad code) PR optimization/7145 * tree.c (cp_copy_res_decl_for_inlining): Also copy DECL_INITIAL. [[Split portion of a mixed commit.]] From-SVN: r55262.1
* re PR c++/6611 (Non-weak emission of `std::__default_alloc_template[...]' on ↵Jason Merrill2002-07-041-0/+6
| | | | | | | | | | platform(s) where it should be weak) PR c++/6611 * decl2.c (import_export_decl): If we clear DECL_NOT_REALLY_EXTERN, make sure DECL_EXTERNAL is set. From-SVN: r55243
* re PR c++/6944 (missing feature on default copy-constructor for class with ↵Kriang Lerdsuwanakij2002-07-031-0/+8
| | | | | | | | | | | | | | | multi-dim arrays) PR c++/6944 * init.c (build_aggr_init): Remove qualifiers of init before calling build_vec_init. (build_vec_init): Flatten multi-dimensional array during cleanup. (build_vec_delete_1): Abort if the type of each element is array. * g++.dg/init/array4.C: New test. * g++.dg/init/array5.C: New test. From-SVN: r55213
* re PR c++/6716 (loop and fill ram during compiling)Kriang Lerdsuwanakij2002-07-021-0/+8
| | | | | | | | | | | | PR c++/6716 * pt.c (can_complete_type_without_circularity): New function. (instantiate_class_template): Use it. * typeck2.c (incomplete_type_error): Improve error message due to incomplete fields. * g++.dg/template/instantiate1.C: New test. From-SVN: r55181
* re PR c++/7112 (Regression: ICE on C++ code involving templates and sizeof)Mark Mitchell2002-07-021-0/+7
| | | | | | | | | | | | | | | | PR c++/7112 * g++.dg/template/sizeof1.C: New test. PR c++/7112 * mangle.c (write_expression): Add mangling for sizeof when applied to a type. * operators.def: Remove stale comment. * cp-demangle.c (demangle_operator_name): Add type_arg parameter. Set it for the "st" operator. (demangle_expression): Handle expressions with types as arguments. From-SVN: r55168
* re PR c++/6695 (Regression: template friend declaration doesn't work)Mark Mitchell2002-06-271-0/+6
| | | | | | | | | | | PR c++/6695 * pt.c (tsubst_friend_class): Substitute into the context of the friend before using it. PR c++/6695 * g++.dg/template/friend7.C: New file. From-SVN: r55043
* decl.c (finish_function): Change "#ifdef VMS_TARGET" to "#if VMS_TARGET".Matt Thomas2002-06-231-0/+5
| | | | | | | * decl.c (finish_function): Change "#ifdef VMS_TARGET" to "#if VMS_TARGET". From-SVN: r54933
* typeck.c (mark_addressable): Don't test TREE_ADDRESSABLE early.Richard Henderson2002-06-201-0/+6
| | | | | | | | * typeck.c (mark_addressable): Don't test TREE_ADDRESSABLE early. Call put_var_into_stack. * g++.dg/opt/asm1.C: New. From-SVN: r54864
* re PR c++/6892 (ICE from #include inside switch(){} inside template function)Kriang Lerdsuwanakij2002-06-201-0/+5
| | | | | | | PR c++/6892 * pt.c (tsubst_expr): Handle FILE_STMT. From-SVN: r54838
* re PR c++/6723 (ICE on source code successfully compiled by previous versions)Kriang Lerdsuwanakij2002-06-201-0/+7
| | | | | | | | | | | PR c++/6723 * pt.c (lookup_template_class): Don't build complete argument of BOUND_TEMPLATE_TEMPLATE_PARM if appeared as a default template argument. * g++.dg/template/ttp4.C: New test. From-SVN: r54837
* tree.c (cp_cannot_inline_tree_fn): Don't short-circuit test after template ↵Richard Henderson2002-06-161-6/+12
| | | | | | | | | | instantiation. * tree.c (cp_cannot_inline_tree_fn): Don't short-circuit test after template instantiation. * g++.dg/opt/inline3.C: New. From-SVN: r54689
* configure.in: Add --enable-__cxa_atexit.H.J. Lu2002-06-071-0/+4
| | | | | | | | | | | | | | | | | 2002-06-07 H.J. Lu (hjl@gnu.org) * configure.in: Add --enable-__cxa_atexit. * configure: Regenerated. * config.in: Likewise. * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if not defined. 2002-06-07 H.J. Lu (hjl@gnu.org) * decl2.c (flag_use_cxa_atexit): Set to DEFAULT_USE_CXA_ATEXIT. From-SVN: r54344
* re PR preprocessor/6517 (gcc hangs on C compile with multiple "-I-")Neil Booth2002-05-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | PR preprocessor/6517 * Makefile.in: Update. * c-common.c (c_common_post_options): Add preprocessor errors to the error count. * c-lang.c (c_post_options): Kill. (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options. * hooks.h: Add header guards. * langhooks-def.h: Include hooks.h. (LANG_HOOKS_POST_OPTIONS): Update. * langhooks.h (struct lang_hooks): Update post_options. * toplev.c (parse_options_and_default_flags): Update. cp: * cp-lang.c (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options. * cp-tree.h (cxx_post_options): Kill. * cp-lex.c (cxx_post_options): Kill. objc: * objc-lang.c (objc_post_options): Kill. (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options. From-SVN: r53797
* Fix a typo.Jakub Jelinek2002-05-221-1/+1
| | | | From-SVN: r53738
* * error.c (dump_type) [TYPEOF_TYPE]: Fix parenthesis printing.Kriang Lerdsuwanakij2002-05-191-0/+4
| | | | From-SVN: r53624
* PR c++/186, DR 259Kriang Lerdsuwanakij2002-05-191-0/+7
| | | | | | | | | PR c++/186, DR 259 * pt.c (do_decl_instantiation): Don't complain explicit instantiation after explicit specialization. (do_type_instantiation): Likewise. From-SVN: r53622
* * pt.c (tsubst_expr) [ASM_STMT]: Copy ASM_INPUT_P.Jason Merrill2002-05-151-4/+5
| | | | From-SVN: r53504
* cp-tree.h (struct lang_type): Added non_zero_init.Alexandre Oliva2002-05-161-0/+19
| | | | | | | | | | | | | | | | | | | | | * cp-tree.h (struct lang_type): Added non_zero_init. (CLASS_NON_ZERO_INIT_P): New macro. (zero_init_p, force_store_init_value, build_forced_zero_init): Declare. * class.c (check_field_decls): Test non_zero_init. * cvt.c (convert_to_pointer_force): Use cp_convert_to_pointer for zero-to-NULL conversions. * decl.c (obscure_complex_init): Don't reset DECL_INITIAL of a type that needs zero-initialization without zeros. (check_initializer_decl): Compute zero-initializer for types that require a non-trivial one. * init.c (build_forced_zero_init): New function. (build_default_init): Use it. * tree.c (zero_init_p): New function. * typeck2.c (force_store_init_value): New function. (process_init_constructor): Create non-trivial zero-initializers for array members and class fields. From-SVN: r53501
* Mark ChangeLogMark Mitchell2002-05-151-0/+4
| | | | From-SVN: r53469
* Mark ChangeLogMark Mitchell2002-05-141-0/+4
| | | | From-SVN: r53466
* revert reversionJason Merrill2002-05-031-2/+0
| | | | From-SVN: r53112
* defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.Jason Merrill2002-05-031-0/+2
| | | | | | | | | | * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c. * c-decl.c (c_init_decl_processing): Use it. * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE. * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define. * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define. From-SVN: r53087
* dwarf2out.c (gen_type_die): Don't recurse if TYPE_NAME doesn't actually ↵Jason Merrill2002-05-031-0/+4
| | | | | | | | | | declare this type. * dwarf2out.c (gen_type_die): Don't recurse if TYPE_NAME doesn't actually declare this type. * decl.c (grokdeclarator): Revert last change. From-SVN: r53084
* init.c (perform_base_cleanups): Correct order of base class cleanups.Mark Mitchell2002-05-021-0/+5
| | | | | | | | | * init.c (perform_base_cleanups): Correct order of base class cleanups. * g++.dg/init/dtor1.C: Make it tougher. From-SVN: r53060
* re PR c++/6527 (g++ 3.1: class member dtor order wrong (regression in past ↵Mark Mitchell2002-05-021-0/+6
| | | | | | | | | | week)) PR c++/6527 * init.c (perform_base_cleanups): Emit cleanups in reverse order of construction. From-SVN: r53032
* * error.c (dump_type): Be careful about implicit typenames.Gabriel Dos Reis2002-05-011-0/+4
| | | | From-SVN: r53000
* Add ABI change note to previous change.David S. Miller2002-04-301-0/+1
| | | | From-SVN: r52978
* class.c (finish_struct_bits): Only mark TREE_ADDRESSABLE if ↵Mark Mitchell2002-04-301-0/+6
| | | | | | | | | | | | TYPE_HAS_TRIVIAL_INIT_REF is false or... 2002-04-30 Mark Mitchell <mark@codesourcery.com> * class.c (finish_struct_bits): Only mark TREE_ADDRESSABLE if TYPE_HAS_TRIVIAL_INIT_REF is false or TYPE_HAS_NONTRIVIAL_DESTRUCTOR is true. From-SVN: r52975
* decl.c (grokdeclarator): Don't override TYPE_NAME of an anonymous class with ↵Jason Merrill2002-04-301-0/+5
| | | | | | | | | | | a typedef if... * decl.c (grokdeclarator): Don't override TYPE_NAME of an anonymous class with a typedef if there are attributes. [[Split portion of a mixed commit.]] From-SVN: r52955.1
* * parse.y (nomods_initdcl0): Replace $<ttype>3 with $<ttype>$.Paul Eggert2002-04-301-3/+2
| | | | From-SVN: r52947
* parse.y (nomods_initdcl0): Do not move stack entries when setting things up ↵Paul Eggert2002-04-301-0/+5
| | | | | | | | | as initdcl0_innards expects. * parse.y (nomods_initdcl0): Do not move stack entries when setting things up as initdcl0_innards expects. From-SVN: r52940
* re PR c++/6477 (Segfault on conflicting types in trivial code)Jakub Jelinek2002-04-291-0/+6
| | | | | | | | | | PR c++/6477 * decl.c (follow_tag_typedef): Check if TYPE_NAME (original) is non-NULL first. * g++.dg/parse/typedef1.C: New test. From-SVN: r52896
* re PR c++/6492 (New boost regression (friends))Mark Mitchell2002-04-291-1/+11
| | | | | | | | | | | | | | | | | | PR c++/6492 * pt.c (tsubst_friend_class): If the friend has an explicit scope, enter that scope before name lookup. PR c++/6486 * method.c (do_build_copy_constructor): Avoid building cv-qualified reference types. PR c++/6486 * g++.dg/template/friend6.C: New test. PR c++/6492 * g++.dg/init/copy1.C: New test. From-SVN: r52894
* re PR c++/5719 (Suspect gcc-3 to report wrong waring for 'T& T::operator+=( ↵Nathan Sidwell2002-04-291-0/+6
| | | | | | | | | | | | | const T& )') cp: PR c++/5719 * decl.c (grok_op_properties): Assignment ops don't have to return by value. operator% should. testsuite: * g++.dg/warn/effc1.C: New test. From-SVN: r52887
* re PR c/6343 (attribute((weak)) not working on second declaration)Franz Sirl2002-04-281-0/+5
| | | | | | | | | | | | | | | | | | | | 2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> PR c/6343 * c-decl.c (duplicate_decls): Call merge_weak. * c-pragma.c (apply_pragma_weak): Warn about misuse. * output.h (merge_weak): Prototype merge_weak. * varasm.c (merge_weak): New function. (declare_weak): Make sure we don't give an error on VAR_DECLs. Mark RTL with SYMBOL_REF_WEAK. cp: * decl.c (duplicate_decls): Call merge_weak. testsuite: * gcc.dg/weak-[2-7].c: New tests. From-SVN: r52848
* re PR bootstrap/6445 (ICE bootstrapping objc for i386-rtems)Mark Mitchell2002-04-261-0/+6
| | | | | | | | | | | | | | | | | | | PR bootstrap/6445 * config/i386/i386.md (untyped_call): Return the value in a float register if TARGET_FLOAT_RETURNS_IN_80387, not just if TARGET_80387. PR c++/6497 * method.c (do_build_assign_ref): Pass a derivation to build_method_call when calling base class assignment operators. PR c++/6497 * g++.dg/inherit/access2.C: New test. PR bootstrap/6445 * gcc.dg/20020426-1.c: New test. From-SVN: r52808
* mangle.c (write_type): Don't use TYPE_MAIN_VARIANT when writing out an array ↵Mark Mitchell2002-04-251-0/+5
| | | | | | | | | | | | | type. 2002-04-24 Mark Mitchell <mark@codesourcery.com> * mangle.c (write_type): Don't use TYPE_MAIN_VARIANT when writing out an array type. (write_CV_qualifiers_for_type): Use TYPE_QUALS, not cp_type_quals, to determine qualifiers. From-SVN: r52748
* typeck.c (build_modify_expr): The pedwarn for array assignment is now ↵Jason Merrill2002-04-241-0/+3
| | | | | | | | | | | unconditional. * typeck.c (build_modify_expr): The pedwarn for array assignment is now unconditional. * tree.c (build_cplus_array_type_1): Still process simple array types normally in templates. From-SVN: r52747
* cvt.c (convert_to_void): Don't unconditionally make COND_EXPRs void.Mark Mitchell2002-04-241-0/+5
| | | | | | | * cvt.c (convert_to_void): Don't unconditionally make COND_EXPRs void. From-SVN: r52741
* re PR c++/6331 (g++ 3.1 looses const qualifiers)Jason Merrill2002-04-241-0/+4
| | | | | | | | PR c++/6331 * method.c (do_build_copy_constructor): Use cp_build_qualified_type. * typeck.c (build_modify_expr): Allow arrays to differ in cv-quals. From-SVN: r52710
* re PR c++/6395 (gcc-3_1-branch regression for g++.old-deja/g++.jason/synth5.C)Jason Merrill2002-04-231-0/+6
| | | | | | | | PR c++/6395 * decl.c (make_rtl_for_nonlocal_decl): Don't mess with #pragma i/i stuff for comdats. From-SVN: r52697