Commit Graph

96875 Commits

Author SHA1 Message Date
Eric Botcazou
f1faf79d47 system-linux-alpha.ads (AAMP, [...]): Delete.
* system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS,
	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
	Delete.
	(Stack_Check_Limits, Always_Compatible_Rep): New.
	* system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS,
	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
	Delete.
	(Stack_Check_Limits, Always_Compatible_Rep): New.
	* system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS,
	Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode,
	Long_Shifts_Inlined): Delete.
	(Stack_Check_Limits, Always_Compatible_Rep): New.
	* system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS,
	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
	Delete.
	(Stack_Check_Limits, Always_Compatible_Rep): New.
	* system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS,
	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
	Delete.
	(Stack_Check_Limits, Always_Compatible_Rep): New.
	* system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS,
	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
	Delete.
	(Stack_Check_Limits, Always_Compatible_Rep): New.
	* system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep):
	New.
	* system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS,
	Front_End_ZCX_Support): Delete.
	(Stack_Check_Limits, Always_Compatible_Rep): New.
	* system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS,
	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
	Delete.
	(Stack_Check_Limits, Always_Compatible_Rep): New.
	* system-rtems.ads (OpenVMS): Delete.
	(Stack_Check_Limits, Always_Compatible_Rep): New.

From-SVN: r154062
2009-11-10 12:19:27 +00:00
Eric Botcazou
949fa04c01 re PR middle-end/20548 (ACATS c52103x c52104x c52104y segfault)
PR ada/20548
	* explow.c (probe_stack_range): Fix typo.
	* config/sparc/sparc.md (probe_stack): New expander.

From-SVN: r154061
2009-11-10 11:23:54 +00:00
GCC Administrator
96759a5b63 Daily bump.
From-SVN: r154058
2009-11-10 00:16:43 +00:00
Jan Kratochvil
01b0b881ec * largefile.m4 (ACX_LARGEFILE): Call AC_PLUGINS.
From-SVN: r154055
2009-11-09 23:17:54 +00:00
Benjamin Kosnik
8eead16e5e user.cfg.in: Regenerate, add files.
2009-11-09  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Regenerate, add files.
	* libsupc++/eh_ptr.cc: Format.
	* libsupc++/exception_ptr.h: Same.
	* libsupc++/cxxabi.h(recursive_init_error): Move declaration here.
	* libsupc++/guard.cc: From here.
	* libsupc++/nested_exception.h: Add markup.

From-SVN: r154054
2009-11-09 22:09:30 +00:00
Jon Beniston
3f08607cac MAINTAINERS (Write After Approval): Add myself.
2009-11-09  Jon Beniston <jon@beniston.com>

       * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r154051
2009-11-09 20:34:44 +00:00
Jakub Jelinek
29a0acd42d re PR middle-end/40946 (Spurious array subscript is above bounds warning)
PR middle-end/40946
	* gcc.dg/pr40946.c: New test.

From-SVN: r154047
2009-11-09 20:40:56 +01:00
Dave Korn
633f54d041 cygwin.h (LINK_SPEC): Add -tsaware flag if !mno-cygwin.
* config/i386/cygwin.h (LINK_SPEC): Add -tsaware flag if !mno-cygwin.

From-SVN: r154044
2009-11-09 18:36:08 +00:00
Jason Merrill
6e7e763e32 * gdbinit.in (pgq): New function for printing gimple sequence.
From-SVN: r154043
2009-11-09 13:33:00 -05:00
Jason Merrill
0de2d392b0 re PR c++/41972 (nondependent static member function as a reference template parameter fails)
PR c++/41972
	* parser.c (cp_parser_template_argument): Accept SCOPE_REF around
	VAR_DECL.

From-SVN: r154042
2009-11-09 13:32:53 -05:00
Jason Merrill
ff14c1f700 re PR c++/41994 (ICE with &A::operator T)
PR c++/41994
	* pt.c (tsubst_baselink): tsubst the name.

