Commit Graph

114745 Commits

Author SHA1 Message Date
Jason Merrill
ca5333f22c re PR c++/51403 (ICE with invalid template parameter)
PR c++/51403
	* pt.c (unify): Handle error_mark_node.

From-SVN: r183132
2012-01-12 12:26:57 -05:00
Georg-Johann Lay
458652d1ea fix date
From-SVN: r183130
2012-01-12 16:52:29 +00:00
Georg-Johann Lay
ab8c50934b re PR target/51756 (wrong warning: uninitialized variable put into program memory area)
PR target/51756
	* config/avr/avr.c (avr_encode_section_info): Test for absence of
	DECL_EXTERNAL when checking for initializers of progmem variables.

From-SVN: r183129
2012-01-12 16:51:28 +00:00
Ira Rosen
82db3d43de re PR tree-optimization/51799 (Compiler ICE in vect_is_simple_use_1)
PR tree-optimization/51799
        * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
        that the last operation is a type demotion.

From-SVN: r183126
2012-01-12 14:41:44 +00:00
Janne Blomqvist
869eea243d Remove configure check for unused fdopen.
2012-01-12  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure.ac: Remove check for fdopen.
	* runtime/backtrace.c (CAN_PIPE): Fix comment, remove check for
	fdopen.
	* configure: Regenerated.
	* config.h.in: Regenerated.

From-SVN: r183124
2012-01-12 12:30:45 +02:00
Uros Bizjak
64668e68cb i386.md (*zero_extendsidi2_rex64): Correct movl template.
* config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
	(x86_shift<mode>_adj_1): Remove operand constraint from operand 3.

From-SVN: r183123
2012-01-12 11:24:27 +01:00
Janne Blomqvist
cb735e3800 PR 51803 Avoid malloc if getcwd fails or is not available.
2012-01-12  Janne Blomqvist  <jb@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>

	PR libfortran/51803
	* runtime/main.c (store_exe_path): Avoid malloc if getcwd fails or
	is not available.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r183122
2012-01-12 11:58:34 +02:00
Dominique d'Humieres
725a74a517 re PR testsuite/51057 (FAIL: gfortran.dg/quad_2.f90 -O0 execution test on powerpc*-*-*)
2012-01-12  Dominique d'Humieres  <dominiq@lps.ens.fr>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/51057
        PR fortran/51616
        * lib/target-supports.exp
        (check_effective_target_fortran_largest_fp_has_sqrt): New.
        * gfortran.dg/quad_2.f90: Use it, add pattern for IBM's
        real(16).


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r183121
2012-01-12 07:53:59 +01:00
Jason Merrill
efcc9293a6 re PR c++/51565 (fastcall in array of method pointers: internal compiler error)
PR c++/51565
	* call.c (standard_conversion): For ptrmemfuncs, compare the
	static_fn_types.

From-SVN: r183120
2012-01-11 21:30:47 -05:00
Ian Lance Taylor
00733a0041 go-lang.c (go_langhook_init): Initialize void_list_node before calling go_create_gogo.
* go-lang.c (go_langhook_init): Initialize void_list_node before
	calling go_create_gogo.

From-SVN: r183119
2012-01-12 01:33:44 +00:00
Ian Lance Taylor
9a0e3259f4 libgo: Update to weekly.2011-12-14.
From-SVN: r183118
2012-01-12 01:31:45 +00:00
GCC Administrator
c6135f0633 Daily bump.
From-SVN: r183117
2012-01-12 00:18:17 +00:00
Ian Lance Taylor
7b31a84d76 compiler: Permit type B byte; type S []B; var v = S("x").
From-SVN: r183112
2012-01-11 23:43:46 +00:00
Jakub Jelinek
319638ed5c re PR bootstrap/51796 (internal compiler error: in distribute_notes, at combine.c:13285 for libgomp/alloc.c on m68k-linux)
PR bootstrap/51796
	* combine.c (distribute_notes): If i3 is a noreturn call,
	allow old_size to be equal to args_size and make sure the
	noreturn call gets REG_ARGS_SIZE note.
	* expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
	on noreturn calls even when the delta is 0.

	* gcc.dg/pr51796.c: New test.

