| 1 |
710 |
jeremybenn |
2005-12-30 Gabriel Dos Reis
|
| 2 |
|
|
|
| 3 |
|
|
* cxx-pretty-print.c (pp_cxx_constant): New. Print
|
| 4 |
|
|
string-literal in parens if input program says so.
|
| 5 |
|
|
(pp_cxx_primary_expression): Hand off constant printing to
|
| 6 |
|
|
pp_cxx_constant.
|
| 7 |
|
|
(pp_cxx_pretty_printer_init): Set pp->c_base.constant.
|
| 8 |
|
|
(pp_cxx_expression): Use pp_cxx_constant for literals.
|
| 9 |
|
|
* error.c (dump_expr): Use pp_constant for literals.
|
| 10 |
|
|
|
| 11 |
|
|
2005-12-29 Nathan Sidwell
|
| 12 |
|
|
|
| 13 |
|
|
* method.c (make_thunk): Don't set comdat_linkage here.
|
| 14 |
|
|
(use_thunk): Make thunk one only here, if thunk target is
|
| 15 |
|
|
DECL_ONE_ONLY.
|
| 16 |
|
|
|
| 17 |
|
|
2005-12-26 Mark Mitchell
|
| 18 |
|
|
|
| 19 |
|
|
PR c++/25439
|
| 20 |
|
|
* decl.c (grokdeclarator): Remove dead code.
|
| 21 |
|
|
* ptree.c (cxx_print_xnode): Handle BASELINK.
|
| 22 |
|
|
* parser.c (make_id_declarator): Add sfk parameter.
|
| 23 |
|
|
(cp_parser_direct_declarator): Do not pass TYPE_DECLs to
|
| 24 |
|
|
make_id_declarator.
|
| 25 |
|
|
(cp_parser_declarator_id): Simplify BASELINKs here.
|
| 26 |
|
|
(cp_parser_member_declaration): Adjust calls to
|
| 27 |
|
|
make_id_declarator.
|
| 28 |
|
|
|
| 29 |
|
|
2005-12-26 Mark Mitchell
|
| 30 |
|
|
|
| 31 |
|
|
PR c++/23171, c++/23172, c++/25417.
|
| 32 |
|
|
* typeck.c (build_unary_op): Create temporary variables for
|
| 33 |
|
|
compound literals whose addresses are taken.
|
| 34 |
|
|
* init.c (expand_aggr_init_1): Use COMPOUND_LITERAL_P.
|
| 35 |
|
|
* decl.c (reshape_init_vector): Likewise.
|
| 36 |
|
|
(reshape_init): Give it external linkage.
|
| 37 |
|
|
(check_initializer): Use COMPOUND_LITERAL_P.
|
| 38 |
|
|
(initialize_artificial_var): Allow the initializer to be a
|
| 39 |
|
|
CONSTRUCTOR.
|
| 40 |
|
|
* call.c (make_temporary_var_for_ref_to_temp): Use
|
| 41 |
|
|
create_temporary_var.
|
| 42 |
|
|
* cp-tree.h (COMPOUND_LITERAL_P): New macro.
|
| 43 |
|
|
(rehape_init): Declare.
|
| 44 |
|
|
* typeck2.c (digest_init): Use COMPOUND_LITERAL_P.
|
| 45 |
|
|
* semantics.c (finish_compound_literal): Use reshape_init.
|
| 46 |
|
|
|
| 47 |
|
|
2005-12-23 Mark Mitchell
|
| 48 |
|
|
|
| 49 |
|
|
PR c++/24671
|
| 50 |
|
|
* pt.c (instantiate_template): Handle SFINAE.
|
| 51 |
|
|
|
| 52 |
|
|
2005-12-23 Volker Reichelt
|
| 53 |
|
|
|
| 54 |
|
|
* decl.c (grokdeclarator): Improve diagnostic for friend
|
| 55 |
|
|
declarations of class members.
|
| 56 |
|
|
|
| 57 |
|
|
2005-12-22 Mark Mitchell
|
| 58 |
|
|
|
| 59 |
|
|
PR c++/25369
|
| 60 |
|
|
* tree.c (really_overloaded_fn): Tweak comment.
|
| 61 |
|
|
* pt.c (tsubst_call_declarator_parms): Remove.
|
| 62 |
|
|
(tsubst_copy): Call mark_used on the member referenced by an
|
| 63 |
|
|
OFFSET_REF.
|
| 64 |
|
|
* semantics.c (finish_qualified_id_expr): Simplify.
|
| 65 |
|
|
* decl2.c (mark_used): Accept BASELINKs.
|
| 66 |
|
|
|
| 67 |
|
|
PR c++/25364
|
| 68 |
|
|
* typeck.c (build_unary_op): Pass DECLs not names to
|
| 69 |
|
|
build_offset_refs.
|
| 70 |
|
|
* init.c (build_offset_ref): Do not do name lookup. Do not call
|
| 71 |
|
|
mark_used.
|
| 72 |
|
|
* call.c (build_call): Simplify and tidy.
|
| 73 |
|
|
* semantics.c (finish_qualified_id_expr): Call mark_used.
|
| 74 |
|
|
|
| 75 |
|
|
2005-12-22 Volker Reichelt
|
| 76 |
|
|
|
| 77 |
|
|
PR c++/23333
|
| 78 |
|
|
* parser.c (cp_parser_pure_specifier): Check for PURE_ZERO to
|
| 79 |
|
|
identify a single '0'.
|
| 80 |
|
|
|
| 81 |
|
|
2005-12-20 Mark Mitchell
|
| 82 |
|
|
|
| 83 |
|
|
PR c++/21228
|
| 84 |
|
|
* decl.c (use_eh_spec_block): New function.
|
| 85 |
|
|
(store_parm_decls): Use it.
|
| 86 |
|
|
(finish_function): Likewise.
|
| 87 |
|
|
|
| 88 |
|
|
2005-12-19 Mark Mitchell
|
| 89 |
|
|
|
| 90 |
|
|
PR c++/24278
|
| 91 |
|
|
* init.c (expand_member_init): Print messages about baseclasses
|
| 92 |
|
|
using %T rather than %D.
|
| 93 |
|
|
|
| 94 |
|
|
PR c++/24915
|
| 95 |
|
|
* class.c (add_method): Do not treat templates as identical unless
|
| 96 |
|
|
their return types are the same.
|
| 97 |
|
|
|
| 98 |
|
|
2005-12-12 Mark Mitchell
|
| 99 |
|
|
|
| 100 |
|
|
PR c++/25300
|
| 101 |
|
|
* tree.c (build_qualified_name): Return error_mark_node for
|
| 102 |
|
|
erroneous input.
|
| 103 |
|
|
|
| 104 |
|
|
2005-12-10 Mark Mitchell
|
| 105 |
|
|
|
| 106 |
|
|
PR c++/25337
|
| 107 |
|
|
* pt.c (tsubst_copy_and_build): Permit dependent types for the
|
| 108 |
|
|
object in a class member access expression.
|
| 109 |
|
|
|
| 110 |
|
|
2005-12-10 Terry Laurenzo
|
| 111 |
|
|
|
| 112 |
|
|
PR java/9861
|
| 113 |
|
|
* mangle.c (write_bare_function_type): Mangle return type for
|
| 114 |
|
|
methods of Java classes
|
| 115 |
|
|
|
| 116 |
|
|
2005-12-08 Théodore Papadopoulo
|
| 117 |
|
|
|
| 118 |
|
|
* call.c (build_conditional_expr): Print types in error messages.
|
| 119 |
|
|
|
| 120 |
|
|
2005-12-07 Volker Reichelt
|
| 121 |
|
|
|
| 122 |
|
|
* expr.c (cxx_expand_expr): Call gcc_unreachable instead of abort.
|
| 123 |
|
|
|
| 124 |
|
|
2005-12-07 Volker Reichelt
|
| 125 |
|
|
|
| 126 |
|
|
* cp-gimplify.c (gimplify_cp_loop): Use fold_build3.
|
| 127 |
|
|
|
| 128 |
|
|
2005-12-07 Rafael Ávila de Espíndola
|
| 129 |
|
|
|
| 130 |
|
|
* Make-lang.in (c++.all.build, c++.install-normal): Remove.
|
| 131 |
|
|
|
| 132 |
|
|
2005-12-07 Rafael Ávila de Espíndola
|
| 133 |
|
|
|
| 134 |
|
|
* Make-lang.in: Remove all dependencies on s-gtype.
|
| 135 |
|
|
|
| 136 |
|
|
2005-12-06 Aldy Hernandez
|
| 137 |
|
|
|
| 138 |
|
|
PR C++/24138
|
| 139 |
|
|
* decl.c (reshape_init_array_1): Handle max_index of -1.
|
| 140 |
|
|
|
| 141 |
|
|
2005-12-06 Roger Sayle
|
| 142 |
|
|
|
| 143 |
|
|
* typeck.c (build_binary_op): Issue warning if either operand of a
|
| 144 |
|
|
comparison operator is a string literal, except for testing equality
|
| 145 |
|
|
or inequality against NULL.
|
| 146 |
|
|
|
| 147 |
|
|
2005-12-06 Roger Sayle
|
| 148 |
|
|
|
| 149 |
|
|
PR c++/25263
|
| 150 |
|
|
* decl.c (compute_array_index_type): Check that itype is an
|
| 151 |
|
|
INTEGER_CST node before testing/clearing TREE_OVERFLOW.
|
| 152 |
|
|
|
| 153 |
|
|
2005-12-05 Daniel Berlin
|
| 154 |
|
|
|
| 155 |
|
|
* ptree.c (cxx_print_decl): Update to check for decl_common
|
| 156 |
|
|
structure.
|
| 157 |
|
|
|
| 158 |
|
|
2005-12-02 Mark Mitchell
|
| 159 |
|
|
|
| 160 |
|
|
PR c++/24173
|
| 161 |
|
|
* decl.c (duplicate_decls): Don't rely on DECL_TEMPLATE_INFO after
|
| 162 |
|
|
clobbering newdecl.
|
| 163 |
|
|
|
| 164 |
|
|
2005-12-02 Richard Guenther
|
| 165 |
|
|
|
| 166 |
|
|
* semantics.c (simplify_aggr_init_expr): Use buildN instead
|
| 167 |
|
|
of build.
|
| 168 |
|
|
|
| 169 |
|
|
2005-12-02 Gabriel Dos Reis
|
| 170 |
|
|
|
| 171 |
|
|
* parser.c (cp_lexer_new_main): Usr GGC_RESIZEVEC instead of
|
| 172 |
|
|
ggc_realloc.
|
| 173 |
|
|
(cp_parser_template_argument_list): Use XRESIZEVEC instead of
|
| 174 |
|
|
xrealloc.
|
| 175 |
|
|
* class.c (pushclass): Likewise.
|
| 176 |
|
|
|
| 177 |
|
|
2005-12-02 Gabriel Dos Reis
|
| 178 |
|
|
|
| 179 |
|
|
* decl2.c (get_priority_info): Use XNEW, not xmalloc.
|
| 180 |
|
|
* decl.c (push_switch): Likewise.
|
| 181 |
|
|
* lex.c (handle_pragma_implementation): Likewise.
|
| 182 |
|
|
* cp-objcp-common.c (decl_shadowed_for_var_insert): Use GGC_NEW,
|
| 183 |
|
|
not ggc_alloc.
|
| 184 |
|
|
(cxx_initialize_diagnostics): Use XNEW, not xmalloc.
|
| 185 |
|
|
* class.c (init_class_processing): Use XNEWVEC, not xmalloc.
|
| 186 |
|
|
* g++spec.c (lang_specific_driver): Likewise.
|
| 187 |
|
|
* mangle.c (save_partially_mangled_name): Likewise.
|
| 188 |
|
|
* parser.c (cp_lexer_new_main): Use GGC_NEWVEC, not ggc_alloc.
|
| 189 |
|
|
(cp_parser_template_argument_list): Use XNEWVEC, nto xmalloc.
|
| 190 |
|
|
(cp_parser_sizeof_operand): Likewise.
|
| 191 |
|
|
* repo.c (open_repo_file, open_repo_file): Likewise.
|
| 192 |
|
|
|
| 193 |
|
|
2005-12-01 Gabriel Dos Reis
|
| 194 |
|
|
|
| 195 |
|
|
* parser.c (cp_parser_make_typename_type): Call make_typename_type
|
| 196 |
|
|
with tf_none instead of magic value 0.
|
| 197 |
|
|
(cp_parser_explicit_instantiation): Call do_type_instantiation
|
| 198 |
|
|
with tf_error instead of magic value 1.
|
| 199 |
|
|
(cp_parser_elaborated_type_specifier): Call make_typename_type
|
| 200 |
|
|
with tf_error instead of magic value 1.
|
| 201 |
|
|
(cp_parser_class_name): Likewise.
|
| 202 |
|
|
(cp_parser_lookup_name): Likewise.
|
| 203 |
|
|
|
| 204 |
|
|
2005-12-01 Gabriel Dos Reis
|
| 205 |
|
|
|
| 206 |
|
|
* parser.c (cp_parser_declaration): Set token2.type to CPP_EOF,
|
| 207 |
|
|
not RID_MAX.
|
| 208 |
|
|
|
| 209 |
|
|
2005-11-30 Jason Merrill
|
| 210 |
|
|
|
| 211 |
|
|
PR c++/21123
|
| 212 |
|
|
* cp-gimplify.c (cp_genericize_r): Don't dereference invisible reference
|
| 213 |
|
|
parms in a thunk.
|
| 214 |
|
|
|
| 215 |
|
|
2005-11-30 Ben Elliston
|
| 216 |
|
|
|
| 217 |
|
|
* typeck.c (build_x_unary_op): Correct spelling in error message.
|
| 218 |
|
|
|
| 219 |
|
|
2005-11-28 Nathan Sidwell
|
| 220 |
|
|
|
| 221 |
|
|
PR c++/21166
|
| 222 |
|
|
* class.c (check_field_decls): Only set DECL_PACKED on a field
|
| 223 |
|
|
when its natural alignment is > BITS_PER_UNIT.
|
| 224 |
|
|
|
| 225 |
|
|
2005-11-27 Volker Reichelt
|
| 226 |
|
|
|
| 227 |
|
|
PR c++/24979
|
| 228 |
|
|
* cp-tree.h (DECL_MAIN_P): Remove duplicate definition.
|
| 229 |
|
|
|
| 230 |
|
|
2005-11-26 Richard Henderson
|
| 231 |
|
|
|
| 232 |
|
|
* lex.c: Update for pragma_lex rename.
|
| 233 |
|
|
* parser.c: Likewise.
|
| 234 |
|
|
|
| 235 |
|
|
2005-11-25 Volker Reichelt
|
| 236 |
|
|
|
| 237 |
|
|
PR c++/9278
|
| 238 |
|
|
* decl.c (grokparms): Do not allow typedef-names in a '(void)'
|
| 239 |
|
|
parmlist.
|
| 240 |
|
|
|
| 241 |
|
|
2005-11-25 Volker Reichelt
|
| 242 |
|
|
|
| 243 |
|
|
* typeck2.c (process_init_constructor_union): Remove check for
|
| 244 |
|
|
unnamed union members.
|
| 245 |
|
|
|
| 246 |
|
|
2005-11-25 Volker Reichelt
|
| 247 |
|
|
|
| 248 |
|
|
* name-lookup.c (lookup_name_real): Merge two if's.
|
| 249 |
|
|
|
| 250 |
|
|
2005-11-25 Volker Reichelt
|
| 251 |
|
|
|
| 252 |
|
|
* pt.c (instantiate_class_template): Clean-up.
|
| 253 |
|
|
|
| 254 |
|
|
2005-11-25 Volker Reichelt
|
| 255 |
|
|
|
| 256 |
|
|
* pt.c (template_class_depth_real): Remove. Move functionality to ...
|
| 257 |
|
|
(template_class_depth): ... here, replacing count_specializations
|
| 258 |
|
|
with 0. Adjust comment.
|
| 259 |
|
|
|
| 260 |
|
|
2005-11-24 Richard Guenther
|
| 261 |
|
|
Dirk Mueller
|
| 262 |
|
|
|
| 263 |
|
|
PR c++/14024
|
| 264 |
|
|
* typeck.c (build_reinterpret_cast_1): Use
|
| 265 |
|
|
strict_aliasing_warning.
|
| 266 |
|
|
|
| 267 |
|
|
2005-11-23 Gabriel Dos Reis
|
| 268 |
|
|
|
| 269 |
|
|
PR c++/24235
|
| 270 |
|
|
* pt.c (check_instantiated_args): Reword diagnostic message about
|
| 271 |
|
|
template argument involving local types.
|
| 272 |
|
|
|
| 273 |
|
|
2005-11-23 Gabriel Dos Reis
|
| 274 |
|
|
|
| 275 |
|
|
PR c++/21667
|
| 276 |
|
|
* typeck.c (build_array_ref): Avoid code duplicate. Use common
|
| 277 |
|
|
C/C++ diagnostic function warn_array_subscript_with_type_char.
|
| 278 |
|
|
|
| 279 |
|
|
2005-11-21 Gabriel Dos Reis
|
| 280 |
|
|
|
| 281 |
|
|
PR c++/22238
|
| 282 |
|
|
* error.c (resolve_virtual_fun_from_obj_type_ref): New.
|
| 283 |
|
|
(dump_expr): Use it in .
|
| 284 |
|
|
|
| 285 |
|
|
2005-11-21 Richard Henderson
|
| 286 |
|
|
|
| 287 |
|
|
* cp-objcp-common.h, name-lookup.c, name-lookup.h: Revert 11-18 patch.
|
| 288 |
|
|
|
| 289 |
|
|
* name-lookup.c (lookup_name): Remove prefer_type argument.
|
| 290 |
|
|
(lookup_name_prefer_type): New.
|
| 291 |
|
|
* decl.c (lookup_and_check_tag): Use them.
|
| 292 |
|
|
* pt.c (tsubst_friend_class): Likewise.
|
| 293 |
|
|
(lookup_template_class): Likewise.
|
| 294 |
|
|
(tsubst_copy_and_build): Likewise.
|
| 295 |
|
|
* name-lookup.h (lookup_name_prefer_type): New.
|
| 296 |
|
|
(lookup_name): Remove declaration.
|
| 297 |
|
|
|
| 298 |
|
|
2005-11-18 Mark Mitchell
|
| 299 |
|
|
|
| 300 |
|
|
PR c++/8355
|
| 301 |
|
|
* decl.c (grokfndecl): Set up DECL_TEMPLATE_INFO before calling
|
| 302 |
|
|
set_decl_namespace.
|
| 303 |
|
|
* name-lookup.c (set_decl_namespace):
|
| 304 |
|
|
|
| 305 |
|
|
2005-11-18 Mike Stump
|
| 306 |
|
|
|
| 307 |
|
|
* cp-objcp-common.h (LANG_HOOKS_LOOKUP_NAME): Add.
|
| 308 |
|
|
* name-lookup.c (lookup_name_two): Remove.
|
| 309 |
|
|
(lookup_name_one): Add.
|
| 310 |
|
|
* name-lookup.h (lookup_name_two): Remove.
|
| 311 |
|
|
(lookup_name_one): Add.
|
| 312 |
|
|
|
| 313 |
|
|
2005-11-15 Jason Merrill
|
| 314 |
|
|
|
| 315 |
|
|
PR c++/24580
|
| 316 |
|
|
* method.c (locate_copy): Also use skip_artificial_parms here.
|
| 317 |
|
|
(synthesize_exception_spec): Use CLASS_TYPE_P rather than checking
|
| 318 |
|
|
for RECORD_TYPE.
|
| 319 |
|
|
(locate_ctor): Abort if we fail to find a default constructor.
|
| 320 |
|
|
|
| 321 |
|
|
2005-11-15 Mike Stump
|
| 322 |
|
|
|
| 323 |
|
|
* name-lookup.c (lookup_name_two): Add.
|
| 324 |
|
|
* name-lookup.h: Likewise.
|
| 325 |
|
|
|
| 326 |
|
|
2005-11-15 Mark Mitchell
|
| 327 |
|
|
|
| 328 |
|
|
PR c++/24667
|
| 329 |
|
|
* typeck.c (check_for_casting_away_constness): Use the diag_fn.
|
| 330 |
|
|
(build_const_cast_1): Call it, for C-style casts.
|
| 331 |
|
|
|
| 332 |
|
|
2005-11-14 Mark Mitchell
|
| 333 |
|
|
|
| 334 |
|
|
PR c++/24687
|
| 335 |
|
|
* pt.c (check_explicit_specialization): Don't check for C linkage.
|
| 336 |
|
|
(push_template_decl_real): Likewise.
|
| 337 |
|
|
* parser.c (cp_parser_explicit_specialization): Check here.
|
| 338 |
|
|
(cp_parser_template_declaration_after_export): And here.
|
| 339 |
|
|
|
| 340 |
|
|
* parser.c (cp_lexer_get_preprocessor_token): Initialize keyword
|
| 341 |
|
|
field.
|
| 342 |
|
|
|
| 343 |
|
|
2005-11-14 Jason Merrill
|
| 344 |
|
|
|
| 345 |
|
|
PR c++/24580
|
| 346 |
|
|
* method.c (locate_ctor): Skip all artificial parms, not just
|
| 347 |
|
|
'this'.
|
| 348 |
|
|
|
| 349 |
|
|
2005-11-14 Mark Mitchell
|
| 350 |
|
|
|
| 351 |
|
|
* parser.c (eof_token): Add initializer for ambiguous_p.
|
| 352 |
|
|
|
| 353 |
|
|
2005-11-13 Mark Mitchell
|
| 354 |
|
|
|
| 355 |
|
|
PR c++/24817
|
| 356 |
|
|
* decl.c (check_redeclaration_exception_specification): New
|
| 357 |
|
|
function.
|
| 358 |
|
|
(duplicate_decls): Use it.
|
| 359 |
|
|
* error.c (fndecl_to_string): Print the template parameter list.
|
| 360 |
|
|
|
| 361 |
|
|
PR c++/20293
|
| 362 |
|
|
* cxx-pretty-print.c (pp_cxx_statement): Print qualifying scopes
|
| 363 |
|
|
for namespaces.
|
| 364 |
|
|
(pp_cxx_original_namespace_definition): Likewise.
|
| 365 |
|
|
* name-lookup.c (ambiguous_decl): Don't issue error messages;
|
| 366 |
|
|
instead return lists of ambiguous candidates.
|
| 367 |
|
|
(select_decl): Handle ambiguous namespace lookups.
|
| 368 |
|
|
* parser.c (cp_token): Add ambiguous_p.
|
| 369 |
|
|
(cp_lexer_get_preprocessor_token): Set it.
|
| 370 |
|
|
(cp_parser_diagnose_invalid_type_name): Avoid duplicate messages
|
| 371 |
|
|
when a qualified name uses an invalid scope.
|
| 372 |
|
|
(cp_parser_primary_expression): Print ambiguous candidates.
|
| 373 |
|
|
(cp_parser_type_parameter): Adjust comment to reflect new
|
| 374 |
|
|
parameter name for cp_parser_lookup_name.
|
| 375 |
|
|
(cp_parser_template_argument): Likewise.
|
| 376 |
|
|
(cp_parser_elaborated_type_specifier): Likewise.
|
| 377 |
|
|
(cp_parser_namespace_name): Likewise.
|
| 378 |
|
|
(cp_parser_class_name): Print ambiguous candidates.
|
| 379 |
|
|
(cp_parser_lookup_name): Rename ambiguous_p parameter to
|
| 380 |
|
|
ambiguous_decls. Use it to return a list of ambiguous candiates
|
| 381 |
|
|
when a lookup is ambiguous.
|
| 382 |
|
|
(cp_parser_lookup_name_simple): Adjust comment to reflect new
|
| 383 |
|
|
parameter name for cp_parser_lookup_name.
|
| 384 |
|
|
|
| 385 |
|
|
2005-11-12 Jakub Jelinek
|
| 386 |
|
|
|
| 387 |
|
|
PR c++/24780
|
| 388 |
|
|
* typeck.c (complete_type): Set TYPE_NEEDS_CONSTRUCTING
|
| 389 |
|
|
and TYPE_HAS_NONTRIVIAL_DESTRUCTOR flags for all variants
|
| 390 |
|
|
of array type.
|
| 391 |
|
|
|
| 392 |
|
|
PR c++/24761
|
| 393 |
|
|
* pt.c (tsubst_copy_asm_operands): New function.
|
| 394 |
|
|
(tsubst_expr) : Use it.
|
| 395 |
|
|
|
| 396 |
|
|
2005-11-08 Jakub Jelinek
|
| 397 |
|
|
|
| 398 |
|
|
PR c++/19450
|
| 399 |
|
|
* decl.c (redeclaration_error_message): Issue diagnostics about
|
| 400 |
|
|
olddecl and newdecl disagreement on __thread property.
|
| 401 |
|
|
(grokdeclarator): Set DECL_TLS_MODEL on class static variables.
|
| 402 |
|
|
|
| 403 |
|
|
2005-11-08 Jason Merrill
|
| 404 |
|
|
|
| 405 |
|
|
PR c++/21123
|
| 406 |
|
|
* method.c (use_thunk): Use build_cplus_new instead of
|
| 407 |
|
|
force_target_expr.
|
| 408 |
|
|
|
| 409 |
|
|
2005-11-06 Jason Merrill
|
| 410 |
|
|
James A. Morrison
|
| 411 |
|
|
|
| 412 |
|
|
PR c++/17256
|
| 413 |
|
|
* decl2.c (cp_finish_file): Fix conditions for undefined warning.
|
| 414 |
|
|
Set TREE_NO_WARNING instead of TREE_PUBLIC.
|
| 415 |
|
|
* pt.c (instantiate_pending_templates): Set DECL_INITIAL to avoid
|
| 416 |
|
|
a warning on a function we didn't instantiate because of excessive
|
| 417 |
|
|
recursion.
|
| 418 |
|
|
|
| 419 |
|
|
2005-11-06 Mark Mitchell
|
| 420 |
|
|
|
| 421 |
|
|
* class.c (record_subobject_offsets): Don't record offsets past
|
| 422 |
|
|
biggest empty class for non-empty base classes.
|
| 423 |
|
|
(layout_class_type): Use TYPE_SIZE_UNIT, not TYPE_SIZE, when
|
| 424 |
|
|
keeping track of the size of emptyclasses.
|
| 425 |
|
|
|
| 426 |
|
|
PR c++/21308
|
| 427 |
|
|
* class.c (sizeof_biggest_empty_class): New variable.
|
| 428 |
|
|
(record_subobject_offsets): Don't record offsets past biggest
|
| 429 |
|
|
empty class for data members. Replace vbases_p parameter with
|
| 430 |
|
|
is_data_member parameter.
|
| 431 |
|
|
(build_base_field): Adjust call.
|
| 432 |
|
|
(layout_class_type): Likewise. Maintain
|
| 433 |
|
|
sizeof_biggest_empty_class.
|
| 434 |
|
|
|
| 435 |
|
|
2005-11-05 Kazu Hirata
|
| 436 |
|
|
|
| 437 |
|
|
* decl2.c, init.c, typeck.c: Fix comment typos.
|
| 438 |
|
|
|
| 439 |
|
|
2005-11-04 Richard Guenther
|
| 440 |
|
|
|
| 441 |
|
|
PR c++/22487
|
| 442 |
|
|
* init.c (build_vec_init): Build comparison of matching
|
| 443 |
|
|
types.
|
| 444 |
|
|
|
| 445 |
|
|
2005-11-03 Josh Conner
|
| 446 |
|
|
|
| 447 |
|
|
PR c++/19989
|
| 448 |
|
|
pt.c (tsubst): Accept zero-length array if tf_error is set
|
| 449 |
|
|
in complain flags. Change error message for negative-
|
| 450 |
|
|
length array.
|
| 451 |
|
|
|
| 452 |
|
|
2005-11-04 Joseph S. Myers
|
| 453 |
|
|
|
| 454 |
|
|
* cp-tree.h (cp_cpp_error), error.c (cp_cpp_error): Take va_list*
|
| 455 |
|
|
parameter.
|
| 456 |
|
|
|
| 457 |
|
|
2005-11-03 Joseph S. Myers
|
| 458 |
|
|
|
| 459 |
|
|
PR c++/17964
|
| 460 |
|
|
* error.c (cp_cpp_error): New function.
|
| 461 |
|
|
* cp-tree.h (cp_cpp_error): Declare.
|
| 462 |
|
|
* parser.c (cp_lexer_new_main): Set CPP option client_diagnostic
|
| 463 |
|
|
and error callback after lexing.
|
| 464 |
|
|
|
| 465 |
|
|
2005-11-03 Mark Mitchell
|
| 466 |
|
|
|
| 467 |
|
|
PR c++/21627
|
| 468 |
|
|
* pt.c (register_specialization): Update inline flags on clones.y
|
| 469 |
|
|
|
| 470 |
|
|
2005-11-03 Andrew Pinski
|
| 471 |
|
|
|
| 472 |
|
|
PR c++/24582
|
| 473 |
|
|
* decl.c (declare_local_label): Return 0 for variables
|
| 474 |
|
|
with error_mark_node as their types.
|
| 475 |
|
|
|
| 476 |
|
|
2005-11-02 Mark Mitchell
|
| 477 |
|
|
|
| 478 |
|
|
PR c++/22434
|
| 479 |
|
|
* call.c (build_conditional_expr): Do bad conversions, if there's
|
| 480 |
|
|
no other choice.
|
| 481 |
|
|
|
| 482 |
|
|
PR c++/24560
|
| 483 |
|
|
* parser.c (cp_parser_postfix_dot_deref_expression): Improve error
|
| 484 |
|
|
message for use of overloaded functions on LHS of "." operator.
|
| 485 |
|
|
|
| 486 |
|
|
PR c++/19253
|
| 487 |
|
|
* parser.c (cp_parser_postfix_expression): Use
|
| 488 |
|
|
cp_parser_elaborated_type_specifier to handle typename-types in
|
| 489 |
|
|
functional casts.
|
| 490 |
|
|
(cp_parser_enclosed_argument_list): Skip ahead to the end of the
|
| 491 |
|
|
template argument list if the closing ">" is not found.
|
| 492 |
|
|
|
| 493 |
|
|
PR c++/24569
|
| 494 |
|
|
* pt.c (instantiate_decl): Use cp_finish_decl, not
|
| 495 |
|
|
finish_static_data_member_decl.
|
| 496 |
|
|
|
| 497 |
|
|
2005-10-28 Andrew Pinski
|
| 498 |
|
|
|
| 499 |
|
|
* decl.c (grokfndecl): Remove the setting
|
| 500 |
|
|
of the return type of the function type
|
| 501 |
|
|
of main after erroring about must returning
|
| 502 |
|
|
int.
|
| 503 |
|
|
|
| 504 |
|
|
2005-10-28 Andrew Pinski
|
| 505 |
|
|
|
| 506 |
|
|
PR C++/23229
|
| 507 |
|
|
* decl.c (grokfndecl): Create a new function type
|
| 508 |
|
|
after erroring out about main not returning int.
|
| 509 |
|
|
|
| 510 |
|
|
2005-10-28 Josh Conner
|
| 511 |
|
|
|
| 512 |
|
|
PR c++/22153
|
| 513 |
|
|
* parser.c (cp_parser_member_declaration): Detect and handle
|
| 514 |
|
|
a template specialization.
|
| 515 |
|
|
|
| 516 |
|
|
2005-10-28 Andrew Pinski
|
| 517 |
|
|
|
| 518 |
|
|
PR C++/23426
|
| 519 |
|
|
* decl.c (start_decl): Check that the decl is an
|
| 520 |
|
|
error_mark_node before getting the type.
|
| 521 |
|
|
Remove the check for the decl's type being an
|
| 522 |
|
|
error_mark_node.
|
| 523 |
|
|
|
| 524 |
|
|
2005-10-21 Mark Mitchell
|
| 525 |
|
|
|
| 526 |
|
|
PR c++/24260
|
| 527 |
|
|
* parser.c (cp_parser_init_declarator): Pass attributes to
|
| 528 |
|
|
grokfield.
|
| 529 |
|
|
|
| 530 |
|
|
2005-10-20 Mark Mitchell
|
| 531 |
|
|
|
| 532 |
|
|
PR c++/22618
|
| 533 |
|
|
* search.c (accessible_p): Check access in the outermost set of
|
| 534 |
|
|
template parameters.
|
| 535 |
|
|
|
| 536 |
|
|
2005-10-20 Richard Guenther
|
| 537 |
|
|
|
| 538 |
|
|
* decl.c (grokdeclarator): Fix ambiguous pedwarn message.
|
| 539 |
|
|
|
| 540 |
|
|
2005-10-18 Volker Reichelt
|
| 541 |
|
|
|
| 542 |
|
|
PR c++/22293
|
| 543 |
|
|
* decl.c (grokdeclarator): Reject unqualified destructors in
|
| 544 |
|
|
friend declarations.
|
| 545 |
|
|
|
| 546 |
|
|
2005-10-18 Mark Mitchell
|
| 547 |
|
|
|
| 548 |
|
|
PR c++/23293
|
| 549 |
|
|
* pt.c (convert_template_argument): Use canonical type variants in
|
| 550 |
|
|
template specializations.
|
| 551 |
|
|
|
| 552 |
|
|
2005-10-18 Nathan Sidwell
|
| 553 |
|
|
|
| 554 |
|
|
PR c++/21383
|
| 555 |
|
|
* name-lookup.c (arg_assoc): Template args can be null in a
|
| 556 |
|
|
template-id-expr.
|
| 557 |
|
|
|
| 558 |
|
|
PR c++/22604
|
| 559 |
|
|
* class.c (update_vtable_entry_for_fn): Don't process invalid
|
| 560 |
|
|
covariant overriders.
|
| 561 |
|
|
|
| 562 |
|
|
PR c++/23118
|
| 563 |
|
|
* cp-tree.h (add_method): Add return value.
|
| 564 |
|
|
* class.c (add_method): Return success indicator.
|
| 565 |
|
|
* semantics.c (finish_member_declaration): Don't add an invalid
|
| 566 |
|
|
method to the method list.
|
| 567 |
|
|
|
| 568 |
|
|
2005-10-17 Mark Mitchell
|
| 569 |
|
|
|
| 570 |
|
|
PR c++/21908
|
| 571 |
|
|
* call.c (build_new_method_call): Do not show VTT parameters to
|
| 572 |
|
|
the user.
|
| 573 |
|
|
|
| 574 |
|
|
2005-10-17 Volker Reichelt
|
| 575 |
|
|
|
| 576 |
|
|
PR c++/23440
|
| 577 |
|
|
* parser.c (cp_parser_statement): If the parser reached CPP_EOF,
|
| 578 |
|
|
only complain about missing statement.
|
| 579 |
|
|
|
| 580 |
|
|
2005-10-17 Nathan Sidwell
|
| 581 |
|
|
|
| 582 |
|
|
PR c++/24386
|
| 583 |
|
|
* cp-tree.h (BASELINK_QUALIFIED_P): New.
|
| 584 |
|
|
* pt.c (tsubst_copy_and_build): : Use it.
|
| 585 |
|
|
* typeck.c (finish_class_member_access_expr): Set it.
|
| 586 |
|
|
|
| 587 |
|
|
PR c++/21353
|
| 588 |
|
|
* decl.c (check_default_argument): Don't check
|
| 589 |
|
|
processing_template_decl or uses_template_parms here.
|
| 590 |
|
|
(grokparms): Only call check_default_argument when not processing
|
| 591 |
|
|
a template decl.
|
| 592 |
|
|
* parser.c (cp_parser_late_parsing_default_arg): Call
|
| 593 |
|
|
check_default_argument when not processing a template decl.
|
| 594 |
|
|
|
| 595 |
|
|
2005-10-16 Mark Mitchell
|
| 596 |
|
|
|
| 597 |
|
|
PR c++/24389
|
| 598 |
|
|
* decl2.c (mark_used): Use uses_template_parms instead of
|
| 599 |
|
|
dependent_type_p.
|
| 600 |
|
|
* init.c (constant_value_1): Handle uninstantiated templates
|
| 601 |
|
|
specially.
|
| 602 |
|
|
* pt.c (instantiate_decl): Add sanity check.
|
| 603 |
|
|
|
| 604 |
|
|
2005-10-16 Mark Mitchell
|
| 605 |
|
|
|
| 606 |
|
|
PR c++/22173
|
| 607 |
|
|
* typeck.c (check_template_keyword): Fix thinko.
|
| 608 |
|
|
|
| 609 |
|
|
2005-10-16 Andrew Pinski
|
| 610 |
|
|
|
| 611 |
|
|
PR c++/23959
|
| 612 |
|
|
* decl.c (pop_switch): Only call c_do_switch_warnings
|
| 613 |
|
|
when not processing templates.
|
| 614 |
|
|
|
| 615 |
|
|
2005-10-16 Mark Mitchell
|
| 616 |
|
|
|
| 617 |
|
|
PR c++/22173
|
| 618 |
|
|
* cp-tree.h (QUALIFIED_NAME_IS_TEMPLATE): New macro.
|
| 619 |
|
|
(check_template_keyword): New function.
|
| 620 |
|
|
(finish_id_expression): Change prototoype.
|
| 621 |
|
|
(finish_qualified_id_expr): Change prototype.
|
| 622 |
|
|
(build_qualified_name): New function.
|
| 623 |
|
|
(finish_class_member_access_expr): Change prototype.
|
| 624 |
|
|
* init.c (build_offset_ref): Use build_qualified_name.
|
| 625 |
|
|
* mangle.c (write_expression): Likewise.
|
| 626 |
|
|
* parser.c (cp_parser_primary_expression): Remove qualifying_class
|
| 627 |
|
|
parameter. Add address_p and template_arg_p. Use
|
| 628 |
|
|
build_qualified_name.
|
| 629 |
|
|
(cp_parser_id_expression): Default *template_p to
|
| 630 |
|
|
template_keyword_p. Check for invalid uses of the template
|
| 631 |
|
|
keyword.
|
| 632 |
|
|
(cp_parser_postfix_expression): Eliminate special handling for
|
| 633 |
|
|
qualified names. Adjust call to cp_parser_primary_expression.
|
| 634 |
|
|
(cp_parser_postfix_dot_deref_expression): Adjust call to
|
| 635 |
|
|
cp_parser_id_expression and finish_class_member_access_expr.
|
| 636 |
|
|
(cp_parser_template_argument_list): Add comment.
|
| 637 |
|
|
(cp_parser_template_argument): Adjust use of
|
| 638 |
|
|
cp_parser_primary_expression. Remove call to
|
| 639 |
|
|
finish_qualified_id_expr.
|
| 640 |
|
|
(cp_parser_lookup_name): Use build_qualified_name.
|
| 641 |
|
|
* pt.c (tsubst): Use build_qualified_name.
|
| 642 |
|
|
(tsubst_qualified_id): Likewise. Adjust call to
|
| 643 |
|
|
finish_qualified_id_expr.
|
| 644 |
|
|
(tsubst_copy): Use build_qualified_name.
|
| 645 |
|
|
(tsubst_copy_and_build): Adjusts call to finish_id_expression and
|
| 646 |
|
|
finish_class_member_access_expr.
|
| 647 |
|
|
* semantics.c (finish_non_static_data_member): Use
|
| 648 |
|
|
build_qualified_name.
|
| 649 |
|
|
(finish_qualified_id_expr): Add template_p and template_arg_p
|
| 650 |
|
|
parameters.
|
| 651 |
|
|
(finish_id_expression): Remove qualifiying_class parameter. Add
|
| 652 |
|
|
template_p, done, address_p, and template_arg_p. Use
|
| 653 |
|
|
build_qualified_name. Adjust calls to
|
| 654 |
|
|
finish_class_member_acess_expr.
|
| 655 |
|
|
* tree.c (build_qualified_name): New function.
|
| 656 |
|
|
* typeck.c (check_template_keyword): New function.
|
| 657 |
|
|
(finish_class_member_access_expr): Add template_p argument. Check
|
| 658 |
|
|
for invalid uses of the template keyword.
|
| 659 |
|
|
|
| 660 |
|
|
2005-10-15 Mark Mitchell
|
| 661 |
|
|
|
| 662 |
|
|
PR c++/21347
|
| 663 |
|
|
* class.c (maybe_warn_about_overly_private_class): Lazy
|
| 664 |
|
|
constructors are public.
|
| 665 |
|
|
|
| 666 |
|
|
2005-10-14 Mark Mitchell
|
| 667 |
|
|
|
| 668 |
|
|
PR c++/19565
|
| 669 |
|
|
* call.c (convert_like_real): Rely on convert_and_check to issue
|
| 670 |
|
|
warnings about overflow and conversion to unsigned.
|
| 671 |
|
|
* decl.c (finish_enum): Use the location of the enumerators, not
|
| 672 |
|
|
the closing brace of the enumeration, when reporting warnings
|
| 673 |
|
|
about conversions.
|
| 674 |
|
|
(build_enumerator): Use error_mark_node for erroneous values.
|
| 675 |
|
|
* typeck2.c (digest_init): Remove reference to "signature pointer"
|
| 676 |
|
|
from comment.
|
| 677 |
|
|
|
| 678 |
|
|
2005-10-14 Nathan Sidwell
|
| 679 |
|
|
|
| 680 |
|
|
PR c++/17796
|
| 681 |
|
|
* optimize.c (update_cloned_parm): Add FIRST parameter. Use it.
|
| 682 |
|
|
(maybe_clone_body): Track the first clone.
|
| 683 |
|
|
|
| 684 |
|
|
2005-10-13 Nathan Sidwell
|
| 685 |
|
|
|
| 686 |
|
|
PR c++/23984
|
| 687 |
|
|
* class.c (build_base_path): The vtable is always the first thing
|
| 688 |
|
|
in the vtt.
|
| 689 |
|
|
|
| 690 |
|
|
2005-10-13 Mark Mitchell
|
| 691 |
|
|
|
| 692 |
|
|
PR c++/20721
|
| 693 |
|
|
* cp-tree.h (DECL_NONTRIVIALLY_INITIALIZED_P): New macro.
|
| 694 |
|
|
* decl.c (duplicate_decls): Merge it into new declarations.
|
| 695 |
|
|
(decl_jump_unsafe): Use it, rather than DECL_INITIAL.
|
| 696 |
|
|
(cp_finish_decl): Set it, when appropriate.
|
| 697 |
|
|
|
| 698 |
|
|
PR c++/22180
|
| 699 |
|
|
* call.c (build_new_method_call): Correct pretty-printing of
|
| 700 |
|
|
destructor names.
|
| 701 |
|
|
* pt.c (tsubst_qualified_id): Recognize invalid uses of "~T" as an
|
| 702 |
|
|
identifier.
|
| 703 |
|
|
|
| 704 |
|
|
PR c++/23694
|
| 705 |
|
|
* decl.c (start_method): Return error_mark_node for errors.
|
| 706 |
|
|
|
| 707 |
|
|
PR c++/23307
|
| 708 |
|
|
* pt.c (push_template_decl_real): Complain about attempts to
|
| 709 |
|
|
declare template variables.
|
| 710 |
|
|
|
| 711 |
|
|
PR c++/22352
|
| 712 |
|
|
* pt.c (tsubst_template_parms): Set processing_template_decl while
|
| 713 |
|
|
processing the parameters.
|
| 714 |
|
|
(tsubst_decl): Set processing_template_decl when substituting into
|
| 715 |
|
|
a TEMPLATE_DECL.
|
| 716 |
|
|
|
| 717 |
|
|
PR c++/22405
|
| 718 |
|
|
* pt.c (most_specialized_instantiation): Robustify.
|
| 719 |
|
|
|
| 720 |
|
|
PR c++/22464
|
| 721 |
|
|
* semantics.c (finish_id_expression): Issue errors about uses of
|
| 722 |
|
|
local variables in containing functions even in templates.
|
| 723 |
|
|
|
| 724 |
|
|
2005-10-12 Danny Smith
|
| 725 |
|
|
|
| 726 |
|
|
PR target/21801
|
| 727 |
|
|
PR target/23589
|
| 728 |
|
|
* class.c (finish_struct_1): Call
|
| 729 |
|
|
targetm.cxx.adjust_class_at_definition.
|
| 730 |
|
|
|
| 731 |
|
|
|
| 732 |
|
|
2005-10-12 Nathan Sidwell
|
| 733 |
|
|
|
| 734 |
|
|
PR c++/21592
|
| 735 |
|
|
* pt.c (build_non_dependent_expr): Don't wrap a COMPONENT_REF
|
| 736 |
|
|
with already looked up member functions. Assert we're not
|
| 737 |
|
|
returning a NON_DEPENDENT_EXPR with unknown type.
|
| 738 |
|
|
* typeck.c (finish_class_member_access_expr): We can get
|
| 739 |
|
|
non-template-id-expr baselinks. If the lookup finds a baselink,
|
| 740 |
|
|
remember it even inside templates.
|
| 741 |
|
|
|
| 742 |
|
|
PR c++/23797
|
| 743 |
|
|
* parser.c (cp_parser_functional_cast): Cope when TYPE is not a
|
| 744 |
|
|
TYPE_DECL. Use dependent_type_p to check type.
|
| 745 |
|
|
* pt.c (uses_template_parms_p): Use dependent_type_p for a
|
| 746 |
|
|
TYPE_DECL.
|
| 747 |
|
|
(type_dependent_expression_p): Assert we've not been given a
|
| 748 |
|
|
TYPE_DECL.
|
| 749 |
|
|
|
| 750 |
|
|
PR c++/21117
|
| 751 |
|
|
* decl.c (check_function_type): Correctly overwrite incomplete
|
| 752 |
|
|
return type with void type.
|
| 753 |
|
|
* typeck.c (check_return_expr): If the function's return type is
|
| 754 |
|
|
void, don't try and convert a return expr.
|
| 755 |
|
|
|
| 756 |
|
|
2005-10-12 David Edelsohn
|
| 757 |
|
|
|
| 758 |
|
|
PR c++/23730
|
| 759 |
|
|
* call.c (build_object_call): If BINFO is NULL, bypass
|
| 760 |
|
|
lookup_fnfields and set fns to NULL_TREE.
|
| 761 |
|
|
|
| 762 |
|
|
2005-10-12 Paolo Bonzini
|
| 763 |
|
|
|
| 764 |
|
|
PR c++/24052
|
| 765 |
|
|
* error.c (dump_expr): Pass LABEL_DECL to dump_decl. Print
|
| 766 |
|
|
an ADDR_EXPR of a LABEL_DECL as &&.
|
| 767 |
|
|
|
| 768 |
|
|
2005-10-12 Nathan Sidwell
|
| 769 |
|
|
|
| 770 |
|
|
PR c++/19964
|
| 771 |
|
|
* class.c (walk_subobject_offsets): Don't walk error_mark_node.
|
| 772 |
|
|
|
| 773 |
|
|
2005-10-11 Ian Lance Taylor
|
| 774 |
|
|
|
| 775 |
|
|
PR c++/8057
|
| 776 |
|
|
* cvt.c (convert_to_void): Don't warn about unused values when
|
| 777 |
|
|
processing a template declaration.
|
| 778 |
|
|
|
| 779 |
|
|
2005-10-11 Mark Mitchell
|
| 780 |
|
|
|
| 781 |
|
|
PR c++/21089
|
| 782 |
|
|
* call.c (convert_like_real): Use decl_constant_value, not
|
| 783 |
|
|
integral_constant_value.
|
| 784 |
|
|
* init.c (constant_value_1): New function.
|
| 785 |
|
|
(integral_constant_value): Use it.
|
| 786 |
|
|
(decl_constant_value): Likewise.
|
| 787 |
|
|
* typeck.c (decay_conversion): Use decl_constant_value, not
|
| 788 |
|
|
integral_constant_value.
|
| 789 |
|
|
|
| 790 |
|
|
PR c++/21369
|
| 791 |
|
|
* parser.c (cp_parser_elaborated_type_specifier): Don't treat
|
| 792 |
|
|
class types as templates if the type is not appearing as part of a
|
| 793 |
|
|
type definition or declaration.
|
| 794 |
|
|
|
| 795 |
|
|
2005-10-10 Mark Mitchell
|
| 796 |
|
|
|
| 797 |
|
|
PR c++/24277
|
| 798 |
|
|
* pt.c (instantiate_decl): Call finish_static_data_member_decl for
|
| 799 |
|
|
static data members.
|
| 800 |
|
|
|
| 801 |
|
|
2005-10-10 Giovanni Bajo
|
| 802 |
|
|
Mark Mitchell
|
| 803 |
|
|
|
| 804 |
|
|
PR c++/23437
|
| 805 |
|
|
* parser.c (cp_parser_template_argument_list): Do not treat
|
| 806 |
|
|
contents of argument list as part of a constant expression.
|
| 807 |
|
|
|
| 808 |
|
|
2005-10-10 Mark Mitchell
|
| 809 |
|
|
|
| 810 |
|
|
PR c++/24139
|
| 811 |
|
|
* decl.c (grokdeclarator): Do not require template parameter lists
|
| 812 |
|
|
for explicitly specialized class.
|
| 813 |
|
|
* error.c (dump_aggr_type): Do not dump template arguments for
|
| 814 |
|
|
non-primary specializations.
|
| 815 |
|
|
(dump_function_name): Likewise.
|
| 816 |
|
|
|
| 817 |
|
|
PR c++/24275
|
| 818 |
|
|
* pt.c (instantiate_decl): Instantiate the initializer of
|
| 819 |
|
|
a static data member in the namespace containing the class
|
| 820 |
|
|
containing the static data member.
|
| 821 |
|
|
|
| 822 |
|
|
2005-10-08 James A. Morrison
|
| 823 |
|
|
|
| 824 |
|
|
PR c++/22172
|
| 825 |
|
|
* parser.c (cp_parser_postfix_expression) : Treat nontype
|
| 826 |
|
|
scopes as nondependent.
|
| 827 |
|
|
|
| 828 |
|
|
2005-10-06 Volker Reichelt
|
| 829 |
|
|
|
| 830 |
|
|
* call.c (resolve_args): Remove redundant test.
|
| 831 |
|
|
|
| 832 |
|
|
2005-10-05 Paolo Bonzini
|
| 833 |
|
|
|
| 834 |
|
|
PR tree-optimization/21419
|
| 835 |
|
|
PR tree-optimization/24146
|
| 836 |
|
|
PR tree-optimization/24151
|
| 837 |
|
|
|
| 838 |
|
|
* semantics.c (finish_asm_stmt): Call readonly_error if outputs are
|
| 839 |
|
|
read-only. Set ASM_VOLATILE_P for asms without outputs.
|
| 840 |
|
|
|
| 841 |
|
|
2005-10-05 Nathan Sidwell
|
| 842 |
|
|
|
| 843 |
|
|
PR c++/23513
|
| 844 |
|
|
* call.c (joust): Adjust length count to more_specialized_fn.
|
| 845 |
|
|
* pt.c (more_specialized_fn): Cope with non-static member vs
|
| 846 |
|
|
non-member.
|
| 847 |
|
|
|
| 848 |
|
|
2005-10-04 Andrew Pinski
|
| 849 |
|
|
|
| 850 |
|
|
PR middle-end/23125
|
| 851 |
|
|
* decl.c (make_rtl_for_nonlocal_decl): Use set_user_assembler_name
|
| 852 |
|
|
instead of change_decl_assembler_name.
|
| 853 |
|
|
|
| 854 |
|
|
2005-10-03 Alexandre Oliva
|
| 855 |
|
|
|
| 856 |
|
|
* error.c (dump_type) : Print reworded message.
|
| 857 |
|
|
|
| 858 |
|
|
2005-10-03 Mark Mitchell
|
| 859 |
|
|
|
| 860 |
|
|
PR c++/17775
|
| 861 |
|
|
* repo.c: Include flags.h.
|
| 862 |
|
|
(finish_repo): Add -frandom-seed to the arguments.
|
| 863 |
|
|
|
| 864 |
|
|
2005-10-02 Mark Mitchell
|
| 865 |
|
|
|
| 866 |
|
|
PR c++/22621
|
| 867 |
|
|
* parser.c (cp_parser_template_argument): Don't turn "T::f" into
|
| 868 |
|
|
"(*this).T::f".
|
| 869 |
|
|
* pt.c (convert_nontype_argument): Remove ??? comment.
|
| 870 |
|
|
|
| 871 |
|
|
PR c++/23840
|
| 872 |
|
|
* tree.c (lvalue_p_1): A VA_ARG_EXPR with class type is an lvalue,
|
| 873 |
|
|
when class rvalues are lvalues.
|
| 874 |
|
|
|
| 875 |
|
|
2005-09-28 Mark Mitchell
|
| 876 |
|
|
|
| 877 |
|
|
PR c++/16782
|
| 878 |
|
|
* decl.c (grokdeclarator): Always pedwarn about overqualified
|
| 879 |
|
|
member names.
|
| 880 |
|
|
|
| 881 |
|
|
2005-09-27 Mark Mitchell
|
| 882 |
|
|
|
| 883 |
|
|
PR c++/22147
|
| 884 |
|
|
* name-lookup.c (maybe_process_template_type_declaration): Don't
|
| 885 |
|
|
treat forward declarations of classes as templates just because
|
| 886 |
|
|
we're processing_template_decl.
|
| 887 |
|
|
* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INFO for friend
|
| 888 |
|
|
functions.
|
| 889 |
|
|
|
| 890 |
|
|
2005-09-26 Jason Merrill
|
| 891 |
|
|
|
| 892 |
|
|
PR c++/13764
|
| 893 |
|
|
* cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): New macro.
|
| 894 |
|
|
* name-lookup.c (pushdecl_maybe_friend): Check it.
|
| 895 |
|
|
* decl.c (begin_function_body): Do nothing if it's false.
|
| 896 |
|
|
(finish_function_body): Ditto.
|
| 897 |
|
|
(outer_curly_brace_block): New fn.
|
| 898 |
|
|
(finish_function): Use it.
|
| 899 |
|
|
|
| 900 |
|
|
2005-09-26 Richard Guenther
|
| 901 |
|
|
|
| 902 |
|
|
PR middle-end/15855
|
| 903 |
|
|
* decl2.c (do_static_destruction): Remove.
|
| 904 |
|
|
(finish_static_initialization_or_destruction): Likewise.
|
| 905 |
|
|
(DECL_EFFECTIVE_INIT_PRIORITY): New macro.
|
| 906 |
|
|
(NEEDS_GUARD_P): Likewise.
|
| 907 |
|
|
(do_static_initialization): Rename to
|
| 908 |
|
|
do_static_initialization_or_destruction. Process all
|
| 909 |
|
|
initializers/destructors and handle common conditionalizing.
|
| 910 |
|
|
(start_static_initialization_or_destruction): Rename to
|
| 911 |
|
|
one_static_initialization_or_destruction. Handle only
|
| 912 |
|
|
decl-specific conditionalizing.
|
| 913 |
|
|
(cp_finish_file): Call do_static_initialization_or_destruction.
|
| 914 |
|
|
|
| 915 |
|
|
2005-09-22 Jakub Jelinek
|
| 916 |
|
|
|
| 917 |
|
|
PR c++/21983
|
| 918 |
|
|
* class.c (find_final_overrider): Move diagnostic about no unique final
|
| 919 |
|
|
overrider to...
|
| 920 |
|
|
(update_vtable_entry_for_fn): ... here.
|
| 921 |
|
|
|
| 922 |
|
|
2005-09-21 Mark Mitchell
|
| 923 |
|
|
|
| 924 |
|
|
PR c++/23993
|
| 925 |
|
|
* init.c (integral_constant_value): Use DECL_INTEGRAL_CONSTANT_VAR_P.
|
| 926 |
|
|
|
| 927 |
|
|
2005-09-21 Volker Reichelt
|
| 928 |
|
|
|
| 929 |
|
|
PR c++/23965
|
| 930 |
|
|
* call.c (resolve_args): Return error_mark_node on arguments
|
| 931 |
|
|
whose TREE_TYPE is error_mark_node.
|
| 932 |
|
|
|
| 933 |
|
|
2005-09-20 Jakub Jelinek
|
| 934 |
|
|
|
| 935 |
|
|
PR c++/23947
|
| 936 |
|
|
* rtti.c (get_pseudo_ti_init): Recompute ti pointer after
|
| 937 |
|
|
get_tinfo_ptr calls.
|
| 938 |
|
|
|
| 939 |
|
|
2005-09-16 Mark Mitchell
|
| 940 |
|
|
|
| 941 |
|
|
PR c++/23914
|
| 942 |
|
|
* parser.c (cp_parser_enclosed_template_argument_list): Make sure
|
| 943 |
|
|
skip_evaluation is false when processing template arguments.
|
| 944 |
|
|
|
| 945 |
|
|
PR c++/21514
|
| 946 |
|
|
* pt.c (check_instantiated_args): Treat uses of anonymous types as
|
| 947 |
|
|
causing type-deduction failure.
|
| 948 |
|
|
|
| 949 |
|
|
2005-09-15 Jason Merrill
|
| 950 |
|
|
|
| 951 |
|
|
PR c++/23357
|
| 952 |
|
|
* cp-tree.def (SIZEOF_EXPR, ALIGNOF_EXPR): Change code class to
|
| 953 |
|
|
tcc_expression.
|
| 954 |
|
|
|
| 955 |
|
|
2005-09-15 Mark Mitchell
|
| 956 |
|
|
|
| 957 |
|
|
PR c++/23896
|
| 958 |
|
|
* pt.c (tsubst_aggr_type): Make sure skip_evaluation is false when
|
| 959 |
|
|
processing template arguments.
|
| 960 |
|
|
|
| 961 |
|
|
* pt.c (check_explicit_instantiation_namespace): Fix typo.
|
| 962 |
|
|
|
| 963 |
|
|
PR c++/13140
|
| 964 |
|
|
* decl.c (check_class_member_definition_namespace): New function.
|
| 965 |
|
|
(grokfndecl): Use it.
|
| 966 |
|
|
(grokvardecl): Likewise.
|
| 967 |
|
|
(grokdecl): Improve documentation.
|
| 968 |
|
|
* pt.c (check_explicit_instantiation_namespace): New function.
|
| 969 |
|
|
(register_specialization): Call check_specialization_namespace
|
| 970 |
|
|
when replacing an implicitly instantiated function.
|
| 971 |
|
|
(check_explicit_specialization): Ensure that DECL_CONTEXT is set
|
| 972 |
|
|
correctly for namespace-scope specializations.
|
| 973 |
|
|
(do_decl_instantiation): Use
|
| 974 |
|
|
check_explicit_instantiation_namespace.
|
| 975 |
|
|
(do_type_instantiation): Likewise.
|
| 976 |
|
|
|
| 977 |
|
|
2005-09-15 Nathan Sidwell
|
| 978 |
|
|
|
| 979 |
|
|
PR c++/23725
|
| 980 |
|
|
* error.c (dump_decl): Use USING_DECL_SCOPE.
|
| 981 |
|
|
|
| 982 |
|
|
2005-09-13 Bastian Blank
|
| 983 |
|
|
|
| 984 |
|
|
PR c++/16171
|
| 985 |
|
|
* mangle.c (find_substitution): Do not use special substitutions
|
| 986 |
|
|
for identifiers not in std::.
|
| 987 |
|
|
|
| 988 |
|
|
2005-09-13 Mark Mitchell
|
| 989 |
|
|
|
| 990 |
|
|
PR c++/23839
|
| 991 |
|
|
* typeck.c (cxx_mark_addressable): Only check DECL_HARD_REGISTER
|
| 992 |
|
|
for VAR_DECLs.
|
| 993 |
|
|
|
| 994 |
|
|
2005-09-13 Mark Mitchell
|
| 995 |
|
|
|
| 996 |
|
|
PR c++/23842
|
| 997 |
|
|
* pt.c (tsubst_default_argument): Do treat default argument
|
| 998 |
|
|
expressions as occurring in the context of the function called.
|
| 999 |
|
|
|
| 1000 |
|
|
2005-09-12 Mark Mitchell
|
| 1001 |
|
|
|
| 1002 |
|
|
PR c++/23841
|
| 1003 |
|
|
* parser.c (cp_parser_primary_expression): Recognize the closing
|
| 1004 |
|
|
">" of a template-argument-list after a floating-point literal as
|
| 1005 |
|
|
the end of a cast expression.
|
| 1006 |
|
|
|
| 1007 |
|
|
2005-09-12 Mark Mitchell
|
| 1008 |
|
|
|
| 1009 |
|
|
PR c++/23789
|
| 1010 |
|
|
* cvt.c (perform_qualification_conversions): Don't create
|
| 1011 |
|
|
unnecessary NOP_EXPRs.
|
| 1012 |
|
|
* pt.c (tsubst_template_arg): Use fold_non_dependent_expr.
|
| 1013 |
|
|
|
| 1014 |
|
|
2005-09-12 Ian Lance Taylor
|
| 1015 |
|
|
|
| 1016 |
|
|
PR g++/7874
|
| 1017 |
|
|
* cp-tree.h (struct lang_decl_flags): Add hidden_friend_p
|
| 1018 |
|
|
bitfield. Make dummy bitfield one bit smaller.
|
| 1019 |
|
|
(DECL_HIDDEN_FRIEND_P): Define.
|
| 1020 |
|
|
(pushdecl_maybe_friend): Declare.
|
| 1021 |
|
|
(pushdecl_top_level_maybe_friend): Declare.
|
| 1022 |
|
|
* decl.c (duplicate_decls): Add newdecl_is_friend parameter.
|
| 1023 |
|
|
Change prototype and all callers. Add assertion that a
|
| 1024 |
|
|
DECL_ARTIFICIAL FUNCTION_DECL is not DECL_HIDDEN_FRIEND_P. Set
|
| 1025 |
|
|
DECL_ANTICIPATED and DECL_HIDDEN_FRIEND_P in duplicated decl if
|
| 1026 |
|
|
appropriate.
|
| 1027 |
|
|
* name-lookup.c (supplement_binding): Don't ignore a
|
| 1028 |
|
|
DECL_HIDDEN_FRIEND_P.
|
| 1029 |
|
|
(pushdecl_maybe_friend): Break out contents of pushdecl. Add
|
| 1030 |
|
|
is_friend parameter. Set DECL_ANTICIPATED and
|
| 1031 |
|
|
DECL_HIDDEN_FRIEND_P for a friend function.
|
| 1032 |
|
|
(pushdecl): Just call pushdecl_maybe_friend.
|
| 1033 |
|
|
(pushdecl_with_scope): Add is_friend parameter. Change prototype
|
| 1034 |
|
|
and all callers.
|
| 1035 |
|
|
(pushdecl_namespace_level): Likewise.
|
| 1036 |
|
|
(push_overloaded_decl): Likewise. Check DECL_HIDDEN_FRIEND_P as
|
| 1037 |
|
|
well as DECL_ANTICIPATED when checking for a builtin.
|
| 1038 |
|
|
(do_nonmember_using_decl): Check DECL_HIDDEN_FRIEND_P as well as
|
| 1039 |
|
|
DECL_ANTICIPATED when checking for a builtin.
|
| 1040 |
|
|
(do_nonmember_using_decl): Likewise.
|
| 1041 |
|
|
(pushdecl_top_level_1): Add is_friend parameter. Change all
|
| 1042 |
|
|
callers.
|
| 1043 |
|
|
(pushdecl_top_level_maybe_friend): New function.
|
| 1044 |
|
|
(remove_hidden_names): New function.
|
| 1045 |
|
|
(struct arg_lookup): Add args field.
|
| 1046 |
|
|
(friend_of_associated_class_p): New static function.
|
| 1047 |
|
|
(arg_assoc_namespace): Ignore hidden functions which are not
|
| 1048 |
|
|
friends of an associated class of some argument.
|
| 1049 |
|
|
(lookup_arg_dependent): Remove hidden functions from list passed
|
| 1050 |
|
|
in. Initialize k.args.
|
| 1051 |
|
|
* name-lookup.h (remove_hidden_names): Declare.
|
| 1052 |
|
|
* friend.c (do_friend): Call pushdecl_maybe_friend instead of
|
| 1053 |
|
|
pushdecl.
|
| 1054 |
|
|
* call.c (add_function_candidate): Change DECL_ANTICIPATED test to
|
| 1055 |
|
|
an assertion, with a check for DECL_HIDDEN_FRIEND_P.
|
| 1056 |
|
|
(build_new_function_call): Add koenig_p parameter. Change
|
| 1057 |
|
|
prototype and callers.
|
| 1058 |
|
|
* pt.c (register_specialization): Add is_friend parameter. Change
|
| 1059 |
|
|
all callers.
|
| 1060 |
|
|
(push_template_decl_real): Change is_friend parameter to bool.
|
| 1061 |
|
|
Change prototype and all callers.
|
| 1062 |
|
|
(tsubst_friend_class): Call pushdecl_top_level_maybe_friend
|
| 1063 |
|
|
instead of pushdecl_top_level.
|
| 1064 |
|
|
|
| 1065 |
|
|
2005-09-11 Richard Henderson
|
| 1066 |
|
|
|
| 1067 |
|
|
* decl2.c (build_anon_union_vars): Copy attributes from the base addr.
|
| 1068 |
|
|
* pt.c (tsubst_decl): Substitute in DECL_VALUE_EXPR.
|
| 1069 |
|
|
|
| 1070 |
|
|
2005-09-09 Gabriel Dos Reis
|
| 1071 |
|
|
|
| 1072 |
|
|
* parser.c (cp_parser_translation_unit): Simplify. The while-block
|
| 1073 |
|
|
was actually executed at most once.
|
| 1074 |
|
|
|
| 1075 |
|
|
2005-09-09 Richard Henderson
|
| 1076 |
|
|
|
| 1077 |
|
|
PR debug/20998
|
| 1078 |
|
|
* cp-tree.def (ALIAS_DECL): Remove.
|
| 1079 |
|
|
* cp-lang.c (cp_init_ts): Remove support for it.
|
| 1080 |
|
|
* error.c (dump_decl): Likewise.
|
| 1081 |
|
|
* name-lookup.c (pushdecl): Likewise.
|
| 1082 |
|
|
* semantics.c (finish_id_expression): Likewise.
|
| 1083 |
|
|
* decl2.c (build_anon_union_vars): Use a VAR_DECL with
|
| 1084 |
|
|
DECL_VALUE_EXPR instead.
|
| 1085 |
|
|
|
| 1086 |
|
|
2005-09-09 Mark Mitchell
|
| 1087 |
|
|
|
| 1088 |
|
|
PR c++/22252
|
| 1089 |
|
|
* decl.c (start_preparsed_function): Do not pay attention to
|
| 1090 |
|
|
#pragma interface for implicitly-defined methods.
|
| 1091 |
|
|
* decl2.c (cp_finish_file): Do not complain about uses of inline
|
| 1092 |
|
|
functions that have bodies, even if we decided not to emit the
|
| 1093 |
|
|
body in this translation unit.
|
| 1094 |
|
|
* semantics.c (note_decl_for_pch): Do not mess with linkage.
|
| 1095 |
|
|
(expand_or_defer_fn): Make inline, non-template functions COMDAT
|
| 1096 |
|
|
at this point.
|
| 1097 |
|
|
|
| 1098 |
|
|
2005-09-08 Richard Henderson
|
| 1099 |
|
|
|
| 1100 |
|
|
PR debug/23190
|
| 1101 |
|
|
* decl.c (wrapup_globals_for_namespace): Call
|
| 1102 |
|
|
emit_debug_global_declarations.
|
| 1103 |
|
|
* decl2.c (cp_finish_file): Likewise.
|
| 1104 |
|
|
|
| 1105 |
|
|
2005-09-08 Mark Mitchell
|
| 1106 |
|
|
|
| 1107 |
|
|
PR c++/23691
|
| 1108 |
|
|
* decl2.c (mark_used): Instantiate static data members initialized
|
| 1109 |
|
|
by constants, even in a template.
|
| 1110 |
|
|
|
| 1111 |
|
|
2005-09-08 Andrew Pinski
|
| 1112 |
|
|
|
| 1113 |
|
|
PR obj-c++/16816
|
| 1114 |
|
|
* parser.c (cp_parser_objc_selector_expression): Treat CPP_SCOPE as
|
| 1115 |
|
|
two CPP_COLON.
|
| 1116 |
|
|
|
| 1117 |
|
|
2005-09-07 Richard Guenther
|
| 1118 |
|
|
|
| 1119 |
|
|
* cp-gimplify.c (cp_gimplify_expr): Create empty CONSTRUCTOR
|
| 1120 |
|
|
for EMPTY_CLASS_EXPR.
|
| 1121 |
|
|
|
| 1122 |
|
|
2005-09-06 Jakub Jelinek
|
| 1123 |
|
|
|
| 1124 |
|
|
PR c/23075
|
| 1125 |
|
|
* typeck.c (check_return_expr): Add no_warning argument. Set
|
| 1126 |
|
|
*no_warning to true if "return-statement with no value, in function
|
| 1127 |
|
|
returning" warning has been issued.
|
| 1128 |
|
|
* cp-tree.h (check_return_expr): Adjust prototype.
|
| 1129 |
|
|
* semantics.c (finish_return_stmt): Set TREE_NO_WARNING if
|
| 1130 |
|
|
check_return_expr set *no_warning to true.
|
| 1131 |
|
|
|
| 1132 |
|
|
2005-09-06 Mark Mitchell
|
| 1133 |
|
|
|
| 1134 |
|
|
* cp-tree.h (rvalue): New function.
|
| 1135 |
|
|
* call.c (build_conditional_expr): Use it.
|
| 1136 |
|
|
* init.c (build_new_1): Likewise.
|
| 1137 |
|
|
* rtti.c (build_dynamic_cast_1): Likewise.
|
| 1138 |
|
|
* tree.c (rvalue): New function.
|
| 1139 |
|
|
* typeck.c (build_unary_op): Use it.
|
| 1140 |
|
|
(build_static_cast_1): Likewise.
|
| 1141 |
|
|
|
| 1142 |
|
|
PR c++/9782
|
| 1143 |
|
|
* init.c (build_new_1): Make sure the entire array type is
|
| 1144 |
|
|
complete, not just its element types.
|
| 1145 |
|
|
|
| 1146 |
|
|
2005-09-06 Volker Reichelt
|
| 1147 |
|
|
|
| 1148 |
|
|
* decl.c (check_elaborated_type_specifier): Remove redundant check.
|
| 1149 |
|
|
|
| 1150 |
|
|
2005-09-06 Jakub Jelinek
|
| 1151 |
|
|
|
| 1152 |
|
|
PR c++/23056
|
| 1153 |
|
|
* typeck.c (ignore_overflows): New helper function.
|
| 1154 |
|
|
(build_static_cast_1): Use it.
|
| 1155 |
|
|
|
| 1156 |
|
|
2005-09-06 Kazu Hirata
|
| 1157 |
|
|
|
| 1158 |
|
|
* cp-tree.h, decl.c, decl2.c, semantics.c: Fix comment typos.
|
| 1159 |
|
|
Follow spelling conventions.
|
| 1160 |
|
|
|
| 1161 |
|
|
2005-09-05 Mark Mitchell
|
| 1162 |
|
|
|
| 1163 |
|
|
PR c++/23667
|
| 1164 |
|
|
* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INSTANTIATED when
|
| 1165 |
|
|
copying a VAR_DECL.
|
| 1166 |
|
|
|
| 1167 |
|
|
2005-09-05 Mark Mitchell
|
| 1168 |
|
|
|
| 1169 |
|
|
PR c++/21440
|
| 1170 |
|
|
* semantics.c (finish_stmt_expr_expr): Add an explicit
|
| 1171 |
|
|
initialization to the last statement in the statement-expression.
|
| 1172 |
|
|
* (finish_stmt_expr): Adjust accordingly.
|
| 1173 |
|
|
|
| 1174 |
|
|
2005-09-03 Mark Mitchell
|
| 1175 |
|
|
|
| 1176 |
|
|
PR c++/23699
|
| 1177 |
|
|
* decl2.c (mark_used): Always instantiate static data members
|
| 1178 |
|
|
initialized by constant expressions.
|
| 1179 |
|
|
* pt.c (instantiate_decl): Instantiate the initializers for static
|
| 1180 |
|
|
data members initialized by constant expressions.
|
| 1181 |
|
|
|
| 1182 |
|
|
PR c++/21687
|
| 1183 |
|
|
* semantics.c (expand_or_defer_fn): Do not call ggc_collect when
|
| 1184 |
|
|
finishing processing for a template function in a local class.
|
| 1185 |
|
|
Revert:
|
| 1186 |
|
|
2005-09-02 Mark Mitchell
|
| 1187 |
|
|
* parser.c (cp_parser_class_specifier): Push/pop GC contexts
|
| 1188 |
|
|
around functions in local classes.
|
| 1189 |
|
|
|
| 1190 |
|
|
2005-09-02 Mark Mitchell
|
| 1191 |
|
|
|
| 1192 |
|
|
PR c++/21687
|
| 1193 |
|
|
* parser.c (cp_parser_class_specifier): Push/pop GC contexts
|
| 1194 |
|
|
around functions in local classes.
|
| 1195 |
|
|
|
| 1196 |
|
|
2005-08-31 Andrew Pinski
|
| 1197 |
|
|
|
| 1198 |
|
|
PR obj-c++/23640
|
| 1199 |
|
|
* decl2.c (cp_finish_file): If this is obj-c++ and we need a static
|
| 1200 |
|
|
init, call generate_ctor_or_dtor_function.
|
| 1201 |
|
|
|
| 1202 |
|
|
2005-08-31 Volker Reichelt
|
| 1203 |
|
|
|
| 1204 |
|
|
PR c++/13377
|
| 1205 |
|
|
* parser.c (cp_parser_lookup_name): Pass LOOKUP_COMPLAIN to
|
| 1206 |
|
|
lookup_name_real on final parse.
|
| 1207 |
|
|
|
| 1208 |
|
|
2005-08-31 Volker Reichelt
|
| 1209 |
|
|
|
| 1210 |
|
|
PR c++/23639
|
| 1211 |
|
|
* semantics.c (qualified_name_lookup_error): Do not complain again
|
| 1212 |
|
|
on invalid scope.
|
| 1213 |
|
|
|
| 1214 |
|
|
2005-08-30 Volker Reichelt
|
| 1215 |
|
|
|
| 1216 |
|
|
PR c++/23586
|
| 1217 |
|
|
* parser.c (cp_parser_namespace_name): Move diagnostic for
|
| 1218 |
|
|
invalid namespace-name to here from ...
|
| 1219 |
|
|
* name-lookup.c (do_namespace_alias): ... here and ...
|
| 1220 |
|
|
(do_using_directive): ... here. Remove dead code.
|
| 1221 |
|
|
|
| 1222 |
|
|
2005-08-28 Mark Mitchell
|
| 1223 |
|
|
|
| 1224 |
|
|
PR c++/23099
|
| 1225 |
|
|
* cp-tree.h (saved_scope): Add skip_evaluation.
|
| 1226 |
|
|
* decl.c (start_decl): Use DECL_INITIALIZED_IN_CLASS_P, not
|
| 1227 |
|
|
DECL_INITIAL, to determine whether or not a static data member was
|
| 1228 |
|
|
initialized in the class-specifier.
|
| 1229 |
|
|
(cp_finish_decl): Add comment.
|
| 1230 |
|
|
* init.c (integral_constant_value): Subtitute into the
|
| 1231 |
|
|
initializers for static data members in templates.
|
| 1232 |
|
|
* name-lookup.c (push_to_top_level): Save skip_evaluation.
|
| 1233 |
|
|
(pop_from_top_level): Restore it.
|
| 1234 |
|
|
* pt.c (instantiate_class_template): Do not substitute into the
|
| 1235 |
|
|
intializers of static data members when instantiating a class.
|
| 1236 |
|
|
(regenerate_decl_from_template): Simplify.
|
| 1237 |
|
|
(instantiate_decl): Tidy. Substitute into the initializer for a
|
| 1238 |
|
|
static data member even when the definition of the data member is
|
| 1239 |
|
|
not available.
|
| 1240 |
|
|
|
| 1241 |
|
|
2005-08-26 Mark Mitchell
|
| 1242 |
|
|
|
| 1243 |
|
|
PR c++/19004
|
| 1244 |
|
|
* pt.c (uses_template_parms): Handle IDENTIFIER_NODE.
|
| 1245 |
|
|
(type_dependent_expression_p): Allow BASELINKs whose associated
|
| 1246 |
|
|
functions are simply a FUNCTION_DECL.
|
| 1247 |
|
|
|
| 1248 |
|
|
PR c++/23491
|
| 1249 |
|
|
* cp-tree.h (build_vec_init): Adjust prototype.
|
| 1250 |
|
|
* init.c (perform_member_init): Adjust call to build_vec_init.
|
| 1251 |
|
|
(build_aggr_init): Likewise.
|
| 1252 |
|
|
(build_new_1): Do not call build_default_init for array types.
|
| 1253 |
|
|
(build_vec_init): Add explicit_default_init_p parameter. Perform
|
| 1254 |
|
|
default initialization of vector elements when set.
|
| 1255 |
|
|
* typeck.c (build_modify_expr): Adjust call to build_vec_init.
|
| 1256 |
|
|
|
| 1257 |
|
|
2005-08-25 Nathan Sidwell
|
| 1258 |
|
|
|
| 1259 |
|
|
PR c++/20817
|
| 1260 |
|
|
* typeck.c (build_x_unary_op): Make sure OFFSET_REF is not for a
|
| 1261 |
|
|
->*.
|
| 1262 |
|
|
|
| 1263 |
|
|
2005-08-24 Nathan Sidwell
|
| 1264 |
|
|
|
| 1265 |
|
|
PR c++/22454
|
| 1266 |
|
|
* parser.c (cp_lexer_peek_nth_token): Relax assert.
|
| 1267 |
|
|
|
| 1268 |
|
|
2005-08-23 Nathan Sidwell
|
| 1269 |
|
|
|
| 1270 |
|
|
PR c++/23044
|
| 1271 |
|
|
* pt.c (tsubst_qualified_id): A SCOPE_REF can still remain.
|
| 1272 |
|
|
|
| 1273 |
|
|
2005-08-22 James E Wilson
|
| 1274 |
|
|
|
| 1275 |
|
|
PR tree-optimization/23426
|
| 1276 |
|
|
* decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE for
|
| 1277 |
|
|
array size check.
|
| 1278 |
|
|
|
| 1279 |
|
|
2005-08-22 Volker Reichelt
|
| 1280 |
|
|
|
| 1281 |
|
|
PR c++/22233
|
| 1282 |
|
|
* pt.c (push_template_decl_real): Return error_mark_node if the
|
| 1283 |
|
|
number of template parameters does not match previous definition.
|
| 1284 |
|
|
|
| 1285 |
|
|
2005-08-22 Volker Reichelt
|
| 1286 |
|
|
|
| 1287 |
|
|
PR c++/23089
|
| 1288 |
|
|
* decl.c (require_complete_types_for_parms): Mark incomplete types
|
| 1289 |
|
|
as invalid.
|
| 1290 |
|
|
|
| 1291 |
|
|
2005-08-19 Volker Reichelt
|
| 1292 |
|
|
|
| 1293 |
|
|
* parser.c (cp_parser_nth_token_starts_template_argument_list_p):
|
| 1294 |
|
|
Fix typo in leading comment.
|
| 1295 |
|
|
|
| 1296 |
|
|
2005-08-15 Kaveh R. Ghazi
|
| 1297 |
|
|
|
| 1298 |
|
|
* name-lookup.c, ptree.c: Delete HOST_PTR_PRINTF.
|
| 1299 |
|
|
|
| 1300 |
|
|
2005-08-15 Fariborz Jahanian
|
| 1301 |
|
|
|
| 1302 |
|
|
* cp-tree.h (can_convert_arg, fn_type_unification): New argument.
|
| 1303 |
|
|
* call.c (add_template_candidate_real): Pass down 'flags' to
|
| 1304 |
|
|
fn_type_unification.
|
| 1305 |
|
|
(can_convert_arg): New 'flags' argument. Pass it to call to
|
| 1306 |
|
|
implicit_conversion instead of LOOKUP_NORMAL.
|
| 1307 |
|
|
(can_convert): Add LOOKUP_NORMAL to call to can_convert_arg.
|
| 1308 |
|
|
* class.c (resolve_address_of_overloaded_function): Ditto.
|
| 1309 |
|
|
(resolve_address_of_overloaded_function): Ditto.
|
| 1310 |
|
|
* decl.c (reshape_init, check_default_argument): Ditto.
|
| 1311 |
|
|
* typeck.c (build_ptrmemfunc): Ditto.
|
| 1312 |
|
|
* pt.c (type_unification_real): Add 'flags' argument.
|
| 1313 |
|
|
(fn_type_unification): Pass 'flags' to type_unification_real.
|
| 1314 |
|
|
(type_unification_real): Pass new 'flags' argument to call to
|
| 1315 |
|
|
can_convert_arg.
|
| 1316 |
|
|
|
| 1317 |
|
|
2005-08-12 Giovanni Bajo
|
| 1318 |
|
|
Nathan Sidwell
|
| 1319 |
|
|
|
| 1320 |
|
|
PR c++/21799
|
| 1321 |
|
|
PR c++/8271
|
| 1322 |
|
|
* pt.c (unify) : Check this-pointer cv-qualifiers
|
| 1323 |
|
|
explicitly.
|
| 1324 |
|
|
|
| 1325 |
|
|
2005-08-12 Nathan Sidwell
|
| 1326 |
|
|
|
| 1327 |
|
|
PR c++/21799
|
| 1328 |
|
|
Revert my 2005-07-08 patch
|
| 1329 |
|
|
* pt.c (type_unification_real): Remove is_method_argument and
|
| 1330 |
|
|
assoicated checks.
|
| 1331 |
|
|
(fn_type_unification, unify): Adjust type_unification_real calls.
|
| 1332 |
|
|
|
| 1333 |
|
|
2005-08-11 Volker Reichelt
|
| 1334 |
|
|
|
| 1335 |
|
|
PR c++/23266
|
| 1336 |
|
|
* decl2.c (grokfield): Check that method is not static before
|
| 1337 |
|
|
marking it as pure.
|
| 1338 |
|
|
|
| 1339 |
|
|
2005-08-11 Nathan Sidwell
|
| 1340 |
|
|
|
| 1341 |
|
|
PR c++/23219
|
| 1342 |
|
|
* name-lookup.c (pushtag): Process the template type before
|
| 1343 |
|
|
altering the identifier lookup fields. Remove unreachable code
|
| 1344 |
|
|
creating an empty stub decl.
|
| 1345 |
|
|
|
| 1346 |
|
|
2005-08-10 Volker Reichelt
|
| 1347 |
|
|
|
| 1348 |
|
|
PR c++/20646
|
| 1349 |
|
|
* decl.c (grokdeclarator): Reset storage_class after error.
|
| 1350 |
|
|
|
| 1351 |
|
|
2005-08-08 Volker Reichelt
|
| 1352 |
|
|
|
| 1353 |
|
|
PR c++/22508
|
| 1354 |
|
|
* init.c (build_new_1): Check for empty candidate list.
|
| 1355 |
|
|
|
| 1356 |
|
|
2005-08-06 Volker Reichelt
|
| 1357 |
|
|
|
| 1358 |
|
|
PR c++/23191
|
| 1359 |
|
|
* pt.c (tsubst) : Check for error_mark_node
|
| 1360 |
|
|
before calling build_exception_variant.
|
| 1361 |
|
|
|
| 1362 |
|
|
2005-08-06 Volker Reichelt
|
| 1363 |
|
|
|
| 1364 |
|
|
PR c++/19498
|
| 1365 |
|
|
* pt.c (tsubst_decl) : Return ERROR_MARK_NODE
|
| 1366 |
|
|
if substitution of template args did not succeed.
|
| 1367 |
|
|
|
| 1368 |
|
|
2005-08-06 Michael Matz
|
| 1369 |
|
|
|
| 1370 |
|
|
* method.c (use_thunk): Call init_insn_lengths.
|
| 1371 |
|
|
|
| 1372 |
|
|
2005-08-05 James A. Morrison
|
| 1373 |
|
|
|
| 1374 |
|
|
PR c++/22514
|
| 1375 |
|
|
* name-lookup.c (cp_emit_debug_info_for_using): Do nothing if
|
| 1376 |
|
|
sorrycount or errorcount are nonzero.
|
| 1377 |
|
|
|
| 1378 |
|
|
2005-08-05 Mark Mitchell
|
| 1379 |
|
|
|
| 1380 |
|
|
* name-lookup.c (pushtag): Remove accidental commit from:
|
| 1381 |
|
|
2004-12-21 Mark Mitchell
|
| 1382 |
|
|
PR c++/19063
|
| 1383 |
|
|
* decl.c (grokdeclarator): Return error_mark_node, not
|
| 1384 |
|
|
void_type_node, to indicate errors.
|
| 1385 |
|
|
* parser.c (cp_parser_template_parameter_list): Robustify.
|
| 1386 |
|
|
(cp_parser_template_parameter): Likewise.
|
| 1387 |
|
|
|
| 1388 |
|
|
2005-08-01 Kazu Hirata
|
| 1389 |
|
|
|
| 1390 |
|
|
* class.c, decl.c, name-lookup.c, pt.c, typeck.c, typeck2.c:
|
| 1391 |
|
|
Fix comment typos.
|
| 1392 |
|
|
|
| 1393 |
|
|
2005-07-29 Kazu Hirata
|
| 1394 |
|
|
|
| 1395 |
|
|
* method.c: Fix a comment typo.
|
| 1396 |
|
|
|
| 1397 |
|
|
2005-07-28 Mark Mitchell
|
| 1398 |
|
|
|
| 1399 |
|
|
PR c++/22545
|
| 1400 |
|
|
* call.c (add_builtin_candidate): Adjust for changes in
|
| 1401 |
|
|
representation of pointer-to-member types.
|
| 1402 |
|
|
|
| 1403 |
|
|
2005-07-28 Mike Stump
|
| 1404 |
|
|
|
| 1405 |
|
|
* pt.c (check_explicit_specialization): Add visibility logic.
|
| 1406 |
|
|
(lookup_template_class): Likewise.
|
| 1407 |
|
|
(instantiate_class_template): Likewise.
|
| 1408 |
|
|
|
| 1409 |
|
|
2005-07-27 Devang Patel
|
| 1410 |
|
|
|
| 1411 |
|
|
* name-lookup.c (pushtag): Do no set DECL_IGNORED_P bit.
|
| 1412 |
|
|
|
| 1413 |
|
|
2005-07-25 Ian Lance Taylor
|
| 1414 |
|
|
|
| 1415 |
|
|
* ptree.c (cxx_print_identifier): Print a leading space if the
|
| 1416 |
|
|
indent level is 0.
|
| 1417 |
|
|
|
| 1418 |
|
|
2005-07-24 Kaveh R. Ghazi
|
| 1419 |
|
|
|
| 1420 |
|
|
* call.c (convert_for_arg_passing): Check function pointers when
|
| 1421 |
|
|
-Wmissing-format-attribute is activated.
|
| 1422 |
|
|
* typeck.c (convert_for_assignment): Likewise.
|
| 1423 |
|
|
|
| 1424 |
|
|
2005-07-22 Manfred Hollstein
|
| 1425 |
|
|
|
| 1426 |
|
|
* parser.c (cp_parser_declaration): Fix unitialised warnings.
|
| 1427 |
|
|
|
| 1428 |
|
|
2005-07-21 Andrew Pinski
|
| 1429 |
|
|
|
| 1430 |
|
|
* class.c (build_base_path): Fix typo.
|
| 1431 |
|
|
|
| 1432 |
|
|
2005-07-21 Andrew Pinski
|
| 1433 |
|
|
|
| 1434 |
|
|
PR C++/22358
|
| 1435 |
|
|
* class.c (build_base_path): Convert BINFO_OFFSET to the correct type.
|
| 1436 |
|
|
|
| 1437 |
|
|
2005-07-21 Volker Reichelt
|
| 1438 |
|
|
|
| 1439 |
|
|
* call.c: Fix comment typo(s).
|
| 1440 |
|
|
* cxx-pretty-print.h: Likewise.
|
| 1441 |
|
|
* name-lookup.c: Likewise.
|
| 1442 |
|
|
* parser.c: Likewise.
|
| 1443 |
|
|
|
| 1444 |
|
|
2005-07-20 Douglas Gregor
|
| 1445 |
|
|
|
| 1446 |
|
|
PR c++/2922
|
| 1447 |
|
|
* semantics.c (perform_koenig_lookup): For dependent calls, just
|
| 1448 |
|
|
return the set of functions we've found so far. Later, it will be
|
| 1449 |
|
|
augmented by those found through argument-dependent lookup.
|
| 1450 |
|
|
* name-lookup.c (lookup_arg_dependent): Implement DR 164 by removing
|
| 1451 |
|
|
the optimization that skips namespaces where the functions were
|
| 1452 |
|
|
originally found.
|
| 1453 |
|
|
|
| 1454 |
|
|
2005-07-20 Giovanni Bajo
|
| 1455 |
|
|
|
| 1456 |
|
|
Make CONSTRUCTOR use VEC to store initializers.
|
| 1457 |
|
|
* call.c (convert_default_arg): Update call to digest_init.
|
| 1458 |
|
|
* class.c (dump_class_hierarchy, dump_array): Update to cope with
|
| 1459 |
|
|
VEC in CONSTRUCTOR_ELTS.
|
| 1460 |
|
|
* cp-tree.h (EMPTY_CONSTRUCTOR_P): Likewise.
|
| 1461 |
|
|
(finish_compound_literal, digest_init): Update declaration.
|
| 1462 |
|
|
* decl.c (struct reshape_iter): New data type.
|
| 1463 |
|
|
(reshape_init_array): Rename to...
|
| 1464 |
|
|
(reshape_init_array_1): Update to cope with VEC in CONSTRUCTOR_ELTS.
|
| 1465 |
|
|
(reshape_init): Rewrite from scratch. Split parts into...
|
| 1466 |
|
|
(reshape_init_array, reshape_init_vector, reshape_init_class,
|
| 1467 |
|
|
reshape_init_r): New functions.
|
| 1468 |
|
|
(check_initializer): Update call to reshape_init. Remove obsolete
|
| 1469 |
|
|
code.
|
| 1470 |
|
|
(initialize_artificial_var, cp_complete_array_type): Update to cope
|
| 1471 |
|
|
with VEC in CONSTRUCTOR_ELTS.
|
| 1472 |
|
|
* decl2.c (grokfield): Update calls to digest_init.
|
| 1473 |
|
|
(mark_vtable_entries): Update to cope with VEC in CONSTRUCTOR_ELTS.
|
| 1474 |
|
|
* error.c (dump_expr_init_vec): New function.
|
| 1475 |
|
|
(dump_expr): Use dump_expr_init_vec.
|
| 1476 |
|
|
* init.c (build_zero_init, build_vec_init): Update to cope with VEC
|
| 1477 |
|
|
in CONSTRUCTOR_ELTS.
|
| 1478 |
|
|
(expand_default_init): Update call to digest_init.
|
| 1479 |
|
|
* parser.c (cp_parser_postfix_expression): Use a VEC for the
|
| 1480 |
|
|
initializers.
|
| 1481 |
|
|
(cp_parser_initializer_list): Build a VEC of initializers.
|
| 1482 |
|
|
* pt.c (tsubst_copy, tsubst_copy_and_build): Update to cope with VEC
|
| 1483 |
|
|
in CONSTRUCTOR_ELTS.
|
| 1484 |
|
|
* rtti.c (tinfo_base_init, generic_initializer, ptr_initializer,
|
| 1485 |
|
|
ptm_initializer, class_initializer, get_pseudo_ti_init): Use
|
| 1486 |
|
|
build_constructor_from_list instead of build_constructor.
|
| 1487 |
|
|
* semantics.c (finish_compound_literal): Update call to digest_init.
|
| 1488 |
|
|
* tree.c (stabilize_init): Update to cope with VEC in
|
| 1489 |
|
|
CONSTRUCTOR_ELTS.
|
| 1490 |
|
|
* typeck.c (build_ptrmemfunc1): Likewise.
|
| 1491 |
|
|
* typeck2.c: (cxx_incomplete_type_error, split_nonconstant_init_1):
|
| 1492 |
|
|
Likewise.
|
| 1493 |
|
|
(store_init_value): Use build_constructor_from_list and update call
|
| 1494 |
|
|
to digest_init.
|
| 1495 |
|
|
(digest_init): Rewrite.
|
| 1496 |
|
|
(process_init_constructor): Rewrite from scratch. Split into...
|
| 1497 |
|
|
(process_init_constructor_array, picflag_from_initializer,
|
| 1498 |
|
|
process_init_constructor_record, process_init_constructor_union):
|
| 1499 |
|
|
New functions.
|
| 1500 |
|
|
(PICFLAG_ERRONEOUS, PICFLAG_NOT_ALL_CONSTANT, PICFLAG_NOT_ALL_SIMPLE):
|
| 1501 |
|
|
New macros.
|
| 1502 |
|
|
(build_functional_cast): Use build_constructor_from_list instead of
|
| 1503 |
|
|
build_constructor.
|
| 1504 |
|
|
|
| 1505 |
|
|
2005-07-18 Mark Mitchell
|
| 1506 |
|
|
|
| 1507 |
|
|
PR c++/22263
|
| 1508 |
|
|
* cp-tree.h (instantiate_decl): Change prototype.
|
| 1509 |
|
|
* decl2.c (mark_used): Adjust accordingly.
|
| 1510 |
|
|
* pt.c (do_decl_instantiation): Likewise.
|
| 1511 |
|
|
(instantiate_class_member): Likewise.
|
| 1512 |
|
|
(instantiate_decl): Rename undefined_ok as expl_inst_class_mem_p.
|
| 1513 |
|
|
Clear DECL_INTERFACE_KNOWN for an explicitly instantiated template
|
| 1514 |
|
|
that has no definition available.
|
| 1515 |
|
|
(instantiate_pending_templates): Adjust call to instantiate_decl.
|
| 1516 |
|
|
|
| 1517 |
|
|
2005-07-17 Mark Mitchell
|
| 1518 |
|
|
|
| 1519 |
|
|
PR c++/22139
|
| 1520 |
|
|
* cp-tree.h (DECL_TEMPLATE_INFO): Improve documentation.
|
| 1521 |
|
|
* decl.c (duplicate_decls): Re-register template specializations
|
| 1522 |
|
|
for functions that have DECL_TEMLPLATE_INFO, even if they do not
|
| 1523 |
|
|
have DECL_TEMPLATE_INSTANTIATION set.
|
| 1524 |
|
|
|
| 1525 |
|
|
2005-07-16 Kaveh R. Ghazi
|
| 1526 |
|
|
|
| 1527 |
|
|
* call.c (diagnostic_fn_t): New.
|
| 1528 |
|
|
(build_temp, convert_like_real): Use diagnostic_fn_t.
|
| 1529 |
|
|
|
| 1530 |
|
|
2005-07-15 Mark Mitchell
|
| 1531 |
|
|
|
| 1532 |
|
|
PR c++/22204
|
| 1533 |
|
|
* repo.c (repo_emit_p): Robustify.
|
| 1534 |
|
|
|
| 1535 |
|
|
2005-07-14 Daniel Berlin
|
| 1536 |
|
|
|
| 1537 |
|
|
Fix PR c++/22452
|
| 1538 |
|
|
* tree.c (decl_linkage): Don't check DECL_COMDAT on CONST_DECL.
|
| 1539 |
|
|
|
| 1540 |
|
|
2005-07-15 Mark Mitchell
|
| 1541 |
|
|
|
| 1542 |
|
|
PR c++/22132
|
| 1543 |
|
|
* call.c (implicit_conversion): Add c_cast_p parameter.
|
| 1544 |
|
|
(standard_conversion): Likewise. Allow conversions between
|
| 1545 |
|
|
differently-qualified pointer types when performing a C-style
|
| 1546 |
|
|
cast.
|
| 1547 |
|
|
(add_function_candidate): Adjust callee.
|
| 1548 |
|
|
(build_builtin_candidate): Likewise.
|
| 1549 |
|
|
(build_user_type_conversion_1): Likewise.
|
| 1550 |
|
|
(conditional_conversion): Likewise.
|
| 1551 |
|
|
(can_convert_arg): Likewise.
|
| 1552 |
|
|
(can_convert_arg_bad): Likewise.
|
| 1553 |
|
|
(perform_implicit_conversion): Likewise.
|
| 1554 |
|
|
* cp-tree.h (comp_ptr_ttypes_const): Declare.
|
| 1555 |
|
|
* typeck.c (comp_ptr_ttypes_const): Give it external linkage.
|
| 1556 |
|
|
Return bool.
|
| 1557 |
|
|
|
| 1558 |
|
|
2005-07-12 Volker Reichelt
|
| 1559 |
|
|
Nathan Sidwell
|
| 1560 |
|
|
|
| 1561 |
|
|
PR c++/20172
|
| 1562 |
|
|
* pt.c (tsubst_template_parms): Check for invalid non-type
|
| 1563 |
|
|
parameters.
|
| 1564 |
|
|
|
| 1565 |
|
|
2005-07-09 Andrew Pinski
|
| 1566 |
|
|
|
| 1567 |
|
|
* cp-lang.c (shadowed_var_for_decl, decl_shadowed_for_var_lookup,
|
| 1568 |
|
|
decl_shadowed_for_var_insert): Move over to cp-objcp-common.c.
|
| 1569 |
|
|
(cp_init_ts): Call init_shadowed_var_for_decl.
|
| 1570 |
|
|
Remove include of gt-cp-cp-lang.h.
|
| 1571 |
|
|
* cp-objcp-common.c (shadowed_var_for_decl,
|
| 1572 |
|
|
decl_shadowed_for_var_lookup, decl_shadowed_for_var_insert): Moved from
|
| 1573 |
|
|
cp-lang.c.
|
| 1574 |
|
|
(init_shadowed_var_for_decl): New function to initialize
|
| 1575 |
|
|
shadowed_var_for_decl.
|
| 1576 |
|
|
Include gt-cp-cp-objcp-common.h.
|
| 1577 |
|
|
* Make-lang.in (gt-cp-lang.h): Remove.
|
| 1578 |
|
|
(gt-cp-cp-objcp-common.h): Add.
|
| 1579 |
|
|
(cp/cp-lang.o): Remove dependancy on gt-cp-lang.h.
|
| 1580 |
|
|
(cp/cp-objcp-common.o): Add dependancy on gt-cp-cp-objcp-common.h.
|
| 1581 |
|
|
* config-lang.in (gtfiles): Remove cp-lang.c and Add cp-objcp-common.c.
|
| 1582 |
|
|
* cp-tree (init_shadowed_var_for_decl): Add prototype.
|
| 1583 |
|
|
|
| 1584 |
|
|
2005-07-08 Daniel Berlin
|
| 1585 |
|
|
|
| 1586 |
|
|
* Make-lang.in: Add gt-cp-lang.h.
|
| 1587 |
|
|
(cp-lang.o): Ditto.
|
| 1588 |
|
|
* class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME on
|
| 1589 |
|
|
the field.
|
| 1590 |
|
|
* config-lang.in: Add cp-lang.c to gtfiles.
|
| 1591 |
|
|
* cp-lang.c: Include hashtab.h.
|
| 1592 |
|
|
(cp_init_ts): New function.
|
| 1593 |
|
|
(LANG_HOOK_INIT_TS): Use macro.
|
| 1594 |
|
|
(decl_shadowed_for_var_lookup): New function.
|
| 1595 |
|
|
(decl_shadowed_for_var_insert): Ditto.
|
| 1596 |
|
|
* cp-tree.h (THUNK_FUNCTION_CHECK): Use decl_common.
|
| 1597 |
|
|
(NON_THUNK_FUNCTION_CHECK): Ditto.
|
| 1598 |
|
|
(DECL_NAMESPACE_ASSOCIATIONS): Use decl_non_common.
|
| 1599 |
|
|
(DECL_INIT_PRIORITY): Ditto.
|
| 1600 |
|
|
(DECL_HAS_SHADOWED_FOR_VAR_P): Ditto.
|
| 1601 |
|
|
(DECL_SHADOWED_FOR_VAR): Use hashtable.
|
| 1602 |
|
|
(SET_DECL_SHADOWED_FOR_VAR): Ditto.
|
| 1603 |
|
|
* decl.c (duplicate_decls): Update for new/updated structures.
|
| 1604 |
|
|
(poplevel): Use SET_DECL_SHADOWED_FOR_VAR.
|
| 1605 |
|
|
* decl2.c (start_static_initialization_or_destruction): Deal with
|
| 1606 |
|
|
priority.
|
| 1607 |
|
|
* pt.c (tsubst_decl): Check TS_DECL_WRTL before doing
|
| 1608 |
|
|
SET_DECL_RTL.
|
| 1609 |
|
|
* tree.c (handle_init_priority_attribute): Handle priority.
|
| 1610 |
|
|
|
| 1611 |
|
|
2005-07-08 Nathan Sidwell
|
| 1612 |
|
|
|
| 1613 |
|
|
PR c++/21799
|
| 1614 |
|
|
* pt.c (type_unification_real): Add is_method argument. Use it
|
| 1615 |
|
|
for this pointer unification.
|
| 1616 |
|
|
(fn_type_unification): Adjust type_unification_real call.
|
| 1617 |
|
|
(unify): Likewise.
|
| 1618 |
|
|
|
| 1619 |
|
|
2005-07-07 Nathan Sidwell
|
| 1620 |
|
|
|
| 1621 |
|
|
* pt.c (type_unification_real): Remove allow_incomplete argument.
|
| 1622 |
|
|
Remove unreachable code.
|
| 1623 |
|
|
(fn_type_unification): Adjust call to type_unification_real.
|
| 1624 |
|
|
(unify): Likewise.
|
| 1625 |
|
|
|
| 1626 |
|
|
2005-07-05 Paolo Bonzini
|
| 1627 |
|
|
|
| 1628 |
|
|
* Makefile.in (class.o, decl2.o): Adjust dependencies.
|
| 1629 |
|
|
* class.c: Include tree-dump.h.
|
| 1630 |
|
|
* decl2.c: Include tree-dump.h.
|
| 1631 |
|
|
|
| 1632 |
|
|
2005-07-02 Gabriel Dos Reis
|
| 1633 |
|
|
|
| 1634 |
|
|
* dump.c: Use dump_string_field.
|
| 1635 |
|
|
|
| 1636 |
|
|
2005-07-03 Joseph S. Myers
|
| 1637 |
|
|
|
| 1638 |
|
|
* cp-tree.h (GCC_DIAG_STYLE): #undef before defining. Change
|
| 1639 |
|
|
minimum GCC version for format checking to 4.1.
|
| 1640 |
|
|
|
| 1641 |
|
|
2005-07-02 Kazu Hirata
|
| 1642 |
|
|
|
| 1643 |
|
|
* Make-lang.in (cc1plus-checksum.c): Use
|
| 1644 |
|
|
build/genchecksum$(build_exeext), not build/genchecksum$(exeext).
|
| 1645 |
|
|
|
| 1646 |
|
|
2005-07-02 Joseph S. Myers
|
| 1647 |
|
|
|
| 1648 |
|
|
* name-lookup.c, parser.c: Use %q, %< and %> to quote in
|
| 1649 |
|
|
diagnostics.
|
| 1650 |
|
|
|
| 1651 |
|
|
2005-07-02 Zack Weinberg
|
| 1652 |
|
|
Joseph S. Myers
|
| 1653 |
|
|
|
| 1654 |
|
|
* error.c (location_of): Add comment.
|
| 1655 |
|
|
(locate_error, cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
|
| 1656 |
|
|
* cp-tree.h (cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
|
| 1657 |
|
|
* call.c, class.c, decl.c, decl2.c, friend.c, init.c,
|
| 1658 |
|
|
name-lookup.c, parser.c, pt.c, search.c, semantics.c, typeck.c,
|
| 1659 |
|
|
typeck2.c: Use '+' flag instead of %J, cp_error_at, cp_warning_at
|
| 1660 |
|
|
or cp_pedwarn_at. Mark up some diagnostic strings with N_.
|
| 1661 |
|
|
|
| 1662 |
|
|
2005-06-30 Daniel Berlin
|
| 1663 |
|
|
|
| 1664 |
|
|
* decl.c (require_complete_types_for_parms): Call relayout_decl
|
| 1665 |
|
|
instead of layout_decl.
|
| 1666 |
|
|
|
| 1667 |
|
|
2005-06-30 Zack Weinberg
|
| 1668 |
|
|
Jakub Jelinek
|
| 1669 |
|
|
|
| 1670 |
|
|
* cp-lang.c: No need to include cxx-pretty-print.h.
|
| 1671 |
|
|
* error.c (cp_printer): Update signature. No need to process
|
| 1672 |
|
|
flags.
|
| 1673 |
|
|
(print_instantiation_partial_context): Output last newline
|
| 1674 |
|
|
with pp_base_newline.
|
| 1675 |
|
|
* Make-lang.in: Update dependencies.
|
| 1676 |
|
|
|
| 1677 |
|
|
2005-06-30 Steven Bosscher
|
| 1678 |
|
|
|
| 1679 |
|
|
* decl.c (start_decl): Replace DECL_THREAD_LOCAL with
|
| 1680 |
|
|
DECL_THREAD_LOCAL_P.
|
| 1681 |
|
|
(cp_finish_decl): Likewise.
|
| 1682 |
|
|
(grokvardecl): Set the default DECL_TLS_MODEL here.
|
| 1683 |
|
|
|
| 1684 |
|
|
2005-06-28 Joseph S. Myers
|
| 1685 |
|
|
|
| 1686 |
|
|
* cvt.c (ocp_convert): Use invalid_conversion hook.
|
| 1687 |
|
|
* typeck.c (build_binary_op): Use invalid_binary_op hook.
|
| 1688 |
|
|
(build_unary_op): Use invalid_unary_op hook.
|
| 1689 |
|
|
|
| 1690 |
|
|
2005-06-28 Paul Brook
|
| 1691 |
|
|
|
| 1692 |
|
|
* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
|
| 1693 |
|
|
* except.c: Include target.h.
|
| 1694 |
|
|
(init_exception_processing): Initialize unwind_resume_libfunc.
|
| 1695 |
|
|
* doc/tm.texi: Document TARGET_ASM_TTYPE
|
| 1696 |
|
|
|
| 1697 |
|
|
2005-06-26 Kaveh R. Ghazi
|
| 1698 |
|
|
|
| 1699 |
|
|
* call.c (build_over_call): Pass in named argument list to
|
| 1700 |
|
|
`check_function_arguments'.
|
| 1701 |
|
|
* typeck.c (build_function_call): Likewise.
|
| 1702 |
|
|
|
| 1703 |
|
|
2005-06-26 Kaveh R. Ghazi
|
| 1704 |
|
|
|
| 1705 |
|
|
* cp-tree.h (lang_check_failed): Add noreturn attribute.
|
| 1706 |
|
|
|
| 1707 |
|
|
2005-06-25 Kelley Cook
|
| 1708 |
|
|
|
| 1709 |
|
|
* all files: Update FSF address in copyright headers.
|
| 1710 |
|
|
|
| 1711 |
|
|
2005-06-23 Jason Merrill
|
| 1712 |
|
|
|
| 1713 |
|
|
PR c++/19317
|
| 1714 |
|
|
* semantics.c (simplify_aggr_init_expr): Use
|
| 1715 |
|
|
CALL_EXPR_RETURN_SLOT_OPT, not CALL_EXPR_HAS_RETURN_SLOT_ADDR.
|
| 1716 |
|
|
|
| 1717 |
|
|
2005-06-23 Volker Reichelt
|
| 1718 |
|
|
|
| 1719 |
|
|
* pt.c (register_specialization): Remove superfluous assertion.
|
| 1720 |
|
|
|
| 1721 |
|
|
2005-06-18 Kaveh R. Ghazi
|
| 1722 |
|
|
|
| 1723 |
|
|
* call.c (convert_like_real): Add format attribute.
|
| 1724 |
|
|
* typeck.c (check_for_casting_away_constness,
|
| 1725 |
|
|
build_static_cast_1): Likewise.
|
| 1726 |
|
|
* typeck2.c (readonly_error, cxx_incomplete_type_diagnostic):
|
| 1727 |
|
|
Likewise.
|
| 1728 |
|
|
|
| 1729 |
|
|
2005-06-17 Geoffrey Keating
|
| 1730 |
|
|
|
| 1731 |
|
|
PR c++/17413
|
| 1732 |
|
|
* pt.c (type_unification_real): Apply template type deduction even
|
| 1733 |
|
|
to procedure parameters that are not dependent on a template
|
| 1734 |
|
|
parameter.
|
| 1735 |
|
|
|
| 1736 |
|
|
2005-06-16 Nathan Sidwell
|
| 1737 |
|
|
|
| 1738 |
|
|
* rtti.c (get_tinfo_decl): Avoid caching tinfo_descs when it might
|
| 1739 |
|
|
change.
|
| 1740 |
|
|
(create_pseudo_type_info): First parameter is an int.
|
| 1741 |
|
|
|
| 1742 |
|
|
2005-06-15 Nathan Sidwell
|
| 1743 |
|
|
|
| 1744 |
|
|
PR c++/20678
|
| 1745 |
|
|
* error.c (dump_expr) : Check DECL_NAME is not
|
| 1746 |
|
|
null.
|
| 1747 |
|
|
|
| 1748 |
|
|
* Make-lang.in: Reformat some long lines.
|
| 1749 |
|
|
(gt-cp-rtti.h): New target.
|
| 1750 |
|
|
(cp/rtti.o): Add dependency.
|
| 1751 |
|
|
* config-lang.in (gtfiles): Add cp/rtti.c.
|
| 1752 |
|
|
* cp-tree.h (CPTI_TI_DESC_TYPE, CPTI_BLTN_DESC_TYPE,
|
| 1753 |
|
|
CPTI_PTR_DESC_TYPE, CPTI_ARY_DESC_TYPE, CPTI_FUNC_DESC_TYPE,
|
| 1754 |
|
|
CPTI_ENUM_DESC_TYPE, CPTI_CLASS_DESC_TYPE,
|
| 1755 |
|
|
CPTI_SI_CLASS_DESC_TYPE, CPTI_VMI_CLASS_DESC_TYPE,
|
| 1756 |
|
|
CPTI_PTM_DESC_TYPE, CPTI_BASE_DESC_TYPE): Remove.
|
| 1757 |
|
|
(ti_desc_type_node, bltn_desc_type_node, ptr_desc_type_node,
|
| 1758 |
|
|
ary_desc_type_node, func_desc_type_node, enum_desc_type_node,
|
| 1759 |
|
|
class_desc_type_node, si_class_desc_type_node,
|
| 1760 |
|
|
vmi_class_desc_type_node, ptm_desc_type_node,
|
| 1761 |
|
|
base_desc_type_node): Remove.
|
| 1762 |
|
|
* decl.c: Adjust documentation of global trees.
|
| 1763 |
|
|
* rtti.c (TINFO_PSEUDO_TYPE, TINFO_VTABLE_DECL,
|
| 1764 |
|
|
TINFO_REAL_NAME): Remove.
|
| 1765 |
|
|
(struct tinfo_s): New.
|
| 1766 |
|
|
(enum tinfo_kind): New.
|
| 1767 |
|
|
(tinfo_descs): New.
|
| 1768 |
|
|
(get_tinfo_decl): Adjust use of tinfo descriptor.
|
| 1769 |
|
|
(tinfo_base_init, generic_initializer, ptr_initializer,
|
| 1770 |
|
|
ptm_initializer, class_initializer): Likewise.
|
| 1771 |
|
|
(get_pseudo_ti_init): Take descriptor index. Adjust.
|
| 1772 |
|
|
(create_pseudo_type_info): Likewise.
|
| 1773 |
|
|
(get_pseudo_ti_desc): Return descriptor index. Adjust.
|
| 1774 |
|
|
(create_tinfo_types): Adjust use of create_pseudo_type_info.
|
| 1775 |
|
|
(emit_tinfo_decl): Adjust use of tinfo descriptor.
|
| 1776 |
|
|
|
| 1777 |
|
|
2005-06-14 Roger Sayle
|
| 1778 |
|
|
|
| 1779 |
|
|
* decl.c (grokdeclarator): Only check TREE_OVERFLOW on INTEGER_CST.
|
| 1780 |
|
|
|
| 1781 |
|
|
2005-06-13 Geoffrey Keating
|
| 1782 |
|
|
|
| 1783 |
|
|
* Make-lang.in (c++.install-man): Doesn't really depend on installdirs.
|
| 1784 |
|
|
(rule for installing g++.1 manpage): Does depend on installdirs.
|
| 1785 |
|
|
|
| 1786 |
|
|
2005-06-13 Nathan Sidwell
|
| 1787 |
|
|
|
| 1788 |
|
|
PR c++/20789
|
| 1789 |
|
|
* decl.c (cp_finish_decl): Clear runtime runtime initialization if
|
| 1790 |
|
|
in-class decl's initializer is bad.
|
| 1791 |
|
|
|
| 1792 |
|
|
PR c++/21929
|
| 1793 |
|
|
* parser.c (struct cp_parser): Document that scope could be
|
| 1794 |
|
|
error_mark.
|
| 1795 |
|
|
(cp_parser_diagnose_invalid_type_name): Cope with error_mark for
|
| 1796 |
|
|
scope.
|
| 1797 |
|
|
(cp_parser_nested_name_specifier): Return NULL_TREE on error.
|
| 1798 |
|
|
(cp_parser_postfix_expression): Deal with null or error_mark
|
| 1799 |
|
|
scope.
|
| 1800 |
|
|
(cp_parser_elaborated_type_specifier): Adjust
|
| 1801 |
|
|
cp_parser_nested_name_specifier call.
|
| 1802 |
|
|
|
| 1803 |
|
|
* parser (cp_parser_skip_to_end_of_block_or_statement): Cleanup.
|
| 1804 |
|
|
|
| 1805 |
|
|
2005-06-12 Roger Sayle
|
| 1806 |
|
|
|
| 1807 |
|
|
PR c++/21930
|
| 1808 |
|
|
* error.c (dump_expr): UNARY_PLUS_EXPR need not handle void types.
|
| 1809 |
|
|
Treat CONVERT_EXPR identically to NOP_EXPR.
|
| 1810 |
|
|
|
| 1811 |
|
|
2005-06-10 Aldy Hernandez
|
| 1812 |
|
|
|
| 1813 |
|
|
PR c++/10611
|
| 1814 |
|
|
* cvt.c (build_expr_type_conversion): Same.
|
| 1815 |
|
|
* typeck.c (build_binary_op): Handle vectors.
|
| 1816 |
|
|
(common_type): Same.
|
| 1817 |
|
|
(type_after_usual_arithmetic_conversions): Same.
|
| 1818 |
|
|
|
| 1819 |
|
|
2005-06-08 Nathan Sidwell
|
| 1820 |
|
|
|
| 1821 |
|
|
PR c++/19497
|
| 1822 |
|
|
* cp-tree.def (USING_DECL): Update documentation.
|
| 1823 |
|
|
* cp-tree.h (DECL_DEPENDENT_P): New.
|
| 1824 |
|
|
(USING_DECL_DECLS, USING_DECL_SCOPE): New.
|
| 1825 |
|
|
* class.c (handle_using_decl): Move most of the processing to ...
|
| 1826 |
|
|
* name-lookup.c (do_class_using_decl): ... here. Make stricter.
|
| 1827 |
|
|
(push_using_decl): Use USING_DECL_SCOPE.
|
| 1828 |
|
|
(cp_emit_debug_info_for_using): Make extern.
|
| 1829 |
|
|
* cxx-pretty-print.c (pp_cxx_statement) : Adjust.
|
| 1830 |
|
|
* name-lookup.h (cp_emit_debug_info_for_using): Declare.
|
| 1831 |
|
|
* pt.c (tsubst_decl) : Use do_class_using_decl
|
| 1832 |
|
|
when tsubsting.
|
| 1833 |
|
|
(tsubst_expr): Use USING_DECL_SCOPE.
|
| 1834 |
|
|
* search.c (lookup_field_1): Use DECL_DEPENDENT_P.
|
| 1835 |
|
|
* semantics.c (finish_member_declaration): Likewise.
|
| 1836 |
|
|
|
| 1837 |
|
|
2005-06-08 Volker Reichelt
|
| 1838 |
|
|
|
| 1839 |
|
|
PR c++/19894
|
| 1840 |
|
|
* pt.c (tsubst): Reject pointer-to-member of type void.
|
| 1841 |
|
|
|
| 1842 |
|
|
PR c++/20563
|
| 1843 |
|
|
* parser.c (cp_parser_label_declaration): Deal with invalid/missing
|
| 1844 |
|
|
identifiers.
|
| 1845 |
|
|
|
| 1846 |
|
|
2005-06-07 Nathan Sidwell
|
| 1847 |
|
|
|
| 1848 |
|
|
* cp-tree.def (DEFAULT_ARG): Adjust documentation.
|
| 1849 |
|
|
* cp-tree.h (DEFARG_INSTANTIATIONS): New.
|
| 1850 |
|
|
(struct tree_default_arg): Add instantiations member.
|
| 1851 |
|
|
* parser.c (cp_parser_late_parsing_default_args): Adjust to use a
|
| 1852 |
|
|
VEC.
|
| 1853 |
|
|
* pt.c (tsubst_arg_types): Likewise.
|
| 1854 |
|
|
|
| 1855 |
|
|
* parser.c (cp_parser_late_parsing_default_args): Fix overeager
|
| 1856 |
|
|
assert in previous patch.
|
| 1857 |
|
|
|
| 1858 |
|
|
2005-06-06 Jakub Jelinek
|
| 1859 |
|
|
|
| 1860 |
|
|
* error.c (locate_error): Use gmsgid instead of msgid for argument
|
| 1861 |
|
|
name.
|
| 1862 |
|
|
(cp_error_at, cp_warning_at, cp_pedwarn_at): Likewise.
|
| 1863 |
|
|
|
| 1864 |
|
|
2005-06-06 Nathan Sidwell
|
| 1865 |
|
|
|
| 1866 |
|
|
PR 21903
|
| 1867 |
|
|
* cp-tree.def (DEFAULT_ARG): Document TREE_CHAIN use.
|
| 1868 |
|
|
* parser.c (cp_parser_late_parsing_default_args): Propagate parsed
|
| 1869 |
|
|
argument to any early instantiations.
|
| 1870 |
|
|
* pt.c (tsubst_arg_types): Chain early instantiation of default arg.
|
| 1871 |
|
|
|
| 1872 |
|
|
PR c++/20637
|
| 1873 |
|
|
* cp-tree.h (add_method): Add using_decl parameter.
|
| 1874 |
|
|
* class.c (add_method): Add using_decl parameter. Adjust error
|
| 1875 |
|
|
messages.
|
| 1876 |
|
|
(handle_using_decl): Pass the using decl to add_method.
|
| 1877 |
|
|
(clone_function_decl): Adjust add_member calls.
|
| 1878 |
|
|
* decl2.c (check_classfn): Likewise.
|
| 1879 |
|
|
* method.c (lazily_declare_fn): Likewise.
|
| 1880 |
|
|
* semantics.c (finish_member_declaration): Likewise.
|
| 1881 |
|
|
|
| 1882 |
|
|
* method.c (synthesize_method): Use inform, not warning.
|
| 1883 |
|
|
|
| 1884 |
|
|
2005-06-06 Hans-Peter Nilsson
|
| 1885 |
|
|
|
| 1886 |
|
|
* config-lang.in (target_libs): Remove target-gperf.
|
| 1887 |
|
|
|
| 1888 |
|
|
2005-06-05 Mark Mitchell
|
| 1889 |
|
|
|
| 1890 |
|
|
PR c++/21619
|
| 1891 |
|
|
* cp-tree.h (DECL_IS_BUILTIN_CONSTANT_P): New macro.
|
| 1892 |
|
|
* parser.c (cp_parser_postfix_expression): Allow non-constant
|
| 1893 |
|
|
expressions as arguments to __builtin_constant_p.
|
| 1894 |
|
|
* tree.c (builtin_valid_in_constant_expr_p): Use
|
| 1895 |
|
|
DECL_IS_BUILTIN_CONSTANT_P.
|
| 1896 |
|
|
|
| 1897 |
|
|
2005-06-03 Mark Mitchell
|
| 1898 |
|
|
|
| 1899 |
|
|
PR c++/21853
|
| 1900 |
|
|
* typeck.c (casts_away_constness_r): Do not drop cv-qualifiers on
|
| 1901 |
|
|
the pointed-to type for a pointer-to-member.
|
| 1902 |
|
|
|
| 1903 |
|
|
PR c++/21336
|
| 1904 |
|
|
* cp-tree.h (grok_op_properties): Remove friendp parameter.
|
| 1905 |
|
|
* decl.c (grokfndecl): Adjust call.
|
| 1906 |
|
|
(grok_op_properties): Determine the class of which the function is
|
| 1907 |
|
|
a member by looking at its DECL_CONTEXT, not current_class_type.
|
| 1908 |
|
|
* pt.c (tsubst_decl): Adjust call to grok_op_properties.
|
| 1909 |
|
|
|
| 1910 |
|
|
2005-06-02 Nathan Sidwell
|
| 1911 |
|
|
|
| 1912 |
|
|
* method.c (synthesize_method): Add addtional arg to warning call.
|
| 1913 |
|
|
|
| 1914 |
|
|
PR c++/21280
|
| 1915 |
|
|
* Make-lang.in (method.o): Add diagnostic.h
|
| 1916 |
|
|
* decl.c (start_preparsed_function): Use decl's location for file
|
| 1917 |
|
|
info.
|
| 1918 |
|
|
* decl2.c (cp_finish_file): Set input_location before synthesizing
|
| 1919 |
|
|
a function.
|
| 1920 |
|
|
(mark_used): When deferring a synthesized function, save current
|
| 1921 |
|
|
location. Do not set function's location when actually
|
| 1922 |
|
|
synthesizing it.
|
| 1923 |
|
|
* method.c: #include diagnostic.h.
|
| 1924 |
|
|
(synthesize_method): Set the functions source location. Show
|
| 1925 |
|
|
needed location if errors are emitted.
|
| 1926 |
|
|
|
| 1927 |
|
|
* decl.c (start_decl): Simplify specialization handling. Remove
|
| 1928 |
|
|
unneeded CLASSTYPE_TEMPLATE_INSTANTIATION check.
|
| 1929 |
|
|
* mangle.c (discriminator_for_local_entity): Use VEC_index.
|
| 1930 |
|
|
|
| 1931 |
|
|
PR c++/20350
|
| 1932 |
|
|
* decl.c (duplicate_decls): Copy all of DECL_USE_TEMPLATE.
|
| 1933 |
|
|
|
| 1934 |
|
|
PR c++/21151
|
| 1935 |
|
|
* name-lookup.c (pushtag): Push local class even in a template.
|
| 1936 |
|
|
|
| 1937 |
|
|
2005-05-31 Nathan Sidwell
|
| 1938 |
|
|
|
| 1939 |
|
|
PR c++/21165
|
| 1940 |
|
|
* init.c (integral_constant_value): Check the type of the
|
| 1941 |
|
|
initializer, not the decl.
|
| 1942 |
|
|
|
| 1943 |
|
|
2005-05-30 Mark Mitchell
|
| 1944 |
|
|
|
| 1945 |
|
|
PR c++/21784
|
| 1946 |
|
|
* name-lookup.c (do_nonmember_using_decl): Ignore builtin
|
| 1947 |
|
|
functions, even when the used name is not a function.
|
| 1948 |
|
|
|
| 1949 |
|
|
2005-05-30 Kazu Hirata
|
| 1950 |
|
|
|
| 1951 |
|
|
* operators.def, optimize.c: Update copyright.
|
| 1952 |
|
|
|
| 1953 |
|
|
2005-05-28 Mark Mitchell
|
| 1954 |
|
|
|
| 1955 |
|
|
PR c++/21210
|
| 1956 |
|
|
* call.c (standard_conversion): Permit conversions to complex
|
| 1957 |
|
|
types if conversion to the corresponding scalar type would be
|
| 1958 |
|
|
permitted.
|
| 1959 |
|
|
|
| 1960 |
|
|
PR c++/21340
|
| 1961 |
|
|
* method.c (implicitly_declare_fn): Clear processing_template_decl
|
| 1962 |
|
|
when generating implicit declaration.
|
| 1963 |
|
|
|
| 1964 |
|
|
2005-05-27 Mark Mitchell
|
| 1965 |
|
|
|
| 1966 |
|
|
PR c++/21614
|
| 1967 |
|
|
* typeck.c (get_member_function_from_ptrfunc): Do not attempt
|
| 1968 |
|
|
conversions to base classes of incomplete types.
|
| 1969 |
|
|
|
| 1970 |
|
|
2005-05-27 Ian Lance Taylor
|
| 1971 |
|
|
|
| 1972 |
|
|
* semantics.c (add_stmt): Add C++ frontend specific version.
|
| 1973 |
|
|
* cp-tree.h (STMT_IS_FULL_EXPR_P): Define.
|
| 1974 |
|
|
(stmts_are_full_exprs_p): Declare.
|
| 1975 |
|
|
|
| 1976 |
|
|
2005-05-27 Roger Sayle
|
| 1977 |
|
|
Giovanni Bajo
|
| 1978 |
|
|
|
| 1979 |
|
|
* cp-tree.def (UNARY_PLUS_EXPR): New C++ unary tree code.
|
| 1980 |
|
|
* parser.c (cp_parser_unary_expression): Use UNARY_PLUS_EXPR instead
|
| 1981 |
|
|
of CONVERT_EXPR.
|
| 1982 |
|
|
(cp_parser_unary_expression): Likewise.
|
| 1983 |
|
|
* typeck.c (build_unary_op): Likewise.
|
| 1984 |
|
|
* call.c (add_builtin_candidate, build_new_op): Likewise.
|
| 1985 |
|
|
* error.c (dump_expr): Likewise.
|
| 1986 |
|
|
* pt.c (tsubst_copy, tsubst_copy_and_build): Likewise.
|
| 1987 |
|
|
* decl.c (ambi_op_p, grok_op_properties): Likewise.
|
| 1988 |
|
|
* dump.c (dump_op): Likewise.
|
| 1989 |
|
|
* lex.c (init_operators): Likewise.
|
| 1990 |
|
|
* operators.def ("+"): Likewise.
|
| 1991 |
|
|
* cp-gimplify.c (cp_gimplify_expr): Handle UNARY_PLUS_EXPR like a
|
| 1992 |
|
|
conversion, if the result and argument types differ.
|
| 1993 |
|
|
* tree.c (fold_if_not_in_template): Fold UNARY_PLUS_EXPR much
|
| 1994 |
|
|
like a NOP_EXPR when !processing_template_decl.
|
| 1995 |
|
|
|
| 1996 |
|
|
* cxx-pretty-print.c (pp_cxx_cast_expression): Prototype.
|
| 1997 |
|
|
(pp_cxx_unary_expression): Handle new UNARY_PLUS_EXPR tree code.
|
| 1998 |
|
|
|
| 1999 |
|
|
2005-05-27 Nathan Sidwell
|
| 2000 |
|
|
|
| 2001 |
|
|
PR c++/21455
|
| 2002 |
|
|
* typeck.c (get_delta_difference): Cope with incomplete but equal
|
| 2003 |
|
|
classes. Reorder if.
|
| 2004 |
|
|
|
| 2005 |
|
|
PR c++/21681
|
| 2006 |
|
|
* parser.c (cp_parser_late_parsing_for_member): Disable access
|
| 2007 |
|
|
checking for template functions.
|
| 2008 |
|
|
|
| 2009 |
|
|
2005-05-26 Volker Reichelt
|
| 2010 |
|
|
|
| 2011 |
|
|
PR c++/21768
|
| 2012 |
|
|
* pt.c (redeclare_class_template): Change error message according
|
| 2013 |
|
|
to coding conventions.
|
| 2014 |
|
|
|
| 2015 |
|
|
2005-05-26 Volker Reichelt
|
| 2016 |
|
|
|
| 2017 |
|
|
* call.c (build_op_delete_call): Fix quoting in error message.
|
| 2018 |
|
|
|
| 2019 |
|
|
2005-05-25 Richard Henderson
|
| 2020 |
|
|
|
| 2021 |
|
|
PR libgcj/21692
|
| 2022 |
|
|
* cp-tree.h (make_alias_for): Declare.
|
| 2023 |
|
|
* decl2.c (build_java_method_aliases): New.
|
| 2024 |
|
|
(cp_finish_file): Call it.
|
| 2025 |
|
|
* method.c (make_alias_for): Split out from ...
|
| 2026 |
|
|
(make_alias_for_thunk): ... here.
|
| 2027 |
|
|
|
| 2028 |
|
|
2005-05-25 Volker Reichelt
|
| 2029 |
|
|
|
| 2030 |
|
|
PR c++/21686
|
| 2031 |
|
|
* semantics.c (finish_id_expression): Fix quoting in error message.
|
| 2032 |
|
|
|
| 2033 |
|
|
2005-05-25 DJ Delorie
|
| 2034 |
|
|
|
| 2035 |
|
|
* decl.c (duplicate_decls): Move warning control from if() to
|
| 2036 |
|
|
warning(OPT_*).
|
| 2037 |
|
|
* name-lookup.c (parse_using_directive): Likewise.
|
| 2038 |
|
|
* parser.c (cp_parser_elaborated_type_specifier): Likewise.
|
| 2039 |
|
|
(cp_parser_init_declarator): Likewise.
|
| 2040 |
|
|
* tree.c (handle_com_interface_attribute): Likewise.
|
| 2041 |
|
|
|
| 2042 |
|
|
2005-05-24 Ziemowit Laski
|
| 2043 |
|
|
|
| 2044 |
|
|
* class.c (layout_class_type): Do not issue C++ ABI warnings
|
| 2045 |
|
|
for ObjC structs.
|
| 2046 |
|
|
* decl.c (objc_mark_locals_volatile): Streamline by calling
|
| 2047 |
|
|
objc_volatilize_decl().
|
| 2048 |
|
|
* parser.c (cp_parser_objc_message_expression): Allow simple
|
| 2049 |
|
|
type specifiers (instead of merely type names) as message
|
| 2050 |
|
|
receivers.
|
| 2051 |
|
|
* pt.c (template_args_equal): Do not call objc_comptypes().
|
| 2052 |
|
|
* typeck.c (composite_pointer_type): If both pointers are
|
| 2053 |
|
|
ObjC-esque, arbitrarily choose the first; do not call
|
| 2054 |
|
|
objc_comptypes().
|
| 2055 |
|
|
(comptypes): Do not call objc_comptypes().
|
| 2056 |
|
|
(convert_for_assignment): Call objc_compare_types().
|
| 2057 |
|
|
(comp_ptr_ttypes_real): Call objc_type_quals_match() before
|
| 2058 |
|
|
concluding that types do not match.
|
| 2059 |
|
|
|
| 2060 |
|
|
2005-05-24 Andrew Pinski
|
| 2061 |
|
|
|
| 2062 |
|
|
PR C++/21645
|
| 2063 |
|
|
* optimize.c (update_cloned_parm): Copy the TYPE also from the
|
| 2064 |
|
|
original one.
|
| 2065 |
|
|
|
| 2066 |
|
|
2005-05-19 Jakub Jelinek
|
| 2067 |
|
|
|
| 2068 |
|
|
PR c++/21495
|
| 2069 |
|
|
* decl.c (grokdeclarator): Fix "storage class specified for"
|
| 2070 |
|
|
error reporting.
|
| 2071 |
|
|
|
| 2072 |
|
|
2005-05-19 Kazu Hirata
|
| 2073 |
|
|
|
| 2074 |
|
|
* parser.c: Fix comment typos.
|
| 2075 |
|
|
|
| 2076 |
|
|
2005-05-18 Geoffrey Keating
|
| 2077 |
|
|
|
| 2078 |
|
|
* Make-lang.in (cc1plus-dummy): New.
|
| 2079 |
|
|
(cc1plus-checksum.c): New.
|
| 2080 |
|
|
(cc1plus-checksum.o): New.
|
| 2081 |
|
|
(cc1plus): Add cc1plus-checksum.o.
|
| 2082 |
|
|
|
| 2083 |
|
|
2005-05-17 H.J. Lu
|
| 2084 |
|
|
|
| 2085 |
|
|
PR C++/19664
|
| 2086 |
|
|
* decl2.c (determine_visibility): Don't set visibility to
|
| 2087 |
|
|
hidden if it has been set explicitly by user.
|
| 2088 |
|
|
|
| 2089 |
|
|
2005-05-17 Ziemowit Laski
|
| 2090 |
|
|
Mike Stump
|
| 2091 |
|
|
|
| 2092 |
|
|
Yet more Objective-C++...
|
| 2093 |
|
|
|
| 2094 |
|
|
* cp-objcp-common.h (cxx_get_alias_set): Move from
|
| 2095 |
|
|
here...
|
| 2096 |
|
|
(cxx_warn_unused_global_decl): Likewise.
|
| 2097 |
|
|
(cp_expr_size): Likewise.
|
| 2098 |
|
|
(cp_tree_size): Likewise.
|
| 2099 |
|
|
(cp_var_mod_type_p): Likewise.
|
| 2100 |
|
|
(cxx_initialize_diagnostics): Likewise.
|
| 2101 |
|
|
(cxx_types_compatible_p): Likewise.
|
| 2102 |
|
|
* cp-tree.h: to here.
|
| 2103 |
|
|
(do_poplevel): Add.
|
| 2104 |
|
|
* lex.c (D_OBJC): Add.
|
| 2105 |
|
|
(init_reswords): Add.
|
| 2106 |
|
|
* Make-lang.in (cp/pt.o): Add cp/cp-objcp-common.h.
|
| 2107 |
|
|
* parser.c: Add c-common.h include.
|
| 2108 |
|
|
* pt.c: Add c-common.h and cp-objcp-common.h includes.
|
| 2109 |
|
|
(template_args_equal): Use objc_comptypes as well.
|
| 2110 |
|
|
(tsubst_copy_and_build): Use objcp_tsubst_copy_and_build as well.
|
| 2111 |
|
|
* semantics.c (do_poplevel): Remove static.
|
| 2112 |
|
|
|
| 2113 |
|
|
* decl.c (objc_mark_locals_volatile): Don't change decls that are
|
| 2114 |
|
|
already ok.
|
| 2115 |
|
|
* decl2.c (generate_ctor_or_dtor_function): Add code to initialize
|
| 2116 |
|
|
Objective C++ early enough.
|
| 2117 |
|
|
* lex.c (struct resword reswords): Add Objective-C++ support.
|
| 2118 |
|
|
* parser.c (cp_lexer_get_preprocessor_token): Add Objective-C++.
|
| 2119 |
|
|
(cp_parser_objc_message_receiver): Add.
|
| 2120 |
|
|
(cp_parser_objc_message_args): Likewise.
|
| 2121 |
|
|
(cp_parser_objc_message_expression): Likewise.
|
| 2122 |
|
|
(cp_parser_objc_encode_expression): Likewise.
|
| 2123 |
|
|
(cp_parser_objc_defs_expression): Likewise.
|
| 2124 |
|
|
(cp_parser_objc_protocol_expression): Likewise.
|
| 2125 |
|
|
(cp_parser_objc_selector_expression): Likewise.
|
| 2126 |
|
|
(cp_parser_objc_expression): Likewise.
|
| 2127 |
|
|
(cp_parser_objc_visibility_spec): Likewise.
|
| 2128 |
|
|
(cp_parser_objc_method_type): Likewise.
|
| 2129 |
|
|
(cp_parser_objc_protocol_qualifiers): Likewise.
|
| 2130 |
|
|
(cp_parser_objc_typename): Likewise.
|
| 2131 |
|
|
(cp_parser_objc_selector_p): Likewise.
|
| 2132 |
|
|
(cp_parser_objc_selector): Likewise.
|
| 2133 |
|
|
(cp_parser_objc_method_keyword_params): Likewise.
|
| 2134 |
|
|
(cp_parser_objc_method_tail_params_opt): Likewise.
|
| 2135 |
|
|
(cp_parser_objc_interstitial_code): Likewise.
|
| 2136 |
|
|
(cp_parser_objc_method_signature): Likewise.
|
| 2137 |
|
|
(cp_parser_objc_method_prototype_list): Likewise.
|
| 2138 |
|
|
(cp_parser_objc_method_definition_list): Likewise.
|
| 2139 |
|
|
(cp_parser_objc_class_ivars): Likewise.
|
| 2140 |
|
|
(cp_parser_objc_identifier_list): Likewise.
|
| 2141 |
|
|
(cp_parser_objc_alias_declaration): Likewise.
|
| 2142 |
|
|
(cp_parser_objc_class_declaration): Likewise.
|
| 2143 |
|
|
(cp_parser_objc_protocol_declaration): Likewise.
|
| 2144 |
|
|
(cp_parser_objc_protocol_refs_opt): Likewise.
|
| 2145 |
|
|
(cp_parser_objc_superclass_or_category): Likewise.
|
| 2146 |
|
|
(cp_parser_objc_class_interface): Likewise.
|
| 2147 |
|
|
(cp_parser_objc_class_implementation): Likewise.
|
| 2148 |
|
|
(cp_parser_objc_end_implementation): Likewise.
|
| 2149 |
|
|
(cp_parser_objc_declaration): Likewise.
|
| 2150 |
|
|
(cp_parser_objc_try_catch_finally_statement): Likewise.
|
| 2151 |
|
|
(cp_parser_objc_synchronized_statement): Likewise.
|
| 2152 |
|
|
(cp_parser_objc_throw_statement): Likewise.
|
| 2153 |
|
|
(cp_parser_objc_statement): Likewise.
|
| 2154 |
|
|
(cp_parser_primary_expression): Add Objective-C++.
|
| 2155 |
|
|
(cp_parser_statement): Likewise.
|
| 2156 |
|
|
(cp_parser_declaration): Likewise.
|
| 2157 |
|
|
(cp_parser_simple_type_specifier): Likewise.
|
| 2158 |
|
|
(cp_parser_type_name): Likewise.
|
| 2159 |
|
|
(cp_parser_parameter_declaration_list): Likewise.
|
| 2160 |
|
|
(cp_parser_member_declaration) Likewise.
|
| 2161 |
|
|
* tree.c: Include debug.h.
|
| 2162 |
|
|
* typeck.c (composite_pointer_type): Add Objective-C++ support.
|
| 2163 |
|
|
(finish_class_member_access_expr): Likewise.
|
| 2164 |
|
|
(build_function_call): Allow objc to rewrite FUNCTION_DECLs.
|
| 2165 |
|
|
(build_modify_expr): Allow objc to generate write barriers.
|
| 2166 |
|
|
|
| 2167 |
|
|
* Make-lang.in (cp/tree.o): Add debug.h.
|
| 2168 |
|
|
* tree.c (lvalue_p_1, case CONST_DECL): Add.
|
| 2169 |
|
|
|
| 2170 |
|
|
2005-05-18 Jan Hubicka
|
| 2171 |
|
|
|
| 2172 |
|
|
* method.c: Include tree-pass.h
|
| 2173 |
|
|
(use_thunk): Lower body before expanding.
|
| 2174 |
|
|
|
| 2175 |
|
|
2005-05-17 Jakub Jelinek
|
| 2176 |
|
|
|
| 2177 |
|
|
PR c++/21454
|
| 2178 |
|
|
* decl.c (maybe_deduce_size_from_array_init): Call
|
| 2179 |
|
|
cp_apply_type_quals_to_decl after completing array type.
|
| 2180 |
|
|
|
| 2181 |
|
|
2005-05-16 Richard Henderson
|
| 2182 |
|
|
|
| 2183 |
|
|
* decl.c (build_library_fn_1): Move setting TREE_NOTHROW ...
|
| 2184 |
|
|
(build_library_fn): ... here.
|
| 2185 |
|
|
|
| 2186 |
|
|
2005-05-12 Ian Lance Taylor
|
| 2187 |
|
|
|
| 2188 |
|
|
* cp-tree.h (cp_stmt_codes): Don't define.
|
| 2189 |
|
|
(statement_code_p): Declare.
|
| 2190 |
|
|
(STATEMENT_CODE_P): Define.
|
| 2191 |
|
|
* lex.c (statement_code_p): Define.
|
| 2192 |
|
|
(cxx_init): Use actual codes in stmt_codes initializer, not
|
| 2193 |
|
|
cp_stmt_codes macro. Initialize statement_code_p directly, rather
|
| 2194 |
|
|
than using INIT_STATEMENT_CODES.
|
| 2195 |
|
|
|
| 2196 |
|
|
2005-05-09 Mark Mitchell
|
| 2197 |
|
|
|
| 2198 |
|
|
* typeck.c (build_unary_op): Do not resort to address arithmetic
|
| 2199 |
|
|
when taking the address of a COMPONENT_REF.
|
| 2200 |
|
|
|
| 2201 |
|
|
2005-05-08 Kazu Hirata
|
| 2202 |
|
|
|
| 2203 |
|
|
* class.c (vtbl_init_data_s): Change the type of fns to
|
| 2204 |
|
|
VEC(tree,gc)*.
|
| 2205 |
|
|
(build_vtbl_initializer, add_vcall_offset, add_vcall_offset):
|
| 2206 |
|
|
Use VEC instead of VARRAY.
|
| 2207 |
|
|
|
| 2208 |
|
|
2005-05-07 Richard Sandiford
|
| 2209 |
|
|
|
| 2210 |
|
|
* mangle.c: Remove a reference to the MIPS -mint64 option.
|
| 2211 |
|
|
|
| 2212 |
|
|
2005-05-07 Kazu Hirata
|
| 2213 |
|
|
|
| 2214 |
|
|
* decl.c (wrapup_globals_for_namespace): Use VEC instead of
|
| 2215 |
|
|
VARRAY.
|
| 2216 |
|
|
* name-lookup.c (add_decl_to_level, begin_scope): Likewise.
|
| 2217 |
|
|
* name-lookup.h (cp_binding_level): Change the type of
|
| 2218 |
|
|
static_decls to VEC(tree,gc)*.
|
| 2219 |
|
|
|
| 2220 |
|
|
* mangle.c (globals): Change the type of substitutions to
|
| 2221 |
|
|
VEC(tree,gc)*.
|
| 2222 |
|
|
(dump_substitution_candidates, add_substitution,
|
| 2223 |
|
|
find_substitution, finish_mangling, init_mangle): Use VEC
|
| 2224 |
|
|
instead of VARRAY.
|
| 2225 |
|
|
|
| 2226 |
|
|
2005-05-06 Kazu Hirata
|
| 2227 |
|
|
|
| 2228 |
|
|
* decl2.c (spew_debug): Remove.
|
| 2229 |
|
|
|
| 2230 |
|
|
* decl2.c (ssdf_decls, start_static_storage_duration_function,
|
| 2231 |
|
|
generate_ctor_or_dtor_function): Use VEC instead of VARRAY.
|
| 2232 |
|
|
|
| 2233 |
|
|
* decl2.c (pending_statics, note_vague_linkage_var,
|
| 2234 |
|
|
cp_finish_file): Use VEC instead of VARRAY.
|
| 2235 |
|
|
(pending_statics_used): Remove.
|
| 2236 |
|
|
|
| 2237 |
|
|
2005-05-05 Kazu Hirata
|
| 2238 |
|
|
|
| 2239 |
|
|
* decl2.c (deferred_fns, note_vague_linkage_fn,
|
| 2240 |
|
|
cp_finish_file): Use VEC instead of VARRAY.
|
| 2241 |
|
|
|
| 2242 |
|
|
2005-05-05 Mark Mitchell
|
| 2243 |
|
|
|
| 2244 |
|
|
PR c++/21352
|
| 2245 |
|
|
* pt.c (build_non_dependent_expr): Use is_overloaded_fn.
|
| 2246 |
|
|
|
| 2247 |
|
|
2005-05-05 Kazu Hirata
|
| 2248 |
|
|
|
| 2249 |
|
|
* pt.c: Fix a comment typo.
|
| 2250 |
|
|
|
| 2251 |
|
|
2005-05-04 Kazu Hirata
|
| 2252 |
|
|
|
| 2253 |
|
|
* cp-tree.h (language_function): Change the type of
|
| 2254 |
|
|
x_local_names to VEC.
|
| 2255 |
|
|
* decl.c (push_local_name): Adjust uses of local_names.
|
| 2256 |
|
|
|
| 2257 |
|
|
2005-05-03 Kazu Hirata
|
| 2258 |
|
|
|
| 2259 |
|
|
* friend.c, lex.c, mangle.c, repo.c: Update copyright.
|
| 2260 |
|
|
|
| 2261 |
|
|
2005-05-02 Kazu Hirata
|
| 2262 |
|
|
|
| 2263 |
|
|
* class.c (local_classes, init_class_processing): Use VEC
|
| 2264 |
|
|
instead of VARRAY.
|
| 2265 |
|
|
* cp-tree.h (local_classes): Likewise.
|
| 2266 |
|
|
* mangle.c (discriminator_for_local_entity): Likewise.
|
| 2267 |
|
|
* name-lookup.c (pushtag): Likewise.
|
| 2268 |
|
|
|
| 2269 |
|
|
* class.c (current_lang_depth, push_lang_context,
|
| 2270 |
|
|
pop_lang_context): Use VEC instead of VARRAY.
|
| 2271 |
|
|
* cp-tree.h (saved_scope): Use VEC for lang_base instead of
|
| 2272 |
|
|
VARRAY.
|
| 2273 |
|
|
* name-lookup.c (push_to_top_level): Use VEC instead of
|
| 2274 |
|
|
VARRAY.
|
| 2275 |
|
|
|
| 2276 |
|
|
2005-05-02 Paolo Bonzini
|
| 2277 |
|
|
|
| 2278 |
|
|
* semantics.c (finish_call_expr): Call resolve_overloaded_builtin
|
| 2279 |
|
|
for BUILT_IN_MD built-ins.
|
| 2280 |
|
|
|
| 2281 |
|
|
2005-05-02 Michael Matz
|
| 2282 |
|
|
|
| 2283 |
|
|
PR c++/19542
|
| 2284 |
|
|
* cp-tree.h (cp_tree_index): Remove CPTI_NULL, to be defined in C
|
| 2285 |
|
|
common frontend.
|
| 2286 |
|
|
(null_node): Remove.
|
| 2287 |
|
|
* lex.c (cxx_init): Move null_node initialisation to C common frontend.
|
| 2288 |
|
|
|
| 2289 |
|
|
2005-04-25 Ian Lance Taylor
|
| 2290 |
|
|
|
| 2291 |
|
|
* cp-tree.def: Add EXPR_STMT.
|
| 2292 |
|
|
* cp-tree.h (cp_stmt_codes): Add EXPR_STMT.
|
| 2293 |
|
|
(EXPR_STMT_EXPR): Define.
|
| 2294 |
|
|
* cp-gimplify.c: Include "flags.h".
|
| 2295 |
|
|
(gimplify_expr_stmt): New static function.
|
| 2296 |
|
|
(cp_gimplify_expr): Handle EXPR_STMT.
|
| 2297 |
|
|
* cxx-pretty-print.c (pp_cxx_statement): Use pp_cxx_expression
|
| 2298 |
|
|
rather than pp_expression.
|
| 2299 |
|
|
(pp_cxx_statement): Handle EXPR_STMT.
|
| 2300 |
|
|
* dump.c (cp_dump_tree): Handle EXPR_STMT.
|
| 2301 |
|
|
* lex.c (cxx_init): Don't use c_common_stmt_codes in stmt_codes
|
| 2302 |
|
|
initializer.
|
| 2303 |
|
|
|
| 2304 |
|
|
2005-04-25 Andrew Pinski
|
| 2305 |
|
|
|
| 2306 |
|
|
PR C++/21188
|
| 2307 |
|
|
* rtti.c (ifnonnull): Cast the zero comparison operand
|
| 2308 |
|
|
to the correct type.
|
| 2309 |
|
|
|
| 2310 |
|
|
2005-04-24 Jakub Jelinek
|
| 2311 |
|
|
|
| 2312 |
|
|
PR middle-end/20991
|
| 2313 |
|
|
* class.c: Include cgraph.h.
|
| 2314 |
|
|
(cp_fold_obj_type_ref): Set node->local.vtable_method.
|
| 2315 |
|
|
* Make-lang.in (cgraph.o): Depend on $(CGRAPH_H).
|
| 2316 |
|
|
|
| 2317 |
|
|
2005-04-12 Markus F.X.J. Oberhumer
|
| 2318 |
|
|
|
| 2319 |
|
|
* mangle.c (write_builtin_type): Handle integer types which are
|
| 2320 |
|
|
not one of the shared integer type nodes and emit a "vendor
|
| 2321 |
|
|
extended builtin type" with an encoding in the form of "u5int96".
|
| 2322 |
|
|
|
| 2323 |
|
|
2005-04-24 Ian Lance Taylor
|
| 2324 |
|
|
|
| 2325 |
|
|
* cp-tree.def (USING_STMT): Change class to tcc_statement.
|
| 2326 |
|
|
(TRY_BLOCK, EH_SPEC_BLOCK, HANDLER, CLEANUP_STMT): Likewise.
|
| 2327 |
|
|
(IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT): Likewise.
|
| 2328 |
|
|
(BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
|
| 2329 |
|
|
|
| 2330 |
|
|
2005-04-23 DJ Delorie
|
| 2331 |
|
|
|
| 2332 |
|
|
* call.c, class.c, cvt.c, decl.c, decl2.c, except.c, friend.c,
|
| 2333 |
|
|
init.c, lex.c, mangle.c, method.c, name-lookup.c, parser.c,
|
| 2334 |
|
|
repo.c, rtti.c, tree.c, typeck.c, typeck2.c: Adjust warning()
|
| 2335 |
|
|
callers.
|
| 2336 |
|
|
|
| 2337 |
|
|
2005-04-22 Per Bothner
|
| 2338 |
|
|
|
| 2339 |
|
|
* decl.c (make_rtl_for_nonlocal_decl): Don't try get_fileinfo if
|
| 2340 |
|
|
input_filename is NULL, as it is for (say) __PRETTY_FUNCTION__.
|
| 2341 |
|
|
|
| 2342 |
|
|
2005-04-22 Alexandre Oliva
|
| 2343 |
|
|
|
| 2344 |
|
|
PR c++/21087
|
| 2345 |
|
|
* name-lookup.c (push_overloaded_decl): Do not overload with
|
| 2346 |
|
|
non-duplicate anticipated built-in.
|
| 2347 |
|
|
|
| 2348 |
|
|
2005-04-21 Kazu Hirata
|
| 2349 |
|
|
|
| 2350 |
|
|
* cp-tree.h (THROW_NAME, AUTO_VTABLE_NAME, AUTO_TEMP_FORMAT,
|
| 2351 |
|
|
VTABLE_BASE, VTABLE_NAME_PREFIX, STATIC_NAME_FORMAT): Remove.
|
| 2352 |
|
|
|
| 2353 |
|
|
2005-04-21 Nathan Sidwell
|
| 2354 |
|
|
|
| 2355 |
|
|
* cp-tree.h: Adjust for new VEC API.
|
| 2356 |
|
|
Define VEC(tree_pair_s,gc).
|
| 2357 |
|
|
(struct save_scope): Adjust.
|
| 2358 |
|
|
(struct lang_type_class): Adjust.
|
| 2359 |
|
|
(unemitted_tinfo_decls): Adjust.
|
| 2360 |
|
|
* class.c (add_method, resort_type_method_vec,
|
| 2361 |
|
|
finish_struct_methods, struct find_final_overrider_data,
|
| 2362 |
|
|
dfs_find_final_overrider_pre, find_final_overrider,
|
| 2363 |
|
|
get_vcall_index, warn_hidden, walk_subobject_offsets,
|
| 2364 |
|
|
check_methods, fixup_inline_methods, end_of_class,
|
| 2365 |
|
|
warn_about_ambiguous_bases, finish_struct, build_vtbl_initializer,
|
| 2366 |
|
|
add_vcall_offset): Adjust.
|
| 2367 |
|
|
* decl.c (xref_basetypes, finish_method): Adjust.
|
| 2368 |
|
|
* decl2.c (check_classfn): Adjust.
|
| 2369 |
|
|
* init.c (sort_mem_initializers, push_base_cleanups): Adjust.
|
| 2370 |
|
|
* method.c (do_build_copy_constructor): Adjust.
|
| 2371 |
|
|
* name-lookup.c (new_class_binding, store_binding,
|
| 2372 |
|
|
store_bindings, store_class_bindings): Adjust.
|
| 2373 |
|
|
* name-lookup.h: Define VEC(cxx_saved_binding,gc),
|
| 2374 |
|
|
VEC(cp_class_binding,gc).
|
| 2375 |
|
|
(struct cp_binding_level): Adjust.
|
| 2376 |
|
|
* parser.c: Define VEC(cp_token_position,heap).
|
| 2377 |
|
|
(struct cp_lexer): Adjust.
|
| 2378 |
|
|
(cp_lexer_new_main, cp_lexer_new_from_tokens, cp_lexer_destroy,
|
| 2379 |
|
|
cp_lexer_save_tokens): Adjust.
|
| 2380 |
|
|
* pt.c (retrieve_specialization,
|
| 2381 |
|
|
check_explicit_specialization): Adjust.
|
| 2382 |
|
|
* rtti.c (unemitted_tinfo_decls): Adjust.
|
| 2383 |
|
|
(init_rtti_processing, get_tinfo_decl, get_pseudo_ti_init,
|
| 2384 |
|
|
get_pseudo_ti_desc): Adjust.
|
| 2385 |
|
|
* search.c (dfs_access_in_type, lookup_conversion_operator,
|
| 2386 |
|
|
lookup_fnfields_1, dfs_walk_once, dfs_walk_once_accessible,
|
| 2387 |
|
|
dfs_get_pure_virtuals, lookup_conversions_r, binfo_for_vbase): Adjust.
|
| 2388 |
|
|
* semantics.c: Define VEC(deferred_access,gc).
|
| 2389 |
|
|
(push_deferring_access_checks): Adjust.
|
| 2390 |
|
|
* typeck2.c (abstract_virtuals_error): Adjust.
|
| 2391 |
|
|
|
| 2392 |
|
|
2005-04-20 Ian Lance Taylor
|
| 2393 |
|
|
|
| 2394 |
|
|
* cp-tree.def: Add STMT_EXPR.
|
| 2395 |
|
|
* cp-tree.h (STMT_EXPR_NO_SCOPE): Define.
|
| 2396 |
|
|
(STMT_EXPR_STMT): Define.
|
| 2397 |
|
|
* cxx-pretty-print.c (pp_cxx_primary_expression): Handle
|
| 2398 |
|
|
STMT_EXPR.
|
| 2399 |
|
|
(pp_cxx_expression): Likewise.
|
| 2400 |
|
|
(pp_cxx_statement): Call pp_cxx_statement, not pp_statement.
|
| 2401 |
|
|
* dump.c (cp_dump_tree): Handle STMT_EXPR.
|
| 2402 |
|
|
|
| 2403 |
|
|
2005-04-18 Kazu Hirata
|
| 2404 |
|
|
|
| 2405 |
|
|
* decl.c (expand_static_init): Call build2 and build3 instead
|
| 2406 |
|
|
of build.
|
| 2407 |
|
|
|
| 2408 |
|
|
* cp-tree.h (VPTR_NAME, VPTR_NAME_P): Remove.
|
| 2409 |
|
|
|
| 2410 |
|
|
2005-04-17 Ian Lance Taylor
|
| 2411 |
|
|
|
| 2412 |
|
|
* cp-tree.def: Add SIZEOF_EXPR, ARROW_EXPR and ALIGNOF_EXPR.
|
| 2413 |
|
|
* cxx-pretty-print.c (pp_cxx_postfix_expression): Handle
|
| 2414 |
|
|
ARROW_EXPR.
|
| 2415 |
|
|
(pp_cxx_unary_expression): Handle SIZEOF_EXPR and ALIGNOF_EXPR.
|
| 2416 |
|
|
(pp_cxx_expression): Handle ARROW_EXPR, SIZEOF_EXPR, and
|
| 2417 |
|
|
ALIGNOF_EXPR.
|
| 2418 |
|
|
* typeck.c (cxx_sizeof_or_alignof_type): Update call to
|
| 2419 |
|
|
c_sizeof_or_alignof_type for change in parameter type.
|
| 2420 |
|
|
|
| 2421 |
|
|
2005-04-16 Mark Mitchell
|
| 2422 |
|
|
|
| 2423 |
|
|
PR c++/21025
|
| 2424 |
|
|
* typeck.c (cxx_sizeof_or_alignof_type): Check whether the type to
|
| 2425 |
|
|
which sizeof/alignof is dependent, rather than just whether we are
|
| 2426 |
|
|
processing_template_decl.
|
| 2427 |
|
|
|
| 2428 |
|
|
2005-04-17 Kazu Hirata
|
| 2429 |
|
|
|
| 2430 |
|
|
* cp-tree.h (LOOKUP_GLOBAL): Remove.
|
| 2431 |
|
|
(LOOKUP_ONLYCONVERTING, DIRECT_BIND, LOOKUP_NO_CONVERSION,
|
| 2432 |
|
|
LOOKUP_DESTRUCTOR, LOOKUP_NO_TEMP_BIND, LOOKUP_PREFER_TYPES,
|
| 2433 |
|
|
LOOKUP_PREFER_NAMESPACES, LOOKUP_CONSTRUCTOR_CALLABLE): Adjust
|
| 2434 |
|
|
their values.
|
| 2435 |
|
|
|
| 2436 |
|
|
2005-04-15 Richard Henderson
|
| 2437 |
|
|
|
| 2438 |
|
|
PR middle-end/14311
|
| 2439 |
|
|
* semantics.c (finish_call_expr): Call resolve_overloaded_builtin.
|
| 2440 |
|
|
|
| 2441 |
|
|
2005-04-15 Kazu Hirata
|
| 2442 |
|
|
|
| 2443 |
|
|
* cp-tree.h (lang_type_class): Remove redefined. Move
|
| 2444 |
|
|
java_interface into where redefined was. Increment the width
|
| 2445 |
|
|
of dummy.
|
| 2446 |
|
|
(TYPE_REDEFINED): Remove.
|
| 2447 |
|
|
|
| 2448 |
|
|
2005-04-14 Kazu Hirata
|
| 2449 |
|
|
|
| 2450 |
|
|
* cp-tree.h (SET_TMPL_ARG, ENUM_TI_TEMPLATE, ENUM_TI_ARGS,
|
| 2451 |
|
|
CLASSTYPE_TEMPLATE_LEVEL): Remove.
|
| 2452 |
|
|
|
| 2453 |
|
|
2005-04-11 Mark Mitchell
|
| 2454 |
|
|
|
| 2455 |
|
|
* decl2.c (determine_visibility): Don't use export_class_data.
|
| 2456 |
|
|
(import_export_decl): Honor TARGET_CXX_CLASS_DATA_ALWAYS_WEAK and
|
| 2457 |
|
|
TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY.
|
| 2458 |
|
|
|
| 2459 |
|
|
2005-04-09 Kazu Hirata
|
| 2460 |
|
|
|
| 2461 |
|
|
* cp-tree.h (cxx_alignof): Remove.
|
| 2462 |
|
|
|
| 2463 |
|
|
* cp-tree.h (DECL_ARRAY_DELETE_OPERATOR_P): Remove.
|
| 2464 |
|
|
|
| 2465 |
|
|
* cp-tree.h (EXCEPTION_CLEANUP_NAME, B_SET, B_CLR, B_TST,
|
| 2466 |
|
|
CONV_STATIC_CAST): Remove.
|
| 2467 |
|
|
|
| 2468 |
|
|
* pt.c (UNIFY_ALLOW_MAX_CORRECTION): Remove.
|
| 2469 |
|
|
|
| 2470 |
|
|
* cp-tree.h (VF_BINFO_VALUE, VF_BASETYPE_VALUE): Remove.
|
| 2471 |
|
|
|
| 2472 |
|
|
* cp-tree.h (cp_deprecated): Remove.
|
| 2473 |
|
|
|
| 2474 |
|
|
2005-04-08 Ian Lance Taylor
|
| 2475 |
|
|
|
| 2476 |
|
|
* cp-tree.def: Define FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,
|
| 2477 |
|
|
CONTINUE_STMT, SWITCH_STMT.
|
| 2478 |
|
|
* cp-tree.h (cp_stmt_codes): Add FOR_STMT, WHILE_STMT, DO_STMT,
|
| 2479 |
|
|
BREAK_STMT, CONTINUE_STMT, SWITCH_STMT.
|
| 2480 |
|
|
(WHILE_COND, WHILE_BODY): Define.
|
| 2481 |
|
|
(DO_COND, DO_BODY): Define.
|
| 2482 |
|
|
(FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Define.
|
| 2483 |
|
|
(SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Define.
|
| 2484 |
|
|
* cp-gimplify.c (enum bc_t): Define.
|
| 2485 |
|
|
(struct cp_gimplify_ctx, ctxp): Define.
|
| 2486 |
|
|
(push_context, pop_context): New static functions.
|
| 2487 |
|
|
(begin_bc_block, finish_bc_block): New static functions.
|
| 2488 |
|
|
(build_bc_goto): New static function.
|
| 2489 |
|
|
(gimplify_cp_loop, gimplify_for_stmt): New static functions.
|
| 2490 |
|
|
(gimplify_while_stmt, gimplify_do_stmt): Likewise.
|
| 2491 |
|
|
(gimplify_switch_stmt): Likewise.
|
| 2492 |
|
|
(cp_gimplify_expr): Handle FOR_STMT, WHILE_STMT, DO_STMT,
|
| 2493 |
|
|
SWITCH_STMT, CONTINUE_STMT, BREAK_STMT.
|
| 2494 |
|
|
(cp_genericize): Call push_context and pop_context.
|
| 2495 |
|
|
* semantics.c (finish_break_stmt): Just call build_stmt
|
| 2496 |
|
|
(BREAK_STMT) rather than build_break_stmt.
|
| 2497 |
|
|
(finish_continue_stmt): Corresponding change.
|
| 2498 |
|
|
* decl.c (pop_switch): Update call to c_do_switch_warnings for new
|
| 2499 |
|
|
parameters.
|
| 2500 |
|
|
* cxx-pretty-print.c (pp_cxx_statement): Handle SWITCH_STMT,
|
| 2501 |
|
|
WHILE_STMT, DO_STMT, FOR_STMT, BREAK_STMT, CONTINUE_STMT.
|
| 2502 |
|
|
* dump.c (cp_dump_tree): Likewise.
|
| 2503 |
|
|
|
| 2504 |
|
|
2005-04-08 Mark Mitchell
|
| 2505 |
|
|
|
| 2506 |
|
|
PR c++/20905
|
| 2507 |
|
|
* parser.c (cp_parser_type_specifier_seq): Add is_condition
|
| 2508 |
|
|
parameter.
|
| 2509 |
|
|
(cp_parser_new_type_id): Pass it.
|
| 2510 |
|
|
(cp_parser_condition): Likewise.
|
| 2511 |
|
|
(cp_parser_conversion_type_id): Likewise.
|
| 2512 |
|
|
(cp_parser_type_id): Likewise.
|
| 2513 |
|
|
(cp_parser_type_specifier_seq): In a condition, do not allow
|
| 2514 |
|
|
invalid type-specifier combinations.
|
| 2515 |
|
|
(cp_parser_exception_declaration): Adjust call to
|
| 2516 |
|
|
cp_parser_type_specifier_seq.
|
| 2517 |
|
|
|
| 2518 |
|
|
* cp-tree.def (TINST_LEVEL): Document TINST_IN_SYSTEM_HEADER_P.
|
| 2519 |
|
|
* cp-tree.h (struct tinst_level): Add in_system_header_p.
|
| 2520 |
|
|
(TINST_IN_SYSTEM_HEADER_P): New macro.
|
| 2521 |
|
|
(make_tinst_level): Remove.
|
| 2522 |
|
|
* pt.c (lookup_template_class): Preserve DECL_IN_SYSTEM_HEADER on
|
| 2523 |
|
|
the instantiated class.
|
| 2524 |
|
|
(push_tinst_level): Do not use make_tinst_level. Set
|
| 2525 |
|
|
TINST_IN_SYSTEM_HEADER_P.
|
| 2526 |
|
|
(pop_tinst_level): Likewise.
|
| 2527 |
|
|
(instantiate_class_template): Set in_system_header.
|
| 2528 |
|
|
(instantiate_pending_templates): Likewise.
|
| 2529 |
|
|
* tree.c (make_tinst_level): Remove.
|
| 2530 |
|
|
|
| 2531 |
|
|
2005-04-06 Joseph S. Myers
|
| 2532 |
|
|
|
| 2533 |
|
|
* decl.c (start_decl): Apply pending #pragma weak regardless of
|
| 2534 |
|
|
scope.
|
| 2535 |
|
|
|
| 2536 |
|
|
2005-04-06 Mark Mitchell
|
| 2537 |
|
|
|
| 2538 |
|
|
PR c++/20212
|
| 2539 |
|
|
* pt.c (regenerate_decl_from_template): Copy attributes for
|
| 2540 |
|
|
parameters from the pattern to the instantiation.
|
| 2541 |
|
|
|
| 2542 |
|
|
2005-04-05 Mark Mitchell
|
| 2543 |
|
|
|
| 2544 |
|
|
PR c++/20734
|
| 2545 |
|
|
* cp-tree.def (OFFSET_REF): Correct comments.
|
| 2546 |
|
|
* init.c (build_offset_ref): Remove misleading comment.
|
| 2547 |
|
|
* typeck.c (build_unary_op): Handle pointer-to-member creation
|
| 2548 |
|
|
here, rather than ...
|
| 2549 |
|
|
(unary_complex_lvalue): ... here.
|
| 2550 |
|
|
|
| 2551 |
|
|
2005-04-06 Jason Merrill
|
| 2552 |
|
|
|
| 2553 |
|
|
PR c++/19312
|
| 2554 |
|
|
* tree.c (stabilize_init): Don't bother trying to stabilize
|
| 2555 |
|
|
something with no side-effects.
|
| 2556 |
|
|
|
| 2557 |
|
|
2005-04-05 Mark Mitchell
|
| 2558 |
|
|
|
| 2559 |
|
|
PR c++/20763
|
| 2560 |
|
|
* decl.c (grokdeclarator): Correct attribute handling.
|
| 2561 |
|
|
|
| 2562 |
|
|
2005-04-05 Mark Mitchell
|
| 2563 |
|
|
|
| 2564 |
|
|
PR c++/19159
|
| 2565 |
|
|
* decl2.c (import_export_decl): Use non-COMDAT external linkage
|
| 2566 |
|
|
for virtual tables, typeinfo, etc. that will be emitted in only
|
| 2567 |
|
|
one translation unit on systems without weak symbols.
|
| 2568 |
|
|
|
| 2569 |
|
|
2005-04-04 Mark Mitchell
|
| 2570 |
|
|
|
| 2571 |
|
|
PR c++/20679
|
| 2572 |
|
|
* parser.c (cp_parser_template_name): Fix thinko.
|
| 2573 |
|
|
|
| 2574 |
|
|
2005-04-04 Nathan Sidwell
|
| 2575 |
|
|
|
| 2576 |
|
|
PR c++/20746
|
| 2577 |
|
|
* method.c (use_thunk): Protect covariant pointer return
|
| 2578 |
|
|
adjustments from NULL pointers.
|
| 2579 |
|
|
|
| 2580 |
|
|
2005-04-04 Jan Hubicka
|
| 2581 |
|
|
|
| 2582 |
|
|
* decl2.c (finish_objects): Revert my previous patch.
|
| 2583 |
|
|
(cp_finish_file): Likewise.
|
| 2584 |
|
|
|
| 2585 |
|
|
2005-04-03 Kazu Hirata
|
| 2586 |
|
|
|
| 2587 |
|
|
* pt.c: Fix comment typos.
|
| 2588 |
|
|
|
| 2589 |
|
|
2005-04-03 Nathan Sidwell
|
| 2590 |
|
|
|
| 2591 |
|
|
PR c++/20723
|
| 2592 |
|
|
* pt.c (more_specialized_fn): Member functions are unordered wrt
|
| 2593 |
|
|
non-members. Conversion operators are unordered wrt other
|
| 2594 |
|
|
functions.
|
| 2595 |
|
|
|
| 2596 |
|
|
2005-04-01 Nathan Sidwell
|
| 2597 |
|
|
|
| 2598 |
|
|
* call.c (add_template_candidates_real): Remove length parameter
|
| 2599 |
|
|
from fn_type_unification call.
|
| 2600 |
|
|
* class.c (resolve_address_of_overloaded_function): Likewise
|
| 2601 |
|
|
* cp-tree.h (fn_type_unification): Remove length parameter.
|
| 2602 |
|
|
* pt.c (get_bindings_overload): Remove.
|
| 2603 |
|
|
(get_bindings_real): Rename to ...
|
| 2604 |
|
|
(get_bindings): ... here. Remove length and strict
|
| 2605 |
|
|
parameters. Change return type flag to boolean. Remove original
|
| 2606 |
|
|
forwarding function.
|
| 2607 |
|
|
(determine_specialization): Adjust get_bindings call.
|
| 2608 |
|
|
(fn_type_unification): Remove length parameter. Adjust.
|
| 2609 |
|
|
(type_unification_real): Remove length parameter. Adjust.
|
| 2610 |
|
|
(resolve_overloaded_unification): Adjust get_bindings call.
|
| 2611 |
|
|
(try_one_overload): Simplify confusing cascaded if control flow.
|
| 2612 |
|
|
(unify): Remove length paramter from type_unification_real call.
|
| 2613 |
|
|
(most_specialized_instantiation): Adjust get_bindings calls.
|
| 2614 |
|
|
(most_specialized): Likewise.
|
| 2615 |
|
|
|
| 2616 |
|
|
2005-03-31 Nathan Sidwell
|
| 2617 |
|
|
|
| 2618 |
|
|
PR c++/19203, implement DR 214
|
| 2619 |
|
|
* call.c (joust): Use more_specialized_fn.
|
| 2620 |
|
|
* cp-tree.h (DEDUCE_ORDER): Remove.
|
| 2621 |
|
|
(more_specialized): Replace with ...
|
| 2622 |
|
|
(more_specialized_fn): ... this.
|
| 2623 |
|
|
* pt.c (maybe_adjust_types_for_deduction): Remove DEDUCE_ORDER
|
| 2624 |
|
|
case.
|
| 2625 |
|
|
(type_unification_real): Remove DEDUCE_ORDER case.
|
| 2626 |
|
|
(more_specialized): Replace with ...
|
| 2627 |
|
|
(more_specialized_fn): ... this. Implement DR 214.
|
| 2628 |
|
|
(most_specialized_instantiation): Use get_bindings_real directly.
|
| 2629 |
|
|
|
| 2630 |
|
|
2005-03-31 Gabriel Dos Reis
|
| 2631 |
|
|
|
| 2632 |
|
|
PR c++/18644
|
| 2633 |
|
|
* call.c (build_new_op): Remove check for -Wsynth.
|
| 2634 |
|
|
|
| 2635 |
|
|
2005-03-31 Jan Hubicka
|
| 2636 |
|
|
|
| 2637 |
|
|
* decl2.c (finish_objects): Mark ctor as needed.
|
| 2638 |
|
|
(cp_finish_file): Output variables only in nonunit-at-a-time.
|
| 2639 |
|
|
|
| 2640 |
|
|
2005-03-29 Richard Henderson
|
| 2641 |
|
|
|
| 2642 |
|
|
PR c/20519
|
| 2643 |
|
|
* decl.c (cp_complete_array_type): Rename from complete_array_type.
|
| 2644 |
|
|
Use the new complete_array_type in c-common.c. Update all callers.
|
| 2645 |
|
|
* cp-tree.h (cp_complete_array_type): Update to match.
|
| 2646 |
|
|
|
| 2647 |
|
|
2005-03-24 Geoffrey Keating
|
| 2648 |
|
|
|
| 2649 |
|
|
* typeck.c (build_static_cast_1): Allow scalar_cast between
|
| 2650 |
|
|
any integral, floating, or enumeration type.
|
| 2651 |
|
|
|
| 2652 |
|
|
2005-03-24 Steven Bosscher
|
| 2653 |
|
|
|
| 2654 |
|
|
* typeck.c (comptypes): First determine if the types are compatible
|
| 2655 |
|
|
from a target-independent point of view. Check target attributes
|
| 2656 |
|
|
last.
|
| 2657 |
|
|
|
| 2658 |
|
|
* class.c (build_base_path):
|
| 2659 |
|
|
(build_vbase_offset_vtbl_entries):
|
| 2660 |
|
|
(add_vcall_offset): Replace fold (buildN (...)) with fold_buildN.
|
| 2661 |
|
|
* error.c (dump_expr): Likewise.
|
| 2662 |
|
|
* init.c (build_zero_init, expand_cleanup_for_base,
|
| 2663 |
|
|
build_vec_delete_1): Likewise.
|
| 2664 |
|
|
* mangle.c (write_integer_cst): Likewise.
|
| 2665 |
|
|
* method.c (thunk_adjust): Likewise.
|
| 2666 |
|
|
* pt.c (convert_nontype_argument, tsubst, unify): Likewise.
|
| 2667 |
|
|
* tree.c (cxx_print_statistics, array_type_nelts_total): Likewise.
|
| 2668 |
|
|
* typeck.c (build_ptrmemfunc_access_expr,
|
| 2669 |
|
|
(get_member_function_from_ptrfunc): Likewise.
|
| 2670 |
|
|
|
| 2671 |
|
|
2005-03-23 Joseph S. Myers
|
| 2672 |
|
|
|
| 2673 |
|
|
* cp-objcp-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
|
| 2674 |
|
|
|
| 2675 |
|
|
2005-03-23 Joseph S. Myers
|
| 2676 |
|
|
|
| 2677 |
|
|
* cp-tree.h (perform_integral_promotions): Remove.
|
| 2678 |
|
|
(default_conversion): Add.
|
| 2679 |
|
|
|
| 2680 |
|
|
2005-03-22 Mark Mitchell
|
| 2681 |
|
|
|
| 2682 |
|
|
* parser.c (cp_parser_warn_min_max): New function.
|
| 2683 |
|
|
(cp_parser_binary_expression): Use it.
|
| 2684 |
|
|
(cp_parser_assignment_operator_opt): Likewise.
|
| 2685 |
|
|
(cp_parser_operator): Likewise.
|
| 2686 |
|
|
|
| 2687 |
|
|
2005-03-22 Volker Reichelt
|
| 2688 |
|
|
|
| 2689 |
|
|
PR c++/19980
|
| 2690 |
|
|
* decl.c (start_preparsed_function): Robustify.
|
| 2691 |
|
|
|
| 2692 |
|
|
2005-03-22 Volker Reichelt
|
| 2693 |
|
|
|
| 2694 |
|
|
PR c++/20499
|
| 2695 |
|
|
* parser.c (cp_parser_class_head): Return NULL_TREE when
|
| 2696 |
|
|
encountering a redefinition.
|
| 2697 |
|
|
|
| 2698 |
|
|
2005-03-22 Nathan Sidwell
|
| 2699 |
|
|
|
| 2700 |
|
|
PR c++/20465
|
| 2701 |
|
|
PR c++/20381
|
| 2702 |
|
|
* typeck.c (build_ptrmemfunc): Allow OFFSET_REF when processing a
|
| 2703 |
|
|
template.
|
| 2704 |
|
|
|
| 2705 |
|
|
2005-03-21 Paolo Carlini
|
| 2706 |
|
|
|
| 2707 |
|
|
PR c++/20461
|
| 2708 |
|
|
PR c++/20536
|
| 2709 |
|
|
* init.c (emit_mem_initializers): Don't crash on undefined
|
| 2710 |
|
|
types.
|
| 2711 |
|
|
|
| 2712 |
|
|
2005-03-21 Paolo Carlini
|
| 2713 |
|
|
|
| 2714 |
|
|
PR c++/20147
|
| 2715 |
|
|
* semantics.c (finish_stmt_expr_expr): Return immediately
|
| 2716 |
|
|
if error_operand_p (expr).
|
| 2717 |
|
|
|
| 2718 |
|
|
2005-03-21 Joseph S. Myers
|
| 2719 |
|
|
|
| 2720 |
|
|
* cp-tree.h (lvalue_or_else, lvalue_p): New.
|
| 2721 |
|
|
* typeck.c (lvalue_or_else): New. Call lvalue_error.
|
| 2722 |
|
|
|
| 2723 |
|
|
2005-03-19 Kriang Lerdsuwanakij
|
| 2724 |
|
|
|
| 2725 |
|
|
PR c++/20240
|
| 2726 |
|
|
* decl.c (decls_match): Compare context of VAR_DECL.
|
| 2727 |
|
|
|
| 2728 |
|
|
2005-03-19 Kriang Lerdsuwanakij
|
| 2729 |
|
|
|
| 2730 |
|
|
PR c++/20333
|
| 2731 |
|
|
* parser.c (cp_parser_postfix_expression) :
|
| 2732 |
|
|
Check the return value of cp_parser_nested_name_specifier.
|
| 2733 |
|
|
|
| 2734 |
|
|
2005-03-18 Dale Johannesen
|
| 2735 |
|
|
|
| 2736 |
|
|
* cp/tree.c (cp_tree_equal): Handle SSA_NAME.
|
| 2737 |
|
|
|
| 2738 |
|
|
2005-03-18 Paolo Carlini
|
| 2739 |
|
|
|
| 2740 |
|
|
PR c++/20463
|
| 2741 |
|
|
* parser.c (cp_parser_diagnose_invalid_type_name):
|
| 2742 |
|
|
Check TYPE_BINFO (current_class_type) before attempting
|
| 2743 |
|
|
to emit inform messages.
|
| 2744 |
|
|
|
| 2745 |
|
|
2005-03-17 Paolo Carlini
|
| 2746 |
|
|
|
| 2747 |
|
|
PR c++/19966
|
| 2748 |
|
|
* cp-tree.h (grok_op_properties): Change return type to void.
|
| 2749 |
|
|
* decl.c (grok_op_properties): Return early - don't check the
|
| 2750 |
|
|
arity - in case of a static member or an operator that cannot
|
| 2751 |
|
|
be non-member; tidy a bit.
|
| 2752 |
|
|
|
| 2753 |
|
|
2005-03-17 Nathan Sidwell
|
| 2754 |
|
|
|
| 2755 |
|
|
PR c++/20186
|
| 2756 |
|
|
* pt.c (contains_dependent_cast_p): Remove.
|
| 2757 |
|
|
(fold_non_dependent_expr): Don't use it.
|
| 2758 |
|
|
(value_dependent_expression_p): Use a switch statement.
|
| 2759 |
|
|
reference_exprs can be dependent.
|
| 2760 |
|
|
|
| 2761 |
|
|
2005-03-14 Kriang Lerdsuwanakij
|
| 2762 |
|
|
|
| 2763 |
|
|
PR c++/4403
|
| 2764 |
|
|
PR c++/9783, DR433
|
| 2765 |
|
|
* name-lookup.c (pushtag): Skip template parameter scope when
|
| 2766 |
|
|
scope is ts_global. Don't push tag into template parameter
|
| 2767 |
|
|
scope.
|
| 2768 |
|
|
* pt.c (instantiate_class_template): Reorder friend class
|
| 2769 |
|
|
template substitution to handle non-dependent friend class
|
| 2770 |
|
|
that hasn't been previously declared.
|
| 2771 |
|
|
|
| 2772 |
|
|
2005-03-14 Kriang Lerdsuwanakij
|
| 2773 |
|
|
|
| 2774 |
|
|
Friend class name lookup 5/n
|
| 2775 |
|
|
PR c++/1016
|
| 2776 |
|
|
* cp-tree.h (pushtag): Adjust declaration.
|
| 2777 |
|
|
* decl.c (lookup_and_check_tag): Call lookup_type_scope if
|
| 2778 |
|
|
lookup_name fails.
|
| 2779 |
|
|
(xref_tag): Adjust call to pushtag. Make hidden class visible.
|
| 2780 |
|
|
(start_enum): Adjust call to pushtag.
|
| 2781 |
|
|
* name-lookup.c (ambiguous_decl): Ignore hidden names.
|
| 2782 |
|
|
(qualify_lookup): Change return type to bool.
|
| 2783 |
|
|
(hidden_name_p): New function.
|
| 2784 |
|
|
(lookup_namespace_name, unqualified_namespace_lookup,
|
| 2785 |
|
|
lookup_name_real): Use it.
|
| 2786 |
|
|
(lookup_type_scope): Update comments.
|
| 2787 |
|
|
(maybe_process_template_type_declaration): Change parameter name
|
| 2788 |
|
|
from globalize to is_friend.
|
| 2789 |
|
|
(pushtag): Change globalize parameter of type int to tag_scope.
|
| 2790 |
|
|
Hide name if introduced by friend declaration.
|
| 2791 |
|
|
* name-lookup.h (hidden_name_p): Add declaration.
|
| 2792 |
|
|
* parser.c (cp_parser_lookup_name): Don't deal with hidden name
|
| 2793 |
|
|
here.
|
| 2794 |
|
|
* pt.c (push_template_decl_real): Make hidden class template
|
| 2795 |
|
|
visible.
|
| 2796 |
|
|
(lookup_template_class, instantiate_class_template): Adjust call
|
| 2797 |
|
|
to pushtag.
|
| 2798 |
|
|
* semantics.c (begin_class_definition): Likewise.
|
| 2799 |
|
|
* rtti.c (init_rtti_processing, build_dynamic_cast_1,
|
| 2800 |
|
|
tinfo_base_init, emit_support_tinfos): Use ts_current instead of
|
| 2801 |
|
|
ts_global.
|
| 2802 |
|
|
|
| 2803 |
|
|
2005-03-13 Mark Mitchell
|
| 2804 |
|
|
|
| 2805 |
|
|
PR c++/20157
|
| 2806 |
|
|
* pt.c (determine_specialization): Reject non-specializations.
|
| 2807 |
|
|
|
| 2808 |
|
|
2005-03-11 Per Bothner
|
| 2809 |
|
|
|
| 2810 |
|
|
* cp-tree.h (struct cp_declarator): New id_loc field.
|
| 2811 |
|
|
* cp/parser.c (cp_lexer_get_preprocessor_token): Set cp_token's
|
| 2812 |
|
|
location using c_lex_with_flags, instead of input_location.
|
| 2813 |
|
|
(cp_parser_direct_declarator): Set declarator's id_loc from
|
| 2814 |
|
|
cp_token's id_loc.
|
| 2815 |
|
|
|
| 2816 |
|
|
2005-03-10 Jakub Jelinek
|
| 2817 |
|
|
|
| 2818 |
|
|
PR c++/18384, c++/18327
|
| 2819 |
|
|
* decl.c (reshape_init_array): Use UHWI type for max_index_cst
|
| 2820 |
|
|
and index. Convert max_index to size_type_node if it isn't
|
| 2821 |
|
|
host_integerp (, 1).
|
| 2822 |
|
|
|
| 2823 |
|
|
2005-03-09 Mark Mitchell
|
| 2824 |
|
|
|
| 2825 |
|
|
PR c++/20208
|
| 2826 |
|
|
* pt.c (tsubst_decl): Apply array-to-pointer and
|
| 2827 |
|
|
function-to-pointer conversions to function arguments.
|
| 2828 |
|
|
(regenerate_decl_from_template): Likewise.
|
| 2829 |
|
|
|
| 2830 |
|
|
2005-03-09 Paolo Carlini
|
| 2831 |
|
|
|
| 2832 |
|
|
PR c++/16859
|
| 2833 |
|
|
* decl.c (complete_array_type): In pedantic mode, return
|
| 2834 |
|
|
3 for an empty initializer list as the initializer for an
|
| 2835 |
|
|
array of unknown bound (8.5.1/4).
|
| 2836 |
|
|
(maybe_deduce_size_from_array_init): Fix final test to use
|
| 2837 |
|
|
the above.
|
| 2838 |
|
|
|
| 2839 |
|
|
2005-03-08 Nathan Sidwell
|
| 2840 |
|
|
|
| 2841 |
|
|
PR c++/20186
|
| 2842 |
|
|
* pt.c (contains_dependent_cast_p): New.
|
| 2843 |
|
|
(fold_non_dependent_expr): Call it.
|
| 2844 |
|
|
|
| 2845 |
|
|
2005-03-08 Mark Mitchell
|
| 2846 |
|
|
|
| 2847 |
|
|
PR c++/20142
|
| 2848 |
|
|
* cp-tree.h (target_type): Remove.
|
| 2849 |
|
|
* decl.c (layout_var_decl): Remove #if 0'd code.
|
| 2850 |
|
|
(cp_finish_decl): Remove dead code.
|
| 2851 |
|
|
* init.c (build_vec_init): When determining whether or not the
|
| 2852 |
|
|
element type has an asignment operator, look through all array
|
| 2853 |
|
|
dimensions.
|
| 2854 |
|
|
* typeck.c (target_type): Remove.
|
| 2855 |
|
|
|
| 2856 |
|
|
2005-03-07 Mark Mitchell
|
| 2857 |
|
|
|
| 2858 |
|
|
* class.c (finish_struct_1): Do not warn about non-virtual
|
| 2859 |
|
|
destructors in Java classes.
|
| 2860 |
|
|
|
| 2861 |
|
|
2005-03-05 Kriang Lerdsuwanakij
|
| 2862 |
|
|
|
| 2863 |
|
|
PR c++/19311
|
| 2864 |
|
|
* init.c (build_offset_ref): Don't build non-dependent SCOPE_REF.
|
| 2865 |
|
|
* pt.c (build_non_dependent_expr): Don't build NON_DEPENDENT_EXPR
|
| 2866 |
|
|
for OFFSET_TYPE.
|
| 2867 |
|
|
* typeck.c (build_x_unary_op): Don't build non-dependent SCOPE_REF.
|
| 2868 |
|
|
Also set PTRMEM_OK_P for NON_DEPENDENT_EXPR.
|
| 2869 |
|
|
(build_unary_op): Handle building ADDR_EXPR of OFFSET_REF inside
|
| 2870 |
|
|
template.
|
| 2871 |
|
|
|
| 2872 |
|
|
2005-03-02 Alexandre Oliva
|
| 2873 |
|
|
|
| 2874 |
|
|
* name-lookup.c (push_overloaded_decl): Don't error if the new
|
| 2875 |
|
|
decl matches the old one.
|
| 2876 |
|
|
* decl.c (redeclaration_error_message): Likewise.
|
| 2877 |
|
|
|
| 2878 |
|
|
2005-03-01 Per Bothner
|
| 2879 |
|
|
|
| 2880 |
|
|
* decl.c (finish_function): Use SET_EXPR_LOCATION instead of
|
| 2881 |
|
|
unavailable annotate_with_file_line, if USE_MAPPED_LOCATION.
|
| 2882 |
|
|
|
| 2883 |
|
|
2005-03-01 Nathan Sidwell
|
| 2884 |
|
|
|
| 2885 |
|
|
PR c++/20232
|
| 2886 |
|
|
* class.c (update_vtable_entry_for_fn): Don't crash on invalid
|
| 2887 |
|
|
covariancy.
|
| 2888 |
|
|
|
| 2889 |
|
|
* cp-tree.g (THUNK_TARGET): Expand comment.
|
| 2890 |
|
|
* method.c (use_thunk): Make sure we also use the target, if that
|
| 2891 |
|
|
is a thunk.
|
| 2892 |
|
|
|
| 2893 |
|
|
2005-02-27 Jakub Jelinek
|
| 2894 |
|
|
|
| 2895 |
|
|
PR c++/20206
|
| 2896 |
|
|
* decl.c (cxx_comdat_group): Put thunks for
|
| 2897 |
|
|
TARGET_USE_LOCAL_THUNK_ALIAS_P (function) functions into the same
|
| 2898 |
|
|
comdat group as the thunk target.
|
| 2899 |
|
|
|
| 2900 |
|
|
2005-02-24 Volker Reichelt
|
| 2901 |
|
|
|
| 2902 |
|
|
* call.c, class.c, cp-tree.h, decl2.c, error.c, init.c, mangle.c,
|
| 2903 |
|
|
parser.c: Fix comment typo(s).
|
| 2904 |
|
|
|
| 2905 |
|
|
2005-02-24 Jakub Jelinek
|
| 2906 |
|
|
|
| 2907 |
|
|
PR c++/20175
|
| 2908 |
|
|
* decl.c (reshape_init): Don't warn about missing braces if STRING_CST
|
| 2909 |
|
|
initializes a char/wchar_t array.
|
| 2910 |
|
|
|
| 2911 |
|
|
2005-02-23 Mark Mitchell
|
| 2912 |
|
|
|
| 2913 |
|
|
PR c++/19878
|
| 2914 |
|
|
* decl.c (grokvardecl): Set DECL_INTERFACE_KNOWN for declarations
|
| 2915 |
|
|
with internal linkage.
|
| 2916 |
|
|
|
| 2917 |
|
|
2005-02-23 Alexandre Oliva
|
| 2918 |
|
|
|
| 2919 |
|
|
* decl.c (grokvardecl): Don't exempt anonymous types from having
|
| 2920 |
|
|
linkage for variables that have linkage other than "C".
|
| 2921 |
|
|
|
| 2922 |
|
|
2005-02-23 Kazu Hirata
|
| 2923 |
|
|
|
| 2924 |
|
|
* cp-objcp-common.h, error.c: Update copyright.
|
| 2925 |
|
|
|
| 2926 |
|
|
2005-02-22 Mark Mitchell
|
| 2927 |
|
|
|
| 2928 |
|
|
PR c++/20073
|
| 2929 |
|
|
* decl.c (start_decl_1): Don't clear TREE_READONLY.
|
| 2930 |
|
|
(cp_finish_decl): Likewise.
|
| 2931 |
|
|
(complete_vars): Call cp_apply_type_quals_to_decl.
|
| 2932 |
|
|
* typeck.c (cp_apply_type_quals): Avoid setting TREE_READONLY in
|
| 2933 |
|
|
cases where that's not valid.
|
| 2934 |
|
|
|
| 2935 |
|
|
PR c++/19991
|
| 2936 |
|
|
* init.c (integral_constant_value): Iterate if the value of a decl
|
| 2937 |
|
|
is itself a constant.
|
| 2938 |
|
|
|
| 2939 |
|
|
PR c++/20152
|
| 2940 |
|
|
* parser.c (cp_parser_class_head): Check for redefintions here.
|
| 2941 |
|
|
* semantics.c (begin_class_definition): Not here.
|
| 2942 |
|
|
|
| 2943 |
|
|
PR c++/20153
|
| 2944 |
|
|
* decl2.c (build_anon_union_vars): Add type parameter.
|
| 2945 |
|
|
(finish_anon_union): Pass it.
|
| 2946 |
|
|
|
| 2947 |
|
|
PR c++/20148
|
| 2948 |
|
|
* error.c (dump_expr): Do not print the body of a BIND_EXPR.
|
| 2949 |
|
|
Handle STATEMENT_LIST.
|
| 2950 |
|
|
|
| 2951 |
|
|
PR c++/19883
|
| 2952 |
|
|
* parser.c (cp_parser_direct_declarator): Always complain about
|
| 2953 |
|
|
non-constant array bounds when in a function scope.
|
| 2954 |
|
|
* semantics.c (finish_id_expression): Do not mark dependent names
|
| 2955 |
|
|
as non-constant.
|
| 2956 |
|
|
|
| 2957 |
|
|
2005-02-21 Douglas Gregor
|
| 2958 |
|
|
|
| 2959 |
|
|
PR c++/19076
|
| 2960 |
|
|
PR c++/6628
|
| 2961 |
|
|
* cp-tree.h (cp_apply_type_quals_to_decl): Declared.
|
| 2962 |
|
|
* decl.c (grokdeclarator): Pedwarn about qualifying a function
|
| 2963 |
|
|
type.
|
| 2964 |
|
|
Add qualifiers when declaring a typedef of a function type.
|
| 2965 |
|
|
Member function pointers pick up the qualifiers of the typedef
|
| 2966 |
|
|
used to declare them.
|
| 2967 |
|
|
Don't complain about creating cv-qualified function types.
|
| 2968 |
|
|
Complain about qualified function typedefs that are used to
|
| 2969 |
|
|
declare non-static member functions or free functions.
|
| 2970 |
|
|
Use cp_apply_type_quals_to_decl.
|
| 2971 |
|
|
(start_preparsed_function): Use cp_apply_type_quals_to_decl.
|
| 2972 |
|
|
(grokclassfn): Use cp_apply_type_quals_to_decl.
|
| 2973 |
|
|
* error.c (dump_type_suffix): Print qualifiers for function
|
| 2974 |
|
|
types.
|
| 2975 |
|
|
* pt.c (tsubst_decl): Use cp_apply_type_quals_to_decl.
|
| 2976 |
|
|
(tsubst): When substituting a function type into a member
|
| 2977 |
|
|
pointer type, pass along the qualifiers.
|
| 2978 |
|
|
(unify): Unify member pointers to member function pointers.
|
| 2979 |
|
|
* tree.c (cp_build_qualified_type_real): Function types may be
|
| 2980 |
|
|
qualified. This includes restrict qualifiers.
|
| 2981 |
|
|
* typeck.c (cp_apply_type_quals_to_decl): New function to replace
|
| 2982 |
|
|
use of c_apply_type_quals_to_decl. Drops qualifiers that are being
|
| 2983 |
|
|
added to function types.
|
| 2984 |
|
|
|
| 2985 |
|
|
2005-02-20 Zack Weinberg
|
| 2986 |
|
|
|
| 2987 |
|
|
PR 18785
|
| 2988 |
|
|
* cp-objcp-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
|
| 2989 |
|
|
c_common_to_target_charset. Delete bogus comment.
|
| 2990 |
|
|
|
| 2991 |
|
|
2005-02-18 Richard Henderson
|
| 2992 |
|
|
|
| 2993 |
|
|
PR libstdc++/10606
|
| 2994 |
|
|
* except.c (do_get_exception_ptr): New.
|
| 2995 |
|
|
(expand_start_catch_block): Use it.
|
| 2996 |
|
|
|
| 2997 |
|
|
2005-02-19 Jakub Jelinek
|
| 2998 |
|
|
|
| 2999 |
|
|
* decl.c (start_decl_1): Only check TYPE_NEEDS_CONSTRUCTING
|
| 3000 |
|
|
if type is not error_mark_node.
|
| 3001 |
|
|
|
| 3002 |
|
|
2005-01-20 Giovanni Bajo
|
| 3003 |
|
|
|
| 3004 |
|
|
PR c++/19508
|
| 3005 |
|
|
* decl2.c (grokfield): Do not apply attributes to template parameters
|
| 3006 |
|
|
as they are ignored by tsubst anyway.
|
| 3007 |
|
|
|
| 3008 |
|
|
2005-02-18 Jakub Jelinek
|
| 3009 |
|
|
|
| 3010 |
|
|
PR c++/19813
|
| 3011 |
|
|
* decl.c (start_decl_1): Clear TREE_READONLY flag if
|
| 3012 |
|
|
its type has TYPE_NEEDS_CONSTRUCTING.
|
| 3013 |
|
|
(complete_vars): Likewise.
|
| 3014 |
|
|
|
| 3015 |
|
|
2005-02-17 Alexandre Oliva
|
| 3016 |
|
|
|
| 3017 |
|
|
PR c++/20028
|
| 3018 |
|
|
* class.c (finish_struct): Initialize TYPE_SIZE_UNIT of a
|
| 3019 |
|
|
template along with TYPE_SIZE.
|
| 3020 |
|
|
|
| 3021 |
|
|
PR c++/20022
|
| 3022 |
|
|
* semantics.c (perform_deferred_access_checks): Use
|
| 3023 |
|
|
get_deferred_access_checks to get the top of the stack.
|
| 3024 |
|
|
|
| 3025 |
|
|
2005-02-15 Alexandre Oliva
|
| 3026 |
|
|
|
| 3027 |
|
|
PR c++/17788
|
| 3028 |
|
|
* class.c (add_implicitly_declared_members, check_field_decl)
|
| 3029 |
|
|
(check_field_decls, check_bases): Remove arguments, tests and
|
| 3030 |
|
|
assignments of cant_have_default_ctor-related variables.
|
| 3031 |
|
|
|
| 3032 |
|
|
2005-02-15 Alexandre Oliva
|
| 3033 |
|
|
|
| 3034 |
|
|
* decl2.c (mark_used): Set the source location of the used decl to
|
| 3035 |
|
|
the current input location here...
|
| 3036 |
|
|
* method.c (synthesize_method): ... not here. Set input_location
|
| 3037 |
|
|
from the decl instead.
|
| 3038 |
|
|
|
| 3039 |
|
|
2005-02-14 Nathan Sidwell
|
| 3040 |
|
|
|
| 3041 |
|
|
PR c++/19608
|
| 3042 |
|
|
* parser.c (cp_parser_late_parsing_for_member): Use
|
| 3043 |
|
|
current_function_decl as scope to push to and from.
|
| 3044 |
|
|
|
| 3045 |
|
|
PR c++/19884
|
| 3046 |
|
|
* pt.c (check_explicit_specialization): Make sure namespace
|
| 3047 |
|
|
binding lookup found an overloaded function.
|
| 3048 |
|
|
(lookup_template_function): Just assert FNS is an overloaded
|
| 3049 |
|
|
function.
|
| 3050 |
|
|
|
| 3051 |
|
|
PR c++/19895
|
| 3052 |
|
|
* decl.c (grokdeclarator): Check for error mark node in ptrmem
|
| 3053 |
|
|
construction.
|
| 3054 |
|
|
|
| 3055 |
|
|
2005-02-14 Alexandre Oliva
|
| 3056 |
|
|
|
| 3057 |
|
|
PR c++/17816
|
| 3058 |
|
|
* decl.c (redeclaration_error_message): Report redefinition of
|
| 3059 |
|
|
pure virtual function.
|
| 3060 |
|
|
|
| 3061 |
|
|
2005-02-14 Nathan Sidwell
|
| 3062 |
|
|
|
| 3063 |
|
|
PR c++/19891
|
| 3064 |
|
|
* class.c (build_simple_base_path): Build the component_ref
|
| 3065 |
|
|
directly.
|
| 3066 |
|
|
(update_vtable_entry_for_fn): Walk the covariant's binfo chain
|
| 3067 |
|
|
rather than using lookup_base.
|
| 3068 |
|
|
* search.c (dfs_walk_once): Add non-recursive assert check.
|
| 3069 |
|
|
* typeck.c (build_class_member_access_expr): It is possible for
|
| 3070 |
|
|
the member type to be both const and volatile.
|
| 3071 |
|
|
|
| 3072 |
|
|
2005-02-12 Kriang Lerdsuwanakij
|
| 3073 |
|
|
|
| 3074 |
|
|
PR c++/14479
|
| 3075 |
|
|
PR c++/19487
|
| 3076 |
|
|
* pt.c (maybe_check_template_type): Remove.
|
| 3077 |
|
|
* cp-tree.h (maybe_check_template_type): Remove prototype.
|
| 3078 |
|
|
* name-lookup.c (maybe_process_template_type_declaration): Don't
|
| 3079 |
|
|
use maybe_check_template_type.
|
| 3080 |
|
|
|
| 3081 |
|
|
2005-02-11 Richard Henderson
|
| 3082 |
|
|
|
| 3083 |
|
|
PR c++/19632
|
| 3084 |
|
|
* pt.c (get_mostly_instantiated_function_type): Save and restore
|
| 3085 |
|
|
flag_access_control instead of push/pop_access_scope.
|
| 3086 |
|
|
|
| 3087 |
|
|
2005-02-10 Mark Mitchell
|
| 3088 |
|
|
|
| 3089 |
|
|
PR c++/19755
|
| 3090 |
|
|
* decl.c (reshape_init): Issue warnings about missing braces.
|
| 3091 |
|
|
|
| 3092 |
|
|
2005-02-11 Kazu Hirata
|
| 3093 |
|
|
|
| 3094 |
|
|
* cp-tree.def, except.c, ptree.c: Update copyright.
|
| 3095 |
|
|
|
| 3096 |
|
|
2005-02-09 Mark Mitchell
|
| 3097 |
|
|
|
| 3098 |
|
|
PR c++/19811
|
| 3099 |
|
|
* call.c (build_op_delete_call): Check COMPLETE_TYPE_P before
|
| 3100 |
|
|
attempting name lookup.
|
| 3101 |
|
|
|
| 3102 |
|
|
* parser.c (cp_parser_unqualified_id): Initialize type_decl.
|
| 3103 |
|
|
|
| 3104 |
|
|
PR c++/19787
|
| 3105 |
|
|
* call.c (initialize_reference): Robustify.
|
| 3106 |
|
|
|
| 3107 |
|
|
PR ++/19732
|
| 3108 |
|
|
* decl.c (grokdeclarator): Check for invalid use of destructor
|
| 3109 |
|
|
names.
|
| 3110 |
|
|
|
| 3111 |
|
|
PR c++/19762
|
| 3112 |
|
|
* parser.c (cp_parser_unqualified_id): Avoid creating destructor
|
| 3113 |
|
|
names with invalid types.
|
| 3114 |
|
|
|
| 3115 |
|
|
PR c++/19826
|
| 3116 |
|
|
* parser.c (cp_parser_direct_declarator): Allow type-dependent
|
| 3117 |
|
|
expressions as array bounds.
|
| 3118 |
|
|
|
| 3119 |
|
|
PR c++/19739
|
| 3120 |
|
|
* parser.c (cp_parser_attributes_list): Allow empty lists.
|
| 3121 |
|
|
|
| 3122 |
|
|
2005-02-08 Mark Mitchell
|
| 3123 |
|
|
|
| 3124 |
|
|
PR c++/19733
|
| 3125 |
|
|
* class.c (add_method): Don't set TYPE_HAS_DESTRUCTOR.
|
| 3126 |
|
|
(check_bases): Give warnings about a base class with a
|
| 3127 |
|
|
non-virtual destructor, even if it is implicit.
|
| 3128 |
|
|
(finish_struct_bits): Don't copy TYPE_HAS_DESTRUCTOR.
|
| 3129 |
|
|
(maybe_warn_about_overly_private_class): Don't use
|
| 3130 |
|
|
TYPE_HAS_DESTRUCTOR.
|
| 3131 |
|
|
(finish_struct_methods): Don't set TYPE_HAS_DESTRUCTOR.
|
| 3132 |
|
|
(check_for_override): Give it external linkage.
|
| 3133 |
|
|
(add_implicitly_declared_members): Generate destructors lazily.
|
| 3134 |
|
|
(check_field_decls): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR, not
|
| 3135 |
|
|
TYPE_HAS_DESTRUCTOR.
|
| 3136 |
|
|
(check_bases_and_members): Call check_methods before
|
| 3137 |
|
|
check_field_decls.
|
| 3138 |
|
|
(check_bases_and_members): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR, not
|
| 3139 |
|
|
TYPE_HAS_DESTRUCTOR.
|
| 3140 |
|
|
(finish_struct_1): Do not use TYPE_HAS_DESTRUCTOR.
|
| 3141 |
|
|
* cp-tree.def (PSEUDO_DTOR_EXPR): Document.
|
| 3142 |
|
|
* cp-tree.h (TYPE_HAS_DESTRUCTOR): Remove.
|
| 3143 |
|
|
(lang_type_class): Add lazy_destructor.
|
| 3144 |
|
|
(CLASSTYPE_LAZY_DESTRUCTOR): New macro.
|
| 3145 |
|
|
(CLASSTYPE_DESTRUCTORS): Robustify.
|
| 3146 |
|
|
(TYPE_HAS_DESTRUCTOR): Remove.
|
| 3147 |
|
|
(check_for_override): Declare.
|
| 3148 |
|
|
(build_vbase_delete): Remove.
|
| 3149 |
|
|
* cvt.c (convert_to_void): Issue errors about pseudo-destructor
|
| 3150 |
|
|
expressions.
|
| 3151 |
|
|
* decl.c (cxx_maybe_build_cleanup): Remove dead code.
|
| 3152 |
|
|
* except.c (dtor_nothrow): Lazily create destructors if necessary.
|
| 3153 |
|
|
(build_throw): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR.
|
| 3154 |
|
|
* init.c (build_delete): Lazily create destructors, if necessary.
|
| 3155 |
|
|
(build_vbase_delete): Remove.
|
| 3156 |
|
|
* method.c (locate_dtor): Simplify.
|
| 3157 |
|
|
(implicitly_declare_fn): Add support for destructors.
|
| 3158 |
|
|
* parser.c (cp_parser_lookup_name): Lazily create destructors, if
|
| 3159 |
|
|
necessary.
|
| 3160 |
|
|
* pt.c (check_explicit_specialization): Don't use
|
| 3161 |
|
|
TYPE_HAS_DESTRUCTOR.
|
| 3162 |
|
|
(instantiate_class_template): Likewise.
|
| 3163 |
|
|
* ptree.c (cxx_print_type): Don't print TYPE_HAS_DESTRUCTOR.
|
| 3164 |
|
|
* rtti.c (emit_support_tinfos): Robustify.
|
| 3165 |
|
|
* search.c (lookup_fnfields_1): Lazily create destructors.
|
| 3166 |
|
|
* typeck.c (build_class_member_access_expr): Remove
|
| 3167 |
|
|
PSEUDO_DTOR_EXPR handling.
|
| 3168 |
|
|
(lookup_destructor): Likewise.
|
| 3169 |
|
|
|
| 3170 |
|
|
2005-02-08 Kazu Hirata
|
| 3171 |
|
|
|
| 3172 |
|
|
* cxx-pretty-print.c, cxx-pretty-print.h, decl.h: Update
|
| 3173 |
|
|
copyright.
|
| 3174 |
|
|
|
| 3175 |
|
|
2005-02-07 Mark Mitchell
|
| 3176 |
|
|
|
| 3177 |
|
|
* parser.c (cp_lexer_start_debugging): Avoid arithmetic operations
|
| 3178 |
|
|
on boolean variables.
|
| 3179 |
|
|
(cp_lexer_stop_debugging): Likewise.
|
| 3180 |
|
|
|
| 3181 |
|
|
2005-02-03 Giovanni Bajo
|
| 3182 |
|
|
|
| 3183 |
|
|
PR c++/17401
|
| 3184 |
|
|
* parser.c (cp_parser_pure_specifier): Emit a specific error
|
| 3185 |
|
|
message with an invalid pure specifier.
|
| 3186 |
|
|
* decl2.c (grok_function_init): Remove.
|
| 3187 |
|
|
(grokfield): An initializer for a method is a always a pure
|
| 3188 |
|
|
specifier.
|
| 3189 |
|
|
|
| 3190 |
|
|
2005-02-02 Matt Austern
|
| 3191 |
|
|
|
| 3192 |
|
|
PR c++/19628
|
| 3193 |
|
|
* cp-tree.h (builtin_valid_in_constant_expr_p): Declare.
|
| 3194 |
|
|
* parser.c (cp_parser_postfix_expression): Accept function call in
|
| 3195 |
|
|
constant expression if builtin_valid_in_constant_expr_p is true
|
| 3196 |
|
|
for that function.
|
| 3197 |
|
|
* pt.c (value_dependent_expression_p): Handle CALL_EXPRs properly.
|
| 3198 |
|
|
* semantics.c (finish_id_expression): Accept function call in constant
|
| 3199 |
|
|
expression if builtin_valid_in_constant_expr_p is true for that
|
| 3200 |
|
|
function.
|
| 3201 |
|
|
* tree.c (builtin_valid_in_constant_expr_p): New.
|
| 3202 |
|
|
|
| 3203 |
|
|
2005-02-02 Volker Reichelt
|
| 3204 |
|
|
|
| 3205 |
|
|
PR c++/17413
|
| 3206 |
|
|
* pt.c (check_instantiated_args): Improve error message.
|
| 3207 |
|
|
Fix logic when to print its second part.
|
| 3208 |
|
|
|
| 3209 |
|
|
2005-02-02 Volker Reichelt
|
| 3210 |
|
|
|
| 3211 |
|
|
* cp-tree.h (complete_type_or_else): Remove macro.
|
| 3212 |
|
|
(complete_type_or_diagnostic): Rename to complete_type_or_else
|
| 3213 |
|
|
and remove last argument.
|
| 3214 |
|
|
* typeck.c (complete_type_or_diagnostic): Rename to
|
| 3215 |
|
|
complete_type_or_else and remove last argument.
|
| 3216 |
|
|
|
| 3217 |
|
|
2005-02-02 Volker Reichelt
|
| 3218 |
|
|
|
| 3219 |
|
|
* cp-tree.h (commonparms): Remove prototype.
|
| 3220 |
|
|
(convert_arguments): Likewise.
|
| 3221 |
|
|
(PFN_FROM_PTRMEMFUNC): Remove.
|
| 3222 |
|
|
* typeck.c (commonparms): Make static.
|
| 3223 |
|
|
(convert_arguments): Add prototype. Make static.
|
| 3224 |
|
|
(PFN_FROM_PTRMEMFUNC): Replace by pfn_from_ptrmemfunc.
|
| 3225 |
|
|
|
| 3226 |
|
|
2005-01-31 Mark Mitchell
|
| 3227 |
|
|
|
| 3228 |
|
|
* parser.c (cp_parser_primary_expression): Don't complain about
|
| 3229 |
|
|
floating-point literals in integral constant expressions when
|
| 3230 |
|
|
!pedantic.
|
| 3231 |
|
|
|
| 3232 |
|
|
2005-02-01 Alexandre Oliva
|
| 3233 |
|
|
|
| 3234 |
|
|
* parser.c (cp_parser_template_id): Revert comment patch too.
|
| 3235 |
|
|
|
| 3236 |
|
|
PR c++/18757
|
| 3237 |
|
|
PR c++/19366
|
| 3238 |
|
|
PR c++/19499
|
| 3239 |
|
|
* parser.c (cp_parser_template_id): Revert 2004-12-09's patch.
|
| 3240 |
|
|
Issue an error when creating the template id.
|
| 3241 |
|
|
* pt.c (fn_type_unification): Return early if the explicit
|
| 3242 |
|
|
template arg list is an error_mark_node.
|
| 3243 |
|
|
|
| 3244 |
|
|
2005-01-31 Mark Mitchell
|
| 3245 |
|
|
|
| 3246 |
|
|
* decl.c (build_enumerator): Do not issue duplicate error messages
|
| 3247 |
|
|
about invalid enumeration constants.
|
| 3248 |
|
|
* parser.c (cp_parser_non_integral_constant_expression): Always
|
| 3249 |
|
|
set parser->non_integral_constant_expression_p.
|
| 3250 |
|
|
(cp_parser_primary_expression): Add cast_p parameter. Issue
|
| 3251 |
|
|
errors about invalid uses of floating-point literals in
|
| 3252 |
|
|
cast-expressions.
|
| 3253 |
|
|
(cp_parser_postfix_expression): Add cast_p parameter.
|
| 3254 |
|
|
(cp_parser_open_square_expression): Pass it.
|
| 3255 |
|
|
(cp_parser_parenthesized_expression_list): Add cast_p parameter.
|
| 3256 |
|
|
(cp_parser_unary_expression): Likewise.
|
| 3257 |
|
|
(cp_parser_new_placement): Pass it.
|
| 3258 |
|
|
(cp_parser_direct_new_declarator): Likewise.
|
| 3259 |
|
|
(cp_parser_new_initializer): Likewise.
|
| 3260 |
|
|
(cp_parser_cast_expression): Add cast_p parameter.
|
| 3261 |
|
|
(cp_parser_binary_expression): Likewise.
|
| 3262 |
|
|
(cp_parser_question_colon_clause): Likewise.
|
| 3263 |
|
|
(cp_parser_assignment_expression): Likewise.
|
| 3264 |
|
|
(cp_parser_expression): Likewise.
|
| 3265 |
|
|
(cp_parser_constant_expression): If an integral constant
|
| 3266 |
|
|
expression is invalid, return error_mark_node.
|
| 3267 |
|
|
(cp_parser_expression_statement): Pass cast_p.
|
| 3268 |
|
|
(cp_parser_condition): Likewise.
|
| 3269 |
|
|
(cp_parser_iteration_statement): Likewise.
|
| 3270 |
|
|
(cp_parser_jump_statement): Likewise.
|
| 3271 |
|
|
(cp_parser_mem_initializer): Likewise.
|
| 3272 |
|
|
(cp_parser_template_argument): Likewise.
|
| 3273 |
|
|
(cp_parser_parameter_declaration): Likewise.
|
| 3274 |
|
|
(cp_parser_initializer): Likewise.
|
| 3275 |
|
|
(cp_parser_throw_expression): Likewise.
|
| 3276 |
|
|
(cp_parser_attribute_list): Likewise.
|
| 3277 |
|
|
(cp_parser_simple_cast_expression): Likewise.
|
| 3278 |
|
|
(cp_parser_functional_cast): Likewise.
|
| 3279 |
|
|
(cp_parser_late_parsing_default_args): Likewise.
|
| 3280 |
|
|
(cp_parser_sizeof_operand): Save/restore
|
| 3281 |
|
|
non_integral_constant_expression_p.
|
| 3282 |
|
|
|
| 3283 |
|
|
2005-01-31 Mike Stump
|
| 3284 |
|
|
|
| 3285 |
|
|
* parser.c (cp_lexer_new_main): Get the first token, first, before
|
| 3286 |
|
|
doing anything.
|
| 3287 |
|
|
|
| 3288 |
|
|
2005-01-31 Mark Mitchell
|
| 3289 |
|
|
|
| 3290 |
|
|
* decl.c (start_decl): Add missing parentheses.
|
| 3291 |
|
|
|
| 3292 |
|
|
2005-01-30 Mark Mitchell
|
| 3293 |
|
|
|
| 3294 |
|
|
PR c++/19555
|
| 3295 |
|
|
* cp-tree.h (DECL_USE_TEMPLATE): Expand documentation.
|
| 3296 |
|
|
* decl.c (duplicate_decls): Do not discard
|
| 3297 |
|
|
DECL_IMPLICIT_INSTANTIATION when merging declarations.
|
| 3298 |
|
|
(start_decl): Do not SET_DECL_TEMPLATE_SPECIALIZATION for
|
| 3299 |
|
|
variables that do not have DECL_USE_TEMPLATE.
|
| 3300 |
|
|
|
| 3301 |
|
|
PR c++/19395
|
| 3302 |
|
|
* decl.c (grokdeclarator): Refactor code so that qualified names
|
| 3303 |
|
|
are never allowed as the declarator in a typedef.
|
| 3304 |
|
|
|
| 3305 |
|
|
PR c++/19367
|
| 3306 |
|
|
* name-lookup.c (do_nonmember_using_decl): Avoid overloading
|
| 3307 |
|
|
builtin declarations.
|
| 3308 |
|
|
|
| 3309 |
|
|
PR c++/19457
|
| 3310 |
|
|
* call.c (convert_like_real): Inline call to
|
| 3311 |
|
|
dubious_conversion_warnings here.
|
| 3312 |
|
|
* cp-tree.h (dubious_conversion_warnings): Remove.
|
| 3313 |
|
|
* semantics.c (finish_unary_op_expr): Copy INTEGER_CSTs before
|
| 3314 |
|
|
setting TREE_NEGATED_INT.
|
| 3315 |
|
|
* typeck.c (dubious_conversion_warnings): Remove.
|
| 3316 |
|
|
|
| 3317 |
|
|
PR c++/19349
|
| 3318 |
|
|
* name-lookup.c (pushdecl_namespace_level): Avoid accessing free'd
|
| 3319 |
|
|
memory.
|
| 3320 |
|
|
|
| 3321 |
|
|
2005-01-28 Mark Mitchell
|
| 3322 |
|
|
|
| 3323 |
|
|
PR c++/19253
|
| 3324 |
|
|
* parser.c (cp_parser_diagnose_invalid_type_name): Commit to
|
| 3325 |
|
|
tentative parses.
|
| 3326 |
|
|
|
| 3327 |
|
|
PR c++/19667
|
| 3328 |
|
|
* pt.c (redeclare_class_template): Robustify.
|
| 3329 |
|
|
|
| 3330 |
|
|
2005-01-27 Steven Bosscher
|
| 3331 |
|
|
|
| 3332 |
|
|
* decl.c (finish_case_label): Use SWITCH_STMT accessor macros
|
| 3333 |
|
|
instead of SWITCH_EXPR ones.
|
| 3334 |
|
|
* pt.c (tsubst_expr): Likewise.
|
| 3335 |
|
|
* semantics.c (begin_switch_stmt, finish_switch_cond,
|
| 3336 |
|
|
finish_switch_stmt): Likewise.
|
| 3337 |
|
|
|
| 3338 |
|
|
2005-01-26 J"orn Rennecke
|
| 3339 |
|
|
|
| 3340 |
|
|
PR c++/18370
|
| 3341 |
|
|
* parser.c (cp_parser_initializer_clause): Initialize *non_constant_p.
|
| 3342 |
|
|
|
| 3343 |
|
|
2005-01-25 Andrew Pinski
|
| 3344 |
|
|
|
| 3345 |
|
|
* class.c (abort_fndecl_addr): New variable.
|
| 3346 |
|
|
(build_vtbl_initializer): If we have a pure virtual function
|
| 3347 |
|
|
share the abort function's address.
|
| 3348 |
|
|
Include gt-cp-class.h at the end.
|
| 3349 |
|
|
* config-lang.in (gtfiles): Add cp/class.c.
|
| 3350 |
|
|
|
| 3351 |
|
|
2005-01-25 Volker Reichelt
|
| 3352 |
|
|
|
| 3353 |
|
|
* cxx-pretty-print.c (pp_cxx_statement): Add prototype. Make static.
|
| 3354 |
|
|
(pp_cxx_function_definition): Make static.
|
| 3355 |
|
|
* cxx-pretty-print.h (pp_cxx_statement): Remove prototype.
|
| 3356 |
|
|
(pp_cxx_function_definition): Likewise.
|
| 3357 |
|
|
|
| 3358 |
|
|
2005-01-25 Volker Reichelt
|
| 3359 |
|
|
|
| 3360 |
|
|
* name-lookup.c (print_binding_level): Make static.
|
| 3361 |
|
|
(constructor_name_full): Make static inline.
|
| 3362 |
|
|
(current_decl_namespace): Make static.
|
| 3363 |
|
|
* name-lookup.h (constructor_name_full): Remove prototype.
|
| 3364 |
|
|
(print_binding_level): Likewise.
|
| 3365 |
|
|
(current_decl_namespace): Likewise.
|
| 3366 |
|
|
|
| 3367 |
|
|
2005-01-25 Volker Reichelt
|
| 3368 |
|
|
|
| 3369 |
|
|
* decl.h (debug_bindings_indentation): Remove.
|
| 3370 |
|
|
|
| 3371 |
|
|
2005-01-23 Kazu Hirata
|
| 3372 |
|
|
|
| 3373 |
|
|
* typeck.c: Fix a comment typo.
|
| 3374 |
|
|
|
| 3375 |
|
|
2005-01-21 Giovanni Bajo
|
| 3376 |
|
|
|
| 3377 |
|
|
PR c++/19208
|
| 3378 |
|
|
* pt.c (fold_decl_constant_value): Always call fold_non_dependent_expr
|
| 3379 |
|
|
at least once.
|
| 3380 |
|
|
(tsubst): Use fold_decl_constant_value in place of a bare call to
|
| 3381 |
|
|
integral_constant_value.
|
| 3382 |
|
|
|
| 3383 |
|
|
2005-01-20 Kazu Hirata
|
| 3384 |
|
|
|
| 3385 |
|
|
* typeck.c (more_qualified_p): Remove.
|
| 3386 |
|
|
* cp-tree.h: Remove the corresponding prototype.
|
| 3387 |
|
|
|
| 3388 |
|
|
2005-01-19 Matt Austern
|
| 3389 |
|
|
|
| 3390 |
|
|
* typeck.c (comptypes): Handle return code from objc_comptypes
|
| 3391 |
|
|
correctly.
|
| 3392 |
|
|
|
| 3393 |
|
|
2005-01-19 Kazu Hirata
|
| 3394 |
|
|
|
| 3395 |
|
|
* cp-tree.h, name-lookup.h: Remove unused prototypes.
|
| 3396 |
|
|
|
| 3397 |
|
|
2005-01-19 Kriang Lerdsuwanakij
|
| 3398 |
|
|
|
| 3399 |
|
|
PR c++/19375
|
| 3400 |
|
|
* semantics.c (finish_id_expression): Disable access checking for
|
| 3401 |
|
|
already lookuped FIELD_DECL.
|
| 3402 |
|
|
|
| 3403 |
|
|
2005-01-18 Kazu Hirata
|
| 3404 |
|
|
|
| 3405 |
|
|
* decl.c (delete_block): Remove.
|
| 3406 |
|
|
* cp-tree.h: Remove the corresponding prototype.
|
| 3407 |
|
|
|
| 3408 |
|
|
* decl.c (vtable_decl_p, vtype_decl_p, walk_globals_data,
|
| 3409 |
|
|
walk_vtables_r, walk_vtables, walk_globals_r, walk_globals):
|
| 3410 |
|
|
Remove.
|
| 3411 |
|
|
* cp-tree.h: Remove the corresponding prototypes.
|
| 3412 |
|
|
|
| 3413 |
|
|
* tree.c (count_functions, bound_pmf_p, cp_is_overload_p,
|
| 3414 |
|
|
cp_update_decl_after_saving, name_p): Remove.
|
| 3415 |
|
|
* cp-tree.h: Remove the corresponding prototypes.
|
| 3416 |
|
|
|
| 3417 |
|
|
2005-01-18 Andrew Pinski
|
| 3418 |
|
|
|
| 3419 |
|
|
PR c/19472
|
| 3420 |
|
|
* semantics.c (finish_asm_stmt): Strip nops off
|
| 3421 |
|
|
input memory operands.
|
| 3422 |
|
|
|
| 3423 |
|
|
2005-01-18 Kazu Hirata
|
| 3424 |
|
|
|
| 3425 |
|
|
* Make-lang.in, call.c, cvt.c, init.c, rtti.c, tree.c,
|
| 3426 |
|
|
typeck2.c: Update copyright.
|
| 3427 |
|
|
|
| 3428 |
|
|
2005-01-16 Kazu Hirata
|
| 3429 |
|
|
|
| 3430 |
|
|
* class.c (get_enclosing_class): Remove.
|
| 3431 |
|
|
* cp-tree.h: Remove the corresponding prototypes.
|
| 3432 |
|
|
|
| 3433 |
|
|
* cvt.c (convert_lvalue): Remove.
|
| 3434 |
|
|
* cp-tree.h: Remove the corresponding prototype.
|
| 3435 |
|
|
|
| 3436 |
|
|
* pt.c (tinst_for_decl): Remove.
|
| 3437 |
|
|
* cp-tree.h: Remove the corresponding prototypes.
|
| 3438 |
|
|
|
| 3439 |
|
|
* tree.c (hash_chainon): Remove.
|
| 3440 |
|
|
* cp-tree.h: Remove the corresponding prototypes.
|
| 3441 |
|
|
|
| 3442 |
|
|
2005-01-15 Jakub Jelinek
|
| 3443 |
|
|
|
| 3444 |
|
|
PR c++/19263
|
| 3445 |
|
|
* typeck2.c (split_nonconstant_init_1) : Put a copy
|
| 3446 |
|
|
of CONSTRUCTOR's node into MODIFY_EXPR, as the original is modified.
|
| 3447 |
|
|
|
| 3448 |
|
|
2005-01-12 Kaveh R. Ghazi
|
| 3449 |
|
|
|
| 3450 |
|
|
* Make-lang.in (cp-warn): Don't append $(WERROR).
|
| 3451 |
|
|
|
| 3452 |
|
|
2005-01-10 Kazu Hirata
|
| 3453 |
|
|
|
| 3454 |
|
|
* cp-tree.h: Fix a comment typo.
|
| 3455 |
|
|
|
| 3456 |
|
|
2005-01-07 Nathan Sidwell
|
| 3457 |
|
|
|
| 3458 |
|
|
PR c++/19298
|
| 3459 |
|
|
* pt.c (tsubst_qualified_id): Call convert_from_reference.
|
| 3460 |
|
|
|
| 3461 |
|
|
2005-01-06 Mark Mitchell
|
| 3462 |
|
|
|
| 3463 |
|
|
PR c++/19244
|
| 3464 |
|
|
* class.c (add_implicitly_declared_members): Remove dead code.
|
| 3465 |
|
|
* decl.c (grokfndecl): Add sfk parameter. Use it do set
|
| 3466 |
|
|
DECL_CONSTRUCTOR_P.
|
| 3467 |
|
|
(grokdeclarator): Adjust calls to grokfndecl.
|
| 3468 |
|
|
* method.c (implicitly_declare_fn): Improve documentation.
|
| 3469 |
|
|
* parser.c (cp_parser_direct_declarator): Do not consider a
|
| 3470 |
|
|
function to be a constructor if the containing class was
|
| 3471 |
|
|
originally anonymous.
|
| 3472 |
|
|
|
| 3473 |
|
|
2005-01-06 Kriang Lerdsuwanakij
|
| 3474 |
|
|
|
| 3475 |
|
|
PR c++/17154
|
| 3476 |
|
|
* search.c (lookup_field_1): Handle using declaration in
|
| 3477 |
|
|
class template partial specialization.
|
| 3478 |
|
|
|
| 3479 |
|
|
2005-01-06 Kriang Lerdsuwanakij
|
| 3480 |
|
|
|
| 3481 |
|
|
PR c++/19258
|
| 3482 |
|
|
* pt.c (push_access_scope): Handle friend defined in class.
|
| 3483 |
|
|
(pop_access_scope): Likewise.
|
| 3484 |
|
|
|
| 3485 |
|
|
2005-01-06 Nathan Sidwell
|
| 3486 |
|
|
|
| 3487 |
|
|
PR c++/19270
|
| 3488 |
|
|
* pt.c (tsubst_copy) : Handle separately.
|
| 3489 |
|
|
(tsubst_copy_and_build) : Remove obsolete
|
| 3490 |
|
|
array-new handling code. Use build_x_binary_op.
|
| 3491 |
|
|
|
| 3492 |
|
|
2005-01-05 Nathan Sidwell
|
| 3493 |
|
|
|
| 3494 |
|
|
PR c++/19030
|
| 3495 |
|
|
* cp-tree.h (start_decl): Take pointer to pushed scope, not bool.
|
| 3496 |
|
|
* name-lookup.h (push_scope): Return pushed scope, not flag.
|
| 3497 |
|
|
* name-lookup.c (push_scope): Return scope that should be popped,
|
| 3498 |
|
|
not a flag.
|
| 3499 |
|
|
* decl.c (start_decl): Adjust.
|
| 3500 |
|
|
(grokfndecl): Adjust scope push and pop.
|
| 3501 |
|
|
* decl2.c (check_classfn): Likewise.
|
| 3502 |
|
|
* parser.c (cp_parser_condition, cp_parser_conversion_function_id,
|
| 3503 |
|
|
cp_parser_init_declarator, cp_parser_direct_declarator,
|
| 3504 |
|
|
cp_parser_class_specifier, cp_parser_class_head,
|
| 3505 |
|
|
cp_parser_lookup_name,
|
| 3506 |
|
|
cp_parser_constructor_declarator_p): Likewise.
|
| 3507 |
|
|
* pt.c (instantiate_class_template,
|
| 3508 |
|
|
resolve_typename_type): Likewise.
|
| 3509 |
|
|
|
| 3510 |
|
|
2005-01-03 Volker Reichelt
|
| 3511 |
|
|
|
| 3512 |
|
|
PR c++/14136
|
| 3513 |
|
|
* parser.c (cp_parser_unqualified_id): Do not issue error message
|
| 3514 |
|
|
for typedef-name as destructor declarator when performing an
|
| 3515 |
|
|
uncommitted tentative parse.
|
| 3516 |
|
|
|
| 3517 |
|
|
2005-01-01 Steven Bosscher
|
| 3518 |
|
|
|
| 3519 |
|
|
PR middle-end/17544
|
| 3520 |
|
|
* decl.c (finish_function): Fix comment. Annotate the compiler
|
| 3521 |
|
|
generated return with the current file name and line 0.
|
| 3522 |
|
|
|
| 3523 |
|
|
|
| 3524 |
|
|
Copyright (C) 2005 Free Software Foundation, Inc.
|
| 3525 |
|
|
|
| 3526 |
|
|
Copying and distribution of this file, with or without modification,
|
| 3527 |
|
|
are permitted in any medium without royalty provided the copyright
|
| 3528 |
|
|
notice and this notice are preserved.
|