1. 18 Mar, 2008 2 commits
    • expr.c (store_expr): Assume lang_hooks.reduce_bit_field_operations is true. · ac5dc795
      2008-03-18  Paolo Bonzini  <bonzini@gnu.org>
      
              * expr.c (store_expr): Assume lang_hooks.reduce_bit_field_operations
              is true.
              (expand_expr_real_1) <REDUCE_BIT_FIELD>: Don't look at ignore.
              (expand_expr_real_1): Assume lang_hooks.reduce_bit_field_operations
              is true.  Add "&& !ignore" condition to reduce_bit_field.  Modify
              target after ignore has been set, and move there also the commputation
              of subtarget and original_target.
              * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
              (LANG_HOOKS_INITIALIZER): Remove it.
              * langhooks.h (struct lang_hooks): Remove reduce_bit_field_operations.
      
      ada:
      2008-03-18  Paolo Bonzini  <bonzini@gnu.org>
      
              * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
      
      cp:
      2008-03-18  Paolo Bonzini  <bonzini@gnu.org>
      
              * cp-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
      
      From-SVN: r133316
      Paolo Bonzini committed
    • re PR c++/35548 (g++ 4.3 miscompile this simple program) · 3d574e5b
              PR c++/35548
              * call.c (reference_binding): Check LOOKUP_NO_TEMP_BIND when binding
              a temp directly to a reference as per DR391.
      
      From-SVN: r133299
      Jason Merrill committed
  2. 12 Mar, 2008 1 commit
    • revert: [multiple changes] · 70fef63a
      2008-03-12  Richard Guenther  <rguenther@suse.de>
      
      	PR c++/35469
      	Revert:
      	2008-02-04  Richard Guenther  <rguenther@suse.de>
      
              PR java/35035
              * decl.c (record_builtin_java_type): Make jboolean a
              integer type again where its mode doesn't match that of bool.
      
      	2008-01-25  Richard Guenther  <rguenther@suse.de>
      
              PR c++/33887
              * decl.c (record_builtin_java_type): Make __java_boolean
              a variant of bool.
              * typeck.c (structural_comptypes): Move TYPE_FOR_JAVA check
              after TYPE_MAIN_VARIANT check.
      
      From-SVN: r133142
      Richard Guenther committed
  3. 10 Mar, 2008 2 commits
  4. 07 Mar, 2008 2 commits
    • revert: re PR c++/35049 (g++.dg/conversion/simd3.C:12: error: invalid operands… · 96d84882
      revert: re PR c++/35049 (g++.dg/conversion/simd3.C:12: error: invalid operands to binary + (have 'float __vector__' and 'int __vector__'))
      
      cp:
      2008-03-07  Paolo Bonzini  <bonzini@gnu.org>
      
      	Revert:
      
      	2008-02-06  Douglas Gregor  <doug.gregor@gmail.com>
      
      	PR c++/35049
      	PR c++/35096
      	* typeck.c (structural_comptypes): Call cp_comptypes.
      	(comptypes): New; called from the C/C++ common bits to perform
      	strict checks.
      	(cp_comptypes): Renamed from comptypes, which is already used,
      	with a different signature, by the C++ front end.
      	(build_reinterpret_cast_1): Call cp_comptypes.
      	(ptr_reasonably_similar): Ditto.
      	* decl.c (decls_match): Ditto.
      	* cvt.c (convert_to_reference): Ditto.
      	* cp-tree.h (same_type_p): Ditto.
      	(same_or_base_type_p): Ditto.
      	(comptypes): Rename to cp_comptypes.
      	* pt.c (canonical_type_parameter): Call cp_comptypes.
      
      objcp:
      2008-03-07  Paolo Bonzini  <bonzini@gnu.org>
      
      	Revert:
      
      	2008-02-07  Andreas Tobler  <andreast-list@fgznet.ch>
      	            Douglas Gregor  <doug.gregor@gmail.com>
       
      	PR bootstrap/35115
      	* objcp-decl.c (objcp_comptypes): Call cp_comptypes, not comptypes.
      
      From-SVN: r133007
      Paolo Bonzini committed
    • c-common.c (vector_types_convertible_p): Call langhook instead of comptypes. · cf7bc668
      2008-03-07  Paolo Bonzini  <bonzini@gnu.org>
      
      	* c-common.c (vector_types_convertible_p): Call langhook
      	instead of comptypes.
      
      cp:
      2008-03-07  Paolo Bonzini  <bonzini@gnu.org>
      
      	* cp-objcp-common.c (cxx_types_compatible_p): Remove obsolete
      	test for equivalence between pointer and references.
      
      From-SVN: r133002
      Paolo Bonzini committed
  5. 02 Mar, 2008 1 commit
    • re PR c++/24924 (front end and preprocessor pedantic_errors settings should agree) · 393eda6a
      2008-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org> 
      
      	PR 24924
      	* c-common.c (flag_permissive): Delete.
      	(constant_expression_warnings): Check flags first.
      	(constant_expression_error): New.
      	* c-common.h (flag_permissive): Delete.
      	(constant_expression_error): Declare.
      	* flags.h (flag_permissive): Declare. Update description.
      	* diagnostic.c (pedwarn): Update.
      	(permerror): New.
      	* diagnostic.h: (pedantic_error_kind): Rename as pedantic_warning_kind.
      	(permissive_error_kind): New.
      	* toplev.c (flag_permissive): Define. Update description.
      	* toplev.h (permissive_error_kind): Declare.
      	* c-errors.c (pedwarn_c99): Use pedantic_warning_kind.
      	(pedwarn_c90): Use pedantic_warning_kind.
      	* c-opts.c (c_common_post_options): flag_permissive does not affect
      	flag_pedantic_errors.
      cp/
      	* class.c (finish_struct_anon): Use permerror instead of pedwarn.
      	(check_field_decls): Likewise.
      	(note_name_declared_in_class): Likewise.
      	* call.c (build_new_op): Likewise.
      	(convert_like_real): Likewise.
      	(build_over_call): Likewise.
      	* lex.c (unqualified_fn_lookup_error): Likewise.
      	* parser.c (cp_parser_template_id): Likewise.
      	* cvt.c (warn_ref_binding): Likewise.
      	(convert_to_reference): Likewise.
      	(ocp_convert): Likewise.
      	(convert_to_void): Use error instead of pedwarn.
      	* error.c (cp_cpp_error): Use pedantic_warning_kind.
      	* decl.c (compute_array_index_type): Use constant_expression_error.
      testsuite/
      	* g++.dg/cpp/string-2.C: This is a warning now.
      	* g++.dg/cpp/pedantic-errors.C: -pedantic-errors is not enabled by
      	default, so add it.
      
      From-SVN: r132817
      Manuel López-Ibáñez committed
  6. 01 Mar, 2008 1 commit
    • parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Note that auto is… · 4dbc8575
      parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Note that auto is either a storage class or a simple type specifier...
      
      2008-03-01  Douglas Gregor  <doug.gregor@gmail.com>
      
      	* parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Note
      	that auto is either a storage class or a simple type specifier,
      	depending on the dialect.
      	(cp_parser_decl_specifier_seq): Complain about `auto' as a storage
      	specifier in C++98 mode, error in C++0x mode (since we don't
      	support auto as a type specifier, yet).
      	(cp_parser_storage_class_specifier_opt): Don't treat `auto' as a
      	storage specifier in C++0x mode.
      	(cp_parser_simple_type_specifier): Parse `auto' as a
      	simple-type-specifier, but error because we don't support it yet.
      
      2008-03-01  Douglas Gregor  <doug.gregor@gmail.com>
      
      	* g++.dg/cpp0x/auto1.C: New.
      
      From-SVN: r132806
      Douglas Gregor committed
  7. 29 Feb, 2008 2 commits
    • parser.c (cp_parser_nonclass_name): New. · 359be76e
      2008-02-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      cp/
      	* parser.c (cp_parser_nonclass_name): New.
      	(cp_parser_pseudo_destructor_name): Use it instead of
      	cp_parser_type_name.
      	(cp_parser_type_name): Move code to cp_parser_nonclass_name.
      
      From-SVN: r132778
      Manuel López-Ibáñez committed
    • toplev.c (input_file_stack, [...]): Remove. · 966e8f4d
      gcc
      	* toplev.c (input_file_stack, input_file_stack_tick, fs_p,
      	input_file_stack_history, input_file_stack_restored): Remove.
      	(push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
      	* input.h (struct file_stack): Remove.
      	(push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
      	(input_file_stack, input_file_stack_tick, INPUT_FILE_STACK_BITS):
      	Likewise.
      	* diagnostic.h (struct diagnostic_context) <last_module>: Change
      	type.
      	(diagnostic_last_module_changed): Add 'map' argument.
      	(diagnostic_set_last_function): Likewise.
      	* diagnostic.c (undiagnostic_report_current_module): Iterate using
      	line map, not input_file_stack.
      	* c-lex.c (fe_file_change): Don't use push_srcloc or pop_srcloc.
      gcc/cp
      	* parser.c (struct cp_token) <input_file_stack_index>: Remove.
      	(cp_lexer_get_preprocessor_token): Update.
      	(cp_lexer_set_source_position_from_token): Don't call
      	restore_input_file_stack.
      	* lex.c (cxx_init): Don't use push_srcloc or pop_srcloc.
      gcc/testsuite
      	* g++.dg/warn/pragma-system_header2.C: Ignore "included from"
      	line.
      
      From-SVN: r132775
      Tom Tromey committed
  8. 28 Feb, 2008 1 commit
    • revert: tree-flow.h (uid_decl_map_hash, [...]): Move ... · 3b302421
      2008-02-28  Richard Guenther  <rguenther@suse.de>
      
              Revert:
              2008-02-26  Richard Guenther  <rguenther@suse.de>
      
      	* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
      	* tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
      	(lookup_decl_from_uid): Declare.
      	(remove_decl_from_map): Likewise.
      	* tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
      	* tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
      	(decl_for_uid_map): New global hashtable mapping DECL_UID
      	to the decl tree.
      	(init_ttree): Allocate it.
      	(insert_decl_to_uid_decl_map): New helper function.
      	(make_node_stat): Insert new decls into the map.
      	(copy_node_stat): Likewise.
      	(lookup_decl_from_uid): New function.
      	(remove_decl_from_map): Likewise.
      	(print_decl_for_uid_map_statistics): New helper.
      	(dump_tree_statistics): Call it.
      
      	cp/
      	* decl.c (duplicate_decls): Remove decl from global mapping
      	before ggc_freeing it.
      
      	* tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
      	(referenced_var_iterator): Adjust.
      	(FOR_EACH_REFERENCED_VAR): Adjust.
      	(FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
      	(num_referenced_vars): Adjust.
      	* tree-flow-inline.h (gimple_referenced_vars): Adjust.
      	(first_referenced_var): Remove.
      	(end_referenced_vars_p): Likewise.
      	(next_referenced_var): Likewise.
      	(referenced_var_iterator_set): New helper function.
      	* tree-dfa.c (referenced_var_lookup): Adjust.
      	(referenced_var_check_and_insert): Likewise.
      	(remove_referenced_var): Likewise.
      	* tree-ssa.c (verify_flow_insensitive_alias_info): Use
      	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
      	(verify_call_clobbering): Likewise.
      	(verify_memory_partitions): Likewise.
      	(init_tree_ssa): Allocate bitmap instead of hashtable for
      	referenced_vars.
      	(delete_tree_ssa): Adjust.
      	* tree-ssa-alias.c (mark_aliases_call_clobbered): Use
      	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
      	(compute_tag_properties): Likewise.
      	(set_initial_properties): Likewise.
      	(find_partition_for): Likewise.
      	(update_reference_counts): Likewise.
      	(dump_may_aliases_for): Likewise.
      	* tree-ssa-operands.c (add_virtual_operand): Likewise.
      	(add_call_clobber_ops): Likewise.
      	(add_call_read_ops): Likewise.
      	(get_asm_expr_operands): Likewise.
      	* tree-into-ssa.c (dump_decl_set): Likewise.
      	(update_ssa): Likewise.
      	* tree-sra.c (scan_function): Likewise.
      	(decide_instantiations): Likewise.
      	(scalarize_parms): Likewise.
      	* tree-ssa-alias-warnings.c (build_reference_table): Likewise.
      	(dsa_named_for): Likewise.
      	* tree-ssa-structalias.c (update_alias_info): Likewise.
      	(merge_smts_into): Likewise.
      
      From-SVN: r132740
      Richard Guenther committed
  9. 27 Feb, 2008 1 commit
    • re PR c++/35368 (With #pragma visibility, `vtable for… · a15f0fd0
      re PR c++/35368 (With #pragma visibility, `vtable for __cxxabiv1::__class_type_info' is emitted as a hidden-visibility relocation)
      
      	PR c++/35368
      	* rtti.c: Include c-pragma.h.
      	(push_abi_namespace, pop_abi_namespace): New functions.
      	(build_dynamic_cast_1, tinfo_base_init, get_pseudo_ti_index,
      	create_tinfo_types, emit_support_tinfos): Use them.
      	* Make-lang.in (cp/rtti.o): Depend on $(C_PRAGMA_H).
      
      	* g++.dg/ext/visibility/typeinfo2.C: New test.
      	* g++.dg/ext/visibility/typeinfo3.C: New test.
      
      From-SVN: r132704
      Jakub Jelinek committed
  10. 26 Feb, 2008 5 commits
    • re PR c++/35315 (ICE with attribute transparent_union) · 317c435f
              PR c++/35315
              * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE
              alone if it's the naming decl for the type's main variant.
              * cp/decl.c (grokdeclarator): Allow a typedef of an unnamed struct
              to name the struct for linkage purposes even if it has attributes.
              (start_decl): In that case, set ATTR_FLAG_TYPE_IN_PLACE.
      
      From-SVN: r132681
      Jason Merrill committed
    • system.h (USE_MAPPED_LOCATION): Poison. · 2d593c86
      gcc
      	* system.h (USE_MAPPED_LOCATION): Poison.
      	* Makefile.in (GTFILES): Put CPP_ID_DATA_H first.
      	* tree-cfg.c (make_cond_expr_edges): Remove old location code.
      	(make_goto_expr_edges): Likewise.
      	(remove_bb): Likewise.
      	(execute_warn_function_return): Likewise.
      	* basic-block.h (struct edge_def) <goto_locus>: Change type to
      	location_t.
      	* c-common.c (fname_decl): Remove old location code.
      	* tree-vect-transform.c (vect_finish_stmt_generation): Remove old
      	location code.
      	* rtl.h (ASM_OPERANDS_SOURCE_LOCATION): Remove old-location
      	variant.
      	(ASM_INPUT_SOURCE_LOCATION): Likewise.
      	(gen_rtx_ASM_INPUT): Likewise.
      	(gen_rtx_ASM_INPUT_loc): Likewise.
      	(get_rtx_asm_OPERANDS): Remove.
      	* cfglayout.c (insn_locators_alloc): Remove old location code.
      	(set_curr_insn_source_location): Likewise.
      	(curr_insn_locator): Likewise.
      	* print-tree.c (print_node): Remove old location code.
      	* tree-mudflap.c (mf_varname_tree): Remove old location code.
      	(mf_file_function_line_tree): Remove test of USE_MAPPED_LOCATION.
      	* cfgexpand.c (expand_gimple_cond_expr): Don't use
      	location_from_locus.
      	(construct_exit_block): Remove old location code.
      	* emit-rtl.c (force_next_line_note): Remove old location code.
      	* profile.c (branch_prob): Remove old location code.
      	* tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
      	LOC_LINE): Remove old-location variants.
      	* langhooks.c (lhd_print_error_function): Remove old location
      	code.
      	* configure, config.in: Rebuilt.
      	* configure.ac (--enable-mapped-location): Remove.
      	* c-decl.c (c_init_decl_processing): Remove old location code.
      	(finish_function): Likewise.
      	* recog.c (decode_asm_operands): Remove old location code.
      	* c-pch.c (c_common_read_pch): Remove old location code.
      	* rtl.def (ASM_INPUT, ASM_OPERANDS): Remove old location
      	variants.
      	* gimple-low.c (lower_function_body): Remove old location code.
      	* toplev.c (unknown_location): Remove.
      	(push_srcloc): Remove old-location variant.
      	(process_options): Remove old location code.
      	(lang_dependent_init): Likewise.
      	* input.h (UNKNOWN_LOCATION): Move definition.
      	(location_t): Undeprecate.
      	(source_locus): Remove.
      	(location_from_locus): Remove.
      	(struct location_s): Remove.
      	Remove all old-location code.
      	(input_line, input_filename): Remove.
      	* final.c (final_scan_insn): Remove old location code.
      	* diagnostic.c (diagnostic_build_prefix): Remove
      	USE_MAPPED_LOCATION test.
      	* tree.h (gimple_stmt) <locus>: Now a location_t.
      	(tree_exp) <locus>: Likewise.
      	(DECL_IS_BUILTIN): Remove old-location variant.
      	(annotate_with_file_line, annotate_with_locus): Likewise.
      	(expr_locus, set_expr_locus): Update.
      	* tree.c (build1_stat): Remove old location code.
      	(last_annotated_node): Remove.
      	(annotate_with_file_line): Remove old-location variant.
      	(annotate_with_locus): Likewise.
      	(expr_location): Remove old location code.
      	(set_expr_location): Likewise.
      	(expr_has_location): Likewise.
      	(expr_locus): Likewise.
      	(set_expr_locus): Likewise.
      	(expr_filename): Don't use location_from_locus.
      	(expr_lineno): Likewise.
      	* rtl-error.c (location_for_asm): Remove old location code.
      	* c-lex.c (cb_line_change): Remove old location code.
      	(fe_file_change): Likewise.
      	(cb_def_pragma): Likewise.
      	(c_lex_with_flags): Likewise.
      	* gengtype.c (do_typedef): Don't special-case location types.
      	(define_location_structures): Remove.
      	(main): Don't call define_location_structures.
      	* tree-pretty-print.c (dump_implicit_edges): Remove old location
      	code.
      gcc/ada
      	* misc.c (internal_error_function): Remove test of
      	USE_MAPPED_LOCATION.
      	* trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
      	(Sloc_to_locus): Remove old location code.
      gcc/cp
      	* parser.c (eof_token): Remove old location code.
      	(check_empty_body): Remove test of USE_MAPPED_LOCATION.
      	* decl2.c (generate_ctor_or_dtor_function): Remove old location
      	code.
      	(cp_write_global_declarations): Likewise.
      	* lex.c (cxx_init): Remove old location code.
      	(handle_pragma_implementation): Remove test of
      	USE_MAPPED_LOCATION.
      	* pt.c (tsubst): Remove old location code.
      	* error.c (cp_print_error_function): Remove test of
      	USE_MAPPED_LOCATION.
      	* decl.c (pop_label): Remove old location code.
      	(finish_function): Likewise.
      gcc/fortran
      	* trans-io.c (set_error_locus): Remove old location code.
      	* trans-decl.c (gfc_set_decl_location): Remove old location code.
      	* f95-lang.c (gfc_init): Remove test of USE_MAPPED_LOCATION.
      	* scanner.c (gfc_gobble_whitespace): Remove old location code.
      	(get_file): Likewise.
      	(preprocessor_line): Likewise.
      	(load_file): Likewise.
      	(gfc_new_file): Likewise.
      	* trans.c (gfc_trans_runtime_check): Remove old location code.
      	(gfc_get_backend_locus): Likewise.
      	(gfc_set_backend_locus): Likewise.
      	* data.c (gfc_assign_data_value): Remove old location code.
      	* error.c (show_locus): Remove old location code.
      	* gfortran.h (gfc_linebuf): Remove old location code.
      	(gfc_linebuf_linenum): Remove old-location variant.
      gcc/java
      	* lang.c (java_post_options): Remove conditional.
      	* expr.c (expand_byte_code): Remove old location code.
      	* jcf-parse.c (set_source_filename): Remove old location code.
      	(give_name_to_class): Likewise.
      	(jcf_parse): Likewise.
      	(duplicate_class_warning): Likewise.
      	(parse_class_file): Likewise.
      	(java_parse_file): Likewise.
      	* decl.c (finish_method): Remove old location code.
      	* class.c (push_class): Remove old location code.
      gcc/objc
      	* objc-act.c (objc_init): Remove old location code.
      gcc/treelang
      	* tree1.c (treelang_init): Remove old location code.
      	(treelang_parse_file): Likewise.
      	* lex.l (LINEMAP_POSITION_FOR_COLUMN): Remove.
      	(update_lineno_charno): Remove old location code.
      
      From-SVN: r132679
      Tom Tromey committed
    • re PR tree-optimization/26264 (Extraneous warning with __builtin_stdarg_start and optimization) · 4f01eeb4
      2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR 26264
      	* builtins.def (BUILT_IN_STDARG_START): Remove.
      	* builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START.
      	* tree-stdarg.c (execute_optimize_stdarg): Likewise.
      	* tree-inline.c (inline_forbidden_p_1): Likewise.
      cp/
      	* call.c (magic_varargs_p):  Remove BUILT_IN_STDARG_START.
      testsuite/
      	* 20021023-1.c: Use __builtin_va_start instead of
      	__builtin_stdarg_start.
      	* pr17301-1.c: Likewise.
      	* pr17301-2.c: Likewise.
      
      From-SVN: r132677
      Manuel López-Ibáñez committed
    • tree-flow.h (uid_decl_map_hash, [...]): Move ... · bbd59cf4
      2008-02-26  Richard Guenther  <rguenther@suse.de>
      
      	* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
      	* tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
      	(lookup_decl_from_uid): Declare.
      	(remove_decl_from_map): Likewise.
      	* tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
      	* tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
      	(decl_for_uid_map): New global hashtable mapping DECL_UID
      	to the decl tree.
      	(init_ttree): Allocate it.
      	(insert_decl_to_uid_decl_map): New helper function.
      	(make_node_stat): Insert new decls into the map.
      	(copy_node_stat): Likewise.
      	(lookup_decl_from_uid): New function.
      	(remove_decl_from_map): Likewise.
      	(print_decl_for_uid_map_statistics): New helper.
      	(dump_tree_statistics): Call it.
      
      	cp/
      	* decl.c (duplicate_decls): Remove decl from global mapping
      	before ggc_freeing it.
      
      	* tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
      	(referenced_var_iterator): Adjust.
      	(FOR_EACH_REFERENCED_VAR): Adjust.
      	(FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
      	(num_referenced_vars): Adjust.
      	* tree-flow-inline.h (gimple_referenced_vars): Adjust.
      	(first_referenced_var): Remove.
      	(end_referenced_vars_p): Likewise.
      	(next_referenced_var): Likewise.
      	(referenced_var_iterator_set): New helper function.
      	* tree-dfa.c (referenced_var_lookup): Adjust.
      	(referenced_var_check_and_insert): Likewise.
      	(remove_referenced_var): Likewise.
      	* tree-ssa.c (verify_flow_insensitive_alias_info): Use
      	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
      	(verify_call_clobbering): Likewise.
      	(verify_memory_partitions): Likewise.
      	(init_tree_ssa): Allocate bitmap instead of hashtable for
      	referenced_vars.
      	(delete_tree_ssa): Adjust.
      	* tree-ssa-alias.c (mark_aliases_call_clobbered): Use
      	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
      	(compute_tag_properties): Likewise.
      	(set_initial_properties): Likewise.
      	(find_partition_for): Likewise.
      	(update_reference_counts): Likewise.
      	(dump_may_aliases_for): Likewise.
      	* tree-ssa-operands.c (add_virtual_operand): Likewise.
      	(add_call_clobber_ops): Likewise.
      	(add_call_read_ops): Likewise.
      	(get_asm_expr_operands): Likewise.
      	* tree-into-ssa.c (dump_decl_set): Likewise.
      	(update_ssa): Likewise.
      	* tree-sra.c (scan_function): Likewise.
      	(decide_instantiations): Likewise.
      	(scalarize_parms): Likewise.
      	* tree-ssa-alias-warnings.c (build_reference_table): Likewise.
      	(dsa_named_for): Likewise.
      	* tree-ssa-structalias.c (update_alias_info): Likewise.
      	(merge_smts_into): Likewise.
      
      From-SVN: r132676
      Richard Guenther committed
    • re PR c++/35323 (ICE calling functions with fixed-point type parameter) · 50a70b6b
      /cp
      2008-02-26  Paolo Carlini  <pcarlini@suse.de>
      
              PR c++/35323
              * name-lookup.c (arg_assoc_type): Handle FIXED_POINT_TYPE.
      
      /testsuite
      2008-02-26  Paolo Carlini  <pcarlini@suse.de>
      
              PR c++/35323
              * g++.dg/lookup/crash7.C: New.
      
      From-SVN: r132669
      Paolo Carlini committed
  11. 25 Feb, 2008 4 commits
    • c-common.c (match_case_to_enum_1): Add appropriate OPT_W* parameter to warning. · 683d6ff9
      2008-02-26  Manuel Lopez-Ibanez <manu@gcc.gnu.org>
      
      	* c-common.c (match_case_to_enum_1): Add appropriate
      	OPT_W* parameter to warning.
      	(c_do_switch_warnings): Likewise.
      	* c-typeck.c (warning_init): Add one more parameter following
      	'warning' function.
      	(push_init_level): Update call to warning_init.
      	(pop_init_level): Likewise.
      	(add_pending_init): Likewise.
      	(output_init_element: Likewise.
      cp/
      	* typeck.c (build_class_member_access_expr): Add appropriate
      	OPT_W* parameter to warning.
      	(build_reinterpret_cast_1): Likewise.
      	* name-lookup.c (push_overloaded_decl): Likewise.
      testsuite/
      	* gcc.dg/Wswitch-enum-error.c: New.
      	* gcc.dg/Wswitch-error.c: New.
      	* gcc.dg/20011021-1.c: Use two directives to match two different
      	messages.
      
      From-SVN: r132649
      Manuel López-Ibáñez committed
    • re PR c++/35333 (Broken diagnostic for complex builtin) · 998ceda2
      /cp
      2008-02-25  Paolo Carlini  <pcarlini@suse.de>
      
              PR c++/35333
              * error.c (dump_expr): Handle CONJ_EXPR.
      
      /testsuite
      2008-02-25  Paolo Carlini  <pcarlini@suse.de>
      
              PR c++/35333
              * g++.dg/other/error26.C: New.
      
      /cp
      2008-02-25  Paolo Carlini  <pcarlini@suse.de>
      
              PR c++/35338
              * error.c (dump_type): Handle FIXED_POINT_TYPE.
      	(dump_expr): Handle FIXED_CST.
      
      /testsuite
      2008-02-25  Paolo Carlini  <pcarlini@suse.de>
      
              PR c++/35338
              * g++.dg/other/error25.C: New.
      
      From-SVN: r132634
      Paolo Carlini committed
    • re PR c++/33486 (namespace association doesn't handle parallel namespaces) · 4cfaec1c
              * gcc/cp/parser.c (cp_parser_declaration): Handle 'inline namespace'.
              (cp_parser_namespace_definition): Likewise.
        
              PR c++/33486
              * gcc/cp/name-lookup.c (arg_assoc_namespace): Look down into inline
              namespaces, too.
        
              * libstdc++-v3/include/bits/c++config: Use 'inline namespace'
              instead of strong using.
      
      From-SVN: r132611
      Jason Merrill committed
    • typeck.c (check_for_casting_away_constness): Use 1 single argument, the type of… · 86b7b98b
      typeck.c (check_for_casting_away_constness): Use 1 single argument, the type of cast, to decide what diagnostics generate.
      
      2008-02-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	* typeck.c (check_for_casting_away_constness): Use 1 single
      	argument, the type of cast, to decide what diagnostics generate.
      	(build_static_cast_1): Remove unused code. Update call to
      	check_for_casting_away_constness.
      	(build_reinterpret_cast_1): Update call to
      	check_for_casting_away_constness.
      	(build_const_cast_1): Likewise.
      
      From-SVN: r132609
      Manuel López-Ibáñez committed
  12. 24 Feb, 2008 2 commits
  13. 22 Feb, 2008 3 commits
    • re PR c++/34715 (always_inline with templates and not declared as always_inline… · 1eea53df
      re PR c++/34715 (always_inline with templates and not declared as always_inline but definition has it)
      
      2008-02-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR C++/34715
              * decl.c (duplicate_decls): Merge DECL_DISREGARD_INLINE_LIMITS for
              template decls' function decl.
      
      2008-02-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR C++/34715
              * g++.dg/ext/always_inline-1.C: New test.
              * g++.dg/ext/always_inline-2.C: New test.
              * g++.dg/ext/always_inline-3.C: New test.
              * g++.dg/ext/always_inline-4.C: New test.
      
      From-SVN: r132558
      Andrew Pinski committed
    • re PR c++/35282 (Template specialization rejected) · 54062fc0
      /testsuite
      2008-02-22  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/35282
      	* g++.dg/template/nontype17.C: Add.
      
      /cp
      2008-02-22  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/35282
      	Revert:
      	2008-02-14  Paolo Carlini  <pcarlini@suse.de>
      
              PR c++/28743
              * pt.c (determine_specialization): In case of function templates,
      	when the type of DECL does not match FN there is no match.
      
      /testsuite
      2008-02-22  Paolo Carlini  <pcarlini@suse.de>
      
      	PR c++/35282
      	Revert:
      	2008-02-14  Paolo Carlini  <pcarlini@suse.de>
      
              PR c++/28743
      	* g++.dg/template/nontype17.C: New.
              * g++.dg/template/nontype16.C: Add error.
      
      From-SVN: r132543
      Paolo Carlini committed
    • re PR c/19999 (-Wfloat-equal does not warn for complex numbers) · ae311566
      gcc/:
      PR c/19999
      * c-typeck.c (build_binary_op): Warn about floating point
      comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
      
      gcc/cp/:
      * typeck.c (build_binary_op): Warn about floating point
      comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
      
      gcc/testsuite/:
      * gcc.dg/Wfloat-equal-1.c: New.
      * g++.dg/warn/Wfloat-equal-1.C: New.
      
      From-SVN: r132540
      Ralf Wildenhues committed
  14. 19 Feb, 2008 4 commits
  15. 15 Feb, 2008 2 commits
    • re PR c++/35023 (ICE with parameter pack in variable declaration) · 92fab505
      2008-02-15  Douglas Gregor  <doug.gregor@gmail.com>
      
      	PR c++/35023
      	PR c++/35024
      	PR c++/35026
      	* pt.c (finish_member_template_decl): If the type in a TYPE_DECL
      	is error_mark_node, return an error early.
      	(find_parameter_packs_r): Pass the pointer set along to recursive
      	calls of cp_walk_subtrees; don't try to manage the pointer set
      	ourselves.
      	(uses_parameter_packs): Pass the pointer set to cp_walk_tree.
      	(make_pack_expansion): Ditto.
      	(check_for_bare_parameter_packs): Ditto. Also, don't bother taking
      	a second pass through the tree with find_parameter_packs_r; that
      	second pass no longer does anything.
      	(push_template_decl_real): If we have an erroneous declaration,
      	set its type to error_mark_node before returning an error.
      
      2008-02-15  Douglas Gregor  <doug.gregor@gmail.com>
      
      	PR c++/35023
      	PR c++/35024
      	PR c++/35026
      	* g++.dg/cpp0x/vt-35026.C: New.
      	* g++.dg/cpp0x/vt-35023.C: New.
      	* g++.dg/cpp0x/vt-34055.C: Tweak expected error messages.
      	* g++.dg/cpp0x/vt-35024.C: New.
      
      From-SVN: r132348
      Douglas Gregor committed
    • re PR c++/34050 (ICE derived classes and variadic templates) · 625b6d91
      2008-02-14  Douglas Gregor  <doug.gregor@gmail.com>
      
      	PR c++/34050
      	* pt.c (tsubst_initializer_list): Deal with the use of
      	VOID_TYPE_NODE to indicate value-initialization of the bases.
      
      
      2008-02-14  Douglas Gregor  <doug.gregor@gmail.com>
      
      	PR c++/34050
      	* g++.dg/cpp0x/vt-34050.C: New.
      
      From-SVN: r132331
      Douglas Gregor committed
  16. 14 Feb, 2008 2 commits
  17. 13 Feb, 2008 4 commits
  18. 12 Feb, 2008 1 commit