Commit Graph

86269 Commits

Author SHA1 Message Date
Jim Meyering
ea1b8c8764 Don't leak upon failed realloc.
libjava
2008-03-10  Jim Meyering  <meyering@redhat.com>
        Don't leak upon failed realloc.
        * gnu/classpath/natSystemProperties.cc
        (SystemProperties::insertSystemProperties):
libjava/classpath
2008-03-10  Jim Meyering  <meyering@redhat.com>
        Don't leak upon failed realloc.
        * native/jni/classpath/jcl.c (JCL_realloc): Upon failed realloc,
        free the original buffer before throwing the exception.

From-SVN: r133094
2008-03-10 22:08:34 +00:00
Vladimir Makarov
dd6d523630 sse.md (ssse3_pmaddubswv8hi3, [...]): Remove commutativity hint.
2008-03-10  Vladimir Makarov  <vmakarov@redhat.com>

	* config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3):
	Remove commutativity hint.

From-SVN: r133093
2008-03-10 22:05:25 +00:00
Janis Johnson
1d4edfd6cb patch_tester.sh (initialization): Initialize svnpatch and stop.
2008-03-10  Janis Johnson  <janis187@us.ibm.com>

	* patch_tester.sh (initialization): Initialize svnpatch and stop.
	(usage): Add -svnpath and -stop.	
	(makedir): New.
	(argument handling): Process -stop and -svnpath.
	(setup code): Use makedir, error out if initial svn checkout fails.
	(update): Use svnpath.  Invoke contrib/gcc_update.
	(apply_patch): Require that patch was created at top level.  Use eval
	with option variables.  Don't use bootstrap target for make.  Verify
	that some tests were run.
	(bootntest_patched): Use snvpath.
	(main loop): For -stop, exit when there are no more patches to test.

From-SVN: r133092
2008-03-10 21:33:09 +00:00
Jakub Jelinek
fde155a75b re PR c++/35328 (ICE with firstprivate variable with invalid destructor)
PR c++/35328
	* semantics.c (finish_omp_clauses): Look through NOP_EXPR even
	if errorcount.

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

From-SVN: r133087
2008-03-10 20:48:20 +01:00
Jakub Jelinek
85b20612e7 re PR c++/35337 (Broken diagnostic for firstprivate clause)
PR c++/35337
	* semantics.c (finish_omp_clauses): Use %qD instead of %qE for
	DECL_P in not a variable and appears more than once error messages.

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

From-SVN: r133086
2008-03-10 20:43:16 +01:00
Jakub Jelinek
5df27e4a3e re PR c/35438 (ICE with invalid use of threadprivate)
PR c/35438
	PR c/35439
	* c-parser.c (c_parser_omp_threadprivate): Don't add vars with
	errorneous type.  Check that v is a VAR_DECL.

	* gcc.dg/gomp/pr35438.c: New test.
	* gcc.dg/gomp/pr35439.c: New test.

From-SVN: r133085
2008-03-10 20:40:39 +01:00
Jakub Jelinek
8b46837cd1 re PR middle-end/35099 (ICE in remove_unreachable_regions with -O -fopenmp)
PR middle-end/35099
	* tree-cfg.c (new_label_mapper): Update cfun->last_label_uid.

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

From-SVN: r133084
2008-03-10 20:39:30 +01:00
Eric Botcazou
e1e7141cf3 trans.c (emit_range_check): Do not emit the check if the base type of the expression is the type against...
* trans.c (emit_range_check): Do not emit the check if the base type
	of the expression is the type against which its range must be checked.

From-SVN: r133083
2008-03-10 19:26:35 +00:00
H.J. Lu
725c2d321c re PR tree-optimization/35494 (Revision 132991 breaks C++ static member)
gcc/

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

	PR tree-optimization/35494
	* tree-ssa-ccp.c (get_symbol_constant_value): Check if value
	may be overriden at link and run time.