From-SVN: r154041
2009-11-09 13:32:44 -05:00
Johannes Singler
8b0c13a824 multiway_merge.h (multiway_merge_*, [...]): Replace int by appropriate difference_type (typedef to _SeqNumber) or _ThreadIndex.
2009-11-09  Johannes Singler  <singler@kit.edu>

	* include/parallel/multiway_merge.h (multiway_merge_*,
	__sequential_multiway_merge, parallel_multiway_merge): Replace
	int by appropriate difference_type (typedef to _SeqNumber) or
	_ThreadIndex.
	* include/parallel/multiseq_selection.h (multiseq_partition,
	multiseq_selection): Replace int by appropriate difference_type
	(typedef to _SeqNumber)
	* include/parallel/base.h (__get_max_threads): Replace int by
	_ThreadIndex.
	* include/parallel/balanced_quicksort.h
	(__qsb_local_sort_with_helping, __parallel_sort_qsb): Likewise.
	* include/parallel/set_operations.h (__parallel_set_operation):
	Likewise.
	* include/parallel/unique_copy.h (__parallel_unique_copy): Likewise.
	* include/parallel/multiway_mergesort.h (_SplitConsistently,
	parallel_sort_mwms_pu, parallel_sort_mwms): Likewise.
	* include/parallel/partial_sum.h (__parallel_partial_sum_linear):
	Likewise.
	* include/parallel/partition.h (__parallel_partition): Replace int
	by appropriate difference_type or _ThreadIndex.