From-SVN: r183111
2012-01-11 23:59:12 +01:00
Ian Lance Taylor
11d8e1a4cb compiler: Don't use memcmp for structs/arrays with padding.
From-SVN: r183109
2012-01-11 21:20:41 +00:00
Jason Merrill
ef079a56e4 comment
From-SVN: r183108
2012-01-11 15:26:53 -05:00
Jason Merrill
b34e0e6fc8 re PR c++/51818 ([C++0x] Name mangling error using lambda expressions in GCC47)
PR c++/51818
	* mangle.c (find_substitution): A type is only a substitution
	match if we're looking for a type.
	(write_nested_name): Use decl_mangling_context.

From-SVN: r183107
2012-01-11 15:26:44 -05:00
Jason Merrill
faf00d3c16 adjust comment
From-SVN: r183106
2012-01-11 14:31:40 -05:00
Nathan Sidwell
8f961b2265 gcov.c (STRING_SIZE): Remove.
* gcov.c (STRING_SIZE): Remove.
	(generate_results): Erase annotations for source files with no
	coverage information.
	(read_line): New.
	(output_lines): Use it.

From-SVN: r183105
2012-01-11 18:58:30 +00:00
Eric Botcazou
3ad065efe1 gimple.h (gimplify_body): Remove first argument.
* gimple.h (gimplify_body): Remove first argument.
	* gimplify.c (copy_if_shared): Add DATA argument.  Do not create the
	pointer set here, instead just pass DATA to walk_tree.
	(unshare_body): Remove BODY_P argument and adjust.  Create the pointer
	set here and invoke copy_if_shared on the size trees of DECL_RESULT.
	(unvisit_body): Likewise, but with unmark_visited.
	(gimplify_body): Remove BODY_P argument and adjust.
	(gimplify_function_tree): Adjust call to gimplify_body.
	* omp-low.c (finalize_task_copyfn): Likewise.

From-SVN: r183104
2012-01-11 18:50:54 +00:00
Nathan Sidwell
2cd8b32cb9 * libgcov.c (__gcov_init): Ignore objects with no functions.
From-SVN: r183103
2012-01-11 18:50:21 +00:00
Eric Botcazou
1a2c27e964 tree.h (build_function_decl_skip_args): Add boolean parameter.
* tree.h (build_function_decl_skip_args): Add boolean parameter.
	(build_function_type_skip_args): Delete.
	* tree.c (build_function_type_skip_args): Make static and add
	SKIP_RETURN parameter.  Fix thinko in the handling of variants.
	(build_function_decl_skip_args): Add SKIP_RETURN parameter and
	pass it to build_function_type_skip_args.
	* cgraph.h (cgraph_function_versioning): Add boolean parameter.
	(tree_function_versioning): Likewise.
	* cgraph.c (cgraph_create_virtual_clone): Adjust call to
	build_function_decl_skip_args.
	* cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
	and pass it to build_function_decl_skip_args/tree_function_versioning.
	(cgraph_materialize_clone): Adjust call to tree_function_versioning.
	* ipa-inline-transform.c (save_inline_function_body): Likewise.
	* trans-mem.c (ipa_tm_create_version): Likewise.
	* tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
	* tree-inline.c (declare_return_variable): Remove always-true test.
	(tree_function_versioning): Add SKIP_RETURN parameter.  If the function
	returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
	* ipa-split.c (split_function): Skip the return value for the split
	part if it doesn't return.

From-SVN: r183102
2012-01-11 18:47:28 +00:00
Bill Schmidt
b2e25729e5 re PR tree-optimization/49642 (constant part of a macro not optimized away as expected due to splitter)
gcc:

2012-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/49642
	* ipa-split.c (forbidden_dominators): New variable.
	(check_forbidden_calls): New function.
	(dominated_by_forbidden): Likewise.
	(consider_split): Check for forbidden dominators.
	(execute_split_functions): Initialize and free forbidden
	dominators info; call check_forbidden_calls.

