1. 05 May, 2009 5 commits
    • re PR middle-end/40023 (type mismatch in address expression) · 8d972839
      2009-05-05  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/40023
      	* builtins.c (gimplify_va_arg_expr): Properly build the
      	address.
      
      	* gcc.c-torture/compile/pr40023.c: New testcase.
      
      From-SVN: r147127
      Richard Guenther committed
    • typeck.c (cp_build_compound_expr): Require RHS to have a known type. · 95e20768
      	cp/
      	* typeck.c (cp_build_compound_expr): Require RHS to have a known
      	type.
      	* class.c (resolve_address_of_overloaded_function): Use
      	OVL_CURRENT for error message.
      	(instantiate_type): Forbid COMPOUND_EXPRs and remove code dealing
      	with them.  Do not copy the node.
      
      	testsuite/
      	* g++.old-deja/g++.other/overload11.C: Adjust expected errors.
      	* g++.dg/template/overload9.C: Likewise.
      	* g++.dg/ext/ms-1.C: New.
      
      From-SVN: r147125
      Nathan Sidwell committed
    • tree.h (strip_float_extensions): Remove duplicate declaration. · 66ba9b0b
      2009-05-05  Shujing Zhao  <pearly.zhao@oracle.com>
      
      	* tree.h (strip_float_extensions): Remove duplicate declaration.
            	(build_low_bits_mask, debug_fold_checksum, expand_function_end,
            	expand_function_start, stack_protect_prologue, stack_protect_epilogue,
            	block_ultimate_origin): Rearrange the declarations line to match the
            	comment that indicates the .c file which the functions are defined.
            	(dwarf2out_*, set_decl_rtl): Add comment.
            	(get_base_address): Adjust comment.
            	(change_decl_assembler_name, maybe_fold_*, build_addr): Rearrange the
            	declarations line and add comment.
            	(is_builtin_name): Add blank after function name, for clarity.
      
      From-SVN: r147122
      Shujing Zhao committed
    • re PR c++/40013 (ICE when creating a local array with size from the return value… · 5bbca039
      re PR c++/40013 (ICE when creating a local array with size from the return value of a member function of an object in a nested class in a template class)
      
      	PR c++/40013
      	* pt.c (tsubst): If magic NOP_EXPR with side-effects has no type,
      	set it from its operand's type after tsubst_expr.
      
      	* g++.dg/ext/vla7.C: New test.
      
      From-SVN: r147119
      Jakub Jelinek committed
    • Daily bump. · 4fbe73ec
      From-SVN: r147115
      GCC Administrator committed
  2. 04 May, 2009 14 commits
    • attribs.c (decl_attributes): Use %qE for identifiers in diagnostics. · 4f1e4960
      	* attribs.c (decl_attributes): Use %qE for identifiers in
      	diagnostics.
      	* cgraphunit.c (verify_cgraph_node): Translate function names to
      	locale character set in diagnostics.
      	* coverage.c (get_coverage_counts): Use %qE for identifiers in
      	diagnostics.
      	* doc/invoke.texi (-finstrument-functions-exclude-function-list):
      	Document that functions are named in UTF-8.
      	* expr.c (expand_expr_real_1): Translate function names to locale
      	character set in diagnostics.
      	* gimplify.c (omp_notice_variable, omp_is_private,
      	gimplify_scan_omp_clauses): Use %qE for identifiers in
      	diagnostics.
      	* langhooks.c (lhd_print_error_function): Translate function names
      	to locale character set.
      	* langhooks.h (decl_printable_name): Document that return value is
      	in internal character set.
      	* stmt.c: Include pretty-print.h
      	(tree_conflicts_with_clobbers_p): Use %qE for identifiers in
      	diagnostics.
      	(resolve_operand_name_1): Translate named operand name to locale
      	character set.
      	* stor-layout.c (finalize_record_size): Use %qE for identifiers in
      	diagnostics.
      	* toplev.c (announce_function): Translate function names to locale
      	character set.
      	(warn_deprecated_use): Use %qE for identifiers in diagnostics.
      	(default_tree_printer): Use pp_identifier or translate identifiers
      	to locale character set.  Mark "<anonymous>" for translation.
      	* tree-mudflap.c (mx_register_decls, mudflap_finish_file): Use %qE
      	for identifiers in diagnostics.
      	* tree.c (handle_dll_attribute): Use %qE for identifiers in
      	diagnostics.
      	* varasm.c (output_constructor): Use %qE for identifiers in
      	diagnostics.
      
      testsuite:
      	* gcc.dg/ucnid-11.c, gcc.dg/ucnid-12.c, gcc.dg/ucnid-13.c: New
      	tests.
      
      From-SVN: r147111
      Joseph Myers committed
    • configure.ac: use ` ` instead of $() · 40540e68
      2009-05-04  Rafael Avila de Espindola  <espindola@google.com>
      
      	* configure.ac: use ` ` instead of $()
      	* configure: Regenerate.
      
      From-SVN: r147110
      Rafael Avila de Espindola committed
    • linux-atomic.c: Eliminate conditional include of errno.h on non-LP64 systems to simplify build... · 33fc884c
      	* config/pa/linux-atomic.c: Eliminate conditional include of
      	errno.h on non-LP64 systems to simplify build requirements.
      
      From-SVN: r147109
      Ben Elliston committed
    • c-common.c (handle_mode_attribute): Use %qE for identifiers in diagnostics. · 88388a52
      	* c-common.c (handle_mode_attribute): Use %qE for identifiers in
      	diagnostics.
      	* c-decl.c (check_bitfield_type_and_width): Make orig_name a tree
      	and pass value to identifier_to_locale.
      	(warn_variable_length_array): Make name a tree.
      	(grokdeclarator): Separate diagnostic texts for named and unnamed
      	declarators.  Use %qE for named declarators.
      	* c-parser.c (c_lex_one_token): Use %qE for identifiers in
      	diagnostics.
      	* c-pragma.c (pop_alignment, handle_pragma_pack): Use %qE for
      	identifiers in diagnostics.
      	* c-typeck.c (push_member_name, start_init): Pass identifiers to
      	identifier_to_locale.  Mark "anonymous" strings for translation.
      
      testsuite:
      	* gcc.dg/ucnid-8.c, gcc.dg/ucnid-9.c, gcc.dg/ucnid-10.c: New
      	tests.
      	* gcc.dg/declspec-9.c, gcc.dg/declspec-10.c, gcc.dg/declspec-11.c:
      	Update expected errors.
      
      From-SVN: r147108
      Joseph Myers committed
    • Add TARGET_SINGLE_FLOAT check. · d083fbba
      From-SVN: r147104
      Michael Eager committed
    • re PR ada/38874 (gnatmake doesn't pass through --param options) · ffef1219
      2009-05-04   Laurent GUERBY  <laurent@guerby.net>
      
      	PR ada/38874
      	* make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
      
      From-SVN: r147102
      Laurent GUERBY committed
    • Add CPP_SPEC for -mxilinx-fpu. · c3ba8d32
      From-SVN: r147101
      Michael Eager committed
    • Add t-xilinx for powerpc-xilinx-eabi*. · edce9f18
      From-SVN: r147100
      Michael Eager committed
    • tm.texi (LEGITIMIZE_ADDRESS): Revise documentation. · 506d7b68
      2009-05-04  Paolo Bonzini  <bonzini@gnu.org>
      
       	* doc/tm.texi (LEGITIMIZE_ADDRESS): Revise documentation.
      	* gcc/defaults.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/explow.c (memory_address): Use target hook.
      	* gcc/targhooks.c (default_legitimize_address): New.
      	* gcc/targhooks.h (default_legitimize_address): New.
      	* gcc/target.h (legitimize_address): New.
      	* gcc/target-def.h (TARGET_LEGITIMIZE_ADDRESS): New.
      	(TARGET_INITIALIZER): Include it.
      	* gcc/system.h (LEGITIMIZE_ADDRESS): Poison.
      
      	* config/bfin/bfin-protos.h (legitimize_address): Remove.
      	* config/bfin/bfin.c (legitimize_address): Remove.
      	* config/bfin/bfin.h (LEGITIMIZE_ADDRESS): Remove.
      	* config/m68hc11/m68hc11-protos.h (m68hc11_legitimize_address): Remove.
      	* config/m68hc11/m68hc11.c (m68hc11_legitimize_address): Remove.
      	* config/m68hc11/m68hc11.h (LEGITIMIZE_ADDRESS): Remove.
      
      	* gcc/config/arm/arm.h (LEGITIMIZE_ADDRESS, ARM_LEGITIMIZE_ADDRESS,
      	THUMB_LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/s390/s390.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/m32c/m32c.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/sparc/sparc.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/m32r/m32r.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/i386/i386.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/sh/sh.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/avr/avr.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/m68hc11/m68hc11.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/iq2000/iq2000.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/mn10300/mn10300.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/m68k/m68k.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/score/score.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/pa/pa.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/mips/mips.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/frv/frv.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/spu/spu.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/xtensa/xtensa.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/cris/cris.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/rs6000/rs6000.h (LEGITIMIZE_ADDRESS): Delete.
      	* gcc/config/picochip/picochip.h (LEGITIMIZE_ADDRESS): Delete.
      
      	* gcc/config/s390/s390-protos.h (legitimize_address): Delete.
      	* gcc/config/m32c/m32c-protos.h (m32c_legitimize_address): Delete.
      	* gcc/config/sparc/sparc-protos.h (legitimize_address): Delete.
      	* gcc/config/i386/i386-protos.h (legitimize_address): Delete.
      	* gcc/config/avr/avr-protos.h (legitimize_address): Delete.
      	* gcc/config/mn10300/mn10300-protos.h (legitimize_address): Delete.
      	* gcc/config/score/score-protos.h (score_legitimize_address): Delete.
      	* gcc/config/arm/arm-protos.h (arm_legitimize_address,
      	(thumb_legitimize_address): Delete.
      	* gcc/config/pa/pa-protos.h (hppa_legitimize_address): Delete.
      	* gcc/config/mips/mips-protos.h (mips_legitimize_address): Delete.
      	* gcc/config/alpha/alpha-protos.h (alpha_legitimize_address): Delete.
      	* gcc/config/frv/frv-protos.h (frv_legitimize_address): Delete.
      	* gcc/config/spu/spu-protos.h (spu_legitimize_address): Delete.
      	* gcc/config/xtensa/xtensa-protos.h (xtensa_legitimize_address): Delete.
      	* gcc/config/rs6000/rs6000-protos.h (rs6000_legitimize_address): Delete.
      
      	* config/arm/arm.c (arm_legitimize_address): Maybe call Thumb version.
      	* config/m32c/m32c.c (m32c_legitimize_address): Standardize.
      	* config/m32r/m32r.c (m32r_legitimize_address): New.
      	* config/m68k/m68k.c (m68k_legitimize_address): New.
      	* config/score/score.c (score_legitimize_address): Standardize.
      	* config/score/score3.c (score3_legitimize_address): Standardize.
      	* config/score/score3.h (score3_legitimize_address): Adjust.
      	* config/score/score7.c (score7_legitimize_address): Standardize.
      	* config/score/score7.h (score7_legitimize_address): Adjust.
      	* config/sh/sh.c (sh_legitimize_address): New.
      	* config/iq2000/iq2000.c (iq2000_legitimize_address): New.
      
      	* gcc/config/s390/s390.c (legitimize_address): Rename to...
       	(s390_legitimize_address): ... this.
      	* gcc/config/sparc/sparc.c (legitimize_address): Rename to...
      	(sparc_legitimize_address): ... this.
      	* gcc/config/i386/i386.c (legitimize_address): Rename to...
      	(ix86_legitimize_address): ... this.
      	* gcc/config/avr/avr.c (legitimize_address): Rename to...
      	(avr_legitimize_address): ... this.
      	* gcc/config/mn10300/mn10300.c (legitimize_address): Rename to...
      	(mn10300_legitimize_address): ... this.
      	* config/alpha/alpha.c (alpha_legitimize_address): Wrap...
      	(alpha_legitimize_address_1): ... the old alpha_legitimize_address.
      	(alpha_expand_mov): Adjust call.
      
      	* config/frv/frv.c (frv_legitimize_address): Return x on failure.
      	* config/spu/spu.c (spu_legitimize_address): Likewise.
      	* config/xtensa/xtensa.c (xtensa_legitimize_address): Likewise.
      	* config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
      
      From-SVN: r147098
      Paolo Bonzini committed
    • re PR c++/28152 (Diagnostic about wrong use _Complex prints __complex__) · 67beaaa6
      2009-05-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR c++/28152
      cp/	
      	* parser.c (cp_lexer_get_preprocessor_token):  Do not store the
      	canonical spelling for keywords.
      	(cp_parser_attribute_list): Use the canonical spelling for
      	keywords in attributes.
      testsuite/
      	* g++.dg/parse/parser-pr28152.C: New.
      	* g++.dg/parse/parser-pr28152-2.C: New.
      
      From-SVN: r147097
      Manuel López-Ibáñez committed
    • intl.c (locale_encoding, [...]): New. · a3af5087
      	* intl.c (locale_encoding, locale_utf8): New.
      	(gcc_init_libintl): Initialize locale_encoding and locale_utf8.
      	* intl.h (locale_encoding, locale_utf8): Declare.
      	* pretty-print.c: Include ggc.h.  Include iconv.h if HAVE_ICONV.
      	(pp_base_tree_identifier, decode_utf8_char, identifier_to_locale):
      	New.
      	* pretty-print.h (pp_identifier): Call identifier_to_locale on ID
      	argument.
      	(pp_tree_identifier): Define to call pp_base_tree_identifier.
      	(pp_base_tree_identifier): Declare as function.
      	(identifier_to_locale): Declare.
      	* Makefile.in (pretty-print.o): Update dependencies.
      	* varasm.c (finish_aliases_1): Use %qE for identifiers in
      	diagnostics.
      
      testsuite:
      	* gcc.dg/attr-alias-5.c, gcc.dg/ucnid-7.c: New tests.
      
      From-SVN: r147096
      Joseph Myers committed
    • re PR middle-end/40015 (Revision 147083 failed gfortran.dg/array_memcpy_4.f90) · ea5cd5f1
      2009-05-04  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/40015
      	* builtins.c (fold_builtin_memory_op): Do not decay to element
      	type if the size matches the whole array.
      
      From-SVN: r147094
      Richard Guenther committed
    • Daily bump. · a967a1b6
      From-SVN: r147090
      GCC Administrator committed
  3. 03 May, 2009 14 commits
    • expmed.c (synth_mult): When trying out a shift, pass the result of a signed shift. · ddc2690a
      	* expmed.c (synth_mult): When trying out a shift, pass the result
      	of a signed shift.
      
      From-SVN: r147087
      Kazu Hirata committed
    • expmed.c (shiftsub_cost): Rename to shiftsub0_cost. · ef268d34
      	* expmed.c (shiftsub_cost): Rename to shiftsub0_cost.
      	(shiftsub1_cost): New.
      	(init_expmed): Compute shiftsub1_cost.
      	(synth_mult): Optimize multiplications by constants of the form
      	-(2^^m-1) for some constant positive integer m.
      
      From-SVN: r147086
      Kazu Hirata committed
    • fpmul-2.c: Replace final_cleanup with optimized. · 97f0e9d9
      	* gcc.target/sparc/fpmul-2.c: Replace final_cleanup with optimized.
      	* gcc.target/sparc/fexpand-2.c: Likewise.
      	* gcc.target/sparc/fpmerge-2.c: Likewise.
      	* gcc.target/sparc/pdist-2.c: Likewise.
      
      From-SVN: r147085
      Eric Botcazou committed
    • re PR c/39983 (ICE: type mismatch in address expression) · 255d3827
      2009-05-03  Richard Guenther  <rguenther@suse.de>
      
      	PR c/39983
      	* c-typeck.c (array_to_pointer_conversion): Do not built
      	ADDR_EXPRs of arrays of pointer-to-element type.
      	* c-gimplify.c (c_gimplify_expr): Revert change fixing
      	up wrong ADDR_EXPRs after-the-fact.
      	* c-common.c (strict_aliasing_warning): Strip pointer
      	conversions for obtaining the original type.
      	* builtins.c (fold_builtin_memset): Handle array types.
      	(fold_builtin_memory_op): Handle folded POINTER_PLUS_EXPRs
      	and array types
      
      	* gcc.c-torture/compile/pr39983.c: New testcase.
      
      From-SVN: r147083
      Richard Guenther committed
    • re PR tree-optimization/23329 (hack in may_propagate_copy should be able to removed) · 16c33770
      2009-05-03  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/23329
      	* tree-ssa.c (useless_type_conversion_p_1): Use get_deref_alias_set.
      	Do not lose casts from array types with unknown extent to array
      	types with known extent.
      	* tree-ssa-copy.c (may_propagate_copy): Remove hack checking for
      	alias set compatibility.
      
      From-SVN: r147082
      Richard Guenther committed
    • flags.h (extra_warnings): Delete. · 62a67c94
      2009-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* flags.h (extra_warnings): Delete.
      	* toplev.c (process_options): Handle Wuninitialized here.
      	* opts.c (extra_warnings): Delete.
      	(set_Wextra): Delete.
      	(common_handle_option): -Wextra can be handled automatically.
      	* c-opts.c (c_common_handle_option): Delete obsolete code.
      	(c_common_post_options): Simplify comment.
      	* common.opt (W): Add Var.
      	(Wextra): Add Var.
      	(Wuninitialized): Initialize to -1.
      
      From-SVN: r147080
      Manuel López-Ibáñez committed
    • expr.c (get_def_for_expr): New function. · 8c7926c4
      	* expr.c (get_def_for_expr): New function.
      	(expand_expr_real_1) <PLUS_EXPR, MINUS_EXPR>: Adjust to work with
      	SSA rather than trees.
      	<MULT_EXPR>: Likewise.  Use subexp0 and subexp1 instead of
      	TREE_OPERAND (exp, 0) and TREE_OPERAND (exp, 1).
      
      Co-Authored-By: Richard Guenther <rguenther@suse.de>
      
      From-SVN: r147078
      Adam Nemet committed
    • settings.h (get): Mark const. · b91cc3b9
      	* include/parallel/settings.h (get): Mark const.
      	* libsupc++/unwind-cxx.h (__cxa_call_terminate): Mark throw ().
      	* libsupc++/eh_call.cc (__cxa_call_terminate): Mark throw ().
      	* config/io/basic_file_stdio.cc (sys_open, is_open, fd, seekoff): Mark
      	throw ().
      	* config/io/basic_file_stdio.h (__basic_file, sys_open): Mark throw ().
      	(is_open, fd): Mark pure and throw ().
      	(seekoff): Mark throw ().
      
      From-SVN: r147077
      Jan Hubicka committed
    • acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when possible. · bd67512a
      2009-05-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
      	possible.
      	* configure: Regenerate.
      
      From-SVN: r147076
      Paolo Carlini committed
    • c-common.c (reswords): Add _Imaginary. · fa5da7de
      	* c-common.c (reswords): Add _Imaginary.
      	* c-common.c (enum rid): Add RID_IMAGINARY.
      
      testsuite:
      	* gcc.dg/c99-complex-3.c: New test.
      
      From-SVN: r147075
      Joseph Myers committed
    • tree.h (TYPE_VECTOR_OPAQUE): Fix documentation. · 2ddd5020
      2009-05-03  Paolo Bonzini  <bonzini@gnu.org>
      
      	* tree.h (TYPE_VECTOR_OPAQUE): Fix documentation.
      	Patch by Richard Guenther.
      
      From-SVN: r147074
      Paolo Bonzini committed
    • charset.c (one_utf8_to_cppchar): Correct mask used for 5-byte UTF-8 sequences. · 9e322bc1
      libcpp:
      	* charset.c (one_utf8_to_cppchar): Correct mask used for 5-byte
      	UTF-8 sequences.
      
      gcc/testsuite:
      	* gcc.dg/cpp/utf8-5byte-1.c: New test.
      
      From-SVN: r147073
      Joseph Myers committed
    • defaults.h (FRAME_POINTER_REQUIRED): Provide default. · aea88c05
      	* defaults.h (FRAME_POINTER_REQUIRED): Provide default.
      	* doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
      	* config/alpha/alpha.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/s390/s390.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/spu/spu.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/sh/sh.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/pdp11/pdp11.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/stormy16/stormy16.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/m68hc11/m68hc11.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/iq2000/iq2000.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/mn10300/mn10300.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/ia64/ia64.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/m68k/m68k.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/rs6000/rs6000.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/picochip/picochip.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/mcore/mcore.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/h8300/h8300.h (FRAME_POINTER_REQUIRED): Delete.
      	* config/v850/v850.h (FRAME_POINTER_REQUIRED): Delete.
      
      From-SVN: r147072
      Anatoly Sokolov committed
    • Daily bump. · 0453fa89
      From-SVN: r147071
      GCC Administrator committed
  4. 02 May, 2009 7 commits