From-SVN: r154039
2009-11-09 16:36:59 +00:00
Paul Brook
e0dc3601d3 extend.texi (Half-Precision): Update wording to reflect that there are now multiple -mfpu options that enable...
2009-11-09  Paul Brook  <paul@codesourcery.com>
	Daniel Jacobowitz  <dan@codesourcery.com>
	Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi (Half-Precision): Update wording to reflect
	that there are now multiple -mfpu options that enable fp16
	hardware support.
	* doc/invoke.texi: Update list of ARM -mfpu= options.
	* config.gcc: Update ARM --with-fpu option list.
	* config/arm/arm.c (all_fpus): Add vfpv3-fp16, vfpv3-d16-fp16,
	vfpv3xd and vfpv3xd-fp16.
	(use_vfp_abi): New function.
	(aapcs_vfp_is_call_or_return_candidate): Avoid double precision regs
	when undesirable.
	(aapcs_vfp_is_return_candidate, aapcs_vfp_is_call_candidate,
	aapcs_vfp_allocate_return_reg): Use use_vfp_abi.
        (arm_rtx_costs_1, arm_size_rtx_costs, arm_fastmul_rtx_costs,
        arm_9e_rtx_costs): Only expect double-precision operations if the FPU
        provides them.
	(coproc_secondary_reload_class): Reload HFmode via GENERAL_REGS if no
	NEON.
	(arm_print_operand): Handle 'p' modifier.
	(arm_hard_regno_mode_ok): : Allow HFmode in VFP registers if
	TARGET_FP16.
	* config/arm/arm.h (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Define.
	(TARGET_FP16): Define.
	* config/arm/vfp.md: Disable double-precision patterns if the FPU
	does not provide them.
	(arm_movdi_vfp, thumb2_movdi_vfp): Use fcpys to move
	double-precision values on a single-precision FPU.
        (movdf_vfp, thumb2_movdf_vfp): Likewise.  Use "Dy" for
        double-precision constants.
	(movhf_vfp_neon): New pattern (was movhf_vfp).
	(movhf_vfp): Remove NEON instructions.
	* config/arm/constraints.md: Add new "Dy" constraint for
	double-precision constants.  Update description of "Dv".
	* config/arm/arm.md: Disable double-precision patterns if the FPU
	does not provide them


Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r154034
2009-11-09 13:50:38 +00:00
Jakub Jelinek
2bf1730836 i386.c (print_operand): Fix formatting.
* config/i386/i386.c (print_operand) <case 'D'>: Fix formatting.
	(print_operand) <case 'Y'>: Likewise.  Fix a pasto in operand lossage
	diagnostics.

From-SVN: r154033
2009-11-09 14:37:47 +01:00
Jason Merrill
624d3e5760 sso_string_base.h (_M_mutate): Remove extra 'const'.
2009-11-08  Jason Merrill  <jason@redhat.com>

	* include/ext/sso_string_base.h (_M_mutate): Remove extra 'const'.

From-SVN: r154025
2009-11-09 00:26:03 +00:00
GCC Administrator
9cdab33fbd Daily bump.
From-SVN: r154024
2009-11-09 00:17:16 +00:00
Jason Merrill
6b887d8677 37920, not 37290
From-SVN: r154021
2009-11-08 18:10:53 -05:00
H.J. Lu
5938f74ded collect2.c (main): Search PLUGIN_LD for plugin linker.
2009-11-08  H.J. Lu  <hongjiu.lu@intel.com>

	* collect2.c (main): Search PLUGIN_LD for plugin linker.

	* configure.ac (--with-plugin-ld): New.  Default to ld.
	* configure: Regenerated.
	* config.in: Likewise.

	* exec-tool.in (ORIGINAL_PLUGIN_LD_FOR_TARGET): New.
	(collect-ld): Use ORIGINAL_PLUGIN_LD_FOR_TARGET for -plugin.

From-SVN: r154020
2009-11-08 14:36:51 -08:00
H.J. Lu
aeaebc9321 Remove extra pathname.
From-SVN: r154019
2009-11-08 14:36:22 -08:00
Jason Merrill
ecd0e97650 re PR target/37290 (Endless recursion in cse_cc_succs)
PR c++/37290
	* pt.c (tsubst) [TYPEOF_TYPE]: Set cp_unevaluated_operand.

From-SVN: r154018
2009-11-08 17:27:39 -05:00
Jonathan Gray
f853515499 openbsd-stdint.h: Change to reflect what c_common_nodes_and_builtins expects.
* config/openbsd-stdint.h: Change to reflect what
	c_common_nodes_and_builtins expects.

From-SVN: r154017
2009-11-08 22:19:45 +00:00
Paolo Carlini
3ab084fa78 builtins.c (apply_args_reg_offset): Remove commented out delaration.
2009-11-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* builtins.c (apply_args_reg_offset): Remove commented out delaration.

From-SVN: r154015
2009-11-08 21:26:57 +00:00
Jakub Jelinek
2eea716d5f re PR target/41985 (Internal compiler error reported.)
PR target/41985
	* config/i386/i386.c (get_some_local_dynamic_name): Don't assert
	function contains at least one local dynamic name.
	(print_operand) <case '&'>: Instead output operand lossage diagnostics
	here if that happens.

	* gcc.target/i386/pr41985.c: New test.

From-SVN: r154014
2009-11-08 22:12:52 +01:00
Zbigniew Chamski
e0a42b0f5b cfgrtl.c (pass_free_cfg): Add pass name.
* cfgrtl.c (pass_free_cfg): Add pass name.
        * cgraphbuild.c (pass_build_cgraph_edges): Likewise.
        (pass_rebuild_cgraph_edges, pass_remove_cgraph_callee_edges): Likewise.
        * dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Change pass name.
        * df-core.c (pass_df_initialize_no_opt): Likewise.
        * except.c (pass_rtl_eh): Likewise.
        * function.c (pass_init_function, pass_leaf_regs): Likewise.
        * gcse.c (pass_rtl_pre): Change pass name.
        * passes.c (pass_postreload): Add pass name.
        (make_pass_instance): Don't use duplicate-tracking logic for
        names starting with '*'.
        (next_pass_1): Assert that pass has a name.
        (register_one_dump_file): If there is an space in the name,
        skip past it.
        * predict.c (pass_strip_predict_hints): Add pass name.
        * reg-stack.c (pass_stack_regs): Likewise.
        * stack-ptr-mod.c (pass_stack_ptr_mod): Likewise.
        * tree-cfg.c (pass_warn_function_return,
        pass_warn_function_noreturn): Add pass name.
        * tree-dfa.c (pass_referenced_vars): Likewise.
        * tree-optimize.c (pass_cleanup_cfg_post_optimizing):
        Fix whitespace before comment.
        (pass_fixup_cfg): Add pass name, fix whitespace before comment.
        (pass_init_datastructures): Add pass name.
        * tree-ssa-loop.c (pass_record_bounds): Likewise.
        * tree-ssa.c (pass_early_warn_uninitialized,
        pass_late_warn_uninitialized): Likewise.
        * tree.c (pass_ipa_free_lang_data): Likewise.
        * doc/passes.texi (pass manager): Document how to disambiguate
        pass names.

Co-Authored-By: Joern Rennecke <amylaar@spamcop.net>

From-SVN: r154013
2009-11-08 21:10:08 +00:00
Paolo Bonzini
642746839c df-problems.c: Fix documentation for forward simulation of LR.
2009-11-08  Paolo Bonzini  <bonzini@gnu.org>

	* df-problems.c: Fix documentation for forward simulation of LR.
	(df_simulate_one_insn_forwards): Use df_simulate_find_defs.
	(df_simulate_finalize_forwards): Remove.
	* df.h (df_simulate_finalize_forwards): Remove.

From-SVN: r154012
2009-11-08 20:44:56 +00:00
Richard Guenther
379c6f4832 tree-ssa-structalias.c (build_succ_graph): Properly make variables escape if they are stored to anything.
2009-11-08  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (build_succ_graph): Properly make
	variables escape if they are stored to anything.

	* gcc.dg/torture/pta-escape-1.c: New testcase.

From-SVN: r154010
2009-11-08 15:27:17 +00:00
Eric Botcazou
d770e88d12 decl.c (make_packable_type): Fix oversight.
* gcc-interface/decl.c (make_packable_type): Fix oversight.
	(gnat_to_gnu_field): Do not attempt to change the form of the type
	if the field requires strict alignment.  Always change the form of
	the type if the specified size is smaller than its size.

From-SVN: r154009
2009-11-08 12:17:51 +00:00
Richard Guenther
eb1494409b re PR rtl-optimization/41928 (segfault at gcc/bitmap.c:297)
2009-11-08  Richard Guenther  <rguenther@suse.de>

	PR rtl-optimization/41928
	* loop-invariant.c (free_loop_data): If we didn't allocate
	loop data do not try to free it.

	* gfortran.dg/pr41928.f90: New testcase.

From-SVN: r154008
2009-11-08 12:10:32 +00:00
Jason Merrill
b5fcfe893c * tree.c (reconstruct_complex_type): Preserve attributes.
From-SVN: r154007
2009-11-07 22:47:44 -05:00
Jason Merrill
67dc1f24dc re PR c++/18451 (C++ error message regression)
PR c++/18451
	PR c++/40738
	* cp-tree.h (cp_decl_specifier_seq): Add any_type_specifiers_p.
	* parser.c (cp_parser_single_declaration): Call
	cp_parser_parse_and_diagnose_invalid_type_name here, too.
	(cp_parser_parameter_declaration): And here.
	(cp_parser_parse_and_diagnose_invalid_type_name): Be
	less picky about declarator form.  Don't skip to
	the end of the block if	we're in a declarator.
	(cp_parser_decl_specifier_seq): Set any_type_specifiers_p.
	(cp_parser_simple_declaration): Check it.
	(cp_parser_member_declaration): Likewise.
	(cp_parser_diagnose_invalid_type_name): Tweak error message.
	(cp_parser_expression_statement): Likewise.
	* decl2.c (grokfield): Mention decltype instead of typeof.

From-SVN: r154006
2009-11-07 22:47:36 -05:00
GCC Administrator
5241b7e4a1 Daily bump.
From-SVN: r154005
2009-11-08 00:16:49 +00:00
Richard Guenther
de925a031e tree-ssa-structalias.c (build_succ_graph): Feed stores to anything only to variables that can take pointers.
2009-11-07  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (build_succ_graph): Feed stores
	to anything only to variables that can take pointers.
	(get_constraint_for_ssa_var): Properly exclude full
	variables from expanding.
	(first_vi_for_offset): Avoid overflow in arithmetic.
	(first_or_preceding_vi_for_offset): Likewise.
	(count_num_arguments): Fix implementation.
	(gate_ipa_pta): Do not run when not optimizing.

From-SVN: r154002
2009-11-07 21:33:29 +00:00
David Binderman
451409e493 builtins.c (apply_args_size, [...]): Remove some set but not used variables.
2009-11-07  David Binderman <dcb314@hotmail.com>

	* builtins.c (apply_args_size, expand_builtin_mathfn, expand_powi,
	expand_builtin_expect, maybe_emit_sprintf_chk_warning): Remove some
	set but not used variables.
	* calls.c (flags_from_decl_or_type): Likewise.
	* genautomata.c (check_regexp_units_distribution): Likewise.

From-SVN: r154001
2009-11-07 20:51:14 +00:00
Jason Merrill
2a4217d39b * g++.dg/abi/regparm1.C: Fix execute test.
From-SVN: r154000
2009-11-07 15:28:54 -05:00
Jakub Jelinek
c58bbf008c re PR tree-optimization/41643 (ICE (segmentation fault) for SPEC CPU2000's 176.gcc when using -fno-tree-dce)
PR tree-optimization/41643
	* gcc.dg/pr41643.c: New test.

From-SVN: r153997
2009-11-07 18:41:07 +01:00
Uros Bizjak
1a62cb3b9d sse.md (xop_pmacsww, [...]): Compress operand alternatives.
* config/i386/sse.md (xop_pmacsww, xop_pmacssww, xop_pmacsdd,
	xop_pmacssdd, xop_pmacssdql, xop_pmacssdqh, xop_pmacsdql,
	*xop_pmacsdql_mem, xop_pmacsdqh, *xop_pmacsdqh_mem, xop_pmacsswd,
	xop_pmacswd, xop_pmadcsswd, xop_pmadcswd, xop_pcmov_<mode>,
	xop_pcmov_<mode>256, xop_pperm, xop_pperm_pack_v2di_v4si,
	xop_pperm_pack_v4si_v8hi, xop_pperm_pack_v8hi_v16qi): Compress
	operand alternatives.

From-SVN: r153993
2009-11-07 08:44:08 +01:00
Jerry DeLisle
246d24e984 re PR fortran/41909 (ICE with "call foo" in "program foo")
2009-11-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41909
	* gfortran.dg/recursive_check_15.f90: New test.

From-SVN: r153990
2009-11-07 02:35:06 +00:00
Jerry DeLisle
b44bb2a118 Fix changelog.
From-SVN: r153989
2009-11-07 02:32:35 +00:00
Jerry DeLisle
6f7e06ce63 resolve.c (is_illegal_recursion): Return false if sym is program.
2009-11-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* resolve.c (is_illegal_recursion): Return false if sym is program.

From-SVN: r153988
2009-11-07 02:30:08 +00:00
Jan Kratochvil
d3b31d8b01 largefile.m4: New file.
* largefile.m4: New file.

Co-Authored-By: Joel Brobecker <brobecker@adacore.com>
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>

From-SVN: r153987
2009-11-07 01:59:54 +00:00
GCC Administrator
406464edd9 Daily bump.
From-SVN: r153985
2009-11-07 00:16:54 +00:00
Steven G. Kargl
800cee345f 2009-11-06 Steven G. Kargl <kargl@gcc.gnu.org>
resolve.c (check_typebound_override): Remove duplicate "in" in error
        message.

From-SVN: r153982
2009-11-06 23:47:51 +00:00
Benjamin Kosnik
8e32aa11c7 user.cfg.in: Adjust includes.
2009-11-06  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Adjust includes.

	* doc/doxygen/doxygroups.cc: Move group markup.
	* include/tr1_impl/regex: Change " to '. Add group markup.
	* include/std/utility: Same.
	* include/std/type_traits: Same.
	* include/std/streambuf: Same.
	* include/std/iosfwd: Same.
	* include/std/limits: Same.
	* include/std/sstream: Same.
	* include/profile/impl/profiler_state.h: Same.
	* include/profile/impl/profiler_hashtable_size.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/stream_iterator.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/streambuf_iterator.h: Same.
	* libsupc++/exception: Same.
	* libsupc++/cxxabi.h: Same.
	* include/tr1_impl/type_traits: Same.

	* include/parallel/multiway_merge.h: Change @__c to @c, @__f to @f.
	* include/parallel/list_partition.h: Same.
	* include/parallel/for_each.h: Same.
	* include/parallel/workstealing.h: Same.
	* include/parallel/base.h: Same.
	* include/parallel/equally_split.h: Same.
	* include/parallel/random_shuffle.h: Same.
	* include/parallel/balanced_quicksort.h: Same.
	* include/parallel/merge.h: Same.
	* include/parallel/multiway_mergesort.h: Same.
	* include/parallel/compatibility.h: Same.
	* include/parallel/queue.h: Same.
	* include/parallel/checkers.h: Same.
	* include/parallel/random_number.h: Same.


	* include/c_global/csignal: Change # to \#.
	* include/c_global/cstdlib: Same.
	* include/c_global/cstdio: Same.
	* include/c_global/cstdarg: Same.
	* include/c_global/cctype: Same.
	* include/c_global/cerrno: Same.
	* include/c_global/cstdatomic: Same.
	* include/c_global/cmath: Same.
	* include/c_global/ciso646: Same.
	* include/c_global/ctime: Same.
	* include/c_global/clocale: Same.
	* include/c_global/climits: Same.
	* include/c_global/cassert: Same.
	* include/c_global/csetjmp: Same.
	* include/c_global/cwchar: Same.
	* include/c_global/cfloat: Same.
	* include/c_global/cstring: Same.
	* include/c_global/cstddef: Same.
	* include/c_global/cwctype: Same.

	* include/std/memory: Only dance around boost_sp_counted_base.h.
	* include/tr1_impl/boost_sp_counted_base.h: Add markup.
	* include/tr1/shared_ptr.h: Strip markup.
	* include/bits/shared_ptr.h: Move base types...
	* include/bits/shared_ptr_base.h: ...here.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* configure: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.

From-SVN: r153980
2009-11-06 22:15:17 +00:00
Jason Merrill
2fdbecf6fe add missing changelog line
From-SVN: r153979
2009-11-06 16:36:56 -05:00
Jason Merrill
e1faa105c1 re PR c++/15946 (Unhelpful error message when "typename" is omitted)
PR c++/15946
	* parser.c (cp_parser_check_template_parameters): Don't talk about
	specialization at function scope.
	(cp_parser_diagnose_invalid_type_name): Handle dependent scope.
	(cp_parser_parse_and_diagnose_invalid_type_name): Likewise.
	(cp_parser_expression_statement): Suggest typename.
	* error.c (dump_decl) [SCOPE_REF]: Print the type here.
	(dump_expr) [SCOPE_REF]: Call it.
	(dump_type) [UNBOUND_CLASS_TEMPLATE]: Check TFF_UNQUALIFIED_NAME.
	* cxx-pretty-print.c (pp_cxx_unqualified_id): Print class template
	args.

From-SVN: r153978
2009-11-06 16:18:42 -05:00
Jason Merrill
3c3905fc17 re PR c++/9381 (attribute on member function pointer have no effect)
PR c++/9381
	* decl2.c (build_memfn_type): Preserve attributes.
	(cp_reconstruct_complex_type): Likewise.
	(maybe_retrofit_in_chrg): Likewise.
	* call.c (standard_conversion): Use build_memfn_type.
	* pt.c (tsubst): Likewise.
	* decl.c (build_ptrmem_type): Likewise
	(check_function_type): Preserve attributes.
	* tree.c (cp_build_type_attribute_variant): Propagate exception
	specs on METHOD_TYPE, too.
	(strip_typedefs): Preserve exception specs and attributes.

From-SVN: r153977
2009-11-06 16:18:35 -05:00
Basile Starynkevitch
7ac8318c2d plugins.texi (Plugin callbacks): added PLUGIN_PRAGMAS.
2009-11-06  Basile Starynkevitch  <basile@starynkevitch.net>

	* doc/plugins.texi (Plugin callbacks): added PLUGIN_PRAGMAS.
	* c-pragma.c: Include "plugin.h".
	(init_pragma): Invoke PLUGIN_PRAGMAS.
	* gcc-plugin.h: Added PLUGIN_PRAGMAS.
	* plugin.c (plugin_event_name): Added PLUGIN_PRAGMAS & the missing
	PLUGIN_ATTRIBUTES.
	(register_callback): Added PLUGIN_PRAGMAS. Fixed typo in message
	error for unknown callback event.
	(invoke_plugin_callbacks): Added PLUGIN_PRAGMAS.
	* Makefile.in (c-pragma.o): Added dependency upon plugin.h.
	(PLUGIN_HEADERS): added plugin.h.

2009-11-06  Basile Starynkevitch  <basile@starynkevitch.net>

	* g++.dg/plugin/pragma_plugin-test-1.C: new testcase for
	PLUGIN_PRAGMAS.
	* g++.dg/plugin/pragma_plugin.c: new test plugin for
	PLUGIN_PRAGMAS.
	* g++.dg/plugin/plugin.exp (plugin_test_list): Add pragma_plugin.c and
	pragma_plugin-test-1.C.

From-SVN: r153975
2009-11-06 19:20:39 +00:00
Andrew Pinski
87e9286428 re PR c++/41536 (always_inline does not work always with constructors)
2009-11-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR c++/41536
        * optimize.c (maybe_clone_body): Copy DECL_ATTRIBUTES and
        DECL_DISREGARD_INLINE_LIMITS also.

2009-11-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR c++/41536
        * g++.dg/ext/always_inline-5.C: New test.

From-SVN: r153974
2009-11-06 11:10:07 -08:00
Jakub Jelinek
2e3135726b re PR c++/41967 (gcc get into endless loop when compiling an openmp program)
PR c++/41967
	* parser.c (cp_parser_omp_for_loop): After diagnosing not perfectly
	nested loop and parsing statements, don't cp_parser_require }, instead
	exit the loop if next token is CPP_EOF.

	* g++.dg/gomp/pr41967.C: New test.

From-SVN: r153972
2009-11-06 18:51:20 +01:00
Michael Matz
79af7c1f6d re PR middle-end/41963 (177.mesa in SPEC CPU 2K is miscompiled)
PR middle-end/41963
	* tree-ssa-math-opts.c (execute_cse_reciprocals): Check all uses
	of a potential reciprocal to really be reciprocals.

testsuite/
	* gcc.dg/pr41963.c: New test.

From-SVN: r153971
2009-11-06 15:05:20 +00:00