gcc/testsuite/

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

	PR tree-optimization/35494
	* g++.dg/tree-ssa/ssa-store-ccp-1.C: New.
	* gcc.dg/tree-ssa/ssa-store-ccp-2.c: Likewise.
	* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Likewise.
	* gcc.dg/tree-ssa/ssa-store-ccp-4.c: Likewise.

From-SVN: r133082
2008-03-10 11:20:23 -07:00
Richard Guenther
3ba404dfe1 re PR tree-optimization/34677 (PREs insert_fake_stores is mostly useless)
2008-03-10  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34677
	* tree-ssa-pre.c (modify_expr_node_pool): Remove.
	(poolify_tree): Likewise.
	(modify_expr_template): Likewise.
	(poolify_modify_stmt): Likewise.
	(insert_fake_stores): Handle all component-ref style stores
	in addition to INDIRECT_REF.  Also handle complex types.
	Do not poolify the inserted load.
	(realify_fake_stores): Do not rebuild the tree but only
	make it a SSA_NAME copy.
	(init_pre): Remove initialzation of modify_expr_template.
	Do not allocate modify_expr_node_pool.
	(fini_pre): Do not free modify_expr_node_pool.

	* gcc.dg/tree-ssa/loadpre23.c: New testcase.
	* gcc.dg/tree-ssa/loadpre24.c: Likewise.
	* gcc.dg/tree-ssa/loadpre25.c: Likewise.

From-SVN: r133081
2008-03-10 17:14:45 +00:00
Paul Brook
97e38a9239 arm.md (UNSPEC_STACK_ALIGN, [...]): Renumber to avoid conflicts.
2008-03-10  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.md (UNSPEC_STACK_ALIGN, UNSPEC_PIC_OFFSET): Renumber
	to avoid conflicts.

From-SVN: r133080
2008-03-10 14:52:02 +00:00
Paul Brook
bd4dc3cd97 cortex-r4.md: New.
2008-03-10  Paul Brook  <paul@codesourcery.com>
	Mark Shinwell  <shinwell@codesourcery.com>

	gcc/
	* config/arm/cortex-r4.md: New.
	* config/arm/thumb2.md (divsi3, udivsi3): Annotate with
	insn attributes.
	* config/arm/arm.md: Include cortex-r4.md.
	(insn): Add smmls, sdiv and udiv values.
	(generic_sched): Don't use generic scheduling for Cortex-R4.
	(arm_issue_rate): New function.
	(TARGET_SCHED_ISSUE_RATE): Define.


Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>

From-SVN: r133078
2008-03-10 13:39:56 +00:00
Uros Bizjak
3b509e3361 * ChangeLog: Remove merge marker.
From-SVN: r133077
2008-03-10 14:33:07 +01:00
Sebastian Pop
9886a872b9 invoke.texi (-ftree-loop-distribution): Add an example.
2008-03-10  Sebastian Pop  <sebastian.pop@amd.com>

	* doc/invoke.texi (-ftree-loop-distribution): Add an example.

From-SVN: r133076
2008-03-10 12:56:56 +00:00
Richard Guenther
e5eff6a3f7 tree-ssa-pre.c (get_sccvn_value): Simplify.
2008-03-10  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-pre.c (get_sccvn_value): Simplify.
	(compute_avail): Do not add stmt uses to AVAIL_OUT.

From-SVN: r133074
2008-03-10 11:58:09 +00:00
Paolo Bonzini
0d4c700c60 langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Set default to true.
2008-03-10  Paolo Bonzini  <bonzini@gnu.org>

	* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
	Set default to true.

From-SVN: r133072
2008-03-10 08:08:06 +00:00
GCC Administrator
cf332bbd1f Daily bump.
From-SVN: r133070
2008-03-10 00:19:33 +00:00
Paul Thomas
81c109530c re PR fortran/35474 (Reading module file with COMMON and EQUIVALENCE)
2008-03-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35474
	* module.c (mio_symtree_ref): After providing a symbol for a
	missing equivalence member, resolve and NULL the fixups.

