Commit Graph

86972 Commits

Author SHA1 Message Date
Eric Botcazou
1bde5bc468 decl.c (rest_of_type_decl_compilation_no_defer): New local function used to process all the variants of the specified type.
* decl.c (rest_of_type_decl_compilation_no_defer): New local function
	used to process all the variants of the specified type.
	(gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral
	types too.  Call rest_of_type_decl_compilation_no_defer if undeferring.
	(rest_of_type_decl_compilation): Likewise.
	* utils.c (gnat_pushdecl): Propagate the name to all variants of type.

From-SVN: r133957
2008-04-06 10:22:23 +00:00
Tom G. Christensen
d7d7db8b40 gthr-posix95.h (__gthread_cond_wait_recursive): Add missing &.
* gthr-posix95.h (__gthread_cond_wait_recursive): Add missing &.

From-SVN: r133955
2008-04-06 09:57:49 +00:00
Uros Bizjak
27183bba6b re PR target/12329 (x86: local function declared with attribute((regparm(3))) gets corrupted parent frame pointer)
PR target/12329
        * config/i386/i386.c (ix86_function_regparm): Error if regparm(3)
        attribute is used for nested functions.

testsuite/ChangeLog:

        PR target/12329
        * gcc.target/i386/pr12329.c: New test.

From-SVN: r133954
2008-04-06 08:40:47 +02:00
GCC Administrator
93f14b2fc3 Daily bump.
From-SVN: r133951
2008-04-06 00:17:36 +00:00
Eric Botcazou
adcb04d2e3 pr35823.adb: Rename to size_attribute.adb.
* gnat.dg/pr35823.adb: Rename to size_attribute.adb.

From-SVN: r133946
2008-04-05 22:56:52 +00:00
Jerry DeLisle
5a82954466 PR fortran/25829 28655
2008-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/25829 28655
	* gfortran.dg/f2003_io_1.f03: New test.
	* gfortran.dg/f2003_io_2.f03: New test.
	* gfortran.dg/f2003_io_3.f03: New test.
	* gfortran.dg/f2003_io_4.f03: New test.
	* gfortran.dg/f2003_io_5.f03: New test.
	* gfortran.dg/f2003_io_6.f03: New test.
	* gfortran.dg/f2003_io_7.f03: New test.

From-SVN: r133945
2008-04-05 22:33:14 +00:00
Jerry DeLisle
6f0f0b2eca PR fortran/25829 28655
2008-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/25829 28655
	* dump-parse-tree.c (gfc_show_code_node): Show new I/O parameters.
	* gfortran.h (gfc_statement): Add ST_WAIT enumerator.
	(gfc_open): Add pointers for decimal, encoding, round, sign,
	asynchronous. (gfc_inquire): Add pointers for asynchronous, decimal,
	encoding, pending, round, sign, size, id.
	(gfc_wait): New typedef struct. (gfc_dt): Add pointers for id, pos,
	asynchronous, blank, decimal, delim, pad, round, sign.
	(gfc_exec_op): Add EXEC_WAIT enumerator. (gfc_code): Add pointer for
	wait. (gfc_free_wait), (gfc_resolve_wait): New function prototypes.
	* trans-stmt.h (gfc_trans_wait): New function prototype.
	* trans.c (gfc_trans_code): Add case for EXEC_WAIT.
	* io.c (io_tag): Add new tags for DECIMAL, ENCODING, ROUND, SIGN,
	ASYCHRONOUS, ID. (match_open_element): Add matchers for new tags.
	(gfc_free_open): Free new pointers. (gfc_resolve_open): Resolve new
	tags. (gfc_resolve_open): Remove comment around check for allowed
	values and ASYNCHRONOUS, update it.  Likewise for DECIMAL, ENCODING,
	ROUND, and SIGN. (match_dt_element): Add matching for new tags.
	(gfc_free_wait): New function. (gfc_resolve_wait): New function.
	(match_wait_element): New function. (gfc_match_wait): New function.
	* resolve.c (gfc_resolve_blocks): Add case for EXEC_WAIT.
	(resolve_code): Add case for EXEC_WAIT. 
	* st.c (gfc_free_statement): Add case for EXEC_WAIT.
	* trans-io.c (ioparam_type): Add IOPARM_ptype_wait. (gfc_st_parameter):
	Add "wait" entry. (iocall): Add IOCALL_WAIT enumerator.
	(gfc_build_io_library_fndecls): Add function declaration for st_wait.
	(gfc_trans_open): Add mask bits for new I/O tags.
	(gfc_trans_inquire): Add mask bits for new I/O tags.
	(gfc_trans_wait): New translation function.
	(build_dt): Add mask bits for new I/O tags.
	* match.c (gfc_match_if) Add matcher for "wait".
	* match.h (gfc_match_wait): Prototype for new function.
	* ioparm.def: Add new I/O parameter definitions.
	* parse.c (decode_statement): Add match for "wait" statement.
	(next_statement): Add case for ST_WAIT. (gfc_ascii_statement): Same.

Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>

From-SVN: r133944
2008-04-05 22:23:27 +00:00
Jerry DeLisle
10256cbe95 PR fortran/25829 28655
2008-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/25829 28655
	* gfortran.map: Add new symbol, _gfortran_st_wait.
	* libgfortran.h (st_paramter_common): Add new I/O parameters.
	* open.c (st_option decimal_opt[], st_option encoding_opt[],
	st_option round_opt[], st_option sign_opt[], st_option async_opt[]): New
	parameter option arrays. (edit_modes): Add checks for new parameters.
	(new_unit): Likewise. (st_open): Likewise.
	* list_read.c (CASE_SEPERATORS): Add ';' as a valid separator.
	(eat_separator): Handle deimal comma. (read_logical): Fix whitespace.
	(parse_real): Handle decimal comma. (read_real): Handle decimal comma.
	* read.c (read_a): Use decimal status flag to allow comma in place of a
	decimal point. (read_f): Allow comma as acceptable character in float.
	According to decimal flag, substitute a period for a comma.
	(read_x): If decimal status flag is comma, disable the read_comma flag,
	not allowing comma as a delimiter, an extension otherwise.
	* io.h: (unit_decimal, unit_encoding, unit_round, unit_sign,
	unit_async): New enumerators. Add all new I/O parameters.
	* unix.c (unix_stream, int_stream): Add io_mode	asychronous I/O	control.
	(move_pos_offset, fd_alloc_w_at): Fix some whitespace.
	(fd_sfree): Use new enumerator. (fd_read): Likewise.
	(fd_write): Likewise. (fd_close): Fix whitespace.
	(fd_open): Use new enumertors. (tempfile, regular_file,
	open_external): Fix whitespace. (output_stream, error_stream): Set
	method. (stream_offset): Fix whitespace.
	* transfer.c: (st_option decimal_opt[], sign_opt[], blank_opt[]): New
	option arrays. 	(formatted_transfer_scalar): Set sf_read_comma flag
	based on new decimal_status flag. (data_transfer_init): Initialize new
	parameters. Add checks for decimal, sign, and blank. (st_wait): New stub.
	* format.c: (format_lex): Add format specifiers DP, DC, and D.
	(parse_format_list): Parse the new specifiers.
	* write.c (write_decimal): Use new sign enumerators to set the sign.
	(write_complex): Handle decimal comma and semi-colon separator.
	(nml_write_obj): Likewise.
	* write_float.def: Revise sign enumerators. (calculate_sign): Use new
	sign enumerators. (output_float): Likewise. Use new decimal_status flag
	to set the decimal character to a point or a comma.

From-SVN: r133943
2008-04-05 22:18:03 +00:00
Richard Guenther
3d3e20df36 re PR tree-optimization/35833 (Wrong code generated with -ftree-vrp)
2008-04-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/35833
	* gcc.dg/torture/pr35833.c: New testcase.

From-SVN: r133941
2008-04-05 18:04:07 +00:00
Jan Hubicka
9fb7564ea2 * emit-rtl.c (init_emit): xcalloc regno_pointer_align.
From-SVN: r133933
2008-04-05 12:25:32 +00:00
Jan Hubicka
9e016eba12 tree-dump.c (dump_enable_all): Remove prototype; do not accept letter argument.
* tree-dump.c (dump_enable_all): Remove prototype; do not accept
	letter argument.
	(dump_files): Update.
	(enable_rtl_dump_file): Do not accept letter argument.
	* tree-pass.h (dump_file_info): Remove letter argument.
	* toplev.c (decode_d_option): Update -da handling.
	* toplev.h (enable_rtl_dump_file): Update prototype.
	* passes.c (register_one_dump_file): Do not accept IPA argument; work
	it out based on pass type.
	(register_dump_files_1): Likewise.
	(init_optimization_passes): Update register_one_dump_file calls.
	(execute_one_pass): Sanity check that IPA passes are called at IPA level
	and RTL passes at RTL level.
	(execute_pass_list): IPA pass can not be after or subpass of
	GIMPLE/RTL pass.
	(execute_ipa_pass_list): Handle IPA subpasses of IPA subpasses and
	disallov RTL subpasses of IPA subpasses.

From-SVN: r133930
2008-04-05 05:50:19 +00:00
Ben Elliston
23ef6d211f tree-cfg.c (need_fake_edge_p): Return false for calls to builtins that return exactly once and do not throw.
* tree-cfg.c (need_fake_edge_p): Return false for calls to
	builtins that return exactly once and do not throw. Cache call to
	call_expr_flags.

From-SVN: r133929
2008-04-05 14:50:18 +11:00
GCC Administrator
c44b856a0b Daily bump.
From-SVN: r133924
2008-04-05 00:17:32 +00:00
Andy Hutchinson
3c2397cdca re PR target/34916 (gcc.c-torture/execute/pr27364.c fails with -O1, -O2 and -Os)
PR rtl-optimization/34916
PR middle-end/35519
* combine.c (create_log_links): Do not create duplicate LOG_LINKS
between instruction pairs

From-SVN: r133920
2008-04-04 23:45:46 +00:00
Naveen.H.S
9eb3a0dd85 invoke.texi: Document -mbitops for SH.
* doc/invoke.texi: Document -mbitops for SH.
	* config/sh/constraints.md (K03, K12, Sbv, Sbw): New constraints.
	* config/sh/predicates.md (bitwise_memory_operand): New	predicate.
	* config/sh/sh.c (print_operand): Add %t operand code.
	* config/sh/sh.h (GO_IF_LEGITIMATE_INDEX): Add condition for SH2A.
	* config/sh/sh.md (*iorsi3_compact): Fix condition for SH2A.
	(extendqisi2_compact): Add the alternative for SH2A 4-byte mov.b.
	(extendqihi2): Likewise.
	(movqi_i): Likewise.
	(insv): Use bset, bclr and bst instructions for SH2A if	possible.
	(extv): Use bld instruction for SH2A if possible.
	(extzv): Likewise.
	(bclr_m2a, bclrmem_m2a, bset_m2a, bsetmem_m2a, bst_m2a, bld_m2a,
	bldsign_m2a, bld_reg, *bld_regqi, band_m2a, bandreg_m2a,
	bor_m2a, borreg_m2a, bxor_m2a, bxorreg_m2a): New insns.
	(bset.b, bclr.b): Define peepholes.
	* config/sh/sh.opt (mbitops): New option.

	* gcc.target/sh/sh2a-band.c: New test.
	* gcc.target/sh/sh2a-bclrmem.c: New test.
	* gcc.target/sh/sh2a-bld.c: New test.
	* gcc.target/sh/sh2a-bor.c: New test.
	* gcc.target/sh/sh2a-bsetmem.c: New test.
	* gcc.target/sh/sh2a-bxor.c: New test.

From-SVN: r133919
2008-04-04 23:36:19 +00:00
Andy Hutchinson
97db009ce9 * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r133918
2008-04-04 23:16:12 +00:00
Janis Johnson
6f0623cb39 * g++.dg/other/anon5.C: Don't depend on line number for error message.
From-SVN: r133913
2008-04-04 21:03:43 +00:00
Janis Johnson
148c154438 builtin-modf-1.c: Use special options for powerpc*-*-linux*.
* gcc.dg/torture/builtin-modf-1.c: Use special options for
	powerpc*-*-linux*.

From-SVN: r133912
2008-04-04 21:02:55 +00:00
Janis Johnson
9519d464cd * gcc.dg/var-expand3.c: Skip for powerpc-linux if not on AltiVec HW.
From-SVN: r133911
2008-04-04 21:01:20 +00:00
Janis Johnson
12a0a01a04 * gcc.dg/pr34856.c: Use -maltivec on powerpc linux.
From-SVN: r133910
2008-04-04 20:59:33 +00:00
Janis Johnson
fdf4f148f1 re PR target/35620 (ICE passing dereferenced pointer to _Decimal32)
gcc/
	PR target/35620
	* config/rs6000/rs6000.c (rs6000_check_sdmode): Handle indirect ref
	and view convert expression.

testsuite/
	PR target/35620
	* gcc.dg/dfp/pr35620.c: New test.
	* gcc.dg/dfp/func-pointer.c: New test.
	* gcc.dg/dfp/func-deref.c: New test.

From-SVN: r133909
2008-04-04 20:18:52 +00:00
Jakub Jelinek
3088d40408 re PR target/35364 (ICE on ia64 with vector declaration inside #pragma omp parallel)
PR target/35364
	* tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers.

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

From-SVN: r133905
2008-04-04 19:48:45 +02:00
H.J. Lu
c9a22ea10d Change UNSPEC_PCLMULQDQ to UNSPEC_PCLMUL.
From-SVN: r133903
2008-04-04 10:22:48 -07:00
H.J. Lu
8b96a312a0 config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64.
gcc/

2008-04-04  H.J. Lu  <hongjiu.lu@intel.com>

	* config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64.

	* config/i386/cpuid.h (bit_AES): New.
	(bit_PCLMUL): Likewise.

	* config/i386/i386.c (pta_flags): Add PTA_AES and PTA_PCLMUL.
	(override_options): Handle PTA_AES and PTA_PCLMUL.  Enable
	SSE2 if AES or PCLMUL is enabled.
	(ix86_builtins): Add IX86_BUILTIN_AESENC128,
	IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
	IX86_BUILTIN_AESDECLAST128, IX86_BUILTIN_AESIMC128,
	IX86_BUILTIN_AESKEYGENASSIST128 and IX86_BUILTIN_PCLMULQDQ128.
	(bdesc_sse_3arg): Add IX86_BUILTIN_PCLMULQDQ128.
	(bdesc_2arg): Add IX86_BUILTIN_AESENC128,
	IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
	IX86_BUILTIN_AESDECLAST128 and IX86_BUILTIN_AESKEYGENASSIST128.
	(bdesc_1arg): Add IX86_BUILTIN_AESIMC128.
	(ix86_init_mmx_sse_builtins): Define __builtin_ia32_aesenc128,
	__builtin_ia32_aesenclast128, __builtin_ia32_aesdec128,
	__builtin_ia32_aesdeclast128,__builtin_ia32_aesimc128,
	__builtin_ia32_aeskeygenassist128 and
	__builtin_ia32_pclmulqdq128.
	* config/i386/i386.c (ix86_expand_binop_imm_builtin): New.
	(ix86_expand_builtin): Use it for IX86_BUILTIN_PSLLDQI128 and
	IX86_BUILTIN_PSRLDQI128.  Handle IX86_BUILTIN_AESKEYGENASSIST128.

	* config/i386/i386.h (TARGET_AES): New.
	(TARGET_PCLMUL): Likewise.
	(TARGET_CPU_CPP_BUILTINS): Handle TARGET_AES and TARGET_PCLMUL.

	* config/i386/i386.md (UNSPEC_AESENC): New.
	(UNSPEC_AESENCLAST): Likewise.
	(UNSPEC_AESDEC): Likewise.
	(UNSPEC_AESDECLAST): Likewise.
	(UNSPEC_AESIMC): Likewise.
	(UNSPEC_AESKEYGENASSIST): Likewise.
	(UNSPEC_PCLMULQDQ): Likewise.

	* config/i386/i386.opt (maes): New.
	(mpclmul): Likewise.

	* config/i386/sse.md (aesenc): New pattern.
	(aesenclast): Likewise.
	(aesdec): Likewise.
	(aesdeclast): Likewise.
	(aesimc): Likewise.
	(aeskeygenassist): Likewise.
	(pclmulqdq): Likewise.

	* config/i386/wmmintrin.h: New.

	* doc/extend.texi: Document AES and PCLMUL built-in function.

	* doc/invoke.texi: Document -maes and -mpclmul.

gcc/testsuite/

2008-04-04  H.J. Lu  <hongjiu.lu@intel.com>

	* g++.dg/other/i386-2.C: Include <wmmintrin.h>.
	* g++.dg/other/i386-3.C: Likewise.
	* gcc.target/i386/sse-13.c: Likewise.
	* gcc.target/i386/sse-14.c: Likewise.

	* gcc.target/i386/aes-check.h: New.
	* gcc.target/i386/aesdec.c: Likewise.
	* gcc.target/i386/aesdeclast.c: Likewise.
	* gcc.target/i386/aesenc.c: Likewise.
	* gcc.target/i386/aesenclast.c: Likewise.
	* gcc.target/i386/aesimc.c: Likewise.
	* gcc.target/i386/aeskeygenassist.c: Likewise.
	* gcc.target/i386/pclmulqdq.c: Likewise.
	* gcc.target/i386/pclmul-check.h: Likewise.

	* gcc.target/i386/i386.exp (check_effective_target_aes): New.
	(check_effective_target_pclmul): Likewise.

From-SVN: r133902
2008-04-04 09:10:52 -07:00
Paolo Bonzini
e892493899 function.c (free_after_parsing): Replace with cxx_push_function_context from C++ front-end.
2008-04-03  Paolo Bonzini  <bonzini@gnu.org>

	* function.c (free_after_parsing): Replace with
	cxx_push_function_context from C++ front-end.
	(allocate_struct_function): Don't call langhook.
	* langhooks.h (struct lang_hooks_for_functions): Delete.
	(struct lang_hooks): Add back missing_noreturn_ok_p here, delete
	member "function".
	* langhooks-def.h (LANG_HOOKS_MISSING_NORETURN_OK_P): Add.
	(LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FINAL,
	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
	LANG_HOOKS_FUNCTION_INITIALIZER): Delete.
	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_MISSING_NORETURN_OK_P,
	remove LANG_HOOKS_FUNCTION_INITIALIZER.
	* tree-cfg.c: Adjust call to missing_noreturn_ok_p langhook.

	* c-objc-common.h (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P):
	Rename to LANG_HOOKS_MISSING_NORETURN_OK_P.
	
cp:
2008-04-03  Paolo Bonzini  <bonzini@gnu.org>

	* decl.c (cxx_push_function_context): Delete.
	(cxx_pop_function_context): Delete.
	(start_preparsed_function): Merge cxx_push_function_context (!f->decl
	code only).
	* cp-objcp-common.h (LANG_HOOKS_FUNCTION_INIT,
	LANG_HOOKS_FUNCTION_FINAL): Delete.
	(LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P): Rename to
	LANG_HOOKS_MISSING_NORETURN_OK_P.
	* cp-tree.h (cxx_push_function_context, cxx_pop_function_context):
	Delete prototype.
	* semantics.c (current_stmt_tree): Fix comment.

From-SVN: r133900
2008-04-04 14:57:18 +00:00
Jakub Jelinek
05008a0c3c re PR c/35440 (ICE resulting in completely broken diagnostic)
PR c/35440
	* c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR
	for all types.

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

From-SVN: r133897
2008-04-04 15:07:27 +02:00
Nick Clifton
5f4bebbf4e Fix typo
From-SVN: r133895
2008-04-04 11:45:46 +00:00
Nick Clifton
2a79c47f95 re PR middle-end/4334 (Flow control insn inside a basic block, arm/netbsd, gcc 3.1)
PR binutils/4334
        * acx.m4 (ACX_CHECK_CYGWIN_CAT_WORKS): New macro to check that
        cygwin builds are not running in textmode.

        * configure.ac: Run ACX_XHEXK_CYGWIN_CAT_WORKS for cygwin hosted
        builds.
        * configure: Regenerate.

From-SVN: r133894
2008-04-04 11:39:20 +00:00
Richard Guenther
c071e8bcc2 re PR middle-end/35823 (verify_gimple fails on taking 'Size of a String subprogram parameter)
2008-04-04  Richard Guenther  <rguenther@suse.de>

	PR middle-end/35823
	* fold-const.c (optimize_minmax_comparison): Use the correct
	type for the constant in the simplified comparison.

	* gnat.dg/pr35823.adb: New testcase.

From-SVN: r133893
2008-04-04 11:29:11 +00:00
NightStrike
c53a18d377 re PR other/35151 (Combine mingw names)
PR other/35151
        * configure.ac: Combine rules for mingw32 and mingw64.
        * configure: Regenerate.

From-SVN: r133892
2008-04-04 11:16:10 +00:00
Zuxy Meng
f4a1dd0dc7 driver-i386.c (describe_cache): Add l2_sizekb argument.
* config/i386/driver-i386.c (describe_cache): Add l2_sizekb argument.
	Pass L2 size as "--param l2-cache-size" to the compiler.
	(decode_l2_cache): New function to decode L2 cache parameters using
	0x8000006 extended cpuid function.
	(detect_caches_amd): Determine parameters of L2 cache using
	decode_l2_caches function.
	(decode_caches_intel): Decode L2 cache parameters.
	(detect_caches_intel): Determine L2 cache parameters using
	decode_caches_intel and decode_l2_caches functions.

From-SVN: r133890
2008-04-04 09:39:12 +02:00
Bob Wilson
3ee909cb67 xtensa.c (xtensa_secondary_reload_class): Use a secondary input reload for subword loads from the constant pool.
* config/xtensa/xtensa.c (xtensa_secondary_reload_class): Use a
        secondary input reload for subword loads from the constant pool.

From-SVN: r133889
2008-04-04 03:55:15 +00:00
Janis Johnson
383e91e472 re PR target/35713 (invalid type for va_arg with _Decimal128)
PR target/35713
	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer
	  constants of the appropriate size for runtime calculations.

From-SVN: r133887
2008-04-04 00:20:48 +00:00
GCC Administrator
311b11ec9e Daily bump.
From-SVN: r133885
2008-04-04 00:17:42 +00:00
Janis Johnson
6db07dcbf6 re PR c/35712 (decimal float literal constant zero loses significant trailing zeroes)
2008-04-03  Janis Johnson  <janis187@us.ibm.com>

gcc/
	PR c/35712
	* dfp.c (decimal_from_decnumber): Retain trailing zeroes for
	  decimal-float literal constant zero.

testsuite/
	PR c/35712
	* gcc.dg/dfp/constants-zero.c: New test.

From-SVN: r133881
2008-04-03 23:49:35 +00:00
Jakub Jelinek
79addd1f35 re PR c/35738 (ICE with #pragma omp atomic and conversion from pointer to int)
PR c/35738
	* c-parser.c (c_parser_omp_atomic): Call
	default_function_array_conversion on the RHS.

	* gcc.dg/gomp/pr35738.c: New test.

From-SVN: r133876
2008-04-03 23:03:54 +02:00
Jakub Jelinek
5da250fca2 re PR middle-end/35818 (ICE on incomplete array in shared clause)
PR middle-end/35818
	* omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: Don't
	call is_variable_sized if decl has incomplete type.

	* gcc.dg/gomp/pr35818.c: New test.

From-SVN: r133875
2008-04-03 23:02:44 +02:00
Jakub Jelinek
637b5a8e7c re PR fortran/35786 (OpenMP Fortran PRIVATE on parameter gives error in gfc_finish_var_decl)
PR fortran/35786
	* openmp.c (resolve_omp_clauses): Diagnose if a clause symbol
	isn't a variable.

	* gfortran.dg/gomp/pr35786-1.f90: New test.
	* gfortran.dg/gomp/pr35786-2.f90: New test.

From-SVN: r133874
2008-04-03 23:01:26 +02:00
H.J. Lu
940f3b5219 i386-protos.h (ix86_aligned_p): Removed.
2008-04-03  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386-protos.h (ix86_aligned_p): Removed.

From-SVN: r133873
2008-04-03 13:02:54 -07:00
Adam Nemet
6ac935c150 mips.md (any_gt, [...]): New code iterators.
* config/mips/mips.md (any_gt, any_ge, any_lt, any_le): New code
	iterators.
	(u): Add attribute values for gt, gtu, ge, geu, lt, ltu, le and
	leu.
	(sgt<u>): Merge sgt and sgtu into new expander.
	(sgt, sgtu): Remove expanders.
	(*sgt<u>_<mode>): Merge *sgt_<mode> and *sgtu_<mode> into new
	pattern.
	(*sgt_<mode>, *sgtu_<mode>): Remove patterns.
	(*sgt<u>_<mode>_mips16): Merge *sgt_<mode>_mips16 and
	*sgtu_<mode>_mips16 into new pattern.
	(*sgt_<mode>_mips16, *sgtu_<mode>_mips16): Remove patterns.
	(sge<u>): Merge sge and sgeu into new expander.
	(sge, sgeu): Remove expanders.
	(*sge<u>_<mode>): Merge *sge_<mode> and second *sge_<mode> into
	new pattern.
	(*sge_<mode>, second *sge_<mode>): Remove patterns.
	(slt<u>): Merge slt and sltu into new expander.
	(slt, sltu): Remove expanders.
	(*slt<u>_<mode>): Merge *slt_<mode> and *sltu_<mode> into new
	pattern.
	(*slt_<mode>, *sltu_<mode>): Remove patterns.
	(*slt<u>_<mode>_mips16): Merge *slt_<mode>_mips16 and
	*sltu_<mode>_mips16 into new pattern.
	(*slt_<mode>_mips16, *sltu_<mode>_mips16): Remove patterns.
	(sle<u>): Merge sle and sleu into new expander.
	(sle, sleu): Remove expanders.
	(*sle<u>_<mode>): Merge *sle_<mode> and *sleu_<mode> into new
	pattern.
	(*sle_<mode>, *sleu_<mode>): Remove patterns.
	(*sle<u>_<mode>_mips16): Merge *sle_<mode>_mips16 and
	*sleu_<mode>_mips16 into new pattern.
	(*sle_<mode>_mips16, *sleu_<mode>_mips16): Remove patterns.

testsuite/

	* gcc.target/mips/scc-1.c: New test.

From-SVN: r133872
2008-04-03 19:31:28 +00:00
Jan Hubicka
6b0c2336ba re PR target/35795 (Revision 133787 breaks ia64)
2008-04-03  Jan Hubicka  <jh@suse.cz>

	PR tree-optimization/35795
	* alpha/alpha.c (alpha_output_mi_thunk_osf): Free after compilation.
	* sparc/sparc.c (sparc_output_mi_thunk): Likewise.
	* ia64/ia64.c (ia64_output_mi_thunk): Likewise.
	* m68k/m68k.c (m68k_output_mi_thunk): Likewise.
	* score/score3.c (score3_output_mi_thunk): Likewise.
	* score/score7.c (score7_output_mi_thunk): Likewise.
	* mips/mips.c (mips_output_mi_thunk): Likewise.

From-SVN: r133868
2008-04-03 05:49:27 -07:00
Richard Guenther
b47ee38692 tree-vrp.c (extract_range_from_unary_expr): Handle all conversions.
2008-04-03  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (extract_range_from_unary_expr): Handle all
	conversions.  Simplify code.

	* gcc.dg/tree-ssa/vrp43.c: New testcase.
	* gcc.dg/tree-ssa/vrp44.c: Likewise.
	* gcc.dg/tree-ssa/vrp45.c: Likewise.

From-SVN: r133866
2008-04-03 09:33:27 +00:00
Kaz Kojima
2a7428c0c5 * config/sh/sh.c (sh_output_mi_thunk): Free cfun.
From-SVN: r133865
2008-04-03 09:07:17 +00:00
Jakub Jelinek
60c4d1358a re PR c++/35741 (ICE with offsetof and references)
PR c++/35741
	* semantics.c (finish_offsetof): Undo effect of convert_from_reference
	before calling fold_offsetof.

	* g++.dg/other/offsetof5.C: New test.

From-SVN: r133863
2008-04-03 09:43:46 +02:00
Tom Tromey
6cba282a2c t-uclinux (generated_files): Add sysroot-suffix.h.
gcc/
2008-04-03  Tom Tromey  <tromey@redhat.com>
	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
	* config/bfin/t-bfin-linux (generated_files): Add
	linux-sysroot-suffix.h.
	* doc/install.texi (Prerequisites): Require make 3.80.
	* doc/sourcebuild.texi (Front End Directory): Document new
	variable.
	* Makefile.in (generated_files): New variable.
	(ALL_HOST_OBJS): New variable.
	($(ALL_HOST_OBJS)): New target.

gcc/java/
2008-04-03  Tom Tromey  <tromey@redhat.com>

	* Make-lang.in (java_OBJS): New variable.

gcc/objc/
2008-04-03  Tom Tromey  <tromey@redhat.com>

	* Make-lang.in (objc_OBJS): New variable.

gcc/objcp/
2008-04-03  Tom Tromey  <tromey@redhat.com>

	* Make-lang.in (obj-c++_OBJS): New variable.

gcc/cp/
2008-04-03  Tom Tromey  <tromey@redhat.com>

	* Make-lang.in (c++_OBJS): New variable.

gcc/fortran/
2008-04-03  Tom Tromey  <tromey@redhat.com>

	* Make-lang.in (fortran_OBJS): New variable.

Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

From-SVN: r133862
2008-04-03 06:12:27 +00:00
Paolo Bonzini
9ff420f135 tree-inline.c (copy_generic_body, [...]): Export.
2007-03-09  Paolo Bonzini  <bonzini@gnu.org>

	* tree-inline.c (copy_generic_body, copy_decl_no_change): Export.
	(remap_block): Call id->transform_lang_insert_block instead
	of langhook.
	(optimize_inline_calls, unsave_expr_now, tree_function_versioning):
	Set id.transform_lang_insert_block to NULL.
	(clone_body): Move to cp/optimize.c
	* tree-inline.h (struct copy_body_data): Change
	transform_lang_insert_block to function pointer.
	(copy_generic_body, copy_decl_no_change): Export.
	* langhooks.h (struct lang_hooks_for_decls): Kill insert_block.
	* langhooks-def.h (LANG_HOOKS_INSERT_BLOCK): Kill.
	(LANG_HOOKS_DECLS): Remove LANG_HOOKS_INSERT_BLOCK.

	* c-tree.h (insert_block): Kill.
	* c-decl.c (insert_block): Kill.

cp:
2007-03-09  Paolo Bonzini  <bonzini@gnu.org>

	* optimize.c (clone_body): New, from tree-inline.c.

ada:
2007-03-09  Paolo Bonzini  <bonzini@gnu.org>

	* gigi.h (insert_block): Kill.
	* utils.c (insert_block): Kill.

java:
2007-03-09  Paolo Bonzini  <bonzini@gnu.org>

	* java-tree.h (insert_block): Kill.
	* decl.c (insert_block): Kill.

fortran:
2007-03-09  Paolo Bonzini  <bonzini@gnu.org>

	* f95-lang.c (insert_block): Kill.

From-SVN: r133861
2008-04-03 05:41:57 +00:00
Paolo Bonzini
d2784db4e5 c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED, [...]): Delete.
2008-04-03  Paolo Bonzini  <bonzini@gnu.org>

	* c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
	LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
	* c-tree.h (c_push_function_context, c_pop_function_context): Remove
	argument.
	* c-decl.c (c_push_function_context, c_pop_function_context): Remove
	argument, call {push,pop}_function_context from here.
	* c-parser.c: Use c_{push,pop}_function_context.

	* function.c (push_function_context_to): Move meat ...
	(push_function_context): ... here.  Simplify.
	* function.c (pop_function_context_from): Move meat ...
	(pop_function_context): ... here.  Simplify.
	* langhooks.h (struct lang_hooks_for_functions): Remove enter_nested,
	leave_nested).
	* langhooks-def.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
        LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
	(LANG_HOOKS_FUNCTION_INITIALIZER): Delete them from here.
	* tree.h (push_function_context_to, pop_function_context_from): Remove.

cp:
2008-04-03  Paolo Bonzini  <bonzini@gnu.org>

	* method.c (synthesize_method): Use {push,pop}_function_context.
	* name-lookup.c (push_to_top_level): Likewise.
	* parser.c (cp_parser_late_parsing_for_member): Likewise.

From-SVN: r133860
2008-04-03 05:38:32 +00:00
Paolo Bonzini
0a262d5466 re PR rtl-optimization/35281 (multiply with 0 generated for 64*32->64)
2008-04-03  Paolo Bonzini  <bonzini@gnu.org>

	PR rtl-optimization/35281
	* gcc.target/i386/pr35281.c: New test.

From-SVN: r133859
2008-04-03 05:36:26 +00:00
Ben Elliston
9e0aebcaee * expmed.c (extract_force_align_mem_bit_field): Remove.
From-SVN: r133858
2008-04-03 16:17:11 +11:00
Richard Guenther
55187c8a16 re PR middle-end/35800 (Revision 133835 failed to compile binutils)
PR middle-end/35800
	* expr.h (try_casesi): Adjust prototype.
	* expr.c (try_casesi): Take fallback label as extra parameter.
	Use that for gen_casesi if default_label is NULL.
	* stmt.c (expand_case): Pass fallback label to try_casesi,
	make sure to fill gaps with a fallback label if default_label
	is not present.

From-SVN: r133857
2008-04-03 02:09:20 +00:00