Age | Commit message (Collapse) | Author | Files | Lines |
|
cp:
PR c++/9779
* decl2.c (arg_assoc_class): Don't die on NULL type.
* typeck.c (type_unknown_p): Don't die on untyped expressions.
testsuite:
PR c++/9779
* g++.dg/template/dependent-expr1.C: New.
From-SVN: r68824
|
|
PR c++/6949
* decl2.c (grokfield): Create TEMPLATE_DECLs for methods in local
classes.
PR c++/6949
* g++.dg/template/local3.C: New test.
From-SVN: r68818
|
|
From-SVN: r68809
|
|
* decl2.c (defer_fn): Set DECL_DEFER_OUTPUT.
(finish-file): Do not process function with DECL_DEFER_OUTPUT clear;
clear DECL_DEFER_OUTPUT once function is processed; avoid flags
massaging.
* cp-tree.h (DECL_NEEDED_P): Support unit-at-a-time
(expand_or_defer_fn): Declare.
(lower_function): Declare.
* decl.c (start_cleanup_fn): Use expand_or_defer_fn.
* decl2.c: Include cgraph.h and varpool.h
(maybe_emit_vtables): Make explicit instantations as needed.
(mark_member_pointers, lower_function): New functions.
(finish_file): Do unit-at-a-time.
* method.c (synthesize_method): Use expand_or_defer_fn.
* optimize.c (maybe_clone_body): Use expand_or_defer_fn.
* parser.c (cp_parser_function_definition_after_decl): Use
expand_or_defer_fn.
* pt.c (instantiate_decl): Likewise.
* semantics.c: Include cgraph.h
(expand_or_defer_fn): Break out from ...
(expand_body): ... here; deal with unit-at-a-time.
* cp-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION): Define.
From-SVN: r68801
|
|
* call.c (resolve_scoped_fn_name): Return error_mark_node for
erroneous cases.
From-SVN: r68786
|
|
base type)
PR c++/11149
* call.c (resolve_scoped_fn_name): Check that the qualifying scope
is a class type.
PR c++/11149
* g++.dg/lookup/scoped6.C: New test.
From-SVN: r68782
|
|
bit-not expression)
2003-07-01 Giovanni Bajo <giovannibajo@libero.it>
PR c++/8046
* error.c (dump_decl): Handle BIT_NOT_EXPR as
pseudo destructor calls.
From-SVN: r68775
|
|
location_t.
* c-tree.h (define_label): Replace filename and lineno arguments
with a location_t.
* c-decl.c (poplevel): Adjust define_label call.
(pop_label_level): Likewise.
(define_label): Replace filename and lineno arguments with a
location_t.
(store_parm_decls): Use DECL_SOURCE_LOCATION.
* c-parse.in (label): Adjust define_label call.
* cp/cp-tree.h (define_label): Replace filename and lineno
arguments with a location_t.
* cp/decl.c (pop_label): Adjust define_label call.
(define_label): Replace filename and lineno arguments with a
location_t.
* cp/semantics.c (finish_label): Adjust define_label call.
* java/decl.c (poplevel): Adjust define_label call.
From-SVN: r68766
|
|
PR c++/9559
* decl2.c (grokfield): Do not build NOP_EXPRs around the
error_mark_node.
PR c++/9559
* g++.dg/init/static1.C: New test.
From-SVN: r68764
|
|
* c-common.c (enum c_language_kind, flag_objc): Remove.
(fix_string_type, check_case_value, c_common_nodes_and_builtins,
c_add_case_label, finish_label_addr_expr, boolean_increment):
Use c_dialect_ macros.
* c-common.h (enum c_language_kind): Extend.
(c_dialect_cxx, c_dialect_objc): New.
(flag_objc): Remove.
(c_common_init_options): Update prototype.
* c-cppbuiltin.c (define__GNUC__, c_cpp_builtins): Use c_dialect_
macros.
* c-decl.c (finsih_decl, grokfield, finish_struct): Use c_dialect_
macros.
* c-format.c (C_STD_VER, C_STD_NAME): Similarly.
* c-lang.c (c_init_options): Remove.
(c_language): Define.
(LANG_HOOKS_INIT_OPTIONS): Use common hook.
* c-lex.c (lex_charconst): Use c_dialect_cxx().
* c-opts.c (lang_flags): Make function-local.
(c_common_init_options): Use c_dialect_ macros. Handle
C++ diagnostic requirements.
(c_common_handle_option, c_common_post_options): Use flag_cxx.
* c-parse.in (init_reswords): Use c_dialect_objc ().
* c-pch.c (get_ident): Use c_language.
* c-pretty-print.c (pp_c_bool_literal): Use c_dialect_ macros.
* c-typeck.c (comptypes, build_c_cast): Similarly.
* objc/objc-lang.c (c_language): Define.
(LANG_HOOKS_INIT_OPTIONS): Use common hook.
(objc_init_options): Remove.
cp:
* Make-lang.in: Update.
* cp-lang.c (c_language): Define.
(LANG_HOOKS_INIT_OPTIONS): Use common hook.
* cp-tree.h (cxx_init_options): Remove.
* lex.c: Don't include diagnostic.h.
(cxx_init_options): Remove.
From-SVN: r68734
|
|
2003-06-30 Giovanni Bajo <giovannibajo@libero.it>
PR c++/4933
* error.c (dump_expr): Support correctly the COMPOUND_EXPR
tree generated within a template. Use dump_expr to dump an
expression sizeof.
From-SVN: r68733
|
|
also if...
2003-06-30 Giovanni Bajo <giovannibajo@libero.it>
* pt.c (value_dependent_expression_p): Cast expressions are
value-dependent also if their operand is value-dependent itself.
From-SVN: r68728
|
|
2003-06-30 Giovanni Bajo <giovannibajo@libero.it>
* mangle.c (write_expression): Exit gracefully when trying to
mangle a CALL_EXPR.
From-SVN: r68724
|
|
patch application.
From-SVN: r68722
|
|
const initializer)
2003-06-30 Giovanni Bajo <giovannibajo@libero.it>
PR c++/10750
* parser.c (cp_parser_primary_expression): A VAR_DECL with a
(value- or type-) dependent expression as DECL_INITIAL is a
valid constant-expression (at parser time).
From-SVN: r68720
|
|
2003-06-10 Giovanni Bajo <giovannibajo@libero.it>
PR c++/11106
* error.c (dump_decl): Call dump_decl to dump the DECL_NAME for a
USING_DECL, instead of print_tree_identifier.
From-SVN: r68711
|
|
* cp-tree.h (language_to_string): Adjust declaration.
* dump.c (cp_dump_tree): Adjust usage.
* error.c (dump_char): Use output_formatted_scalar. Tidy.
(parm_to_string): Lose unused parameter. Tidy.
(expr_to_string): Likewise.
(code_to_string): Likewise.
(language_to_string): Likewise.
(op_to_string): Likewise.
(assop_to_string): Likewise.
(digit_buffer): Remove.
(dump_type): Format builtin vector type as __vector__.
From-SVN: r68668
|
|
* error.c (print_integer): Remove.
(dump_type_suffix): Adjust.
(dump_expr): Likewise.
From-SVN: r68665
|
|
* error.c (print_instantiation_partial_context): Take a
location_t.
(print_instantiation_full_context): Adjust.
(print_instantiation_context): Adjust.
From-SVN: r68644
|
|
a location_t.
* diagnostic.h (diagnostic_set_info): Replace file and lineno
parameters with a location_t.
* diagnostic.c (diagnostic_set_info): Replace file and lineno
parameters with a location_t.
(inform, warning, pedwarn, error, sorry, fatal_error,
internal_error, warning_with_decl, pedwarn_with_decl,
error_with_decl): Adjust.
* c-error.c (pedwarn_c99): Adjust.
* c-format.c (status_warning): Adjust.
* rtl-error.c (file_and_line_for_asm): Rename to ...
(location_for_asm): Return a location_t.
(diagnostic_for_asm): Adjust.
* cp/cp-tree.h (cp_line_of, cp_file_of): Remove.
* cp/error.c (cp_line_of, cp_file_of): Merge into ...
(location_of): ... here. Make static, return a location_t.
(cp_error_at, cp_warning_at, cp_pedwarn_at): Adjust.
* testsuite/g++.old-deja/g++.robertl/eb133.C: Set expected line
number.
* testsuite/g++.old-deja/g++.robertl/eb133a.C: Likewise.
* testsuite/g++.old-deja/g++.robertl/eb133b.C: Likewise.
From-SVN: r68643
|
|
constructor cannot be turned off (and it's useless in the first place))
PR c++/10784
* call.c (joust): Move warn_conversion check outwards.
From-SVN: r68639
|
|
* cfgrtl.c (rtl_split_edge):
Mark the definition static, matching the forward declaration.
cp:
* decl.c (build_typename_type)
* mangle.c (write_template_template_arg)
* parser.c (cp_parser_scope_through_which_access_occurs)
* pt.c (push_access_scope_real, push_access_scope, pop_access_scope)
* repo.c (get_base_filename)
* semantics.c (maybe_convert_cond):
Mark the definition static, matching the forward declaration.
java:
* class.c (build_method_symbols_entry)
* expr.c (get_offset_table_index)
* jcf-parse.c (jcf_parse):
Mark the definition static, matching the forward declaration.
From-SVN: r68622
|
|
PR c++/10468
* pt.c (tsubst): Handle qualified TYPEOF_TYPEs correctly.
PR c++/10468
* g++.dg/ext/typeof5.C: New test.
From-SVN: r68615
|
|
and MAX_INT_64BIT)
PR c++/10796
* decl.c (finish_enum): Implement DR377.
* decl.c (cp_finish_decl): Don't make variables with reference
type readonly while they are being initialized.
PR c++/10796
* g++.dg/init/enum1.C: New test.
From-SVN: r68610
|
|
PR c++/11332
* typeck.c (build_static_cast): Avoid returning expressions with
reference type.
PR c++/11332
* g++.dg/expr/static_cast2.C: New test.
From-SVN: r68580
|
|
* call.c (build_op_delete_call): Use strip_array_call. Correct
error message to say 'delete' or 'delete[]'.
From-SVN: r68536
|
|
is broken)
From Giovanni Bajo <giovannibajo@libero.it>
cp:
PR c++/8266
* pt.c (check_explicit_specialization): When looking up a
template function from an identifier outside class-scope, bind
it to CP_DECL_CONTEXT.
testsuite:
PR c++/8266
* g++.dg/template/explicit-instantiation3.C: New test.
From-SVN: r68527
|
|
from within a member function)
PR c++/10990
* search.c (lookup_base_r): Rely on accessible_p, rather than
trying to emulate that logic here.
PR c++/10990
* g++.dg/rtti/dyncast1.C: New test.
* g++.dg/abi/mangle4.C: Correct base-specifier access.
* g++.dg/lookup/scoped1.C: Remove XFAIL.
* g++.old-deja/g++.martin/pmf1.C: Correct base-specifier access.
From-SVN: r68507
|
|
int&>(lvalue-of-type-int) is rejected)
PR c++/10931
* g++.dg/expr/static_cast1.C: New test.
PR c++/10931
* call.c (convert_like): Pass issue_conversion_warnings.
(convert_like_with_context): Likewise.
(convert_like_real): Add issue_conversion_warnings parameter.
(perform_direct_initialization_if_possible): New function.
* cp-tree.h (perform_direct_initialization_if_possible): Declare it.
* typeck.c (check_for_casting_away_constness): New function.
(build_static_cast): Rewrite.
From-SVN: r68506
|
|
* call.c (enforce_access): Assert we get a binfo.
(build_op_delete_call): Pass a binfo to
perform_or_defer_access_check.
* class.c (alter_access): Likewise.
* decl.c (make_typename_type): Likewise.
(make_unbound_class_template): Likewise.
* lex.c (do_identifier): Likewise.
* method.c (hack_identifier): Likewise.
* parser.c (cp_parser_lookup_name): Likewise.
* search.c (lookup_member): Likewise. Move IDENTIFIER_CLASS_VALUE
test.
* semantics.c (finish_non_static_data_member): Likewise.
(perform_or_defer_access_check): Expect a binfo.
* typeck.c (comptypes): Expect types.
* mangle.c (find_substitution): Don't pass a non-type to same_type_p
* friend.c (make_friend_class): Likewise.
* pt.c (check_default_tmpl_args): Likewise.
(lookup_template_class): Likewise.
From-SVN: r68424
|
|
happy.
* method.c (thunk_labelno): Move outside ifdef block to make garbage
collector happy.
From-SVN: r68419
|
|
* langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
* langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
* varasm.c (assemble_variable): Call prepare_assemble_variable.
* class.c (build_vtable): Make vtables.
* cp-tree.h (DECL_VTABLE_OR_VTT_P): New macro.
* decl2.c (output_vtable_inherit): Rename to ...
(prepare_assemble_variable): ... this one; change interface.
(maybe_emit_vtables): Do not call output_vtable_inherit.
* cp-lang.c (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Define.
* cp-tree.h (prepare_assemble_variable): New.
From-SVN: r68418
|
|
* method.c: add prototype for make_alias_for_thunk.
(thunk_labelno, make_alias_for_thunk): only define
if ASM_OUTPUT_DEF is defined.
From-SVN: r68405
|
|
* config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
just SYMBOL_REF.
* config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
mode, as it requires pic register loaded.
* varasm.c (resolve_unique_section): Remove prototype. No longer
static.
* tree.h (resolve_unique_section): New prototype.
cp/
* method.c (thunk_labelno): New variable.
(make_alias_for_thunk): New function.
(use_thunk): Use it if defined ASM_OUTPUT_DEF. Put the thunk
into the same section as the function it is calling.
Include gt-cp-method.h.
* Make-lang.in (gt-cp-method.h): Depend on s-gtype.
(cp/method.o): Depend on gt-cp-method.h.
* config-lang.in (gtfiles): Add $(srcdir)/cp/method.c.
From-SVN: r68389
|
|
* decl.c (register_dtor_fn): Mark cleanup as used.
* decl2.c (mark_vtable_entries): Skip nops.
* rtti.c (get_tinfo_ptr): Mark tinfo as used.
(build_dynamic_cast_1): Likewise.
(tinfo_base_init): Likewise.
(emit_tinfo_decl): Likewise.
From-SVN: r68377
|
|
* mangle.c (hash_type): val is the TREE_LIST itself, not a pointer
to it.
* g++.dg/opt/operator1.C: New test.
From-SVN: r68364
|
|
constructor cannot be turned off (and it's useless in the first place))
cp/
PR c++/10784
* call.c (joust): Warn about choosing conversion sequence only if
-Wconversion.
testsuite/
* g++.old-deja/g++.benjamin/16077.C: Add -Wconversion option.
* g++.old-deja/g++.other/conv7.C: Likewise
* g++.old-deja/g++.other/overcnv2.C: Likewise.
* g++.old-deja/g++.other/overload14.C: Likewise.
From-SVN: r68312
|
|
PC c++/10864
* call.c (op_error): Tidy.
* error.c (dump_expr): Properly format 'T()' when T is an
aggregate type.
From-SVN: r68309
|
|
reference to the same type will never use a type conversion operator)
testsuite/
* g++.old-deja/g++.jason/conversion5.C: Adjust option.
* g++.old-deja/g++.bugs/900215_01.C: Likewise.
cp/
PR c++/10915
* decl.c (grok_op_properties): Warn possible confusing conversion
only if -Wconversion.
From-SVN: r68303
|
|
PR c++/10749
* parser.c (cp_parser_class_head): See through dependent names
when parsing a class-head.
PR c++/10749
* g++.dg/template/memclass2.C: New test.
From-SVN: r68276
|
|
parameter) cannot be called anymore if another unrelated template member function is defined.)
PR c++/10845
* pt.c (try_class_unification): Correct handling of member class
templates.
* semantics.c (genrtl_finish_function): Adjust
expand_function_end call.
From-SVN: r68269
|
|
* tree.h (expand_function_end): Remove all parameters.
* function.c (expand_function_end): Remove all parameters.
Use input_location. Never expand_end_bindings.
* c-decl.c (c_expand_body_1): Adjust expand_function_end call.
* coverage.c (create_coverage): Likewise.
* ada/utils.c (end_subprog_body): Adjust expand_function_end
call.
* cp/semantics.c (genrtl_finish_function): Adjust
expand_function_end call.
* f/com.c (finish_function): Adjust expand_function_end call.
* java/class.c (push_class): Use a location_t to save place.
(emit_register_classes): Set input_location. Adjust
expand_function_end call.
* java/resource.c (write_resource_constructor): Likewise.
* java/decl.c (end_java_method): Adjust expand_function_end call.
* java/parse.y (source_end_java_method): Likewise.
* treelang/treetree.c (tree_code_create_function_wrapup): Adjust
expand_function_end call.
From-SVN: r68255
|
|
PR c++/10939
* pt.c (tsubst_decl): Do not try to substitute into non-dependent
functions.
(value_dependent_expression_p): Correct logic for FUNCTION_DECLs.
PR c++/10939
* g++.dg/template/func1.C: New test.
From-SVN: r68244
|
|
redeclaring a static member variable)
PR c++/9649
* cp-tree.h (pushdecl_class_level): Change prototype.
(push_class_level_binding): Likewise.
* decl.c (add_binding): Reject duplicate static data members.
(pushdecl_class_level): Return a value indicating whether or not
the binding was valid.
(push_class_level_binding): Likewise.
* semantics.c (finish_member_declaration): Don't keep invalid
declarations.
PR c++/9649
* g++.dg/template/static4.C: New test.
* g++.old-deja/g++.other/anon7.C: Remove spurious error messages.
From-SVN: r68240
|
|
PR c++/11041
* call.c (initialize_reference): Do not use cp_finish_decl to emit
temporary variables.
* cp-tree.h (static_aggregates): Declare.
(pushdecl_top_level_and_finish): Likewise.
* decl.c (pushdecl_top_level_1): New function.
(pushdecl_top_level): Use it.
(pushdecl_top_level_and_finish): New function.
(initialize_local_var): Remove redundant code.
(cp_finish_decl): Remove support for RESULT_DECLs. Don't check
building_stmt_tree.
* decl.h (static_aggregates): Remove.
* decl2.c (get_guard): Use pushdecl_top_level_and_finish.
* rtti.c (get_tinfo_decl): Use pushdecl_top_level_and_finish.
(tinfo_base_init): Likewise.
PR c++/11041
* g++.dg/init/ref7.C: New test.
From-SVN: r68236
|
|
From-SVN: r68235
|
|
* c-tree.h: Remove declaration of poplevel.
* tree.h: Remove declaration of approx_sqrt.
* c-lex.c: Remove redundant declaration of asm_out_file.
* flags.h: Remove declaration of warn_unknown_pragma and
main_input_filename.
* rtl.h: Remove functions from fold-const.c since they're already
declared in tree.h.
* regs.h: Remove redundant declaration of reg_names.
cp:
* cp-tree.h: Remove duplicated declarations.
From-SVN: r68193
|
|
* pt.c: Convert to ISO C.
* semantics.c: Convert to ISO C.
From-SVN: r68174
|
|
* cp-tree.h (comp_except_specs, compparms, cp_has_mutable_p,
at_least_as_qualified_p, more_qualified_p): Return bool.
* typeck.c: ANSIFY function definitions.
(comp_array_types): Take redeclaration bool parameter.
(comptypes): Rearrange STRICT handling.
(at_least_as_qualified_p, more_qualified_p,
comp_cv_qualification): Cache cv quals.
(compparms): Rearrange loop.
From-SVN: r68164
|
|
* cp-tree.h (COMPARE_RELAXED): Rename to ...
(COMPARE_DERIVED): ... here. Adjust comment.
(resolve_typename_type_in_current_instantiation): Remove.
(cp_tree_equal, comptypes): Return a bool.
* cvt.c (convert_to_reference): Adjust comptypes call.
* pt.c (template_args_equal, unify,): Adjust cp_tree_equal call.
(resolve_typename_type_in_current_instantiation): Remove.
* tree.c (cp_tree_equal): Return bool. Cope with TEMPLATE_DECLs and
IDENTIFIER_NODEs. Abort if undeciderable. Adjust recursive
calls. Refactor code.
* typeck.c (comp_array_types): Return bool. Lose callback.
parameter. Adjust cp_tree_equal calls.
(comptypes): Return bool. Adjust strict handling. Remove relaxed
enumeration and java type handling. Deal with typename types here.
Adjust recursive and cp_tree_equals calls. Adjust base and derived
checking.
(comp_target_types): Remove unreachable code. Adjust
same_or_base_type_p calls.
(ptr_reasonably_similar): Adjust base and derived check.
* typeck.c (maybe_warn_about_returning_address_of_local): Remove
unused calculation.
(check_return_expr): Adjust error messages.
* cp-tree.def (SCOPE_REF): Correct comment.
From-SVN: r68155
|