2008-03-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35474
	* gfortran.dg/module_commons_2.f90 : New test.

From-SVN: r133063
2008-03-09 19:38:51 +00:00
Ralf Wildenhues
802e3f8c81 c.opt (Wsynth): Deprecate.
gcc/

	* c.opt (Wsynth): Deprecate.
	* doc/invoke.texi (Option Summary, Warning Options): Document
	-Wno-format-contains-nul.

gcc/fortran/

	* invoke.texi (Error and Warning Options): Document
	-Wline-truncation.

contrib/

	* check_warning_flags.sh: Instead of invoke.texi, take the path
	to the doc directory as argument.  Check that warnings listed in
	'gcc --help' are accepted by the compiler, and listed in the
	manuals.

From-SVN: r133059
2008-03-09 17:43:10 +00:00
Ralf Wildenhues
fa37b948cd cp-hacking.texinfo: Fix spacing after periods.
libjava/classpath/

	* doc/cp-hacking.texinfo: Fix spacing after periods.
	* doc/cp-tools.texinfo: Likewise.
	* doc/cp-vmintegration.texinfo: Likewise.

From-SVN: r133058
2008-03-09 17:31:22 +00:00
Ralf Wildenhues
d95c087c36 cp-hacking.texinfo: Fix some typos.
libjava/classpath/

	* doc/cp-hacking.texinfo: Fix some typos.
	* doc/cp-tools.texinfo: Likewise.
	* doc/cp-vmintegration.texinfo: Likewise.

From-SVN: r133057
2008-03-09 17:29:49 +00:00
Eric Botcazou
eafaa35bc2 frame_overflow.adb: Improve portability.
* gnat.dg/frame_overflow.adb: Improve portability.

From-SVN: r133054
2008-03-09 15:34:33 +00:00
Uros Bizjak
be3d47899e re PR target/35496 (test failures between revs. 132950 and 132974)
PR target/35496
        * config/i386/i386.c (ix86_constant_algnment): Compute alignment using
        ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST.

From-SVN: r133052
2008-03-09 14:37:52 +01:00
Ira Rosen
e83a75a793 rs6000.c (builtin_description): Rename vector left shift operations.
* config/rs6000/rs6000.c (builtin_description): Rename vector
	left shift operations.
	* config/rs6000/altivec.md (UNSPEC_VSL): Remove.
	(altivec_vsl<VI_char>): Rename to ...
	(ashl<mode>3): ... new name.
	(mulv4sf3, mulv4si3, negv4sf2): Replace gen_altivec_vslw with
	gen_ashlv4si3.
	(absv4sf2): Convert to use ashift:V4SI instead of UNSPEC_VSL.

From-SVN: r133051
2008-03-09 08:59:49 +00:00
GCC Administrator
2ef3292853 Daily bump.
From-SVN: r133049
2008-03-09 00:20:44 +00:00
H.J. Lu
945a52aefb re PR testsuite/35350 (FAIL: gcc.target/i386/isa-10.c execution test)
2008-03-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/35350
	* gcc.target/i386/isa-1.c: Add -march=x86-64.
	* gcc.target/i386/isa-2.c: Likewise.
	* gcc.target/i386/isa-3.c: Likewise.
	* gcc.target/i386/isa-10.c: Likewise.
	* gcc.target/i386/isa-11.c: Likewise.
	* gcc.target/i386/isa-12.c: Likewise.
	* gcc.target/i386/isa-13.c: Likewise.
	* gcc.target/i386/isa-14.c: Likewise.

From-SVN: r133044
2008-03-08 14:33:54 -08:00
Uros Bizjak
8c729fb26f sse2-mmx.c (unsigned_add3): Use _mm_setzero_si64 to zero carry.
* gcc.target/i386/sse2-mmx.c (unsigned_add3): Use _mm_setzero_si64
	to zero carry.

