summaryrefslogtreecommitdiffstats
path: root/gcc/cp
Commit message (Collapse)AuthorAgeFilesLines
* Index: cp/ChangeLoggeoffk2005-03-242-7/+14
| | | | | | | | | | | | | | | 2005-03-24 Geoffrey Keating <geoffk@apple.com> * typeck.c (build_static_cast_1): Allow scalar_cast between any integral, floating, or enumeration type. Index: testsuite/ChangeLog 2005-03-24 Geoffrey Keating <geoffk@apple.com> * g++.dg/expr/cast3.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97019 138bc75d-0d04-0410-961f-82ee72b054a4
* * typeck.c (comptypes): First determine if the types are compatiblesteven2005-03-249-78/+113
| | | | | | | | | | | | | | | | | | | | | from a target-independent point of view. Check target attributes last. * class.c (build_base_path): (build_vbase_offset_vtbl_entries): (add_vcall_offset): Replace fold (buildN (...)) with fold_buildN. * error.c (dump_expr): Likewise. * init.c (build_zero_init, expand_cleanup_for_base, build_vec_delete_1): Likewise. * mangle.c (write_integer_cst): Likewise. * method.c (thunk_adjust): Likewise. * pt.c (convert_nontype_argument, tsubst, unify): Likewise. * tree.c (cxx_print_statistics, array_type_nelts_total): Likewise. * typeck.c (build_ptrmemfunc_access_expr, (get_member_function_from_ptrfunc): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96985 138bc75d-0d04-0410-961f-82ee72b054a4
* * langhooks.h (truthvalue_conversion): Remove.jsm282005-03-232-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_TRUTHVALUE_CONVERSION. * system.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Poison. * gimplify.c (gimple_boolify): Don't use truthvalue_conversion. * c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. ada: * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. cp: * cp-objcp-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. fortran: * f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. java: * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. treelang: * treetree.c (LANG_HOOKS_TRUTHVALUE_CONVERSION, tree_lang_truthvalue_conversion): Remove. * tree-convert.c: Don't call truthvalue_conversion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96947 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-18 Dale Johannese <dalej@apple.com>dalej2005-03-231-0/+1
| | | | | | | * cp/tree.c (cp_tree_equal): Handle SSA_NAME. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96938 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.h (default_conversion): Remove.jsm282005-03-232-1/+6
| | | | | | | | | | | | | | | | | | (perform_integral_promotions): Add. * c-tree.h (default_conversion): Add. * c-typeck.c (perform_integral_promotions): New, split out from default_conversion. * c-common.c (check_case_value): Use perform_integral_promotions, not default_conversion. (c_add_case_label): Don't continue processing case label after found to be pointer. cp: * cp-tree.h (perform_integral_promotions): Remove. (default_conversion): Add. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96916 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi: Deprecate C++ min/max operators.mmitchel2005-03-222-0/+26
| | | | | | | | | | | | | | | | | * parser.c (cp_parser_warn_min_max): New function. (cp_parser_binary_expression): Use it. (cp_parser_assignment_operator_opt): Likewise. (cp_parser_operator): Likewise. * g++.dg/opt/max1.C: Run with -Wno-deprecated. * g++.dg/opt/pr7503-2.C: Likewise. * g++.dg/opt/pr7503-3.C: Likewise. * g++.dg/opt/pr7503-4.C: Likewise. * g++.dg/opt/pr7503-5.C: Likewise. * g++.dg/warn/minmax.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96899 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/19980reichelt2005-03-222-1/+11
| | | | | | | | | * decl.c (start_preparsed_function): Robustify. * g++.dg/template/redecl3.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96872 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20499reichelt2005-03-222-1/+8
| | | | | | | | | | * parser.c (cp_parser_class_head): Return NULL_TREE when encountering a redefinition. * g++.dg/parse/error16.C: Tweak error markers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96870 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-03-222-1/+11
| | | | | | | | | | | | | | PR c++/20465 PR c++/20381 * typeck.c (build_ptrmemfunc): Allow OFFSET_REF when processing a template. testsuite: PR c++/20465 PR c++/20381 * g++.dg/template/ptrmem12.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96862 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-21 Paolo Carlini <pcarlini@suse.de>paolo2005-03-213-0/+21
| | | | | | | | | | | | | | | | PR c++/20461 PR c++/20536 * init.c (emit_mem_initializers): Don't crash on undefined types. 2005-03-21 Paolo Carlini <pcarlini@suse.de> PR c++/20147 * semantics.c (finish_stmt_expr_expr): Return immediately if error_operand_p (expr). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96784 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (lvalue_or_else): Replace by lvalue_error; only givejsm282005-03-213-0/+23
| | | | | | | | | | | | | | | | diagnostic without checking whether an lvalue. * c-common.h (lvalue_p): Remove. (enum lvalue_use): Update comment. (lvalue_or_else): Replace by lvalue_error. * c-typeck.c (lvalue_p): Make static. (lvalue_or_else): New. Call lvalue_error. cp: * cp-tree.h (lvalue_or_else, lvalue_p): New. * typeck.c (lvalue_or_else): New. Call lvalue_error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96776 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20240lerdsuwa2005-03-192-0/+11
| | | | | | | | | * decl.c (decls_match): Compare context of VAR_DECL. * g++.dg/lookup/using13.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96725 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20333lerdsuwa2005-03-192-7/+21
| | | | | | | | | | * parser.c (cp_parser_postfix_expression) <case RID_TYPENAME>: Check the return value of cp_parser_nested_name_specifier. * g++.dg/template/crash36.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96720 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-18 Paolo Carlini <pcarlini@suse.de>paolo2005-03-182-1/+9
| | | | | | | | | | PR c++/20463 * parser.c (cp_parser_diagnose_invalid_type_name): Check TYPE_BINFO (current_class_type) before attempting to emit inform messages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96689 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-17 Paolo Carlini <pcarlini@suse.de>paolo2005-03-173-15/+22
| | | | | | | | | | | PR c++/19966 * cp-tree.h (grok_op_properties): Change return type to void. * decl.c (grok_op_properties): Return early - don't check the arity - in case of a static member or an operator that cannot be non-member; tidy a bit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96609 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-03-172-141/+111
| | | | | | | | | | | PR c++/20186 * pt.c (contains_dependent_cast_p): Remove. (fold_non_dependent_expr): Don't use it. (value_dependent_expression_p): Use a switch statement. reference_exprs can be dependent. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96605 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/4403lerdsuwa2005-03-143-16/+60
| | | | | | | | | | | | | | | | | PR c++/9783, DR433 * name-lookup.c (pushtag): Skip template parameter scope when scope is ts_global. Don't push tag into template parameter scope. * pt.c (instantiate_class_template): Reorder friend class template substitution to handle non-dependent friend class that hasn't been previously declared. * g++.dg/template/friend34.C: New test. * g++.dg/template/friend35.C: Likewise. * g++.old-deja/g++.pt/inherit2.C: Remove XFAIL's. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96432 138bc75d-0d04-0410-961f-82ee72b054a4
* Friend class name lookup 5/nlerdsuwa2005-03-149-51/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/1016 * cp-tree.h (pushtag): Adjust declaration. * decl.c (lookup_and_check_tag): Call lookup_type_scope if lookup_name fails. (xref_tag): Adjust call to pushtag. Make hidden class visible. (start_enum): Adjust call to pushtag. * name-lookup.c (ambiguous_decl): Ignore hidden names. (qualify_lookup): Change return type to bool. (hidden_name_p): New function. (lookup_namespace_name, unqualified_namespace_lookup, lookup_name_real): Use it. (lookup_type_scope): Update comments. (maybe_process_template_type_declaration): Change parameter name from globalize to is_friend. (pushtag): Change globalize parameter of type int to tag_scope. Hide name if introduced by friend declaration. * name-lookup.h (hidden_name_p): Add declaration. * parser.c (cp_parser_lookup_name): Don't deal with hidden name here. * pt.c (push_template_decl_real): Make hidden class template visible. (lookup_template_class, instantiate_class_template): Adjust call to pushtag. * semantics.c (begin_class_definition): Likewise. * rtti.c (init_rtti_processing, build_dynamic_cast_1, tinfo_base_init, emit_support_tinfos): Use ts_current instead of ts_global. * g++.dg/lookup/hidden-class1.C: New test. * g++.dg/lookup/hidden-class2.C: Likewise. * g++.dg/lookup/hidden-class3.C: Likewise. * g++.dg/lookup/hidden-class4.C: Likewise. * g++.dg/lookup/hidden-class5.C: Likewise. * g++.dg/lookup/hidden-class6.C: Likewise. * g++.dg/lookup/hidden-class7.C: Likewise. * g++.dg/lookup/hidden-class8.C: Likewise. * g++.dg/lookup/hidden-class9.C: Likewise. * g++.dg/lookup/hidden-temp-class1.C: Likewise. * g++.dg/lookup/hidden-temp-class2.C: Likewise. * g++.dg/lookup/hidden-temp-class3.C: Likewise. * g++.dg/lookup/hidden-temp-class4.C: Likewise. * g++.dg/lookup/hidden-temp-class5.C: Likewise. * g++.dg/lookup/hidden-temp-class6.C: Likewise. * g++.dg/lookup/hidden-temp-class7.C: Likewise. * g++.dg/lookup/hidden-temp-class8.C: Likewise. * g++.dg/lookup/hidden-temp-class9.C: Likewise. * g++.dg/lookup/hidden-temp-class10.C: Likewise. * g++.dg/lookup/hidden-temp-class11.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96430 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20157mmitchel2005-03-142-2/+15
| | | | | | | | | | * pt.c (determine_specialization): Reject non-specializations. PR c++/20157 * g++.dg/template/error18.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96414 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-tree.h (struct cp_declarator): New id_loc field.bothner2005-03-123-2/+12
| | | | | | | | | | * cp/parser.c (cp_lexer_get_preprocessor_token): Set cp_token's location using c_lex_with_flags, instead of input_location. (cp_parser_direct_declarator): Set declarator's id_loc from cp_token's id_loc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96330 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/18384, c++/18327jakub2005-03-102-19/+20
| | | | | | | | | | | * decl.c (reshape_init_array): Use UHWI type for max_index_cst and index. Convert max_index to size_type_node if it isn't host_integerp (, 1). * g++.dg/init/array19.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96236 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20208mmitchel2005-03-092-0/+9
| | | | | | | | | | | | * pt.c (tsubst_decl): Apply array-to-pointer and function-to-pointer conversions to function arguments. (regenerate_decl_from_template): Likewise. PR c++/20208 * g++.dg/template/array13.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96197 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-09 Paolo Carlini <pcarlini@suse.de>paolo2005-03-092-4/+15
| | | | | | | | | | | | PR c++/16859 * decl.c (complete_array_type): In pedantic mode, return 3 for an empty initializer list as the initializer for an array of unknown bound (8.5.1/4). (maybe_deduce_size_from_array_init): Fix final test to use the above. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96194 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-03-092-1/+54
| | | | | | | | | | | | PR c++/20186 * pt.c (contains_dependent_cast_p): New. (fold_non_dependent_expr): Call it. testsuite: PR c++/20186 * g++.dg/template/non-dependent12.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96190 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20142mmitchel2005-03-096-33/+25
| | | | | | | | | | | | | | | | * cp-tree.h (target_type): Remove. * decl.c (layout_var_decl): Remove #if 0'd code. (cp_finish_decl): Remove dead code. * init.c (build_vec_init): When determining whether or not the element type has an asignment operator, look through all array dimensions. * typeck.c (target_type): Remove. PR c++/20142 * g++.dg/init/array18.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96170 138bc75d-0d04-0410-961f-82ee72b054a4
* * class.c (finish_struct_1): Do not warn about non-virtualmmitchel2005-03-072-1/+8
| | | | | | | | | destructors in Java classes. * g++.dg/warn/Wnvdtor.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96054 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/19311lerdsuwa2005-03-054-31/+23
| | | | | | | | | | | | | | | * init.c (build_offset_ref): Don't build non-dependent SCOPE_REF. * pt.c (build_non_dependent_expr): Don't build NON_DEPENDENT_EXPR for OFFSET_TYPE. * typeck.c (build_x_unary_op): Don't build non-dependent SCOPE_REF. Also set PTRMEM_OK_P for NON_DEPENDENT_EXPR. (build_unary_op): Handle building ADDR_EXPR of OFFSET_REF inside template. * g++.dg/template/non-dependent11.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95933 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/ChangeLog:aoliva2005-03-023-2/+10
| | | | | | | | | | | * name-lookup.c (push_overloaded_decl): Don't error if the new decl matches the old one. * decl.c (redeclaration_error_message): Likewise. gcc/testsuite/ChangeLog: * g++.dg/overload/using2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95798 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (finish_function): Use SET_EXPR_LOCATION instead ofbothner2005-03-022-0/+9
| | | | | | | unavailable annotate_with_file_line, if USE_MAPPED_LOCATION. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95772 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-03-014-7/+26
| | | | | | | | | | | | | | | | PR c++/20232 * class.c (update_vtable_entry_for_fn): Don't crash on invalid covariancy. * cp-tree.g (THUNK_TARGET): Expand comment. * method.c (use_thunk): Make sure we also use the target, if that is a thunk. testsuite: PR c++/20232 * g++.dg/inherit/covariant12.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95733 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20206jakub2005-02-272-1/+23
| | | | | | | | | | | | * decl.c (cxx_comdat_group): Put thunks for TARGET_USE_LOCAL_THUNK_ALIAS_P (function) functions into the same comdat group as the thunk target. * g++.dg/opt/thunk2.C: New test. * g++.dg/opt/covariant1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95619 138bc75d-0d04-0410-961f-82ee72b054a4
* * call.c, class.c, cp-tree.h, decl2.c, error.c, init.c, mangle.c,reichelt2005-02-249-16/+20
| | | | | | | parser.c: Fix comment typo(s). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95517 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20175jakub2005-02-242-1/+10
| | | | | | | | | | * decl.c (reshape_init): Don't warn about missing braces if STRING_CST initializes a char/wchar_t array. * g++.dg/warn/Wbraces2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95512 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/19878mmitchel2005-02-242-0/+8
| | | | | | | | | | | * decl.c (grokvardecl): Set DECL_INTERFACE_KNOWN for declarations with internal linkage. PR c++/19878 * g++.dg/init/const2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95490 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/ChangeLog:aoliva2005-02-232-17/+14
| | | | | | | | | | | | * decl.c (grokvardecl): Don't exempt anonymous types from having linkage for variables that have linkage other than "C". gcc/testsuite/ChangeLog: * g++.dg/lookup/anon2.C: Don't let access checks make it look like the test passes. * g++.dg/other/anon3.C: Accept a warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95462 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/kazu2005-02-233-2/+6
| | | | | | | | | | | | | | | | * genpreds.c: Update copyright. cp/ * cp-objcp-common.h, error.c: Update copyright. fortran/ * intrinsic.h, st.c: Update copyright. treelang/ * parse.y: Update copyright. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95457 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20073mmitchel2005-02-231-0/+7
| | | | | | | | | | | * decl.c (start_decl_1): Don't clear TREE_READONLY. (cp_finish_decl): Likewise. (complete_vars): Call cp_apply_type_quals_to_decl. * typeck.c (cp_apply_type_quals): Avoid setting TREE_READONLY in cases where that's not valid. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95442 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/20073mmitchel2005-02-232-27/+20
| | | | | | | | | | | | | | * decl.c (start_decl_1): Don't clear TREE_READONLY. (cp_finish_decl): Likewise. (complete_vars): Call cp_apply_type_quals_to_decl. * typeck.c (cp_apply_type_quals): Avoid setting TREE_READONLY in cases where that's not valid. PR c++/20073 * g++.dg/init/const1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95441 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/19991mmitchel2005-02-236-36/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * init.c (integral_constant_value): Iterate if the value of a decl is itself a constant. PR c++/20152 * parser.c (cp_parser_class_head): Check for redefintions here. * semantics.c (begin_class_definition): Not here. PR c++/20153 * decl2.c (build_anon_union_vars): Add type parameter. (finish_anon_union): Pass it. PR c++/20148 * error.c (dump_expr): Do not print the body of a BIND_EXPR. Handle STATEMENT_LIST. PR c++/19991 * g++.dg/parse/constant7.C: New test. PR c++/20152 * g++.dg/parse/error27.C: New test. * g++.dg/template/qualttp15.C: Adjust error markers. * g++.old-deja/g++.other/struct1.C: Likewise. PR c++/20153 * g++.dg/template/error17.C: New test. PR c++/20148 * g++.dg/parser/error26.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95438 138bc75d-0d04-0410-961f-82ee72b054a4
* * parser.c (cp_parser_direct_declarator): Always complain aboutmmitchel2005-02-223-14/+10
| | | | | | | | | non-constant array bounds when in a function scope. * semantics.c (finish_id_expression): Do not mark dependent names as non-constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95417 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-02-21 Douglas Gregor <dgregor@cs.indiana.edu>paolo2005-02-218-27/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/19076 PR c++/6628 * cp-tree.h (cp_apply_type_quals_to_decl): Declared. * decl.c (grokdeclarator): Pedwarn about qualifying a function type. Add qualifiers when declaring a typedef of a function type. Member function pointers pick up the qualifiers of the typedef used to declare them. Don't complain about creating cv-qualified function types. Complain about qualified function typedefs that are used to declare non-static member functions or free functions. Use cp_apply_type_quals_to_decl. (start_preparsed_function): Use cp_apply_type_quals_to_decl. (grokclassfn): Use cp_apply_type_quals_to_decl. * error.c (dump_type_suffix): Print qualifiers for function types. * pt.c (tsubst_decl): Use cp_apply_type_quals_to_decl. (tsubst): When substituting a function type into a member pointer type, pass along the qualifiers. (unify): Unify member pointers to member function pointers. * tree.c (cp_build_qualified_type_real): Function types may be qualified. This includes restrict qualifiers. * typeck.c (cp_apply_type_quals_to_decl): New function to replace use of c_apply_type_quals_to_decl. Drops qualifiers that are being added to function types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95356 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 18785zack2005-02-202-110/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libcpp: * charset.c (LAST_POSSIBLY_BASIC_SOURCE_CHAR): New helper macro. (cpp_host_to_exec_charset): New function. * include/cpplib.h: Declare cpp_host_to_exec_charset. gcc: * langhooks.h (struct lang_hooks): Add to_target_charset. * langhooks.c (lhd_to_target_charset): New function. * langhooks-def.h: Declare lhd_to_target_charset. (LANG_HOOKS_TO_TARGET_CHARSET): New macro. (LANG_HOOKS_INITIALIZER): Update. * c-common.c (c_common_to_target_charset): New function. * c-common.h: Declare it. * c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to c_common_to_target_charset. * defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0) (TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT): Delete definitions. * system.h: Poison them. * doc/tm.texi: Don't discuss them. * builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset. * c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char. (pp_c_char): Do not attempt to generate letter escapes for newline, tab, etc. * config/arm/arm.c (output_ascii_pseudo_op): Likewise. * config/mips/mips.c (mips_output_ascii): Likewise. gcc/cp: * cp-objcp-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to c_common_to_target_charset. Delete bogus comment. gcc/testsuite: * gcc.dg/charset/builtin1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95304 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/10606rth2005-02-192-34/+64
| | | | | | | | | | | | | | | | | | gcc/cp/ * except.c (do_get_exception_ptr): New. (expand_start_catch_block): Use it. libstdc++/ * config/linker-map.gnu (CXXABI_1.3.1): Add __cxa_get_exception_ptr. * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Increment uncaughtExceptions here instead of ... * libsupc++/eh_throw.cc (__cxa_throw) ... here. (__cxa_rethrow): Increment uncaughtExceptions here instead of ... * libsupc++/eh_catch.cc (__cxa_end_catch): ... here. (__cxa_get_exception_ptr): New. * libsupc++/unwind-cxx.h (__cxa_get_exception_ptr): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95262 138bc75d-0d04-0410-961f-82ee72b054a4
* s/2005-01-19/2005-02-19/jakub2005-02-181-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95242 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (start_decl_1): Only check TYPE_NEEDS_CONSTRUCTINGjakub2005-02-182-1/+6
| | | | | | | if type is not error_mark_node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95241 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-01-20 Giovanni Bajo <giovannibajo@gcc.gnu.org>pinskia2005-02-182-1/+16
| | | | | | | | | | | | | | PR c++/19508 * g++.dg/ext/attrib20.C: New test. 2005-01-20 Giovanni Bajo <giovannibajo@gcc.gnu.org> PR c++/19508 * decl2.c (grokfield): Do not apply attributes to template parameters as they are ignored by tsubst anyway. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95230 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/19813jakub2005-02-182-0/+22
| | | | | | | | | | | | | * emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion that ref to be marked MEM_READONLY_P doesn't have base that needs constructing. * decl.c (start_decl_1): Clear TREE_READONLY flag if its type has TYPE_NEEDS_CONSTRUCTING. (complete_vars): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95217 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/ChangeLog:aoliva2005-02-172-0/+5
| | | | | | | | | | | | PR c++/20028 * class.c (finish_struct): Initialize TYPE_SIZE_UNIT of a template along with TYPE_SIZE. gcc/testsuite/ChangeLog: PR c++/20028 * g++.dg/template/crash34.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95182 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/ChangeLog:aoliva2005-02-172-2/+7
| | | | | | | | | | | | PR c++/20022 * semantics.c (perform_deferred_access_checks): Use get_deferred_access_checks to get the top of the stack. gcc/testsuite/ChangeLog: PR c++/20022 * g++.dg/other/access3.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95174 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/ChangeLog:aoliva2005-02-152-51/+23
| | | | | | | | | | | | | | PR c++/17788 * class.c (add_implicitly_declared_members, check_field_decl) (check_field_decls, check_bases): Remove arguments, tests and assignments of cant_have_default_ctor-related variables. gcc/testsuite/ChangeLog: PR c++/17788 * g++.dg/init/ctor4.C: New. * g++.old-deja/g++.bugs/900205_04.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95071 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud