Commit Graph

87060 Commits

Author SHA1 Message Date
Jakub Jelinek
12e19e0588 re PR c/35739 (ICE with _Decimal128 and va_list)
PR c/35739
	* tree-nrv.c (tree_nrv): Don't optimize if result_type is GIMPLE
	reg type.

	* gcc.dg/dfp/pr35739.c: New test.

From-SVN: r134351
2008-04-16 18:01:57 +02:00
Jakub Jelinek
3d5e00a036 re PR tree-optimization/35899 (ICE on filesystem code)
PR tree-optimization/35899
	* tree-inline.c (expand_call_inline): Use GIMPLE_STMT_OPERAND
	rather than TREE_OPERAND.

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

From-SVN: r134350
2008-04-16 18:00:34 +02:00
Jakub Jelinek
fc207c379c re PR target/35662 (gfortran interfaces badly with glibc sincosf() causing breakage)
PR target/35662
	* f95-lang.c (gfc_init_builtin_functions): Make sure
	BUILT_IN_SINCOS{,F,L} types aren't varargs.

	* gfortran.dg/pr35662.f90: New test.

From-SVN: r134349
2008-04-16 17:56:58 +02:00
Uros Bizjak
17c340e049 re PR target/35944 (wrong result for MOD with kind=10 for some array argument values)
PR target/35944
        * config/i386/i386.md (fmodxf3): Copy operand 1 and operand 2 into
        temporary registers.  Change operand predicate to general_operand.
        (remainderxf3): Ditto.

From-SVN: r134348
2008-04-16 17:53:59 +02:00
Richard Guenther
e544c850ff Makefile.in (tree-affine.o): Add $(FLAGS_H) dependency.
2008-04-16  Richard Guenther  <rguenther@suse.de>

	* Makefile.in (tree-affine.o): Add $(FLAGS_H) dependency.
	* tree-affine.c (aff_combination_expand): Look through some
	conversions.

	* gcc.dg/tree-ssa/loop-35.c: New testcase.

From-SVN: r134346
2008-04-16 15:16:42 +00:00
Samuel Tardieu
35c91e0571 re PR ada/29015 (Ada 2005 observer pattern with mutually dependent packages and containers produces compiler error)
gcc/ada/
	PR ada/29015
	* sem_ch12.adb (Instantiate_Type): Check whether the full view of
	the type is known instead of the underlying type.

    gcc/testsuite/
	PR ada/29015
	* gnat.dg/incomplete1.ads, gnat.dg/incomplete2.ads,
	gnat.dg/incomplete2.adb: New.

From-SVN: r134345
2008-04-16 12:37:38 +00:00
Hans-Peter Nilsson
78347d7233 re PR tree-optimization/35629 (gcc.dg/tree-ssa/loop-25.c scan-tree-dump-times profile fails)
PR tree-optimization/35629
	* gcc.dg/tree-ssa/loop-25.c: Xfail all but the first
	scan-tree-dump-times.

From-SVN: r134339
2008-04-16 02:44:01 +00:00
GCC Administrator
741ed6dcb2 Daily bump.
From-SVN: r134337
2008-04-16 00:17:12 +00:00
Doug Kwan
3d57d7cee7 dwarf2asm.c (dw2_assemble_integer): Cast to unsigned HOST_WIDE_INT for hex printing.
2008-04-15  Doug Kwan  <dougkwan@google.com>

	* dwarf2asm.c (dw2_assemble_integer): Cast to unsigned HOST_WIDE_INT
	for hex printing.
	* tree-pretty-print.c (dump_generic_node): Ditto.
	* final.c (output_addr_const): Ditto.
	* dwarf2out.c (output_cfi): Ditto.
	* c-pretty-print.c (pp_c_integer_constant): Ditto.
	* print-rtl.c (print_rtx): Ditto.
	* print-tree.c (print_node_brief, print_node): Ditto.
	* c-common.c (match_case_to_enum_1): Ditto.
	* sched-vis.c (print_value): Ditto.
	* config/i386/i386.c (print_operand): Cast to long unsigned int
	for hex printing.

From-SVN: r134331
2008-04-15 19:56:20 +00:00
Danny Smith
d98c89de9b libgcc2.c [L_trampoline]: Remove unnecessary prototype for
Windows VirtualProtect function.

From-SVN: r134330
2008-04-15 19:44:16 +00:00
Paul Thomas
05e6ff8009 re PR fortran/35864 (Revision 133965 broke gfortran.dg/initialization_1.f90)
2008-04-15  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35864
	* expr.c (scalarize_intrinsic_call): Reorder identification of
	array argument so that if one is not found a segfault does not
	occur.  Return FAILURE if all scalar arguments.

From-SVN: r134329
2008-04-15 19:40:33 +00:00
Jan Hubicka
69c32ec801 gengtype.c (write_root): Param_is argument is OK.
* gengtype.c (write_root): Param_is argument is OK.
	* expr.c (expand_expr_real_1): Update call of get_exception_*.
	* function.h: Include varray.h
	(rtl_eh): New stucture based on except.c one.
	(call_site_record): New forward declaration and vector type.
	* calls.c (emit_call_1): Do not call
	note_current_region_may_contain_throw.
	* except.c (eh_status): Remove cur_region, try_region since they are
	unused.
	Move filter, exc_ptr, ttype_data, ehspec_data, action_record_data and
	exception_handler_label_map, ehr_stackadj, ehr_handler, ehr_label,
	sjlj_fc, sjlj_exit_after to rth_eh in function.h. 
	Remove call_site_data_used, call_site_data_size.
	Turn call_site_record into vector in function.h.
	(note_current_region_may_contain_throw): Remove.
	(get_exception_pointer, get_exception_filter): Do not take struct
	function argument; update.
	(add_ehl_entry, find_exception_handler_labels, ehspec_filter_hash,
	add_ttypes_entry, add_ehspec_entry, assign_filter_values,
	build_post_landing_pads, dw2_build_landing_pads,
	sjlj_assign_call_site_values, sjlj_mark_call_sites,
	sjlj_emit_function_enter, sjlj_emit_function_enter, 
	sjlj_emit_function_exit, sjlj_emit_dispatch_table,
	sjlj_build_landing_pads, finish_eh_generation,
	remove_exception_handler_label, remove_eh_handler,
	maybe_remove_eh_handler, add_reachable_handler,
	reachable_handlers, expand_builtin_eh_return,
	expand_eh_return, add_action_record, collect_one_action_chain,
	add_call_site, convert_to_eh_region_ranges, sjlj_size_of_call_site_table,
	sjlj_output_call_site_table, output_function_exception_table,
	* except.h (note_current_region_may_contain_throw): Remove
	(get_exception_pointer, get_exception_filter): Do not take struct
	function argument.
	* Makefile.in (GTFILES): Put varargs before struct function.

From-SVN: r134328
2008-04-15 19:37:22 +00:00
Samuel Tardieu
b48a653174 [multiple changes]
2008-04-15  Ed Schonberg  <schonberg@adacore.com>

    gcc/ada/
	PR ada/22387
	* exp_ch5.adb (Expand_Assign_Record): Within an initialization
	procedure for a derived type retrieve the discriminant values from
	the parent using the corresponding discriminant.

2008-04-15  Samuel Tardieu  <sam@rfc1149.net>

    gcc/testsuite/
	PR ada/22387
	* gnat.dg/specs/corr_discr.ads: New.

From-SVN: r134326
2008-04-15 19:05:29 +00:00
Eric Botcazou
bd1f29d927 tree-ssa-structalias.c (get_constraint_for_component_ref): Do not punt for STRING_CST.
* tree-ssa-structalias.c (get_constraint_for_component_ref): Do not
	punt for STRING_CST.
	(get_constraint_for): Deal with STRING_CST here instead.

From-SVN: r134325
2008-04-15 18:22:51 +00:00
Richard Guenther
3bb3bb2d6e tree-ssa-propagate.c (substitute_and_fold): Substitute statements in a basic-block with a backward walk.
2008-04-15  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-propagate.c (substitute_and_fold): Substitute
	statements in a basic-block with a backward walk.  Do not
	substitute into dead statements but instead remove those.

	* gcc.dg/fold-compare-2.c: Adjust testcase.
	* gcc.dg/tree-ssa/pr21086.c: Likewise.

From-SVN: r134322
2008-04-15 15:54:26 +00:00
Richard Guenther
d9338cf00c params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Set default to zero, thus disable creation of SFTs.
2008-04-15  Richard Guenther  <rguenther@suse.de>

	* params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Set default
	to zero, thus disable creation of SFTs.

	* gcc.dg/tree-ssa/salias-1.c: Remove.
	* gcc.dg/tree-ssa/pr26421.c: Adjust pattern.
	* gcc.dg/tree-ssa/alias-15.c: Likewise.
	* gcc.dg/tree-ssa/ssa-lim-3.c: Run at -O2.

From-SVN: r134321
2008-04-15 15:41:52 +00:00
Eric Botcazou
7e80c6bf0a tree-predcom.c (suitable_reference_p): Return false if the reference can throw.
* tree-predcom.c (suitable_reference_p): Return false if the
	reference can throw.

From-SVN: r134319
2008-04-15 15:39:42 +00:00
Jakub Jelinek
b97d81535d re PR c/35751 (ICE with invalid variable after #pragma omp parallel)
PR c/35751
	* c-decl.c (finish_decl): If extern or static var has variable
	size, set TREE_TYPE (decl) to error_mark_node.

	* decl.c (layout_var_decl): If extern or static var has variable
	size, set TREE_TYPE (decl) to error_mark_node.

	* gcc.dg/gomp/pr35751.c: New test.
	* g++.dg/gomp/pr35751.C: New test.

From-SVN: r134317
2008-04-15 17:09:42 +02:00
Rafael Espindola
4d6baa57a4 fix file name on ChangeLog
From-SVN: r134316
2008-04-15 13:50:28 +00:00
Rafael Avila de Espindola
d059947010 tree-const.c (tree_call_nonnegative_warnv_p): Remove local variable arg1.
2008-04-15  Rafael Espindola  <espindola@google.com>

	* gcc/tree-const.c (tree_call_nonnegative_warnv_p): Remove local
	variable arg1.

From-SVN: r134315
2008-04-15 13:48:52 +00:00
Richard Guenther
649caaad39 tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
2008-04-15  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
	* tree-ssa-sccvn.c (vn_reference_lookup): New parameter maywalk.
	(visit_reference_op_load): Do walk vuse-vdef chains on
	vn_reference_lookup.
	(visit_reference_op_store): But do not here.
	* tree-vn.c (vn_lookup): Do not walk vuse-vdef chains on
	vn_reference_lookup.
	(vn_lookup_with_vuses): But do so here.

From-SVN: r134314
2008-04-15 13:28:08 +00:00
Samuel Tardieu
462c31ef75 re PR ada/28733 (GNAT crash while compiling Ada-2005 code)
2008-04-15  Samuel Tardieu  <sam@rfc1149.net>
            Gary Dismukes  <dismukes@adacore.com>

    gcc/ada/
	PR ada/28733
	* sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something
	which is not an entity (and hence not a package).
	(End_Use_Package): Ditto.

Co-Authored-By: Gary Dismukes <dismukes@adacore.com>

From-SVN: r134313
2008-04-15 11:59:39 +00:00
Samuel Tardieu
8abe457acb [multiple changes]
2008-04-15  Ed Schonberg  <schonberg@adacore.com>

    gcc/ada/
	PR ada/16086
	* sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any
	protected operation that matches the signature, not only an entry, a
	regular subprogram or a literal.

2008-04-15  Samuel Tardieu  <sam@rfc1149.net>

    gcc/testsuite/
	PR ada/16086
	* gnat.dg/prot_def.adb: New.

From-SVN: r134312
2008-04-15 11:02:58 +00:00
Eric Botcazou
29f4754ff0 ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.
* ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.
	* decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only
	if a size or alignment is specified.  Do not take into account
	alignment promotions for the computation of the object's size.
	<type>: Call maybe_pad_type only if a size or alignment is specified.
	(maybe_pad_type): Really reuse the RM_Size of the original type if
	requested.
	* trans.c (Attribute_to_gnu): Fix a couple of nits.
	* utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional
	statements.  Use the padded view of the type when copying between
	padded objects of the same underlying type.

From-SVN: r134310
2008-04-15 07:18:21 +00:00
Ian Lance Taylor
55d7d0fa97 * fold-const.c (fold_overflow_warning): Remove assertion.
From-SVN: r134307
2008-04-15 05:57:00 +00:00
GCC Administrator
cbe9a76f3e Daily bump.
From-SVN: r134303
2008-04-15 00:17:41 +00:00
Ben Elliston
2c4eec6975 Fix bootstrap on Alpha.
* config/alpha/alpha.c (alpha_initialize_trampoline): Remove temp,
	temp1 local variables.

From-SVN: r134299
2008-04-15 10:03:46 +10:00
Danny Smith
39e6670f28 re PR target/35921 (Con/de-structor definition fails to override dllimport declaration)
PR target/35921
       * optimize.c (maybe_clone_body): Copy DECL_DLLIMPORT_P flag
       to clone.

From-SVN: r134298
2008-04-14 23:53:54 +00:00
Benjamin Kosnik
8edb93c423 re PR libstdc++/35816 (libstdc++ build during bootstrap is optimizing away atomic builtin check)
2008-04-14  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/35816
	* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Set CXXFLAGS to
	-O0 when checking for atomic builtins.
	* configure: Regenerate.

From-SVN: r134297
2008-04-14 23:53:15 +00:00
Zuxy Meng
40f39798ce re PR target/35661 (__attribute__((cold)) generates wrong code)
2008-04-16  Zuxy Meng  <zuxy.meng@gmail.com>

	PR target/35661
	* config/i386/winnt.c (i386_pe_section_type_flags): Mark
	".text.unlikely" section as executable.

From-SVN: r134296
2008-04-14 23:47:39 +00:00
James E Wilson
07acc7b3e1 ia64.c (rtx_needs_barrier): Handle UNSPEC_FR_SQRT_RECIP_APPROX_RES.
* config/ia64/ia64.c (rtx_needs_barrier): Handle
UNSPEC_FR_SQRT_RECIP_APPROX_RES.
* config/ia64/ia64.c (UNSPEC_FR_SQRT_RECIP_APPROX_RES): Define.
(divsi3_internal, divdi3_internal_lat, divdi3_internal_thr,
divsf3_internal_lat, sqrt_approx, sqrtsf2_internal_thr,
divdf3_internal_lat, sqrtdf2_internal_thr, divxf3_internal_lat,
divxf3_internal_thr, sqrtxf2_internal_thr, recip_approx): Use it.

From-SVN: r134295
2008-04-14 16:38:40 -07:00
Ralf Wildenhues
f3d0f304ff vms_data.ads: Fix typo in constant.
gcc/ada/

	* vms_data.ads: Fix typo in constant.
	* gen-soccon.c: Fix typo in error string.
	* gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition):
	Fix typos.
	* a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads,
	bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb,
	erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb,
	exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb,
	exp_util.adb, fmap.adb, g-soccon-linux-mips.ads,
	g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads,
	mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb,
	s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads,
	s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads,
	sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads,
	sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
	sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads,
	sinfo.ads: Fix typos in comments.

From-SVN: r134291
2008-04-14 21:07:59 +00:00
Benjamin Kosnik
682db6f9c0 c++config: Guard _LDBL_ macros with __cplusplus.
2008-04-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Guard _LDBL_ macros with __cplusplus.

From-SVN: r134288
2008-04-14 19:22:27 +00:00
Ian Lance Taylor
4c9db6e07a flags.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Define.
gcc/:
	* flags.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Define.
	* fold-const.c (fold_comparison): If appropriate, test
	POINTER_TYPE_OVERFLOW_UNDEFINED, and issue an overflow warning.
	(fold_binary): Test POINTER_TYPE_OVERFLOW_UNDEFINED when
	reassociating a pointer type.
	* doc/invoke.texi (Optimize Options): Document that
	-fstrict-overflow applies to pointer wraparound.
gcc/testsuite/:
	* gcc.dg/strict-overflow-6.c: New.
	* gcc.dg/no-strict-overflow-7.c: New.
	* gcc.dg/Wstrict-overflow-22.c: New.

From-SVN: r134287
2008-04-14 19:18:31 +00:00
Thomas Koenig
3a5a8be120 re PR libfortran/32972 (performance of pack/unpack)
2008-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/32972
	* intrinsics/spread_generic.c (spread):  Use spread_i2()
	for GFC_DTYPE_DERIVED_2 (fix typo from previous commit).

From-SVN: r134286
2008-04-14 18:50:57 +00:00
Samuel Tardieu
dcf461fa7f storage.ads: Fix expected error message.
gcc/testsuite/
	* gnat.dg/specs/storage.ads: Fix expected error message.

From-SVN: r134281
2008-04-14 16:41:58 +00:00
Robert Dewar
2efcad9f79 sem_prag.adb (Analyze_Pragma, [...]): Extend error to every non-object and change error message.
2008-04-14  Robert Dewar  <dewar@adacore.com>

    gcc/ada/
	* sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error
	to every non-object and change error message.

    gcc/testsuite/
	* gnat.dg/specs/linker_section.ads: Check for more error conditions.

From-SVN: r134280
2008-04-14 16:38:16 +00:00
Bernd Schmidt
96a791f748 Sigh.
Sigh.  Fix the license of the new file from the previous commit to be
GPLv3, and fix the copyright year.

From-SVN: r134277
2008-04-14 15:55:04 +00:00
Bernd Schmidt
018a61c9f4 Add missing file from my previous commit...
From-SVN: r134276
2008-04-14 15:51:51 +00:00
Robert Dewar
8f3723e0ae sem_util.ads, [...] (In_Subprogram): Remove.
2008-04-14  Robert Dewar  <dewar@adacore.com>

    gcc/ada/
	* sem_util.ads, sem_util.adb (In_Subprogram): Remove.
	* sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram
	directly.

From-SVN: r134273
2008-04-14 15:01:42 +00:00
Samuel Tardieu
32f7efe1a5 re PR ada/18680 (pragma Linker_Section problems)
gcc/ada/
	PR ada/18680
	* sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to
	apply pragma Linker_Section on type.

    gcc/testsuite/
	PR ada/18680
	* gnat.dg/specs/linker_section.ads: New.

From-SVN: r134266
2008-04-14 13:41:25 +00:00
Samuel Tardieu
b039b10e28 re PR ada/16098 (Illegal program not detected, RM 13.1(6))
gcc/ada/
	PR ada/16098
	* sem_prag.adb (Error_Pragma_Ref): New.
	(Process_Convention): Specialized message for non-local
	subprogram renaming. Detect the problem in homonyms as well.

    gcc/testsuite/
	PR ada/16098
	* gnat.dg/specs/renamings.ads: New.

From-SVN: r134262
2008-04-14 12:11:06 +00:00
Samuel Tardieu
cb572b755d re PR ada/15915 (Illegal program not detected, RM 13.11(15))
gcc/ada/
	PR ada/15915
	* sem_util.ads, sem_util.adb (Denotes_Variable): New function.
	* sem_ch12.adb (Instantiate_Object): Use it.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that
	storage pool denotes a variable as per RM 13.11(15).

    gcc/testsuite/
	PR ada/15915
	* gnat.dg/specs/storage.ads: New.

From-SVN: r134261
2008-04-14 12:10:16 +00:00
Samuel Tardieu
17972da719 sem_util.ads, [...] (In_Subprogram): New function.
gcc/ada/
	* sem_util.ads, sem_util.adb (In_Subprogram): New function.
	* sem_attr.adb (Analyze_Attribute, Attribute_Old case): Use it.

    gcc/testsuite/
	* gnat.dg/deep_old.adb: New.

From-SVN: r134260
2008-04-14 12:08:31 +00:00
Eric Botcazou
e965b4534f loop_address2.adb: New test.
* gnat.dg/loop_address2.adb: New test.

From-SVN: r134258
2008-04-14 11:34:05 +00:00
Rolf Ebert
57f80aa9eb re PR ada/20822 (makeinfo cannot process gnat_ugn_unw.texi)
2008-04-14  Rolf Ebert  <rolf.ebert.gcc@gmx.de>

    gcc/ada/
	PR ada/20822
	* xgnatugn.adb (Put_Line): New procedure, ensuring Unix
	line endings even on non-Unix platforms.

From-SVN: r134257
2008-04-14 09:39:39 +00:00
Samuel Tardieu
9ff231e23c re PR ada/35050 (renames entities not in symbol table)
gcc/ada/
	PR ada/35050
	* xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the
	renaming information.

From-SVN: r134256
2008-04-14 09:38:34 +00:00
Ben Elliston
8479b1b131 * config.sub, config.guess: Update from upstream sources.
From-SVN: r134255
2008-04-14 19:31:06 +10:00
Jerry DeLisle
d20ca42891 re PR fortran/35882 (Miscounted continuation lines when interspersed with data)
2008-04-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/35882
	* gfortran.dg/continuation_3.f90: Update test.
	* gfortran.dg/continuation_5.f: Update test.
	* gfortran.dg/continuation_10.f90: New test.

From-SVN: r134252
2008-04-14 00:47:13 +00:00
Jerry DeLisle
dfbfb6301c re PR fortran/35882 (Miscounted continuation lines when interspersed with data)
2008-04-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>

	PR fortran/35882
	* options.c (gfc_init_options): Set the default maximum continuation
	lines to 255 for both free and fixed form source for warnings.
	(gfc_handle_option): Set -std=f95 fixed form max continuations to 19 and
	the -std=f95 free form max continuations to 39 for warnings.
	* scanner.c (gfc_next_char_literal): Adjust the current_line number only
	if it is less than the current locus.

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

From-SVN: r134251
2008-04-14 00:43:32 +00:00