From-SVN: r133043
2008-03-08 23:05:42 +01:00
Richard Guenther
fc9161c19f coverage.h (tree_coverage_counter_addr): Declare.
2008-03-08  Richard Guenther  <rguenther@suse.de>

	* coverage.h (tree_coverage_counter_addr): Declare.
	* coverage.c (tree_coverage_counter_addr): New function.
	* tree-profile.c (tree_gen_edge_profiler): Unshare counter
	before using again.
	(tree_gen_pow2_profiler): Use tree_coverage_counter_addr.
	(tree_gen_one_value_profiler): Likewise.
	(tree_gen_ic_profiler): Likewise.
	(tree_gen_average_profiler): Likewise.
	(tree_gen_ior_profiler): Likewise.

From-SVN: r133041
2008-03-08 20:52:50 +00:00
Eric Botcazou
892f6e652e decl.c (maybe_pad_type): Use value_factor_p.
* decl.c (maybe_pad_type): Use value_factor_p.

From-SVN: r133039
2008-03-08 20:01:58 +00:00
Richard Guenther
49a1fb2d5f tree-ssa-sccvn.h (vn_binary_op_lookup): Remove.
2008-03-08  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-sccvn.h (vn_binary_op_lookup): Remove.
	(vn_binary_op_insert): Likewise.
	(vn_unary_op_lookup): Likewise.
	(vn_unary_op_insert): Likewise.
	(vn_nary_op_lookup): Declare.
	(vn_nary_op_insert): Likewise.
	* tree-ssa-sccvn.c (struct vn_tables_s): Merge unary
	and binary hashes, use a single obstack for unary_op_pool
	and binary_op_pool.
	(struct vn_binary_op_s, struct vn_unary_op_s): Replace with
	a single struct vn_nary_op_s.  Store tree code length and
	a variable number of operands.
	(struct vn_reference_op_struct): Remove unused op2.
	(vn_reference_op_eq): Do not compare op2.
	(vn_reference_op_compute_hash): Do not compute hash of op2.
	(vn_unary_op_hash, vn_binary_op_hash): Replace with vn_nary_op_hash.
	(vn_unary_op_compute_hash, vn_binary_op_compute_hash): Replace
	with vn_nary_op_compute_hash.
	(vn_unary_op_eq, vn_binary_op_eq): Replace with vn_nary_op_eq.
	(vn_unary_op_lookup, vn_binary_op_lookup): Replace with
	vn_nary_op_lookup.
	(vn_unary_op_insert, vn_binary_op_insert): Replace with
	vn_nary_op_insert.
	(visit_unary_op): Call nary functions.
	(visit_binary_op): Likewise.
	(process_scc): Adjust for struct vn_tables_s changes.
	(allocate_vn_table): Likewise.
	(free_vn_table): Likewise.
	* tree-vn.c (vn_add): Call nary functions.
	(vn_lookup): Likewise.

From-SVN: r133038
2008-03-08 19:30:55 +00:00
Francois-Xavier Coudert
ba4698e168 re PR fortran/34956 (-fbounds-check: bounds_check_9.f90: Use of uninitialized memory)
PR fortran/34956
	* trans-array.c (gfc_conv_ss_startstride): Fix the logic to avoid
	checking bounds of absent optional arguments.

From-SVN: r133037
2008-03-08 18:22:31 +00:00
Eric Botcazou
9e94c78f82 Fix nits.
From-SVN: r133036
2008-03-08 13:14:19 +00:00
Eric Botcazou
7934d78179 lang.opt (nostdlib): Move around.
* lang.opt (nostdlib): Move around.
	* misc.c (gnat_handle_option): Fix formatting.
	(gnat_dwarf_name): Move around.
	* trans.c (Case_Statement_to_gnu): Fix formatting.
	(gnat_to_gnu): Likewise.
	* utils.c (aggregate_type_contains_array_p): Likewise.
	(create_subprog_decl): Likewise.