gcc/testsuite:

2012-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/49642
	* gcc.dg/tree-ssa/pr49642-1.c: New test.
	* gcc.dg/tree-ssa/pr49642-2.c: New test.

From-SVN: r183101
2012-01-11 16:52:03 +00:00
Jason Merrill
276fd9acf0 * decl.c (decls_match): Assert that the arguments are decls.
From-SVN: r183100
2012-01-11 11:47:12 -05:00
Jason Merrill
7bb37352be re PR c++/51613 (Ambiguous function template instantiations as template argument are not rejected)
PR c++/51613
	* pt.c (resolve_overloaded_unification): Compare types with
	same_type_p, not decls_match.

From-SVN: r183099
2012-01-11 11:46:57 -05:00
Ian Lance Taylor
145f71b5ec compiler: Fix names for hash/equality functions for unnamed types.
From-SVN: r183098
2012-01-11 16:28:08 +00:00
Andreas Tobler
58ef756802 Fix PR number in ChangeLog.
From-SVN: r183097
2012-01-11 17:27:21 +01:00
Bruce Korb
4c14fd7ee2 re PR rtl-optimization/57105 (ICE: in add_insn_before_nobb, at emit-rtl.c:3883 with -Os -fselective-scheduling2 -g)
2012-01-11  Bruce Korb <bkorb@gnu.org>
	    Steven G. Kargl  <kargl@gcc.gnu.org>
	    Andreas Tobler  <andreast@fgznet.ch>

	PR bootstrap/57105
	PR preprocessor/51776
	* inclhack.def (cdef_cplusplus): Add a replacement for [[noreturn]].
	* fixincl.x: Regenerate.
	* tests/base/sys/cdefs.h: Update.

	* genfixes: Remove the 'Ver.' from the version check.


Co-Authored-By: Andreas Tobler <andreast@fgznet.ch>
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r183096
2012-01-11 17:23:48 +01:00
Matthew Gretton-Dann
9150e331a8 arm.md (mov_notscc): Use MVN for false condition.
* gcc/config/arm/arm.md (mov_notscc): Use MVN for false condition.
	* gcc/testsuite/gcc.c-torture/execute/20120110-1.c: New testcase.

From-SVN: r183095
2012-01-11 16:14:14 +00:00
Tobias Burnus
4dec0a42c3 main.c (store_exe_path): Fix absolute path detection for Windows.
2012-01-11  Tobias Burnus  <burnus@net-b.de>

        * runtime/main.c (store_exe_path): Fix absolute path
        detection for Windows.

From-SVN: r183094
2012-01-11 15:39:28 +01:00
Nick Clifton
1c97289f9f * config/rx/rx.md (return): Define pattern.
From-SVN: r183093
2012-01-11 11:42:05 +00:00
Richard Guenther
65d5c48586 extend.texi (malloc attribute): Adjust according to implementation.
2012-01-11  Richard Guenther  <rguenther@suse.de>

	* doc/extend.texi (malloc attribute): Adjust according to
	implementation.

From-SVN: r183092
2012-01-11 09:01:36 +00:00
Janne Blomqvist
8763317661 PR 51803 Handle getcwd failure and lack of the function better.
2012-01-11  Janne Blomqvist  <jb@gcc.gnu.org>
            Mike Stump  <mikestump@comcast.net>
	PR libfortran/51803
	* runtime/main.c (store_exe_path): Handle getcwd failure and lack
	of the function better.

Co-Authored-By: Mike Stump <mikestump@comcast.net>

From-SVN: r183090
2012-01-11 09:34:16 +02:00
Ian Lance Taylor
ef1ed13d9a compiler: Use backend interface for type sizes and alignments.
* go-gcc.cc (Gcc_backend::type_size): New function.
	(Gcc_backend::type_alignment): New function.
	(Gcc_backend::type_field_alignment): New function.
	(Gcc_backend::type_field_offset): New function.
	* go-backend.c (go_type_alignment): Remove.
	* go-c.h (go_type_alignment): Don't declare.

