1. 01 Apr, 2009 24 commits
    • re PR target/39027 (double floating point suffix of 'd' and 'D' not accepted) · 839a3b8a
      gcc/
      	PR c/29027
      	* c-lex.c (interpret_float): Default (no suffix) is double.
      
      libcpp/
      	PR c/29027
      	* include/cpplib.h (CPP_N_DEFAULT): Define.
      	* expr.c (interpret_float_suffix): Recognize d or D for double,
      	return new value for default.
      	(cpp_classify_number): Issue pedwarn for use of d or D in suffix.
      
      gcc/testsuite/
      	PR c/29027
      	* gcc.dg/fltconst-1.c: Don't error for use of d or D in suffix.
      	* gcc.dg/fltconst-2.c: New test.
      	* gcc.dg/fltconst-double-pedantic-1.c: New test.
      	* gcc.dg/fltconst-double-pedantic-2.c: New test.
      
      From-SVN: r145422
      Janis Johnson committed
    • better m128i constant materialization · 667e8acb
      From-SVN: r145418
      Xinliang David Li committed
    • re PR c/33466 (mixed-case suffix for decimal float constants) · eec49116
      libcpp/
      	PR c/33466
      	* expr.c (interpret_float_suffix): Reject invalid suffix that uses
      	letters from decimal float and fixed-point suffixes.
      
      gcc/testsuite
      	PR c/33466
      	* gcc.dg/cpp/pr33466.c: New test.
      	* gcc.dg/dfp/pr33466.c: New test.
      	* gcc.dg/fixed-point/pr33466.c: New test.
      
      From-SVN: r145417
      Janis Johnson committed
    • [multiple changes] · c4e75102
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c: Add #includes to silence warnings.
      	Change #include order to silence two warnings.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/linux.h (TARGET_DEFAULT): Add the MASK_QMATH flag bit.
      	(ASM_SPEC): Pass -k to the assembler for PIC code.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config.gcc: Add vax-*-linux* to the switch.
      	* gcc/config/vax/linux.h: New file. (TARGET_VERSION,
      	TARGET_OS_CPP_BUILTINS, TARGET_DEFAULT, CPP_SPEC, LINK_SPEC): Define.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c (vax_output_int_move, adjacent_operands_p):
      	Use predicate macros instead of GET_CODE() == foo.
      	* gcc/config/vax/vax.md (movsi_2, movstrictqi, and<mode>3, ashrsi3,
      	ashlsi3, rotrsi3, <unnamed>): Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/builtins.md (jbbssiqi, jbbssihi, jbbssisi, jbbcciqi,
      	jbbccihi, jbbccisi): Remova trailing whitespace.
      	* gcc/config/vax/constraints.md: Likewise.
      	* gcc/config/vax/elf.h: (ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
      	* gcc/config/vax/openbsd1.h (OBSD_OLD_GAS): Likewise.
      	* gcc/config/vax/predicates.md: Likewise.
      	* gcc/config/vax/vax.c (print_operand_address, vax_output_int_move,
      	vax_expand_addsub_di_operands, adjacent_operands_p): Likewise.
      	* gcc/config/vax/vax.h: Likewise.
      	* gcc/config/vax/vax.md (nonlocal_goto): Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c (vax_float_literal, vax_output_int_move)
      	(indirectable_address_p, adjacent_operands_p): Add spaces around
      	braces.
      	* gcc/config/vax/vax-protos.h (adjacent_operands_p): Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c (legitimate_constant_address_p,
      	legitimate_constant_p, indirectable_address_p, nonindexed_address_p,
      	index_term_p, reg_plus_index_p, legitimate_address_p,
      	vax_mode_dependent_address_p): Update comments to match functions
      	modified by the recent int->bool conversion.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/builtins.md: Update copyright message.
      	* gcc/config/vax/constraints.md: Likewise.
      	* gcc/config/vax/netbsd-elf.h: Likewise.
      	* gcc/config/vax/predicates.md: Likewise.
      	* gcc/config/vax/vax-protos.h: Likewise.
      	* gcc/config/vax/vax.c: Likewise.
      	* gcc/config/vax/vax.h: Likewise.
      	* gcc/config/vax/vax.md: Likewise.
      	* gcc/config/vax/vax.opt: Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/builtins.md (ffssi2, ffssi2_internal,
      	sync_lock_test_and_set<mode>, sync_lock_release<mode>): Fix indention.
      	* gcc/config/vax/constraints.md (B, R): Likewise.
      	* gcc/config/vax/predicates.md (external_memory_operand,
      	nonimmediate_addsub_di_operand): Likewise.
      	* gcc/config/vax/vax.c (vax_output_int_add): Likewise.
      	* gcc/config/vax/vax.md (movsi, movsi_2, mov<mode>, call_value,
      	untyped_call): Likewise.
      
      2009-04-01	Matt Thomas <matt@3am-software.com>
      
      	* config/vax/predicates.md: New file. (symbolic_operand,
      	local_symbolic_operand, external_symbolic_operand,
      	external_const_operand, nonsymbolic_operand, external_memory_operand,
      	indirect_memory_operand, indexed_memory_operand,
      	illegal_blk_memory_operand, illegal_addsub_di_memory_operand,
      	nonimmediate_addsub_di_operand, general_addsub_di_operand): New
      	predicate.
      	* config/vax/constraints.md: New file. (Z0, U06,  U08, U16, CN6, S08,
      	S16, I, J, K, L, M, N, O, G, Q, B, R, T): New constraint.
      	* config/vax/builtins.md: New file. (ffssi2, ffssi2_internal,
      	sync_lock_test_and_set<mode>, jbbssiqi, jbbssihi, jbbssisi,
      	sync_lock_release<mode>, jbbcciqi, jbbccihi, jbbccisi): Define.
      	* config/vax/vax.opt (mqmath): Add option.
      	* config/vax/vax.md (isfx): Extend with DI.
      	(VAXintQH, VAXintQHSD): Define.
      	(tst<mode>, cmp<mode>, *bit<mode>, movmemhi1, truncsiqi2, truncsihi2,
      	mulsidi3, add<mode>3, sub<mode>, mul<mode>3, div<mode>3, and<mode>,
      	and<mode>_const_int, ior<mode>3, xor<mode>3, neg<mode>2,
      	one_cmpl<mode>2, ashlsi3, lshrsi3, rotlsi3): Update constraints.
      	(movdi): Update constraints and use vax_output_int_move().
      	(movsi, movsi_2, pushlclsymreg, pushextsymreg, movlclsymreg,
      	movextsymreg, adddi3, adcdi3, subdi3, sbcdi3, pushextsym, movextsym,
      	pushlclsym, movlclsym, movaddr<mode>, pushaddr<mode>,
      	nonlocal_goto): New.
      	(mov<mode>): Extend accepted operand types.
      	(subdi3_old): Rename from subdi3, change update constraints and use
      	a new implementation.
      	* gcc/config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Add space.
      	(FRAME_POINTER_CFA_OFFSET, IRA_COVER_CLASSES, CLASS_MAX_NREGS,
      	MOVE_RATIO, CLEAR_RATIO): Define.
      	(REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P,
      	CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
      	(PRINT_OPERAND): Redefine using a function instead of inlined code.
      	* gcc/config/vax/vax.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
      	(split_quadword_operands): Make static and really allow variable
      	splitting.
      	(print_operand_address): Update for PIC generation.
      	(print_operand, vax_builtin_setjmp_frame_value, vax_output_int_subtract,
      	indexable_address_p, fixup_mathdi_operand,
      	vax_expand_addsub_di_operands, adjacent_operands_p): New.
      	(vax_float_literal, legitimate_constant_p,
      	indirectable_constant_address_p, index_term_p,
      	reg_plus_index_p): Return bool instead of int.
      	(vax_rtx_costs): Fix cost for CONST_INT, indent and use HOST_WIDE_INT
      	where needed.
      	(vax_output_int_move, vax_output_int_add): Extend to allow PIC
      	generation.
      	(vax_output_conditional_branch): Indent.
      	(legitimate_constant_address_p, indirectable_constant_address_p,
      	indirectable_address_p, nonindexed_address_p, legitimate_address_p,
      	vax_mode_dependent_address_p): Return bool instead of int, update for
      	PIC generation.
      	* config/vax/vax-protos.h (legitimate_constant_address_p,
      	legitimate_constant_p, legitimate_address_p,
      	vax_mode_dependent_address_p): Change declaration to bool.
      	(legitimate_pic_operand_p, adjacent_operands_p, print_operand,
      	vax_expand_addsub_di_operands, vax_output_int_subtract,
      	vax_output_movmemsi): Declare.
      	(split_quadword_operands, vax_float_literal): Delete declaration.
      	* config/vax/netbsd-elf.h (CC1_SPEC, CC1PLUS_SPEC) Define.
      	* config/vax/elf.h (NO_EXTERNAL_INDIRECT_ADDRESS,
      	VAX_CC1_AND_CC1PLUS_SPEC, ASM_PREFERRED_EH_DATA_FORMAT,
      	ASM_OUTPUT_DWARF_PCREL): Define.
      	(ASM_SPEC): Change definition to allow PIC generation.
      
      From-SVN: r145416
      Matt Thomas committed
    • Makefil.def (languages): New entries. · 60911f14
      	* Makefil.def (languages): New entries.
      	* Makefile.tpl (check-gcc-*): New generic target.
      	* Makefile.in: Regenerate.
      	* gcc/doc/sourcebuild.texi: Update front-end requirements.
      
      From-SVN: r145415
      Steve Ellcey committed
    • re PR tree-optimization/35011 (ICE with -fcheck-data-deps) · 96137f95
      2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR tree-optimization/35011
      	* g++.dg/other/pr35011.C: New.
      
      From-SVN: r145413
      H.J. Lu committed
    • re PR target/39226 (gcc_assert (verify_initial_elim_offsets ()); ICE) · d93e052c
      	PR target/39226
      	* config/rs6000/rs6000.md (andsi3_internal5_nomc,
      	anddi3_internal2_nomc, anddi3_internal3_nomc): Removed.
      	(booldi3_internal3): Use boolean_or_operator instead of
      	boolean_operator.
      
      	* gcc.dg/pr39226.c: New test.
      
      From-SVN: r145411
      Jakub Jelinek committed
    • re PR c++/35240 (ICE with new in template parameter) · eddd291e
      2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR c++/35240
      	* g++.dg/template/pr35240.C: New.
      
      From-SVN: r145408
      H.J. Lu committed
    • re PR c/39605 ("error: variable-size type declared outside of any function" is issued twice) · 6ccb2a4a
      	PR c/39605
      	* c-decl.c (grokdeclarator): Pedwarn for file-scope array
      	declarator whose size is not an integer constant expression but
      	folds to an integer constant, then treat it as a constant
      	subsequently.
      
      testsuite:
      	* gcc.dg/vla-17.c, gcc.dg/vla-18.c: New tests.
      	* gcc.dg/pr25682.c: Update expected diagnostics.
      
      From-SVN: r145405
      Joseph Myers committed
    • fold-const.c (fold_plusminus_mult_expr): Do not fold i * 4 + 2 to (i * 2 + 1) * 2. · 299b87f8
      2009-04-01  Richard Guenther  <rguenther@suse.de>
      
      	* fold-const.c (fold_plusminus_mult_expr): Do not fold
      	i * 4 + 2 to (i * 2 + 1) * 2.
      
      	* gcc.dg/fold-plusmult-2.c: New testcase.
      
      From-SVN: r145403
      Richard Guenther committed
    • re PR c/37772 (ICE with empty asm statement) · b85eb797
      	PR c/37772
      	* c-parser.c (c_parser_asm_statement): Skip until close paren and
      	return if c_parser_asm_string_literal returned NULL.
      
      	* gcc.dg/pr37772.c: New test.
      	* g++.dg/ext/asm11.C: New test.
      
      From-SVN: r145401
      Jakub Jelinek committed
    • (restore_ld_library_path_env_vars): Always restore GCC_EXEC_PREFIX to its original value... · 00c7e24f
      2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	(restore_ld_library_path_env_vars): Always restore GCC_EXEC_PREFIX
      	to its original value, or unset if it was not defined.
      
      From-SVN: r145400
      H.J. Lu committed
    • Omitted from previous commit. · 3f293bd0
      From-SVN: r145398
      Nick Clifton committed
    • m32c.h (LIBGCC2_UNITS_PER_WORD): Define if not already defined. · 235e1fe8
              * config/m32c/m32c.h (LIBGCC2_UNITS_PER_WORD): Define if not
              already defined.
              * config/m32c/t-m32c (LIB2FUNCS_EXTRA): Add m32c-lib2-trapv.c.
              * config/m32c/m32c-lib2.c: Remove unused typedefs.  Rename the
              other typedefs to avoid conflicts with libgcc2.c.  Define labels
              to gain 16-bit bit-manipulation functions from libgcc2.c and then
              include it.
              * config/m32c/m32c-lib2-trapv.c: New file.  Define labels
              to gain 16-bit trapping arithmetic functions from libgcc2.c and
              then include it.
      
      From-SVN: r145397
      Nick Clifton committed
    • varasm.c (default_function_rodata_section): Declare DOT as const char*. · d6868399
      2009-04-01  Rafael Avila de Espindola  <espindola@google.com>
      
             * varasm.c (default_function_rodata_section): Declare DOT as const char*.
      
      From-SVN: r145396
      Rafael Avila de Espindola committed
    • host-mingw32.c (mingw32_gt_pch_use_address): Make object_name unique for each process. · 73d21f56
      2009-04-01  Kai Tietz  <kai.tietz@onevision.com>
                  Andrey Galkin <agalkin@hypercom.com>
      
              PR/39492
              * config/i386/host-mingw32.c (mingw32_gt_pch_use_address):
              Make object_name unique for each process.
      
      
      Co-Authored-By: Andrey Galkin <agalkin@hypercom.com>
      
      From-SVN: r145394
      Kai Tietz committed
    • re PR other/39591 (GOMP_loop_end illegally optmized into GOMP_loop_end_nowait) · 03742a9b
      	PR other/39591
      	* omp-low.c (remove_exit_barrier): Don't optimize if there are any
      	addressable variables in the parallel that could go out of scope while
      	running queued tasks.
      
      	* testsuite/libgomp.c/pr39591-1.c: New test.
      	* testsuite/libgomp.c/pr39591-2.c: New test.
      	* testsuite/libgomp.c/pr39591-3.c: New test.
      
      From-SVN: r145390
      Jakub Jelinek committed
    • avr.h (avr_case_values_threshold): Remove declaration. · 4223ff5f
      	* config/avr/avr.h (avr_case_values_threshold): Remove declaration.
      	(CASE_VALUES_THRESHOLD): Redefine.
      	* config/avr/avr.c (avr_override_options): Remove initialization of
      	avr_case_values_threshold variable.
      	(avr_case_values_threshold): Remove variable. Add new function.
      	* config/avr/avr-protos.h (avr_case_values_threshold): Declare.
      	* config/avr/avr.opt (mno-tablejump): Remove option.
      	* doc/invoke.texi (AVR Options): Remove -mno-tablejump.
      
      From-SVN: r145389
      Anatoly Sokolov committed
    • varasm.c (default_function_rodata_section): Don't assume anything about where… · e893f6f3
      varasm.c (default_function_rodata_section): Don't assume anything about where the first '.' in the section name is.
      
      * varasm.c (default_function_rodata_section): Don't assume
      anything about where the first '.' in the section name is.
      
      From-SVN: r145388
      DJ Delorie committed
    • rs6000.c (rs6000_emit_stack_reset): Delete redundant rs6000_emit_stack_tie. · b246d100
      	* config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete redundant
      	rs6000_emit_stack_tie.
      
      From-SVN: r145387
      Alan Modra committed
    • re PR c++/34691 (Default argument checking not performed after overload resolution with C linkage) · a70f5987
              PR c++/34691
              * name-lookup.c (pushdecl_maybe_friend): Diagnose mismatched
              extern C declarations.
      
              * libsupc++/unwind-cxx.h: Correct __cxa_call_terminate prototype.
      
      From-SVN: r145386
      Jason Merrill committed
    • * decContext.h: Include gstdint.h instead of <stdint.h>. · 9daa490d
      From-SVN: r145385
      Ben Elliston committed
    • Daily bump. · 0ecca4d1
      From-SVN: r145384
      GCC Administrator committed
    • tree-eh.c (tree_remove_unreachable_handlers): Compare gimple_code with GIMPLE_RESX, not RESX. · d3e37a9e
      	* tree-eh.c (tree_remove_unreachable_handlers): Compare
      	gimple_code with GIMPLE_RESX, not RESX.
      
      From-SVN: r145381
      Ian Lance Taylor committed
  2. 31 Mar, 2009 16 commits
    • c-common.c (c_get_ident): New. · c1b61fca
      	* c-common.c (c_get_ident): New.
      	(c_common_nodes_and_builtins): Call it for type names that may be
      	NULL.
      
      From-SVN: r145380
      Joseph Myers committed
    • sysv4.opt (msdata): Improve option description. · c2d2ad48
      	* config/rs6000/sysv4.opt (msdata): Improve option description.
      --this line, and those below, will be ignored--
      
      M    ChangeLog
      M    config/rs6000/sysv4.opt
      
      From-SVN: r145379
      Ben Elliston committed
    • pr33009.c: Removed. · 36e3e6f7
      2009-03-31  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.c-torture/compile/pr33009.c: Removed.
      
      From-SVN: r145377
      H.J. Lu committed
    • ia64.md (divsf3_internal_lat): Remove. · 13d1a6e7
      	* config/ia64/ia64.md (divsf3_internal_lat): Remove.
      	(divdf3_internal_lat): Remove.
      	(divxf3_internal_lat): Remove.
      	(divxf3_internal_thr): Remove.
      	(divxf): Use divxf3_internal.
      	* config/ia64/div.md (divsf3_internal_lat): New.
      	(divdf3_internal_lat): New.
      	(divxf3_internal): New.
      
      From-SVN: r145376
      Steve Ellcey committed
    • C++ DR 613 · 51fc2d02
              C++ DR 613
              * semantics.c (finish_non_static_data_member): Allow such references
              without an associated object in sizeof/decltype/alignof.
      
      From-SVN: r145375
      Jason Merrill committed
    • common.opt (frtl-abstract-sequences): Delete. · 82452399
      2009-03-31  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	* common.opt (frtl-abstract-sequences): Delete.
      	* doc/invoke.texi (Option Summary): Likewise.
      	(Optimize Options): Likewise.
      	* rtl-factoring.c: Delete file.
      	* Makefile.in (OBJS-common): Remove rtl-factoring.o.
      	* passes.c (init_optimization_passes): Remove rtl_abstr_seq pass.
      
      
      2009-03-31  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	* gcc.c-torture/compile/pr33009.c: Delete.
      	* gcc.c-torture/compile/pr11832.c: Likewise.
      
      From-SVN: r145374
      Ramana Radhakrishnan committed
    • re PR c/448 (<stdint.h>-related issues (C99 issues)) · 207bf79d
      	PR c/448
      fixincludes:
      	* inclhack.def (newlib_stdint_1, newlib_stdint_2): New fixes.
      	* fixincl.x: Regenerate.
      	* tests/base/stdint.h: Update.
      
      gcc:
      	* Makefile.in (USE_GCC_STDINT): Define.
      	(stmp-int-hdrs): Install stdint.h if applicable.
      	* c-common.c (CHAR16_TYPE): Define in terms of UINT_LEAST16_TYPE
      	if known.
      	(CHAR32_TYPE): Define in terms of UINT_LEAST32_TYPE if known.
      	(SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE, INT64_TYPE,
      	UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
      	INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
      	INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
      	UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
      	INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
      	UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
      	UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
      	(c_common_nodes_and_builtins): Initialize
      	underlying_wchar_type_node.  Do not initialize
      	signed_wchar_type_node or unsigned_wchar_type_node.  Initialize
      	nodes for new types.
      	(c_stddef_cpp_builtins): Define macros for new types.
      	* c-common.h (CTI_SIGNED_WCHAR_TYPE, CTI_UNSIGNED_WCHAR_TYPE):
      	Remove.
      	(CTI_UNDERLYING_WCHAR_TYPE, CTI_SIG_ATOMIC_TYPE, CTI_INT8_TYPE,
      	CTI_INT16_TYPE, CTI_INT32_TYPE, CTI_INT64_TYPE, CTI_UINT8_TYPE,
      	CTI_UINT16_TYPE, CTI_UINT32_TYPE, CTI_UINT64_TYPE,
      	CTI_INT_LEAST8_TYPE, CTI_INT_LEAST16_TYPE, CTI_INT_LEAST32_TYPE,
      	CTI_INT_LEAST64_TYPE, CTI_UINT_LEAST8_TYPE, CTI_UINT_LEAST16_TYPE,
      	CTI_UINT_LEAST32_TYPE, CTI_UINT_LEAST64_TYPE, CTI_INT_FAST8_TYPE,
      	CTI_INT_FAST16_TYPE, CTI_INT_FAST32_TYPE, CTI_INT_FAST64_TYPE,
      	CTI_UINT_FAST8_TYPE, CTI_UINT_FAST16_TYPE, CTI_UINT_FAST32_TYPE,
      	CTI_UINT_FAST64_TYPE, CTI_INTPTR_TYPE, CTI_UINTPTR_TYPE): Define.
      	(signed_wchar_type_node, unsigned_wchar_type_node): Remove.
      	(underlying_wchar_type_node, sig_atomic_type_node, int8_type_node,
      	int16_type_node, int32_type_node, int64_type_node,
      	uint8_type_node, uint16_type_node, c_uint32_type_node,
      	c_uint64_type_node, int_least8_type_node, int_least16_type_node,
      	int_least32_type_node, int_least64_type_node,
      	uint_least8_type_node, uint_least16_type_node,
      	uint_least32_type_node, uint_least64_type_node,
      	int_fast8_type_node, int_fast16_type_node, int_fast32_type_node,
      	int_fast64_type_node, uint_fast8_type_node, uint_fast16_type_node,
      	uint_fast32_type_node, uint_fast64_type_node, intptr_type_node,
      	uintptr_type_node): Define.
      	* c-cppbuiltin.c (builtin_define_constants,
      	builtin_define_type_minmax): New.
      	(builtin_define_stdint_macros): Define more macros.
      	(c_cpp_builtins): Define more limit macros.
      	(type_suffix): New.
      	(builtin_define_type_max): Define in terms of
      	builtin_define_type_minmax.  Remove is_long parameter.  All
      	callers changed.
      	* config.gcc (use_gcc_stdint): Define.
      	(tm_file): Add glibc-stdint.h for targets using glibc or uClibc.
      	Add newlib-stdint.h for generic targets.
      	* config/glibc-stdint.h, config/newlib-stdint.h,
      	ginclude/stdint-gcc.h, ginclude/stdint-wrap.h: New.
      	* config/m32c/m32c.h (UINTPTR_TYPE): Define.
      	* config/score/score.h (UINTPTR_TYPE): Define.
      	* config/sol2.h (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE,
      	INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE,
      	UINT64_TYPE, INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
      	INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
      	UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
      	INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
      	UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
      	UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
      	* config/spu/spu.h (STDINT_LONG32): Define.
      	* configure.ac (use_gcc_stdint): Substitute.
      	* configure: Regenerate.
      	* doc/cpp.texi (__SIG_ATOMIC_TYPE__, __INT8_TYPE__,
      	__INT16_TYPE__, __INT32_TYPE__, __INT64_TYPE__, __UINT8_TYPE__,
      	__UINT16_TYPE__, __UINT32_TYPE__, __UINT64_TYPE__,
      	__INT_LEAST8_TYPE__, __INT_LEAST16_TYPE__, __INT_LEAST32_TYPE__,
      	__INT_LEAST64_TYPE__, __UINT_LEAST8_TYPE__, __UINT_LEAST16_TYPE__,
      	__UINT_LEAST32_TYPE_, __UINT_LEAST64_TYPE__, __INT_FAST8_TYPE__,
      	__INT_FAST16_TYPE__, __INT_FAST32_TYPE__, __INT_FAST64_TYPE__,
      	__UINT_FAST8_TYPE__, __UINT_FAST16_TYPE__, __UINT_FAST32_TYPE__,
      	__UINT_FAST64_TYPE__, __INTPTR_TYPE__, __UINTPTR_TYPE__,
      	__WINT_MAX__, __SIZE_MAX__, __PTRDIFF_MAX__, __UINTMAX_MAX__,
      	__SIG_ATOMIC_MAX__, __INT8_MAX__, __INT16_MAX__, __INT32_MAX__,
      	__INT64_MAX__, __UINT8_MAX__, __UINT16_MAX__, __UINT32_MAX__,
      	__UINT64_MAX__, __INT_LEAST8_MAX__, __INT_LEAST16_MAX__,
      	__INT_LEAST32_MAX__, __INT_LEAST64_MAX__, __UINT_LEAST8_MAX__,
      	__UINT_LEAST16_MAX__, __UINT_LEAST32_MAX__, __UINT_LEAST64_MAX__,
      	__INT_FAST8_MAX__, __INT_FAST16_MAX__, __INT_FAST32_MAX__,
      	__INT_FAST64_MAX__, __UINT_FAST8_MAX__, __UINT_FAST16_MAX__,
      	__UINT_FAST32_MAX__, __UINT_FAST64_MAX__, __INTPTR_MAX__,
      	__UINTPTR_MAX__, __WCHAR_MIN__, __WINT_MIN__, __SIG_ATOMIC_MIN__,
      	__INT8_C, __INT16_C, __INT32_C, __INT64_C, __UINT8_C, __UINT16_C,
      	__UINT32_C, __UINT64_C, __INTMAX_C, __UINTMAX_C): Document.
      	* doc/tm.texi (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE,
      	INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
      	INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
      	INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
      	UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
      	INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
      	UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
      	UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Document.
      
      gcc/testsuite:
      	* lib/target-supports.exp (check_effective_target_stdint_types):
      	Update comment.
      	(check_effective_target_inttypes_types): New.
      	* gcc.dg/c99-stdint-1.c, gcc.dg/c99-stdint-2.c,
      	gcc.dg/c99-stdint-3.c, gcc.dg/c99-stdint-4.c,
      	gcc.dg/c99-stdint-5.c, gcc.dg/c99-stdint-6.c: New tests.
      
      From-SVN: r145372
      Joseph Myers committed
    • re PR fortran/38917 (Can't use DATA to initialize pointer to array to NULL()) · e49be8f7
      2009-03-31  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/38917
      	* expr.c (gfc_check_assign): Allow pointer components when
      	checking for NULL.
      
      	PR fortran/38918
      	* resolve.c (check_data_variable): Treat pointer arrays with
      	scalars.
      
      2009-03-31  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/38917
      	PR fortran/38918
      	* gfortran.dg/data_pointer_1.f90: New test.
      
      From-SVN: r145371
      Paul Thomas committed
    • re PR fortran/38915 (wrong results for structure assignment of character… · bf0d171a
      re PR fortran/38915 (wrong results for structure assignment of character components when left and right sides overlap)
      
      2009-03-31  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/38915
      	* trans-expr.c (gfc_trans_assignment_1): Ensure temporaries
      	have a string_length.
      
      2009-03-31  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/38915
      	* gfortran.dg/char_length_15.f90: New test.
      
      From-SVN: r145370
      Paul Thomas committed
    • ptree.c (cxx_print_decl): Pretty-print full name of function/template. · fba1b95f
              * ptree.c (cxx_print_decl): Pretty-print full name of
              function/template.
              (cxx_print_type): Pretty-print full name of class.
      
      From-SVN: r145368
      Jason Merrill committed
    • decl.c (grokdeclarator): Reject pointer to qualified function type. · 2553fb66
              * decl.c (grokdeclarator): Reject pointer to qualified function
              type.
      
      From-SVN: r145367
      Jason Merrill committed
    • re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted… · 0e183333
      re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted depending on typedef scope)
      
              PR c++/37806
              * g++.dg/template/typedef17.C: New test.
      
      From-SVN: r145366
      Jason Merrill committed
    • re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted… · 0d9c0892
      re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted depending on typedef scope)
      
              PR c++/37806
              * typeck.c (cp_apply_type_quals_to_decl): Don't apply any quals
              to a typedef.
              * tree.c (cp_build_qualified_type_real): Don't apply restrict to a
              function type.
              * decl.h (enum decl_context): Add TEMPLATE_TYPE_ARG.
              * decl.c (groktypename): Add is_template_arg parameter.
              (grokdeclarator): Allow function cv-quals on a template type arg.
              * parser.c (cp_parser_new_type_id, cp_parser_type_id): Add
              is_template_arg argument in calls to groktypename.
              * cp-tree.h: Adjust prototype.
              * error.c (dump_type_prefix, dump_type_suffix): Fix plain
              FUNCTION_TYPE printing.
      
              PR libstdc++/39310
              * include/tr1_impl/type_traits (is_function): Add partial
              specializations with function cv-quals.
              (__is_function_helper): Remove.
              (is_member_pointer): Don't define in terms of is_member_*_pointer.
      
      From-SVN: r145365
      Jason Merrill committed
    • mangle.c (write_expression): Mangle dependent name as source-name. · a3c49752
              * mangle.c (write_expression): Mangle dependent name as
              source-name.
      
      From-SVN: r145364
      Jason Merrill committed
    • system-linux-alpha.ads (Functions_Return_By_DSP): Remove. · d236ace7
      	* system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
      	* system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
      	* system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
      	* system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
      	* system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
      	* system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
      	* system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
      
      From-SVN: r145361
      Eric Botcazou committed
    • PR c++/38030, 38850, 39070 · 5094a795
              PR c++/38030, 38850, 39070
              * pt.c (type_dependent_expression_p_push): New fn.
              (tsubst_copy_and_build) [CALL_EXPR]: Only do arg-dep lookup when the
              substitution makes the call non-dependent.  Preserve koenig_p.
              * parser.c (cp_parser_postfix_expression): Only do arg-dep lookup
              for non-dependent calls.
              * semantics.c (finish_call_expr): Revert earlier changes.
              * cp-tree.h: Revert change to finish_call_expr prototype.
      
      From-SVN: r145360
      Jason Merrill committed