From-SVN: r133035
2008-03-08 12:44:51 +00:00
Uros Bizjak
904e4b8d32 re PR target/22152 (Poor loop optimization when using mmx builtins)
PR target/22152
        * gcc.target/i386/pr22152.c: New test.
        * gcc.target/i386/sse2-mmx.c: Ditto.

From-SVN: r133034
2008-03-08 13:43:13 +01:00
Eric Botcazou
8f5893ab52 decl.c (gnat_to_gnu_entity): Do not bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
* decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
	bother propagating the TYPE_USER_ALIGN flag when creating a JM type.

From-SVN: r133032
2008-03-08 12:12:47 +00:00
Eric Botcazou
ba436c3b5c decl.c (gnat_to_gnu_entity): Do not force BIGGEST_ALIGNMENT when capping the alignment of records with...
* decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
	BIGGEST_ALIGNMENT when capping the alignment of records with
	strict alignment and size clause.

From-SVN: r133031
2008-03-08 12:01:22 +00:00
Eric Botcazou
6ab36daccb lang-specs.h: Pass -gnatwa if -Wall is passed.
* lang-specs.h: Pass -gnatwa if -Wall is passed.
	* misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
	and -Wuninitialized.
	(gnat_post_options): Clear warn_unused_parameter.

From-SVN: r133030
2008-03-08 11:53:19 +00:00
Eric Botcazou
8853cb0bcd utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently aligned bit-fields...
* utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
	aligned bit-fields, bumping the alignment of the record type if deemed
	profitable.
	(value_factor_p): Return false instead of 0.

From-SVN: r133028
2008-03-08 11:30:26 +00:00
Eric Botcazou
66abe22c07 decl.c (gnat_to_gnu_entity): Add support for scalar types with small alignment.
* decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
	for scalar types with small alignment.