From-SVN: r183089
2012-01-11 04:48:22 +00:00
Jason Merrill
5313d330b2 re PR c++/51614 (ICE with ambiguous base class)
PR c++/51614
	* class.c (build_base_path): Diagnose ambiguous base.

From-SVN: r183088
2012-01-10 22:04:49 -05:00
Jason Merrill
4bedcb19b9 tweak comment
From-SVN: r183087
2012-01-10 22:04:38 -05:00
GCC Administrator
36f8b4cb0e Daily bump.
From-SVN: r183085
2012-01-11 00:19:01 +00:00
Jason Merrill
3abbe4587d cp-demangle.c (d_print_comp): Omit a trailing space in the operator name.
* cp-demangle.c (d_print_comp) [DEMANGLE_COMPONENT_OPERATOR]:
	Omit a trailing space in the operator name.

From-SVN: r183072
2012-01-10 12:02:52 -05:00
Aldy Hernandez
594ec92f50 re PR middle-end/51516 ([trans-mem] problem with TM clone aliases)
PR middle-end/51516
        * trans-mem.c (get_cg_data): Traverse aliases if requested.
        (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
        (ipa_tm_note_irrevocable): Same.
        (ipa_tm_scan_irr_block): Same.
        (ipa_tm_decrement_clone_counts): Same.
        (ipa_tm_scan_irr_function): Same.
        (ipa_tm_create_version_alias): Same.
        (ipa_tm_create_version): Same.
        (ipa_tm_transform_calls_redirect): Same.
        (ipa_tm_transform_calls): Same.
        (ipa_tm_transform_transaction): Same.
        (ipa_tm_execute): Same.


Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>

From-SVN: r183070
2012-01-10 16:50:41 +00:00
Richard Guenther
aee1522197 re PR lto/51806 (-flto ignores -Werror)
2012-01-10  Richard Guenther  <rguenther@suse.de>

	PR middle-end/51806
	c-family/
	* c-opts.c (c_common_handle_option): Move -Werror handling
	to language independent code.

	* opts.c (common_handle_option): Handle -Werror.

From-SVN: r183069
2012-01-10 16:27:55 +00:00
Andreas Schwab
b339cf22f1 sync.md ("atomic_compare_and_swap<mode>_1"): Fix operand number.
* config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
operand number.

From-SVN: r183067
2012-01-10 14:40:47 +00:00
Jason Merrill
90aa444ce6 invoke.texi (C++ Dialect Options): Update -fabi-version=6 information.
* doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
	information.

From-SVN: r183066
2012-01-10 09:37:34 -05:00
Jason Merrill
a1e0490fb8 re PR c++/51433 (constexpr caching leads to incorrect dynamic initialization)
PR c++/51433
	* semantics.c (cxx_eval_call_expression): Always retry previously
	non-constant expressions.

From-SVN: r183065
2012-01-10 09:37:26 -05:00
Richard Guenther
91f074ced1 re PR tree-optimization/51801 (ICE in inline_small_functions)
2012-01-10  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51801
	* gcc.dg/torture/pr51801.c: New testcase.

From-SVN: r183064
2012-01-10 13:38:41 +00:00
Rainer Orth
0f24748c58 Check if linker supports R_386_TLS_GD_PLT, R_386_TLS_LDM_PLT relocs
* configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
	supports R_386_TLS_GD_PLT reloc.
	(gcc_cv_as_ix86_tlsldmplt): Check if linker
	supports R_386_TLS_LDM_PLT reloc.
	* configure: Regenerate.
	* config.in: Regenerate.

From-SVN: r183063
2012-01-10 13:21:53 +00:00
Gerald Pfeifer
7c5825a781 gfortran.texi (Fortran 2003 Status): Fix grammar.
2012-01-10  Gerald Pfeifer  <gerald@pfeifer.com>

        * gfortran.texi (Fortran 2003 Status): Fix grammar.

From-SVN: r183062
2012-01-10 12:38:46 +01:00
Tobias Burnus
2e0bffaf8c re PR fortran/51652 (Allocate with type-spec and source-expr: check whether length type-parameter is the same is lacking)
2012-01-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51652
        * resolve.c (resolve_allocate_expr): For non-deferred char
        lengths, check whether type-spec matches declaration.

2012-01-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51652
        * gfortran.dg/allocate_with_typespec_5.f90: New.

From-SVN: r183061
2012-01-10 12:22:16 +01:00
Arnaud Charlet
c9423ca3fa [multiple changes]
2012-01-10  Pascal Obry  <obry@adacore.com>

	* prj-nmsc.adb (Check_Library_Attributes): Kill check for object/source
	directories for aggregate libraries.

2012-01-10  Matthew Heaney  <heaney@adacore.com>

	* a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
	a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
	a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
	a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
	a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
	a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
	a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
	a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
	a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
	container parameter as aliased in/in out.
	Code clean ups.

2012-01-10  Bob Duff  <duff@adacore.com>

	* s-os_lib.ads: Improve comment.

2012-01-10  Geert Bosch  <bosch@adacore.com>

	* s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
	for complex Scalar.

From-SVN: r183060
2012-01-10 12:06:44 +01:00
Arnaud Charlet
72348e26a5 [multiple changes]
2012-01-10  Bob Duff  <duff@adacore.com>

	* sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
	checking that the 'Size is correct. If the type is "mod 2**12",
	for example, it's illegal, but Esize is the 'Object_Size, which
	will be something like 16 or 32, so the error ('Size = 12) was
	not detected.
	* gnat_rm.texi: Improve documentation of shift
	and rotate intrinsics.

2012-01-10  Pascal Obry  <obry@adacore.com>

	* prj.adb (For_Every_Project_Imported): Fix
	implementation to make sure we return each project only once
	for aggragte libraries. It is fine to return a project twice for
	aggregate projects, this was the case as a Project_Id is different
	in each project tree. The new implementation use a table based on
	the project name to ensure proper detection of duplicate project
	in aggregate library. A new context is then created to continue
	retrurning duplicate project for aggregate libraries.

From-SVN: r183059
2012-01-10 11:35:38 +01:00
Georg-Johann Lay
cba300dd7d re PR target/49868 (Implement named address space to place/access data in flash memory)
libgcc/
	PR target/49868
	Extend __pgmx semantics to linearize memory.
	* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_1, _movmemx.
	* config/avr/lib1funcs.S (__xload_1): New function.
	(__movmemx_qi, __movmemx_hi): New functions.
	(__xload_2, __xload_3, __xload_4): Rewrite to fit new __pgmx
	semantics.

gcc/
	PR target/49868
	Extend __pgmx semantics to linearize memory.
	* config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
	determine if code comes inline or from libgcc.
	(MOVMEM_r_d:HI): Add "w" to constraint for better preference.
	(movmem_qi, movmem_qi): Set constraint #2 to "n".
	(movmem_qi_elpm, movmem_hi_elpm): Remove insns.
	(movmemx_qi, movmemx_hi): New insns.
	(xload_<mode>_libgcc): Rewrite to new insn condition.
	(xload_<mode>): Remove insns.
	* config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
	cases that don't satisfy avr_xload_libgcc_p().
	(avr_addr_space_convert): Allow converting in any direction.
	(avr_addr_space_subset_p): Return always true.
	(avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
	(avr_emit_movmemhi): Ditto.
	(avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
	(avr_out_movmem): Ditto.
	(AVR_SYMBOL_FLAG_PROGMEM): New macro.
	(AVR_SYMBOL_SET_ADDR_SPACE): New macro.
	(AVR_SYMBOL_GET_ADDR_SPACE): New macro.
	(avr_encode_section_info): Encode 'progmem' in symbol flags.
	(output_reload_in_const): Don't zero-extend any 24-bit symbols.

From-SVN: r183058
2012-01-10 09:42:10 +00:00