call.c (convert_like_real): When issuing conversion warnings, depend on OPT_Wconversion.
2006-01-17 Eric Christopher <echristo@apple.com> * call.c (convert_like_real): When issuing conversion warnings, depend on OPT_Wconversion. * cvt.c (build_expr_type_conversion): Ditto. 2006-01-17 Eric Christopher <echristo@apple.com> * g++.old-deja/g++.warn/impint.C: Add -Wconversion. * g++.old-deja/g++.warn/impint2.C: Ditto. * g++.old-deja/g++.other/null1.C: Ditto. * g++.dg/warn/conv2.C: Ditto. * g++.dg/warn/conv4.C: New file. From-SVN: r109847
This commit is contained in:
parent
ef7befe0d0
commit
aa7349ebe2
@ -1,3 +1,9 @@
|
|||||||
|
2006-01-17 Eric Christopher <echristo@apple.com>
|
||||||
|
|
||||||
|
* call.c (convert_like_real): When issuing conversion
|
||||||
|
warnings, depend on OPT_Wconversion.
|
||||||
|
* cvt.c (build_expr_type_conversion): Ditto.
|
||||||
|
|
||||||
2006-01-17 Kazu Hirata <kazu@codesourcery.com>
|
2006-01-17 Kazu Hirata <kazu@codesourcery.com>
|
||||||
|
|
||||||
* name-lookup.c (lookup_namespace_name): Remove.
|
* name-lookup.c (lookup_namespace_name): Remove.
|
||||||
@ -90,7 +96,7 @@
|
|||||||
c_lex_return_raw_strings.
|
c_lex_return_raw_strings.
|
||||||
(cp_lexer_get_preprocessor_token): Always initialize keyword
|
(cp_lexer_get_preprocessor_token): Always initialize keyword
|
||||||
and pragma_kind fields. Handle CPP_PRAGMA.
|
and pragma_kind fields. Handle CPP_PRAGMA.
|
||||||
(cp_lexer_consume_token): Don't allow CPP_PRAGMA_EOL when
|
(cp_lexer_consume_token): Don't allow CPP_PRAGMA_EOL when
|
||||||
in_pragma is set.
|
in_pragma is set.
|
||||||
(cp_lexer_handle_pragma): Remove. Update callers to cp_parser_pragma.
|
(cp_lexer_handle_pragma): Remove. Update callers to cp_parser_pragma.
|
||||||
(cp_lexer_print_token) <CPP_PRAGMA>: Don't print as a string.
|
(cp_lexer_print_token) <CPP_PRAGMA>: Don't print as a string.
|
||||||
@ -125,7 +131,7 @@
|
|||||||
PR c++/25492
|
PR c++/25492
|
||||||
* name-lookup.c (push_class_level_binding): When a derived class
|
* name-lookup.c (push_class_level_binding): When a derived class
|
||||||
provides a type binding, eliminate any type binding from a base
|
provides a type binding, eliminate any type binding from a base
|
||||||
class.
|
class.
|
||||||
|
|
||||||
PR c++/25625
|
PR c++/25625
|
||||||
* repo.c (repo_emit_p): Always instantiate static data members
|
* repo.c (repo_emit_p): Always instantiate static data members
|
||||||
@ -178,9 +184,9 @@
|
|||||||
* cxx-pretty-print.c (pp_cxx_constant): New. Print
|
* cxx-pretty-print.c (pp_cxx_constant): New. Print
|
||||||
string-literal in parens if input program says so.
|
string-literal in parens if input program says so.
|
||||||
(pp_cxx_primary_expression): Hand off constant printing to
|
(pp_cxx_primary_expression): Hand off constant printing to
|
||||||
pp_cxx_constant.
|
pp_cxx_constant.
|
||||||
(pp_cxx_pretty_printer_init): Set pp->c_base.constant.
|
(pp_cxx_pretty_printer_init): Set pp->c_base.constant.
|
||||||
(pp_cxx_expression): Use pp_cxx_constant for literals.
|
(pp_cxx_expression): Use pp_cxx_constant for literals.
|
||||||
* error.c (dump_expr): Use pp_constant for literals.
|
* error.c (dump_expr): Use pp_constant for literals.
|
||||||
|
|
||||||
2005-12-29 Nathan Sidwell <nathan@codesourcery.com>
|
2005-12-29 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
@ -194,7 +200,7 @@
|
|||||||
PR c++/25439
|
PR c++/25439
|
||||||
* decl.c (grokdeclarator): Remove dead code.
|
* decl.c (grokdeclarator): Remove dead code.
|
||||||
* ptree.c (cxx_print_xnode): Handle BASELINK.
|
* ptree.c (cxx_print_xnode): Handle BASELINK.
|
||||||
* parser.c (make_id_declarator): Add sfk parameter.
|
* parser.c (make_id_declarator): Add sfk parameter.
|
||||||
(cp_parser_direct_declarator): Do not pass TYPE_DECLs to
|
(cp_parser_direct_declarator): Do not pass TYPE_DECLs to
|
||||||
make_id_declarator.
|
make_id_declarator.
|
||||||
(cp_parser_declarator_id): Simplify BASELINKs here.
|
(cp_parser_declarator_id): Simplify BASELINKs here.
|
||||||
@ -259,7 +265,7 @@
|
|||||||
* decl.c (use_eh_spec_block): New function.
|
* decl.c (use_eh_spec_block): New function.
|
||||||
(store_parm_decls): Use it.
|
(store_parm_decls): Use it.
|
||||||
(finish_function): Likewise.
|
(finish_function): Likewise.
|
||||||
|
|
||||||
2005-12-19 Mark Mitchell <mark@codesourcery.com>
|
2005-12-19 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
PR c++/24278
|
PR c++/24278
|
||||||
@ -269,7 +275,7 @@
|
|||||||
PR c++/24915
|
PR c++/24915
|
||||||
* class.c (add_method): Do not treat templates as identical unless
|
* class.c (add_method): Do not treat templates as identical unless
|
||||||
their return types are the same.
|
their return types are the same.
|
||||||
|
|
||||||
2005-12-12 Mark Mitchell <mark@codesourcery.com>
|
2005-12-12 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
PR c++/25300
|
PR c++/25300
|
||||||
@ -278,7 +284,7 @@
|
|||||||
|
|
||||||
2005-12-10 Mark Mitchell <mark@codesourcery.com>
|
2005-12-10 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
PR c++/25337
|
PR c++/25337
|
||||||
* pt.c (tsubst_copy_and_build): Permit dependent types for the
|
* pt.c (tsubst_copy_and_build): Permit dependent types for the
|
||||||
object in a class member access expression.
|
object in a class member access expression.
|
||||||
|
|
||||||
@ -289,9 +295,9 @@
|
|||||||
methods of Java classes
|
methods of Java classes
|
||||||
|
|
||||||
2005-12-08 Théodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
|
2005-12-08 Théodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
|
||||||
|
|
||||||
* call.c (build_conditional_expr): Print types in error messages.
|
* call.c (build_conditional_expr): Print types in error messages.
|
||||||
|
|
||||||
2005-12-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
2005-12-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||||
|
|
||||||
* expr.c (cxx_expand_expr): Call gcc_unreachable instead of abort.
|
* expr.c (cxx_expand_expr): Call gcc_unreachable instead of abort.
|
||||||
@ -344,9 +350,9 @@
|
|||||||
2005-12-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
2005-12-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||||
|
|
||||||
* parser.c (cp_lexer_new_main): Usr GGC_RESIZEVEC instead of
|
* parser.c (cp_lexer_new_main): Usr GGC_RESIZEVEC instead of
|
||||||
ggc_realloc.
|
ggc_realloc.
|
||||||
(cp_parser_template_argument_list): Use XRESIZEVEC instead of
|
(cp_parser_template_argument_list): Use XRESIZEVEC instead of
|
||||||
xrealloc.
|
xrealloc.
|
||||||
* class.c (pushclass): Likewise.
|
* class.c (pushclass): Likewise.
|
||||||
|
|
||||||
2005-12-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
2005-12-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||||
@ -364,7 +370,7 @@
|
|||||||
(cp_parser_template_argument_list): Use XNEWVEC, nto xmalloc.
|
(cp_parser_template_argument_list): Use XNEWVEC, nto xmalloc.
|
||||||
(cp_parser_sizeof_operand): Likewise.
|
(cp_parser_sizeof_operand): Likewise.
|
||||||
* repo.c (open_repo_file, open_repo_file): Likewise.
|
* repo.c (open_repo_file, open_repo_file): Likewise.
|
||||||
|
|
||||||
2005-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
2005-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||||
|
|
||||||
* parser.c (cp_parser_make_typename_type): Call make_typename_type
|
* parser.c (cp_parser_make_typename_type): Call make_typename_type
|
||||||
@ -384,7 +390,7 @@
|
|||||||
2005-11-30 Jason Merrill <jason@redhat.com>
|
2005-11-30 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
PR c++/21123
|
PR c++/21123
|
||||||
* cp-gimplify.c (cp_genericize_r): Don't dereference invisible reference
|
* cp-gimplify.c (cp_genericize_r): Don't dereference invisible reference
|
||||||
parms in a thunk.
|
parms in a thunk.
|
||||||
|
|
||||||
2005-11-30 Ben Elliston <bje@au.ibm.com>
|
2005-11-30 Ben Elliston <bje@au.ibm.com>
|
||||||
@ -449,7 +455,7 @@
|
|||||||
|
|
||||||
PR c++/21667
|
PR c++/21667
|
||||||
* typeck.c (build_array_ref): Avoid code duplicate. Use common
|
* typeck.c (build_array_ref): Avoid code duplicate. Use common
|
||||||
C/C++ diagnostic function warn_array_subscript_with_type_char.
|
C/C++ diagnostic function warn_array_subscript_with_type_char.
|
||||||
|
|
||||||
2005-11-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
2005-11-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||||
|
|
||||||
@ -475,7 +481,7 @@
|
|||||||
PR c++/8355
|
PR c++/8355
|
||||||
* decl.c (grokfndecl): Set up DECL_TEMPLATE_INFO before calling
|
* decl.c (grokfndecl): Set up DECL_TEMPLATE_INFO before calling
|
||||||
set_decl_namespace.
|
set_decl_namespace.
|
||||||
* name-lookup.c (set_decl_namespace):
|
* name-lookup.c (set_decl_namespace):
|
||||||
|
|
||||||
2005-11-18 Mike Stump <mrs@apple.com>
|
2005-11-18 Mike Stump <mrs@apple.com>
|
||||||
|
|
||||||
@ -543,7 +549,7 @@
|
|||||||
* parser.c (cp_token): Add ambiguous_p.
|
* parser.c (cp_token): Add ambiguous_p.
|
||||||
(cp_lexer_get_preprocessor_token): Set it.
|
(cp_lexer_get_preprocessor_token): Set it.
|
||||||
(cp_parser_diagnose_invalid_type_name): Avoid duplicate messages
|
(cp_parser_diagnose_invalid_type_name): Avoid duplicate messages
|
||||||
when a qualified name uses an invalid scope.
|
when a qualified name uses an invalid scope.
|
||||||
(cp_parser_primary_expression): Print ambiguous candidates.
|
(cp_parser_primary_expression): Print ambiguous candidates.
|
||||||
(cp_parser_type_parameter): Adjust comment to reflect new
|
(cp_parser_type_parameter): Adjust comment to reflect new
|
||||||
parameter name for cp_parser_lookup_name.
|
parameter name for cp_parser_lookup_name.
|
||||||
@ -556,7 +562,7 @@
|
|||||||
when a lookup is ambiguous.
|
when a lookup is ambiguous.
|
||||||
(cp_parser_lookup_name_simple): Adjust comment to reflect new
|
(cp_parser_lookup_name_simple): Adjust comment to reflect new
|
||||||
parameter name for cp_parser_lookup_name.
|
parameter name for cp_parser_lookup_name.
|
||||||
|
|
||||||
2005-11-12 Jakub Jelinek <jakub@redhat.com>
|
2005-11-12 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR c++/24780
|
PR c++/24780
|
||||||
@ -578,7 +584,7 @@
|
|||||||
2005-11-08 Jason Merrill <jason@redhat.com>
|
2005-11-08 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
PR c++/21123
|
PR c++/21123
|
||||||
* method.c (use_thunk): Use build_cplus_new instead of
|
* method.c (use_thunk): Use build_cplus_new instead of
|
||||||
force_target_expr.
|
force_target_expr.
|
||||||
|
|
||||||
2005-11-06 Jason Merrill <jason@redhat.com>
|
2005-11-06 Jason Merrill <jason@redhat.com>
|
||||||
@ -606,7 +612,7 @@
|
|||||||
(build_base_field): Adjust call.
|
(build_base_field): Adjust call.
|
||||||
(layout_class_type): Likewise. Maintain
|
(layout_class_type): Likewise. Maintain
|
||||||
sizeof_biggest_empty_class.
|
sizeof_biggest_empty_class.
|
||||||
|
|
||||||
2005-11-05 Kazu Hirata <kazu@codesourcery.com>
|
2005-11-05 Kazu Hirata <kazu@codesourcery.com>
|
||||||
|
|
||||||
* decl2.c, init.c, typeck.c: Fix comment typos.
|
* decl2.c, init.c, typeck.c: Fix comment typos.
|
||||||
@ -667,7 +673,7 @@
|
|||||||
|
|
||||||
PR c++/24569
|
PR c++/24569
|
||||||
* pt.c (instantiate_decl): Use cp_finish_decl, not
|
* pt.c (instantiate_decl): Use cp_finish_decl, not
|
||||||
finish_static_data_member_decl.
|
finish_static_data_member_decl.
|
||||||
|
|
||||||
2005-10-28 Andrew Pinski <pinskia@physics.uc.edu>
|
2005-10-28 Andrew Pinski <pinskia@physics.uc.edu>
|
||||||
|
|
||||||
@ -694,13 +700,13 @@
|
|||||||
* decl.c (start_decl): Check that the decl is an
|
* decl.c (start_decl): Check that the decl is an
|
||||||
error_mark_node before getting the type.
|
error_mark_node before getting the type.
|
||||||
Remove the check for the decl's type being an
|
Remove the check for the decl's type being an
|
||||||
error_mark_node.
|
error_mark_node.
|
||||||
|
|
||||||
2005-10-21 Mark Mitchell <mark@codesourcery.com>
|
2005-10-21 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
PR c++/24260
|
PR c++/24260
|
||||||
* parser.c (cp_parser_init_declarator): Pass attributes to
|
* parser.c (cp_parser_init_declarator): Pass attributes to
|
||||||
grokfield.
|
grokfield.
|
||||||
|
|
||||||
2005-10-20 Mark Mitchell <mark@codesourcery.com>
|
2005-10-20 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
@ -780,7 +786,7 @@
|
|||||||
|
|
||||||
PR c++/22173
|
PR c++/22173
|
||||||
* typeck.c (check_template_keyword): Fix thinko.
|
* typeck.c (check_template_keyword): Fix thinko.
|
||||||
|
|
||||||
2005-10-16 Andrew Pinski <pinskia@physics.uc.edu>
|
2005-10-16 Andrew Pinski <pinskia@physics.uc.edu>
|
||||||
|
|
||||||
PR c++/23959
|
PR c++/23959
|
||||||
@ -803,7 +809,7 @@
|
|||||||
build_qualified_name.
|
build_qualified_name.
|
||||||
(cp_parser_id_expression): Default *template_p to
|
(cp_parser_id_expression): Default *template_p to
|
||||||
template_keyword_p. Check for invalid uses of the template
|
template_keyword_p. Check for invalid uses of the template
|
||||||
keyword.
|
keyword.
|
||||||
(cp_parser_postfix_expression): Eliminate special handling for
|
(cp_parser_postfix_expression): Eliminate special handling for
|
||||||
qualified names. Adjust call to cp_parser_primary_expression.
|
qualified names. Adjust call to cp_parser_primary_expression.
|
||||||
(cp_parser_postfix_dot_deref_expression): Adjust call to
|
(cp_parser_postfix_dot_deref_expression): Adjust call to
|
||||||
@ -812,21 +818,21 @@
|
|||||||
(cp_parser_template_argument): Adjust use of
|
(cp_parser_template_argument): Adjust use of
|
||||||
cp_parser_primary_expression. Remove call to
|
cp_parser_primary_expression. Remove call to
|
||||||
finish_qualified_id_expr.
|
finish_qualified_id_expr.
|
||||||
(cp_parser_lookup_name): Use build_qualified_name.
|
(cp_parser_lookup_name): Use build_qualified_name.
|
||||||
* pt.c (tsubst): Use build_qualified_name.
|
* pt.c (tsubst): Use build_qualified_name.
|
||||||
(tsubst_qualified_id): Likewise. Adjust call to
|
(tsubst_qualified_id): Likewise. Adjust call to
|
||||||
finish_qualified_id_expr.
|
finish_qualified_id_expr.
|
||||||
(tsubst_copy): Use build_qualified_name.
|
(tsubst_copy): Use build_qualified_name.
|
||||||
(tsubst_copy_and_build): Adjusts call to finish_id_expression and
|
(tsubst_copy_and_build): Adjusts call to finish_id_expression and
|
||||||
finish_class_member_access_expr.
|
finish_class_member_access_expr.
|
||||||
* semantics.c (finish_non_static_data_member): Use
|
* semantics.c (finish_non_static_data_member): Use
|
||||||
build_qualified_name.
|
build_qualified_name.
|
||||||
(finish_qualified_id_expr): Add template_p and template_arg_p
|
(finish_qualified_id_expr): Add template_p and template_arg_p
|
||||||
parameters.
|
parameters.
|
||||||
(finish_id_expression): Remove qualifiying_class parameter. Add
|
(finish_id_expression): Remove qualifiying_class parameter. Add
|
||||||
template_p, done, address_p, and template_arg_p. Use
|
template_p, done, address_p, and template_arg_p. Use
|
||||||
build_qualified_name. Adjust calls to
|
build_qualified_name. Adjust calls to
|
||||||
finish_class_member_acess_expr.
|
finish_class_member_acess_expr.
|
||||||
* tree.c (build_qualified_name): New function.
|
* tree.c (build_qualified_name): New function.
|
||||||
* typeck.c (check_template_keyword): New function.
|
* typeck.c (check_template_keyword): New function.
|
||||||
(finish_class_member_access_expr): Add template_p argument. Check
|
(finish_class_member_access_expr): Add template_p argument. Check
|
||||||
@ -874,7 +880,7 @@
|
|||||||
* call.c (build_new_method_call): Correct pretty-printing of
|
* call.c (build_new_method_call): Correct pretty-printing of
|
||||||
destructor names.
|
destructor names.
|
||||||
* pt.c (tsubst_qualified_id): Recognize invalid uses of "~T" as an
|
* pt.c (tsubst_qualified_id): Recognize invalid uses of "~T" as an
|
||||||
identifier.
|
identifier.
|
||||||
|
|
||||||
PR c++/23694
|
PR c++/23694
|
||||||
* decl.c (start_method): Return error_mark_node for errors.
|
* decl.c (start_method): Return error_mark_node for errors.
|
||||||
@ -938,7 +944,7 @@
|
|||||||
|
|
||||||
PR c++/24052
|
PR c++/24052
|
||||||
* error.c (dump_expr): Pass LABEL_DECL to dump_decl. Print
|
* error.c (dump_expr): Pass LABEL_DECL to dump_decl. Print
|
||||||
an ADDR_EXPR of a LABEL_DECL as &&.
|
an ADDR_EXPR of a LABEL_DECL as &&.
|
||||||
|
|
||||||
2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
|
2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
@ -1060,7 +1066,7 @@
|
|||||||
treat forward declarations of classes as templates just because
|
treat forward declarations of classes as templates just because
|
||||||
we're processing_template_decl.
|
we're processing_template_decl.
|
||||||
* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INFO for friend
|
* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INFO for friend
|
||||||
functions.
|
functions.
|
||||||
|
|
||||||
2005-09-26 Jason Merrill <jason@redhat.com>
|
2005-09-26 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
@ -1159,7 +1165,7 @@
|
|||||||
PR c++/16171
|
PR c++/16171
|
||||||
* mangle.c (find_substitution): Do not use special substitutions
|
* mangle.c (find_substitution): Do not use special substitutions
|
||||||
for identifiers not in std::.
|
for identifiers not in std::.
|
||||||
|
|
||||||
2005-09-13 Mark Mitchell <mark@codesourcery.com>
|
2005-09-13 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
PR c++/23839
|
PR c++/23839
|
||||||
@ -1170,7 +1176,7 @@
|
|||||||
|
|
||||||
PR c++/23842
|
PR c++/23842
|
||||||
* pt.c (tsubst_default_argument): Do treat default argument
|
* pt.c (tsubst_default_argument): Do treat default argument
|
||||||
expressions as occurring in the context of the function called.
|
expressions as occurring in the context of the function called.
|
||||||
|
|
||||||
2005-09-12 Mark Mitchell <mark@codesourcery.com>
|
2005-09-12 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
@ -1496,7 +1502,7 @@
|
|||||||
PR c++/8271
|
PR c++/8271
|
||||||
* pt.c (unify) <METHOD_TYPE>: Check this-pointer cv-qualifiers
|
* pt.c (unify) <METHOD_TYPE>: Check this-pointer cv-qualifiers
|
||||||
explicitly.
|
explicitly.
|
||||||
|
|
||||||
2005-08-12 Nathan Sidwell <nathan@codesourcery.com>
|
2005-08-12 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
PR c++/21799
|
PR c++/21799
|
||||||
@ -1584,7 +1590,7 @@
|
|||||||
2005-07-27 Devang Patel <dpatel@apple.com>
|
2005-07-27 Devang Patel <dpatel@apple.com>
|
||||||
|
|
||||||
* name-lookup.c (pushtag): Do no set DECL_IGNORED_P bit.
|
* name-lookup.c (pushtag): Do no set DECL_IGNORED_P bit.
|
||||||
|
|
||||||
2005-07-25 Ian Lance Taylor <ian@airs.com>
|
2005-07-25 Ian Lance Taylor <ian@airs.com>
|
||||||
|
|
||||||
* ptree.c (cxx_print_identifier): Print a leading space if the
|
* ptree.c (cxx_print_identifier): Print a leading space if the
|
||||||
@ -1622,7 +1628,7 @@
|
|||||||
* semantics.c (perform_koenig_lookup): For dependent calls, just
|
* semantics.c (perform_koenig_lookup): For dependent calls, just
|
||||||
return the set of functions we've found so far. Later, it will be
|
return the set of functions we've found so far. Later, it will be
|
||||||
augmented by those found through argument-dependent lookup.
|
augmented by those found through argument-dependent lookup.
|
||||||
* name-lookup.c (lookup_arg_dependent): Implement DR 164 by removing
|
* name-lookup.c (lookup_arg_dependent): Implement DR 164 by removing
|
||||||
the optimization that skips namespaces where the functions were
|
the optimization that skips namespaces where the functions were
|
||||||
originally found.
|
originally found.
|
||||||
|
|
||||||
@ -1729,7 +1735,7 @@
|
|||||||
* cp-tree.h (comp_ptr_ttypes_const): Declare.
|
* cp-tree.h (comp_ptr_ttypes_const): Declare.
|
||||||
* typeck.c (comp_ptr_ttypes_const): Give it external linkage.
|
* typeck.c (comp_ptr_ttypes_const): Give it external linkage.
|
||||||
Return bool.
|
Return bool.
|
||||||
|
|
||||||
2005-07-12 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
2005-07-12 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||||
Nathan Sidwell <nathan@codesourcery.com>
|
Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
@ -1757,9 +1763,9 @@
|
|||||||
* cp-tree (init_shadowed_var_for_decl): Add prototype.
|
* cp-tree (init_shadowed_var_for_decl): Add prototype.
|
||||||
|
|
||||||
2005-07-08 Daniel Berlin <dberlin@dberlin.org>
|
2005-07-08 Daniel Berlin <dberlin@dberlin.org>
|
||||||
|
|
||||||
* Make-lang.in: Add gt-cp-lang.h.
|
* Make-lang.in: Add gt-cp-lang.h.
|
||||||
(cp-lang.o): Ditto.
|
(cp-lang.o): Ditto.
|
||||||
* class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME on
|
* class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME on
|
||||||
the field.
|
the field.
|
||||||
* config-lang.in: Add cp-lang.c to gtfiles.
|
* config-lang.in: Add cp-lang.c to gtfiles.
|
||||||
@ -1778,7 +1784,7 @@
|
|||||||
* decl.c (duplicate_decls): Update for new/updated structures.
|
* decl.c (duplicate_decls): Update for new/updated structures.
|
||||||
(poplevel): Use SET_DECL_SHADOWED_FOR_VAR.
|
(poplevel): Use SET_DECL_SHADOWED_FOR_VAR.
|
||||||
* decl2.c (start_static_initialization_or_destruction): Deal with
|
* decl2.c (start_static_initialization_or_destruction): Deal with
|
||||||
priority.
|
priority.
|
||||||
* pt.c (tsubst_decl): Check TS_DECL_WRTL before doing
|
* pt.c (tsubst_decl): Check TS_DECL_WRTL before doing
|
||||||
SET_DECL_RTL.
|
SET_DECL_RTL.
|
||||||
* tree.c (handle_init_priority_attribute): Handle priority.
|
* tree.c (handle_init_priority_attribute): Handle priority.
|
||||||
@ -1803,7 +1809,7 @@
|
|||||||
* Makefile.in (class.o, decl2.o): Adjust dependencies.
|
* Makefile.in (class.o, decl2.o): Adjust dependencies.
|
||||||
* class.c: Include tree-dump.h.
|
* class.c: Include tree-dump.h.
|
||||||
* decl2.c: Include tree-dump.h.
|
* decl2.c: Include tree-dump.h.
|
||||||
|
|
||||||
2005-07-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
2005-07-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||||
|
|
||||||
* dump.c: Use dump_string_field.
|
* dump.c: Use dump_string_field.
|
||||||
@ -1834,8 +1840,8 @@
|
|||||||
typeck2.c: Use '+' flag instead of %J, cp_error_at, cp_warning_at
|
typeck2.c: Use '+' flag instead of %J, cp_error_at, cp_warning_at
|
||||||
or cp_pedwarn_at. Mark up some diagnostic strings with N_.
|
or cp_pedwarn_at. Mark up some diagnostic strings with N_.
|
||||||
|
|
||||||
2005-06-30 Daniel Berlin <dberlin@dberlin.org>
|
2005-06-30 Daniel Berlin <dberlin@dberlin.org>
|
||||||
|
|
||||||
* decl.c (require_complete_types_for_parms): Call relayout_decl
|
* decl.c (require_complete_types_for_parms): Call relayout_decl
|
||||||
instead of layout_decl.
|
instead of layout_decl.
|
||||||
|
|
||||||
@ -3694,4 +3700,3 @@
|
|||||||
PR middle-end/17544
|
PR middle-end/17544
|
||||||
* decl.c (finish_function): Fix comment. Annotate the compiler
|
* decl.c (finish_function): Fix comment. Annotate the compiler
|
||||||
generated return with the current file name and line 0.
|
generated return with the current file name and line 0.
|
||||||
|
|
||||||
|
@ -1204,7 +1204,7 @@ reference_binding (tree rto, tree rfrom, tree expr, int flags)
|
|||||||
if (related_p && !at_least_as_qualified_p (to, from))
|
if (related_p && !at_least_as_qualified_p (to, from))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
conv = implicit_conversion (to, from, expr, /*c_cast_p=*/false,
|
conv = implicit_conversion (to, from, expr, /*c_cast_p=*/false,
|
||||||
flags);
|
flags);
|
||||||
if (!conv)
|
if (!conv)
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -1393,7 +1393,7 @@ add_function_candidate (struct z_candidate **candidates,
|
|||||||
parmtype = build_pointer_type (parmtype);
|
parmtype = build_pointer_type (parmtype);
|
||||||
}
|
}
|
||||||
|
|
||||||
t = implicit_conversion (parmtype, argtype, arg,
|
t = implicit_conversion (parmtype, argtype, arg,
|
||||||
/*c_cast_p=*/false, flags);
|
/*c_cast_p=*/false, flags);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1472,7 +1472,7 @@ add_conv_candidate (struct z_candidate **candidates, tree fn, tree obj,
|
|||||||
else if (parmnode == void_list_node)
|
else if (parmnode == void_list_node)
|
||||||
break;
|
break;
|
||||||
else if (parmnode)
|
else if (parmnode)
|
||||||
t = implicit_conversion (TREE_VALUE (parmnode), argtype, arg,
|
t = implicit_conversion (TREE_VALUE (parmnode), argtype, arg,
|
||||||
/*c_cast_p=*/false, flags);
|
/*c_cast_p=*/false, flags);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1527,7 +1527,7 @@ build_builtin_candidate (struct z_candidate **candidates, tree fnname,
|
|||||||
if (! args[i])
|
if (! args[i])
|
||||||
break;
|
break;
|
||||||
|
|
||||||
t = implicit_conversion (types[i], argtypes[i], args[i],
|
t = implicit_conversion (types[i], argtypes[i], args[i],
|
||||||
/*c_cast_p=*/false, flags);
|
/*c_cast_p=*/false, flags);
|
||||||
if (! t)
|
if (! t)
|
||||||
{
|
{
|
||||||
@ -1545,7 +1545,7 @@ build_builtin_candidate (struct z_candidate **candidates, tree fnname,
|
|||||||
{
|
{
|
||||||
convs[2] = convs[1];
|
convs[2] = convs[1];
|
||||||
convs[1] = convs[0];
|
convs[1] = convs[0];
|
||||||
t = implicit_conversion (boolean_type_node, argtypes[2], args[2],
|
t = implicit_conversion (boolean_type_node, argtypes[2], args[2],
|
||||||
/*c_cast_p=*/false, flags);
|
/*c_cast_p=*/false, flags);
|
||||||
if (t)
|
if (t)
|
||||||
convs[0] = t;
|
convs[0] = t;
|
||||||
@ -2605,7 +2605,7 @@ build_user_type_conversion_1 (tree totype, tree expr, int flags)
|
|||||||
conversion *ics
|
conversion *ics
|
||||||
= implicit_conversion (totype,
|
= implicit_conversion (totype,
|
||||||
TREE_TYPE (TREE_TYPE (cand->fn)),
|
TREE_TYPE (TREE_TYPE (cand->fn)),
|
||||||
0,
|
0,
|
||||||
/*c_cast_p=*/false, convflags);
|
/*c_cast_p=*/false, convflags);
|
||||||
|
|
||||||
cand->second_conv = ics;
|
cand->second_conv = ics;
|
||||||
@ -4201,10 +4201,10 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum,
|
|||||||
if (ARITHMETIC_TYPE_P (t) && expr == null_node)
|
if (ARITHMETIC_TYPE_P (t) && expr == null_node)
|
||||||
{
|
{
|
||||||
if (fn)
|
if (fn)
|
||||||
warning (0, "passing NULL to non-pointer argument %P of %qD",
|
warning (OPT_Wconversion, "passing NULL to non-pointer argument %P of %qD",
|
||||||
argnum, fn);
|
argnum, fn);
|
||||||
else
|
else
|
||||||
warning (0, "converting to non-pointer type %qT from NULL", t);
|
warning (OPT_Wconversion, "converting to non-pointer type %qT from NULL", t);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Warn about assigning a floating-point type to an integer type. */
|
/* Warn about assigning a floating-point type to an integer type. */
|
||||||
@ -4212,10 +4212,10 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum,
|
|||||||
&& TREE_CODE (t) == INTEGER_TYPE)
|
&& TREE_CODE (t) == INTEGER_TYPE)
|
||||||
{
|
{
|
||||||
if (fn)
|
if (fn)
|
||||||
warning (0, "passing %qT for argument %P to %qD",
|
warning (OPT_Wconversion, "passing %qT for argument %P to %qD",
|
||||||
TREE_TYPE (expr), argnum, fn);
|
TREE_TYPE (expr), argnum, fn);
|
||||||
else
|
else
|
||||||
warning (0, "converting to %qT from %qT", t, TREE_TYPE (expr));
|
warning (OPT_Wconversion, "converting to %qT from %qT", t, TREE_TYPE (expr));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5273,7 +5273,7 @@ build_new_method_call (tree instance, tree fns, tree args,
|
|||||||
orig_fns = fns;
|
orig_fns = fns;
|
||||||
orig_args = args;
|
orig_args = args;
|
||||||
|
|
||||||
/* Dismantle the baselink to collect all the information we need. */
|
/* Dismantle the baselink to collect all the information we need. */
|
||||||
if (!conversion_path)
|
if (!conversion_path)
|
||||||
conversion_path = BASELINK_BINFO (fns);
|
conversion_path = BASELINK_BINFO (fns);
|
||||||
access_binfo = BASELINK_ACCESS_BINFO (fns);
|
access_binfo = BASELINK_ACCESS_BINFO (fns);
|
||||||
@ -6302,7 +6302,7 @@ can_convert_arg (tree to, tree from, tree arg, int flags)
|
|||||||
/* Get the high-water mark for the CONVERSION_OBSTACK. */
|
/* Get the high-water mark for the CONVERSION_OBSTACK. */
|
||||||
p = conversion_obstack_alloc (0);
|
p = conversion_obstack_alloc (0);
|
||||||
|
|
||||||
t = implicit_conversion (to, from, arg, /*c_cast_p=*/false,
|
t = implicit_conversion (to, from, arg, /*c_cast_p=*/false,
|
||||||
flags);
|
flags);
|
||||||
ok_p = (t && !t->bad_p);
|
ok_p = (t && !t->bad_p);
|
||||||
|
|
||||||
|
@ -1058,7 +1058,7 @@ build_expr_type_conversion (int desires, tree expr, bool complain)
|
|||||||
if (expr == null_node
|
if (expr == null_node
|
||||||
&& (desires & WANT_INT)
|
&& (desires & WANT_INT)
|
||||||
&& !(desires & WANT_NULL))
|
&& !(desires & WANT_NULL))
|
||||||
warning (0, "converting NULL to non-pointer type");
|
warning (OPT_Wconversion, "converting NULL to non-pointer type");
|
||||||
|
|
||||||
basetype = TREE_TYPE (expr);
|
basetype = TREE_TYPE (expr);
|
||||||
|
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2006-01-17 Eric Christopher <echristo@apple.com>
|
||||||
|
|
||||||
|
* g++.old-deja/g++.warn/impint.C: Add -Wconversion.
|
||||||
|
* g++.old-deja/g++.warn/impint2.C: Ditto.
|
||||||
|
* g++.old-deja/g++.other/null1.C: Ditto.
|
||||||
|
* g++.dg/warn/conv2.C: Ditto.
|
||||||
|
* g++.dg/warn/conv4.C: New file.
|
||||||
|
|
||||||
2006-01-17 Andrew Pinski <pinskia@physics.uc.edu>
|
2006-01-17 Andrew Pinski <pinskia@physics.uc.edu>
|
||||||
|
|
||||||
* g++.dg/abi/mangle25.C: Fix dg-do line, add a closing brace.
|
* g++.dg/abi/mangle25.C: Fix dg-do line, add a closing brace.
|
||||||
@ -90,7 +98,7 @@
|
|||||||
|
|
||||||
2006-01-16 Ben Elliston <bje@au.ibm.com>
|
2006-01-16 Ben Elliston <bje@au.ibm.com>
|
||||||
|
|
||||||
* gcc.dg/dfp/dfp.exp: Correct FSF address.
|
* gcc.dg/dfp/dfp.exp: Correct FSF address.
|
||||||
* gcc.misc-tests/dectest.exp: Ditto.
|
* gcc.misc-tests/dectest.exp: Ditto.
|
||||||
|
|
||||||
2006-01-15 Ian Lance Taylor <ian@airs.com>
|
2006-01-15 Ian Lance Taylor <ian@airs.com>
|
||||||
@ -250,7 +258,7 @@
|
|||||||
gcc.dg/dfp/operator-unary.c, gcc.dg/dfp/altivec-types.c,
|
gcc.dg/dfp/operator-unary.c, gcc.dg/dfp/altivec-types.c,
|
||||||
gcc.dg/dfp/cast.c, gcc.dg/dfp/typespec.c,
|
gcc.dg/dfp/cast.c, gcc.dg/dfp/typespec.c,
|
||||||
gcc.dg/dfp/wtr-conversion-1.c: New tests.
|
gcc.dg/dfp/wtr-conversion-1.c: New tests.
|
||||||
|
|
||||||
2006-01-11 Richard Guenther <rguenther@suse.de>
|
2006-01-11 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
PR tree-optimization/25734
|
PR tree-optimization/25734
|
||||||
@ -275,7 +283,7 @@
|
|||||||
* gcc.dg/torture/pr25706-1.c: New test.
|
* gcc.dg/torture/pr25706-1.c: New test.
|
||||||
|
|
||||||
2006-01-11 Paolo Bonzini <bonzini@gnu.org>
|
2006-01-11 Paolo Bonzini <bonzini@gnu.org>
|
||||||
|
|
||||||
PR tree-optimization/23109
|
PR tree-optimization/23109
|
||||||
PR tree-optimization/23948
|
PR tree-optimization/23948
|
||||||
PR tree-optimization/24123
|
PR tree-optimization/24123
|
||||||
@ -630,7 +638,7 @@
|
|||||||
2005-12-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
2005-12-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||||
|
|
||||||
* g++.dg/rtti/tinfo1.C: Scan for ".global" also.
|
* g++.dg/rtti/tinfo1.C: Scan for ".global" also.
|
||||||
|
|
||||||
PR testsuite/25442
|
PR testsuite/25442
|
||||||
* gcc.dg/ipa/ipa-1.c, gcc.dg/ipa/ipa-2.c, gcc.dg/ipa/ipa-3.c,
|
* gcc.dg/ipa/ipa-1.c, gcc.dg/ipa/ipa-2.c, gcc.dg/ipa/ipa-3.c,
|
||||||
gcc.dg/ipa/ipa-4.c, gcc.dg/ipa/ipa-5.c: Skip if -fpic/-fPIC.
|
gcc.dg/ipa/ipa-4.c, gcc.dg/ipa/ipa-5.c: Skip if -fpic/-fPIC.
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
// PR c++/13932
|
// PR c++/13932
|
||||||
|
// { dg-options "-Wconversion" }
|
||||||
|
|
||||||
int i = 1.; // { dg-warning "converting" }
|
int i = 1.; // { dg-warning "converting" }
|
||||||
|
22
gcc/testsuite/g++.dg/warn/conv4.C
Normal file
22
gcc/testsuite/g++.dg/warn/conv4.C
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// { dg-do compile }
|
||||||
|
|
||||||
|
// This file should compile cleanly by default and not warn on the conversions.
|
||||||
|
int func1(int i)
|
||||||
|
{
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
float f;
|
||||||
|
long l;
|
||||||
|
unsigned long ul;
|
||||||
|
|
||||||
|
f = 1.5f;
|
||||||
|
|
||||||
|
l = f;
|
||||||
|
ul = -1;
|
||||||
|
func1(f);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
// { dg-do link }
|
// { dg-do link }
|
||||||
|
// { dg-options "-Wconversion" }
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// { dg-do assemble }
|
// { dg-do assemble }
|
||||||
|
// { dg-options "-Wconversion" }
|
||||||
// Copyright (C) 2000 Free Software Foundation, Inc.
|
// Copyright (C) 2000 Free Software Foundation, Inc.
|
||||||
// Contributed by Nathan Sidwell 24 Feb 2000 <nathan@codesourcery.com>
|
// Contributed by Nathan Sidwell 24 Feb 2000 <nathan@codesourcery.com>
|
||||||
|
|
||||||
@ -37,21 +37,20 @@ void fn ()
|
|||||||
|
|
||||||
int k1 = 3.5; // { dg-warning "" } double to int
|
int k1 = 3.5; // { dg-warning "" } double to int
|
||||||
int k2 = 3.5f; // { dg-warning "" } float to int
|
int k2 = 3.5f; // { dg-warning "" } float to int
|
||||||
|
|
||||||
j1 = 3.5; // { dg-warning "" } double to int
|
j1 = 3.5; // { dg-warning "" } double to int
|
||||||
j2 = 3.5f; // { dg-warning "" } float to int
|
j2 = 3.5f; // { dg-warning "" } float to int
|
||||||
|
|
||||||
foo (3.5); // { dg-warning "" } double to int
|
foo (3.5); // { dg-warning "" } double to int
|
||||||
foo (3.5f); // { dg-warning "" } float to int
|
foo (3.5f); // { dg-warning "" } float to int
|
||||||
|
|
||||||
wibble (3.5); // { dg-warning "" } double to int
|
wibble (3.5); // { dg-warning "" } double to int
|
||||||
wibble (3.5f); // { dg-warning "" } float to int
|
wibble (3.5f); // { dg-warning "" } float to int
|
||||||
wibble (1, 3.5); // { dg-warning "" } double to int
|
wibble (1, 3.5); // { dg-warning "" } double to int
|
||||||
wibble (1, 3.5f); // { dg-warning "" } float to int
|
wibble (1, 3.5f); // { dg-warning "" } float to int
|
||||||
wibble (3.5, 1); // { dg-warning "" } double to int
|
wibble (3.5, 1); // { dg-warning "" } double to int
|
||||||
wibble (3.5f, 1); // { dg-warning "" } float to int
|
wibble (3.5f, 1); // { dg-warning "" } float to int
|
||||||
|
|
||||||
punk (); // { dg-warning "" } double to int
|
punk (); // { dg-warning "" } double to int
|
||||||
rock (1); // { dg-warning "" } double to int
|
rock (1); // { dg-warning "" } double to int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
// { dg-do assemble }
|
// { dg-do assemble }
|
||||||
|
// { dg-options "-Wconversion" }
|
||||||
|
|
||||||
// Copyright (C) 2000 Free Software Foundation, Inc.
|
// Copyright (C) 2000 Free Software Foundation, Inc.
|
||||||
// Contributed by Nathan Sidwell 6 Mar 2000 <nathan@codesourcery.com>
|
// Contributed by Nathan Sidwell 6 Mar 2000 <nathan@codesourcery.com>
|
||||||
@ -31,15 +32,15 @@ void fn ()
|
|||||||
int j2 (3.5f); // { dg-warning "" } float to int
|
int j2 (3.5f); // { dg-warning "" } float to int
|
||||||
|
|
||||||
int k2 = 3.5f; // { dg-warning "" } float to int
|
int k2 = 3.5f; // { dg-warning "" } float to int
|
||||||
|
|
||||||
j2 = 3.5f; // { dg-warning "" } float to int
|
j2 = 3.5f; // { dg-warning "" } float to int
|
||||||
|
|
||||||
foo (3.5f); // { dg-warning "" } float to int
|
foo (3.5f); // { dg-warning "" } float to int
|
||||||
|
|
||||||
wibble (3.5f); // { dg-warning "" } float to int
|
wibble (3.5f); // { dg-warning "" } float to int
|
||||||
wibble (1, 3.5f); // { dg-warning "" } float to int
|
wibble (1, 3.5f); // { dg-warning "" } float to int
|
||||||
wibble (3.5f, 1); // { dg-warning "" } float to int
|
wibble (3.5f, 1); // { dg-warning "" } float to int
|
||||||
|
|
||||||
punk (); // { dg-warning "" } float to int
|
punk (); // { dg-warning "" } float to int
|
||||||
rock (1); // { dg-warning "" } float to int
|
rock (1); // { dg-warning "" } float to int
|
||||||
}
|
}
|
||||||
@ -56,13 +57,13 @@ void foo ()
|
|||||||
int j2 (-1);
|
int j2 (-1);
|
||||||
|
|
||||||
int k2 = -1;
|
int k2 = -1;
|
||||||
|
|
||||||
j2 = -1;
|
j2 = -1;
|
||||||
|
|
||||||
foo (-1);
|
foo (-1);
|
||||||
|
|
||||||
wibble (-1);
|
wibble (-1);
|
||||||
wibble (1, -1);
|
wibble (1, -1);
|
||||||
wibble (-1, 1);
|
wibble (-1, 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user