From-SVN: r133027
2008-03-08 11:10:18 +00:00
Eric Botcazou
563569be5e trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label from that of the front-end's end label.
* trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
	from that of the front-end's end label.
	(gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
	from that of the loop label.

From-SVN: r133026
2008-03-08 10:57:28 +00:00
Jakub Jelinek
2725b75c33 re PR target/35498 (libgomp/testsuite/libgomp.c/atomic-3.c fails on ppc-linux)
PR target/35498
	* config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
	wdst back after sync_compare_and_swapqhi_internal.

From-SVN: r133024
2008-03-08 08:30:55 +01:00
Uros Bizjak
10a97ae6f1 re PR target/22152 (Poor loop optimization when using mmx builtins)
2008-03-08  Uros Bizjak  <ubizjak@gmail.com>

        PR target/22152
        * config/i386/i386-modes.def (V1DI): New vector mode.
        * config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
        * config/i386/mmx.md (MMXMODEI8): New mode iterator.
        (MMXMODE248): Ditto.
        (MMXMODE): Add V1DI mode.
        (mmxvecsize): Change DI mode to V1DI mode.
        ("mov<mode>): Use MMXMODEI8 mode iterator.
        ("*mov<mode>_internal_rex64"): Ditto.
        ("*mov<mode>_internal"): Ditto.
        ("mmx_add<mode>3"): Ditto.  Handle V1DImode for TARGET_SSE2.
        ("mmx_sub<mode>3"): Ditto.
        ("mmx_adddi3"): Remove insn pattern.
        ("mmx_subdi3"): Ditto.
        ("mmx_ashr<mode>3"): Use SImode and "yN" constraint for operand 2.
        ("mmx_lshr<mode>3"): Ditto. Use MMXMODE248 mode iterator.
        ("mmx_ashl<mode>3"): Ditto.
        ("mmx_lshrdi3"): Remove insn pattern.
        ("mmx_ashldi3"): Ditto.
        * config/i386/i386.c (classify_argument): Handle V1DImode.
        (function_arg_advance_32): Ditto.
        (function_arg_32): Ditto.
        (struct builtin_description) [IX86_BUILTIN_PADDQ]: Use
        mmx_addv1di3 insn pattern.
        [IX86_BUILTIN_PSUBQ]: Use mmx_subv1di3 insn pattern.
        [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?, IX86_BUILTIN_PSRA?,
        IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I, IX86_BUILTIN_PSRA?I,
        IX86_BUILTIN_PSLL?I128, IX86_BUILTIN_PSRL?I128, IX86_BUILTIN_PSRA?I128]:
        Remove definitions of built-in functions.
        (V1DI_type_node): New node.
        (v1di_ftype_v1di_int): Ditto.
        (v1di_ftype_v1di_v1di): Ditto.
        (v2si_ftype_v2si_si): Ditto.
        (v4hi_ftype_v4hi_di): Remove node.
        (v2si_ftype_v2si_di): Ditto.
        (ix86_init_mmx_sse_builtins): Handle V1DImode.
        (__builtin_ia32_psll?, __builtin_ia32_psrl?, __builtin_ia32_psra?):
        Redefine builtins using def_builtin_const with *_ftype_*_int node.
        (__builtin_ia32_psll?i, __builtin_ia32_psrl?i, __builtin_ia32_psra?i):
        Add new builtins using def_builtin_const.
        (ix86_expand_builtin) [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?,
        IX86_BUILTIN_PSRA?, IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I,
        IX86_BUILTIN_PSRA?I]: Handle builtin definitions.
        * config/i386/mmintrin.h (__v1di): New typedef.
        (_mm_add_si64): Cast arguments to __v1di type.
        (_mm_sub_si64): Ditto.
        (_mm_sll_pi16): Cast __count to __v4hi type.
        (_mm_sll_pi32): Cast __count to __v2si type.
        (_mm_sll_si64): Cast arguments to __v1di type.
        (_mm_srl_pi16): Cast __count to __v4hi type.
        (_mm_srl_pi32): Cast __count to __v2si type.
        (_mm_srl_si64): Cast arguments to __v1di type.
        (_mm_sra_pi16): Cast __count to __v4hi type.
        (_mm_sra_pi32): Cast __count to __v2si type.
        (_mm_slli_pi16): Use __builtin_ia32_psllwi.
        (_mm_slli_pi32): Use __builtin_ia32_pslldi.
        (_mm_slli_si64): Use __builtin_ia32_psllqi. Cast __m to __v1di type.
        (_mm_srli_pi16): Use __builtin_ia32_psrlwi.
        (_mm_srli_pi32): Use __builtin_ia32_psrldi.
        (_mm_srli_si64): Use __builtin_ia32_psrlqi. Cast __m to __v1di type.
        (_mm_srai_pi16): Use __builtin_ia32_psrawi.
        (_mm_srai_pi32): Use __builtin_ia32_psradi.
        * config/i386/i386.md (UNSPEC_NOP): Remove unspec definition.
        * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
        __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
        __builtin_ia32_psrl?i, __builtin_ia32_psra?i]: Add new builtins.

From-SVN: r133023
2008-03-08 07:59:33 +01:00
GCC Administrator
5fab80a4a3 Daily bump.
From-SVN: r133021
2008-03-08 00:20:28 +00:00
Joseph Myers
08c3b5b007 * doc/include/texinfo.tex: Update to version 2008-03-07.10.
From-SVN: r133015
2008-03-07 22:55:06 +00:00
Eric Botcazou
b49a1a1e0f decl.c (gnat_to_gnu_entity): Add comment for the packed array type case.
* decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add
	comment for the packed array type case.
	* utils.c (build_template): Use a loop to strip padding or
	containing records for justified modular types.

From-SVN: r133014
2008-03-07 18:41:01 +00:00
Eric Botcazou
38516a1ab6 Add missing dg marker.
From-SVN: r133013
2008-03-07 17:47:56 +00:00
Eric Botcazou
fd5c81e908 decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously large alignments specified for types.
* decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
	large alignments specified for types.
	(validate_alignment): Minor cleanup.

From-SVN: r133012
2008-03-07 17:45:09 +00:00
Eric Botcazou
7f42aa36f6 decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
* decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
	(gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of
	the component for packing, if possible, as well as if a component
	size clause is specified.
	<E_Record_Subtype>: For an array type used to implement a packed
	array, get the component type from the original array type.
	Try to get a smaller form of the component for packing, if possible,
	as well as if a component size clause is specified.
	(round_up_to_align): New function.
	(make_packable_type): Add in_record parameter.
	For a padding record, preserve the size.  If not in_record and the
	size is too large for an integral mode, attempt to shrink the size
	by lowering the alignment.
	Ditch the padding bits of the last component.
	Compute sizes and mode manually, and propagate the RM size.
	Return a BLKmode record type if its size has shrunk.
	(maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT.
	Use Original_Array_Type to retrieve the type in case of an error.
	Adjust call to make_packable_type.
	(gnat_to_gnu_field): Likewise.
	(concat_id_with_name): Minor tweak.
	* trans.c (larger_record_type_p): New predicate.
	(call_to_gnu): Compute the nominal type of the object only if the
	parameter is by-reference.  Do the conversion actual type -> nominal
	type if the nominal type is a larger record.
	(gnat_to_gnu): Do not require integral modes on the source type to
	avoid the conversion for types with identical names.
	(addressable_p): Add gnu_type parameter.  If it is specified, do not
	return true if the expression is not addressable in gnu_type.
	Adjust recursive calls.
	* utils.c (finish_record_type): Remove dead code.

From-SVN: r133011
2008-03-07 17:12:28 +00:00
Peter Bergner
efc05e3c55 re PR target/35373 (bootstraping on powerpc with 128bit long double fails with revision 132578)
PR target/35373
	* config/rs6000/rs6000.c (rs6000_legitimize_address): Don't generate
	reg+const addressing for Altivec modes.  Don't generate reg+reg
	addressing for TFmode or TDmode quantities.

From-SVN: r133008
2008-03-07 09:20:31 -06:00
Paolo Bonzini
96d8488248 revert: re PR c++/35049 (g++.dg/conversion/simd3.C:12: error: invalid operands to binary + (have 'float __vector__' and 'int __vector__'))
cp:
2008-03-07  Paolo Bonzini  <bonzini@gnu.org>

	Revert:

	2008-02-06  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/35049
	PR c++/35096
	* typeck.c (structural_comptypes): Call cp_comptypes.
	(comptypes): New; called from the C/C++ common bits to perform
	strict checks.
	(cp_comptypes): Renamed from comptypes, which is already used,
	with a different signature, by the C++ front end.
	(build_reinterpret_cast_1): Call cp_comptypes.
	(ptr_reasonably_similar): Ditto.
	* decl.c (decls_match): Ditto.
	* cvt.c (convert_to_reference): Ditto.
	* cp-tree.h (same_type_p): Ditto.
	(same_or_base_type_p): Ditto.
	(comptypes): Rename to cp_comptypes.
	* pt.c (canonical_type_parameter): Call cp_comptypes.

objcp:
2008-03-07  Paolo Bonzini  <bonzini@gnu.org>

	Revert:

	2008-02-07  Andreas Tobler  <andreast-list@fgznet.ch>
	            Douglas Gregor  <doug.gregor@gmail.com>
 
	PR bootstrap/35115
	* objcp-decl.c (objcp_comptypes): Call cp_comptypes, not comptypes.

From-SVN: r133007
2008-03-07 11:47:20 +00:00