Commit Graph

1561 Commits

Author SHA1 Message Date
Mark Mitchell b3f8d95d35 configure.in (arm*-*-eabi*): New target.
* configure.in (arm*-*-eabi*): New target.
	* configure: Regenerate.

	* configure.ac (arm*-*-eabi*): New target.
	(arm*-*-symbianelf*): Likewise.
	* configure: Regenerated.

	* config.gcc (arm*-*-eabi*): New target.
	* defaults.h (TARGET_LIBGCC_FUNCS): New macro.
	(TARGET_LIB_INT_CMP_BIASED): Likewise.
	* expmed.c (expand_divmod): Try a two-valued divmod function as a
	last resort.
	* gthr.h: Remove bogus tokens at end of #pragma.
	* optabs.c (expand_twoval_binop_libfunc): New function.
	(prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
	(prepare_float_lib_cmp): Try reversing the condition.
	(debug_optab_libfuncs): New function.
	* optabs.h (expand_twoval_binop_libfunc): Declare.
	* config/arm/arm.c (arm_init_libfuncs): New function.
	(arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
	(TARGET_INIT_LIBFUNCS): Define it.
	* config/arm/arm.h (TARGET_BPABI): New macro.
	* config/arm/arm-protos.h
	(arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
	* config/arm/bpabi.S: New file.
	* config/arm/bpabi.c: Likewise.
	* config/arm/bpabi.h: Likewise.
	* config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
	(__aeabi_drsub): Likewise.
	(__aeabi_dsub): Likewise.
	(__aeabi_dadd): Likewise.
	(__aeabi_ui2d): Likewise.
	(__aeabi_i2d): Likewise.
	(__aeabi_f2d): Likewise.
	(__aeabi_dmul): Likewise.
	(__aeabi_ddiv): Likewise.
	(__aeabi_cdrcmple): Likewise.
	(__aeabi_cdcmpeq): Likewise.
	(__aeabi_cdcmple): Likewise.
	(__aeabi_dcmpeq): Likewise.
	(__aeabi_dcmplt): Likewise.
	(__aeabi_dcmple): Likewise.
	(__aeabi_dcmpge): Likewise.
	(__aeabi_dcmpgt): Likewise.
	(__aeabi_dcmpun): Likewise.
	(__aeabi_d2iz): Likewise.
	(__aeabi_d2uiz): Likewise.
	(__aeabi_d2f): Likewise.
	* config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
	(__aeabi_frsub): Likewise.
	(__aeabi_fsub): Likewise.
	(__aeabi_fadd): Likewise.
	(__aeabi_ui2f): Likewise.
	(__aeabi_i2f): Likewise.
	(__aeabi_fmul): Likewise.
	(__aeabi_fdiv): Likewise.
	(__aeabi_cfrcmple): Likewise.
	(__aeabi_cfcmpeq): Likewise.
	(__aeabi_cfcmple): Likewise.
	(__aeabi_fcmpeq): Likewise.
	(__aeabi_fcmplt): Likewise.
	(__aeabi_fcmple): Likewise.
	(__aeabi_fcmpge): Likewise.
	(__aeabi_fcmpgt): Likewise.
	(__aeabi_fcmpun): Likewise.
	(__aeabi_f2iz): Likewise.
	(__aeabi_f2uiz): Likewise.
	* config/arm/lib1funcs.asm (ARM_CALL): New macro.
	(__aeabi_uidivmod): New function or alias.
	(__aeabi_idivmod): Likewise.
	(__aeabi_idiv0): Likewise.
	(__aeabi_ldiv0): Likewise.
	(__aeabi_llsr): Likewise.
	(__aeabi_lasr): Likewise.
	(__aeabi_llsl): Likewise.
	(bpabi.S): Include it.
	* config/arm/libgcc-bpabi.ver: New file.
	* config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
	(LINK_SPEC): Remove.
	* config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
	__aeabi_ulcmp.
	* config/arm/t-bpabi: New file.
	* doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
	(TARGET_LIB_INT_CMP_BIASED): Likewise.

	* gcc.dg/testsuite/gcc.dg/arm-eabi1.c: New test.
	* gcc.dg/dll-2.c: Fix dg-require syntax.
	* gcc.misc-tests/arm-isr.c (abort): Declare.
	(exit): Likewise.

From-SVN: r85788
2004-08-11 02:50:14 +00:00
Roger Sayle 236573882e mips.md: New reciprocal square root patterns that match sqrt(1.0/x) in addition to the...
* config/mips/mips.md: New reciprocal square root patterns that
	match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.

	* gcc.dg/mips-rsqrt-1.c: New test case.
	* gcc.dg/mips-rsqrt-2.c: New test case.
	* gcc.dg/mips-rsqrt-3.c: New test case.

From-SVN: r85759
2004-08-10 17:43:02 +00:00
David Edelsohn feb21f0d14 * gcc.dg/cpp/assert4.c: _AIX asserts #system(unix).
From-SVN: r85726
2004-08-09 18:01:05 -04:00
Paolo Bonzini b3bcf92c93 wchar_t-2.c: Fix typo.
2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

	* gcc.dg/wchar_t-2.c: Fix typo.

From-SVN: r85713
2004-08-09 07:24:23 +00:00
Mark Mitchell 2ed9e5272e symbian.h (CC1_SPEC): Avoid passing duplicate options to the compiler.
* config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
	to the compiler.  Use -fshort-wchar by default.

	* gcc.dg/symbian4.c: Expect a 2-byte wchar_t, not a 4-byte
	wchar_t.
	* gcc.dg/symbian5.c: Test -fno-short-wchar.

From-SVN: r85648
2004-08-06 17:51:45 +00:00
Richard Sandiford eaac467945 re PR c/13282 (A "-Wno..." switch to turn off "missing initializer" warnings)
PR c/13282
	* c.opt (Wmissing-field-initializers): New option.
	* c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
	* c-typeck.c (pop_init_level): Guard the missing field warning with
	warn_missing_field_initializers rather than extra_warnings.
	* doc/invoke.texi (-Wmissing-field-initializers): Document, moving
	some of the explanation from...
	(-Wextra): ...here.  Say that the missing field warning can be
	seperately controlled by -Wmissing-field-initializers.

cp/
	* typeck2.c (process_init_constructor): Guard the missing field warning
	with warn_missing_field_initializers rather than extra_warnings.

testsuite/
	* gcc.dg/missing-field-init-[12].c: New tests.
	* g++.dg/warn/missing-field-init-[12].C: New tests.

From-SVN: r85638
2004-08-06 11:23:23 +00:00
Mark Mitchell 866cf03731 symbian.h (CC1_SPEC): Add -fno-short-enums.
* config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
	(CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.

	* gcc.dg/enum2.c: New test.
	* gcc.dg/symbian3.c: Likewise.
	* gcc.dg/symbian4.c: Likewise.
	* gcc.dg/wchar_t-2.c: Likewise.

From-SVN: r85632
2004-08-06 07:54:19 +00:00
Mark Mitchell b2ca370228 tree.c (handle_dll_attribute): Move here from i383/winnt.c.
* tree.c (handle_dll_attribute): Move here from i383/winnt.c.
	Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P.  Set
	DECL_VISIBLITY.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
	* tree.h (handle_dll_attribute): Declare.  Test
	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
	* c-common.h (c_determine_visibility): Declare.
	* c-common.c (c_determine_visibility): New function.
	* c-decl.c (finish_decl): Use it.
	(finish_function): Likewise.
	* defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
	zero, by default.  Use #if, not	#ifdef, to test it.
	* config/arm/arm.c (arm_attribute_table): Use
	handle_dll_attribute.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
	#if.
	* config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
	* config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
	to 1.
	* config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
	* config/i386/i386.c (ix86_attribute_table): Use
	handle_dll_attribute for dllimport/dllexport.  Test
	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
	* config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
	* config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
	it to 1.
	* config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
	with #if.
	* config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
	it to 1.
	* doc/extend.texi (dllexport): Clarify and correct documentation.
	(dllimport): Likewise.
	* doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
	handle_dll_attribute.

	* decl.c (start_preparsed_function): Move determine_visibility
	call.
	* decl2.c (determine_visibility): Incorporate dllexport testing.

	* g++.dg/ext/visibility/assign1.C: Use scan-hidden and
	dg-require-visiblity.
	* g++.dg/ext/visibility/fvisibility-inlines-hidden.C: Likewise.
	* g++.dg/ext/visibility/fvisibility.C: Likewise.
	* g++.dg/ext/visibility/memfuncts.C: Likewise.
	* g++.dg/ext/visibility/new1.C: Likewise.
	* g++.dg/ext/visibility/pragma.C: Likewise.
	* g++.dg/ext/visibility/staticmemfuncts.C: Likewise.
	* g++.dg/ext/visibility/virtual.C: Likewise.
	* g++/dg/ext/visibility/visibility-1.C: Likewise.
	* g++/dg/ext/visibility/visibility-2.C: Likewise.
	* g++/dg/ext/visibility/visibility-3.C: Likewise.
	* g++/dg/ext/visibility/visibility-4.C: Likewise.
	* g++/dg/ext/visibility/visibility-5.C: Likewise.
	* g++/dg/ext/visibility/visibility-6.C: Likewise.
	* g++/dg/ext/visibility/visibility-7.C: Likewise.
	* g++/dg/ext/visibility/visibility-8.C: New test.
	* gcc.c-torture/compile/dll.x: Remove.
	* gcc.dg/dll-2.c: Use dg-require-dll
	* gcc.dg/visibility-10.c: New test.
	* lib/gcc-dg.exp (dg-require-dll): Add Symbian to list of targets
	supporting DLLs.
	* testsuite/lib/scanasm.exp (scan_hidden): New function.
	(scan_not_hidden): Likewise.

From-SVN: r85621
2004-08-06 02:03:29 +00:00
David Edelsohn d279700a68 * gcc.dg/sh4a-fprun.c: Fix dg-do typo.
From-SVN: r85605
2004-08-05 13:37:02 -04:00
Andrew Pinski fce731b52f 20020118-1.c: Declare abort.
2004-08-04  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.dg/20020118-1.c: Declare abort.
        * gcc.dg/altivec_check.h: Likewise.
        * gcc.dg/iftrap-2.c: Likewise.
        * gcc.dg/pragma-darwin.c: Likewise.
        * gcc.dg/rs6000-ldouble-1.c: Declare abort and exit.

From-SVN: r85594
2004-08-04 23:06:49 -07:00
Joseph Myers 852910694f c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and __UINTMAX_TYPE__.
* c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
	__UINTMAX_TYPE__.
	* c-cppbuiltin.c (builtin_define_stdint_macros): New.  Define
	__INTMAX_MAX__.
	(c_cpp_builtins): Call it.
	* doc/cpp.texi: Update.

testsuite:
	* gcc.c-torture/execute/builtins/abs-2.c,
	gcc.c-torture/execute/builtins/abs-3.c,
	gcc.c-torture/execute/builtins/lib/abs.c, gcc.dg/format/format.h,
	gcc.dg/torture/builtin-attr-1.c: Use predefined macros for
	intmax_t, uintmax_t and their limits.
	* gcc.dg/intmax_t-1.c: New test.

From-SVN: r85588
2004-08-05 01:38:31 +01:00
Richard Sandiford 54f2f9a648 mips-args-[23].c: Declare abort() and exit().
* gcc.dg/mips-args-[23].c: Declare abort() and exit().
	* gcc.dg/torture/mips-hilo-[12].c: Likewise.

From-SVN: r85567
2004-08-04 19:12:58 +00:00
David Edelsohn b0e9ac0850 * gcc.dg/compat/struct-layout-1.exp: Fix error message typo.
From-SVN: r85538
2004-08-03 21:43:30 -04:00
Joseph Myers 9cbe78fbeb c-decl.c (implicitly_declare): Diagnose incompatible implicit declarations.
* c-decl.c (implicitly_declare): Diagnose incompatible implicit
	declarations.

testsuite:
	* gcc.dg/redecl-5.c: New test.
	* gcc.dg/format/attr-6.c: Expect warning for implicit declaration
	of scanf.

From-SVN: r85509
2004-08-03 23:09:13 +01:00
Mark Mitchell 5357b1f9df symbian1.c: New test.
* gcc.dg/symbian1.c: New test.
	* gcc.dg/symbian2.c: Likewise.

From-SVN: r85505
2004-08-03 21:20:36 +00:00
H.J. Lu f6bc51cbc4 re PR target/16570 (missing _mm_malloc and _mm_free functions in xmmintrin.h)
gcc/

2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/16570
	* config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
	to tmake_file.
	(i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
	(i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
	to tmake_file.

	* config/i386/t-gmm_malloc: New file.
	* config/i386/t-pmm_malloc: Likewise.

	* config/i386/xmmintrin.h: Include <mm_malloc.h>.

2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
	    Tanguy Fautr�  <tfautre@pandora.be>

	* config/i386/pmm_malloc.h: New file.

2004-08-03  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/gmm_malloc.h: New file.

gcc/testsuite/

2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/16570
	* gcc.dg/i386-sse-9.c: New test.

From-SVN: r85496
2004-08-03 12:52:52 -07:00
Joseph Myers 7a1f75f1b7 * gcc.dg/array-7.c, gcc.dg/c99-tag-2.c: New tests.
From-SVN: r85479
2004-08-03 15:19:39 +01:00
Joseph Myers ee712eab15 20001023-1.c, [...]: Declare built-in functions used.
* gcc.dg/20001023-1.c, gcc.dg/20001108-1.c, gcc.dg/20001117-1.c,
	gcc.dg/20010202-1.c, gcc.dg/20011008-2.c, gcc.dg/20011214-1.c,
	gcc.dg/20020201-1.c, gcc.dg/20020312-2.c, gcc.dg/20020426-2.c,
	gcc.dg/20030331-2.c, gcc.dg/20030612-1.c, gcc.dg/20030926-1.c,
	gcc.dg/20031216-1.c, gcc.dg/20031218-3.c, gcc.dg/20040305-2.c,
	gcc.dg/980226-1.c, gcc.dg/Wreturn-type2.c,
	gcc.dg/Wunreachable-6.c, gcc.dg/Wunreachable-7.c,
	gcc.dg/align-1.c, gcc.dg/builtin-prefetch-1.c,
	gcc.dg/builtins-17.c, gcc.dg/builtins-19.c, gcc.dg/builtins-2.c,
	gcc.dg/builtins-20.c, gcc.dg/builtins-21.c, gcc.dg/builtins-7.c,
	gcc.dg/builtins-8.c, gcc.dg/cpp/19930510-1.c,
	gcc.dg/cpp/charconst-3.c, gcc.dg/cpp/charconst-4.c,
	gcc.dg/cpp/mi6.c, gcc.dg/cpp/tr-paste.c, gcc.dg/cpp/trad/mi6.c,
	gcc.dg/cpp/trad/paste.c, gcc.dg/cpp/trad/strify.c,
	gcc.dg/fastmath-1.c, gcc.dg/fshort-wchar.c, gcc.dg/i386-387-7.c,
	gcc.dg/i386-387-8.c, gcc.dg/i386-asm-1.c, gcc.dg/i386-cadd.c,
	gcc.dg/i386-fpcvt-3.c, gcc.dg/i386-loop-3.c,
	gcc.dg/i386-memset-1.c, gcc.dg/loop-2.c, gcc.dg/nest.c,
	gcc.dg/noncompile/971104-1.c, gcc.dg/noncompile/990416-1.c,
	gcc.dg/noncompile/scope.c, gcc.dg/pack-test-4.c,
	gcc.dg/pack-test-5.c, gcc.dg/pch/inline-4.c, gcc.dg/postincr-1.c,
	gcc.dg/pr10392-1.c, gcc.dg/pragma-align.c,
	gcc.dg/profile-generate-1.c, gcc.dg/sibcall-1.c,
	gcc.dg/sibcall-2.c, gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c,
	gcc.dg/sibcall-5.c, gcc.dg/sibcall-6.c, gcc.dg/switch-warn-1.c,
	gcc.dg/switch-warn-2.c, gcc.dg/torture/builtin-attr-1.c,
	gcc.dg/torture/builtin-math-1.c, gcc.dg/torture/builtin-noret-2.c,
	gcc.dg/trampoline-1.c, gcc.dg/tree-ssa/20030703-1.c,
	gcc.dg/tree-ssa/20030703-2.c, gcc.dg/tree-ssa/20030708-1.c,
	gcc.dg/tree-ssa/20030709-3.c, gcc.dg/tree-ssa/20030710-1.c,
	gcc.dg/tree-ssa/20030711-1.c, gcc.dg/tree-ssa/20030729-1.c,
	gcc.dg/tree-ssa/20030730-1.c, gcc.dg/tree-ssa/20030730-2.c,
	gcc.dg/tree-ssa/20030731-1.c, gcc.dg/tree-ssa/20030807-11.c,
	gcc.dg/tree-ssa/20030807-2.c, gcc.dg/tree-ssa/20030807-5.c,
	gcc.dg/tree-ssa/20030807-7.c, gcc.dg/tree-ssa/20030808-1.c,
	gcc.dg/tree-ssa/20030814-1.c, gcc.dg/tree-ssa/20030814-2.c,
	gcc.dg/tree-ssa/20030814-3.c, gcc.dg/tree-ssa/20030814-4.c,
	gcc.dg/tree-ssa/20030814-5.c, gcc.dg/tree-ssa/20030814-6.c,
	gcc.dg/tree-ssa/20030814-7.c, gcc.dg/tree-ssa/20030815-1.c,
	gcc.dg/tree-ssa/20030907-1.c, gcc.dg/tree-ssa/20030917-3.c,
	gcc.dg/tree-ssa/20030922-1.c, gcc.dg/tree-ssa/20031113-1.c,
	gcc.dg/tree-ssa/20040121-1.c, gcc.dg/tree-ssa/20040319-1.c,
	gcc.dg/tree-ssa/20040324-1.c, gcc.dg/tree-ssa/20040326-1.c,
	gcc.dg/tree-ssa/20040326-2.c, gcc.dg/tree-ssa/20040517-1.c,
	gcc.dg/tree-ssa/ssa-ccp-10.c, gcc.dg/tree-ssa/ssa-pre-1.c,
	gcc.dg/tree-ssa/tailcall-1.c, gcc.dg/tree-ssa/tailrecursion-5.c,
	gcc.dg/ultrasp3.c, gcc.dg/winline-7.c, gcc.misc-tests/bprob-1.c,
	gcc.misc-tests/bprob-2.c, gcc.misc-tests/gcov-3.c,
	gcc.misc-tests/gcov-4.c, gcc.misc-tests/gcov-4b.c,
	gcc.misc-tests/gcov-6.c, gcc.misc-tests/gcov-7.c,
	gcc.misc-tests/i386-pf-3dnow-1.c,
	gcc.misc-tests/i386-pf-athlon-1.c,
	gcc.misc-tests/i386-pf-none-1.c, gcc.misc-tests/i386-pf-sse-1.c,
	objc.dg/nested-func-1.m, objc.dg/special/unclaimed-category-1.m:
	Declare built-in functions used.
	* gcc.dg/torture/builtin-attr-1.c (nexttoward): Use FPTEST2ARG2.

From-SVN: r85465
2004-08-03 09:22:26 +01:00
Zack Weinberg 1f09d3eb5c ia64.c (got_symbolic_operand): Do require a symbol+offset operand to have its offset be zero mod 0x3fff when...
* config/ia64/ia64.c (got_symbolic_operand): Do require a
	symbol+offset operand to have its offset be zero mod 0x3fff
	when GOT entries are in use.  Clarify logic in SYMBOL_REF
	case.  Clarify comments.
	(ia64_expand_load_address): Split a symbol+offset load when
	the offset is nonzero mod 0x3fff, not 0x1fff.
testsuite:
	* gcc.dg/ia64-got-1.c: New test case.

From-SVN: r85426
2004-08-02 03:23:01 +00:00
Ben Elliston a4e41fdeec Patch for PR target/16155.
2004-08-02  Ben Elliston  <bje@au.ibm.com>

	PR target/16155
	* config/rs6000/altivec.h: Replace typeof with __typeof__.

[testsuite]
2004-08-02  Ben Elliston  <bje@au.ibm.com>

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

From-SVN: r85418
2004-08-02 11:05:47 +10:00
Joseph Myers 558d1f815d c-decl.c (diagnose_mismatched_decls): Give error for external redeclaration of identifier declared with no linkage...
* c-decl.c (diagnose_mismatched_decls): Give error for external
	redeclaration of identifier declared with no linkage, not just
	warning with -Wtraditional.  Do not check DECL_CONTEXT to give
	error for redeclaration with no linkage.

testsuite:
	* gcc.dg/redecl-2.c: New test.

From-SVN: r85386
2004-07-31 18:21:27 +01:00
Geoffrey Keating c1e55850cf rs6000.c (legitimate_lo_sum_address_p): Permit non-offsettable addresses even for DImode.
2004-07-30  Geoffrey Keating  <geoffk@apple.com>

	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Permit
	non-offsettable addresses even for DImode.
	(rs6000_split_multireg_move): Cope with non-offsettable addresses
	being moved into multiple GPRs.

	* config/rs6000/rs6000.c (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Default
	to 64.
	(rs6000_override_options): Use RS6000_DEFAULT_LONG_DOUBLE_SIZE.
	* config/rs6000/darwin.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define
	to 128.
	* config/rs6000/darwin-ldouble.c (isless): New macro.
	(inf): New macro.
	(nonfinite): New macro.
	(FPKINF): Delete.
	(_xlqadd): Completely rewrite.
	(_xlqmul): Correct overflow handling.
	(_xlqdiv): Correct overflow handling.
	* config/rs6000/darwin-ldouble-format: New file.

Index: testsuite/ChangeLog
2004-07-30  Geoffrey Keating  <geoffk@apple.com>

	* gcc.dg/darwin-longdouble.c: New file.

From-SVN: r85371
2004-07-31 01:40:18 +00:00
Aldy Hernandez 9497a3a471 vmx.exp: Explain why we skip tests for powerpc-eabispe.
* gcc.dg/vmx/vmx.exp: Explain why we skip tests for
	powerpc-eabispe.

From-SVN: r85346
2004-07-30 18:37:03 +00:00
Aldy Hernandez 0a925a32e2 * gcc.dg/vmx/vmx.exp: Disable tests for eabispe.
From-SVN: r85331
2004-07-30 13:51:12 +00:00
Diego Novillo d397dbcd99 tree-ssa-operands.c (get_expr_operands): Revert changes to ADDR_EXPR processing introduced by...
* tree-ssa-operands.c (get_expr_operands): Revert changes
	to ADDR_EXPR processing introduced by:
	    2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
	    * tree-ssa-operands.c (get_expr_operands): Minor rearrangements.

testsuite/ChangeLog

	* gcc.dg/tree-ssa/20040729-1.c: New test.

From-SVN: r85306
2004-07-29 13:15:38 -04:00
Matt Austern 8f4220dc92 darwin.c (darwin_one_byte_bool): New global variable.
* config/darwin.c (darwin_one_byte_bool): New global variable.
        * config/darwin.h (darwin_one_byte_bool): Declare.
        (SUBTARGET_OPTIONS): Define macro.  (for -mone-byte-bool flag.)
        * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Conditionalize on
        value of darwin_one_byte_bool.
        * doc/invoke.texi: Document -mone-byte-bool flag.
        * testsuite/gcc.dg/darwin-bool-1.c: New test.
        * testsuite/gcc.dg/darwin-bool-2.c: New test.

From-SVN: r85277
2004-07-28 23:57:28 +00:00
Diego Novillo 47a43a1046 20031022-1.c: Adjust number of expected loads.
* gcc.dg/tree-ssa/20031022-1.c: Adjust number of expected
	loads.  Not only in the comment, this time.

From-SVN: r85261
2004-07-28 08:15:20 -04:00
Alexandre Oliva 312209c6a5 Introduce sh4a support.
gcc/ChangeLog:
Introduce sh4a support.
* config.gcc: Handle sh4a multilibs and cpu selection.
* config/sh/sh.h: Likewise.  Handle sh4a command line flags.
* config/sh/t-mlib-sh4a: New.
* config/sh/t-mlib-sh4al: New.
* config/sh/t-mlib-sh4a-nofpu: New.
* config/sh/t-mlib-sh4a-single: New.
* config/sh/t-mlib-sh4a-single-only: New.
2004-02-20  DJ Delorie  <dj@redhat.com>
* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
2003-08-22  Eric Christopher  <echristo@redhat.com>
* config/sh/sh4a.md: Update for chip errata.
2003-08-07  Eric Christopher  <echristo@redhat.com>
* config/sh/sh4a.md: New file. sh4a processor description.
2003-07-08  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (TARGET_SWITCHES): Added 4al.  Adjust description
of -m4a-nofpu.
(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
* doc/invoke.texi (SH Options): Document -m4al.
2003-07-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Remove commented-out code
checked in by mistake.
(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
single elements from SFmode vectors.
* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
register.
(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Remove variable declarations.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New functions.
(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
sh_fsca_int2sf_rtx): New static variables.
* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Declare.
* config/sh/sh.md: Adjust.
* doc/invoke.texi (SH Options): Document new options.
* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
compatibility from SH4 code.
2003-06-27  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
early.
(memory_movsrc_operand): Renamed to...
(unaligned_load_operand): ... this.  Simplified.
* config/sh/sh.h (PREDICATE_CODES): Adjust.
* config/sh/sh.md (movua, extv, extzv): Likewise.  Change movua's
input operand to SImode, and adjust the others.  Introduce
post-increment by peephole.
* config/sh/sh.c (expand_block_move): Give the target address the
same mode as the temp reg.
* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
copying.
2003-06-26  Alexandre Oliva  <aoliva@redhat.com>
Introduce support for SH4a.
* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
__SH4A__.  Emit 4 4kb blocks and touch all of them otherwise.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New.
(sh_init_builtins): Initialize them.
(print_operand): Support `d'.
(expand_block_move): Use movua if src is misaligned.
(memory_movsrc_operand): New.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
and one of the SH4 macros.
(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
SELECT_SH4A_SINGLE): New.
(TARGET_NONE): Add SH4A_BIT.
(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
(enum processor_type): Added PROCESSOR_SH4A.
(PREDICATE_CODES): Add memory_movsrc_operand.
* config/sh/sh.md: Removed unused variables.
(attr cpu): Add sh4a.
(attr type): Add movua, fsrra and fsca.
(prefetch): New, for SH4.
(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
(toggle_sz): Set type to fp.
(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
(movua, extv, extzv): New.
* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
and 4a-single-only.
gcc/testsuite/ChangeLog:
2003-07-06  Alexandre Oliva  <aoliva@redhat.com>
* gcc.dg/sh4a-memmovua.c: Tweak regular expression.
2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
* gcc.dg/sh4a-bitmovua.c: New.
* gcc.dg/sh4a-cos.c: New.
* gcc.dg/sh4a-cosf.c: New.
* gcc.dg/sh4a-fprun.c: New.
* gcc.dg/sh4a-fsrra.c: New.
* gcc.dg/sh4a-memmovua.c: New.
* gcc.dg/sh4a-sin.c: New.
* gcc.dg/sh4a-sincos.c: New.
* gcc.dg/sh4a-sincosf.c: New.
* gcc.dg/sh4a-sinf.c: New.
libstdc++-v3/ChangeLog:
2003-10-01  Eric Christopher  <echristo@redhat.com>
* config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
constraint.
2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
* config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.

From-SVN: r85257
2004-07-28 09:13:58 +00:00
Diego Novillo c1b763fa9a tree-optimize.c (init_tree_optimization_passes): Schedule pass_may_alias right after the program is renamed into SSA.
* tree-optimize.c (init_tree_optimization_passes): Schedule
	pass_may_alias right after the program is renamed into SSA.
	* tree-pass.h (PROP_alias): Define.
	* tree-outof-ssa.c (pass_del_ssa): Require PROP_alias.
	* tree-sra.c (pass_sra): Likewise.
	* tree-ssa-ccp.c (pass_ccp): Likewise.
	* tree-ssa-copyrename.c (pass_rename_ssa_ccp): Likewise.
	* tree-ssa-dce.c (pass_dce): Likewise.
	* tree-ssa-dom.c (pass_dominator): Likewise.
	* tree-ssa-dse.c (pass_dse): Likewise.
	* tree-ssa-forwprop.c (pass_forwprop): Likewise.
	* tree-ssa-loop-ch.c (pass_ch): Likewise.
	* tree-ssa-phiopt.c (pass_phiopt): Likewise.
	* tree-ssa-pre.c (pass_pre): Likewise.
	* tree-tailcall.c (pass_tail_recursion): Likewise.
	* tree-ssa.c (pass_redundant_phi): Likewise.
	* tree-ssa-alias.c (aliases_computed_p): Remove.
	Update all users.
	(init_alias_info): Do not mark all type tags for renaming
	unconditionally.
	Clear may_aliases from every symbol.
	(setup_pointers_and_addressables): If a pointer has not been
	dereferenced and it had a type tag, clear it and mark the old
	tag for renaming.


testsuite/ChangeLog

	* gcc.dg/tree-ssa/20030714-2.c: Adjust number of expected
	conditionals.
	* gcc.dg/tree-ssa/20031022-1.c: Adjust number of expected
	loads.
	* gcc.dg/tree-ssa/ssa-dom-cse-1.c: Expect optimization in
	DOM1.

From-SVN: r85255
2004-07-28 01:13:10 -04:00
Niall Douglas d7afec4b07 re PR c++/9283 (__attribute__((visibility ("hidden"))) not supported for class/struct)
PR c++/9283
	PR c++/15000
	* c-common.c (c_common_attribute_table): Allow
	handle_visibility_attribute to be called for types.
	(handle_visibility_attribute) When given a type, set the visibility
	bits on the TYPE_NAME.  When given a decl, don't set no_add_attrs
	so that we can check later whether the attribute was present. Added
	warning if attribute applied to non class type.
	* c-decl.c (diagnose_mismatched_decls): Updated rules for merging
	decls and checking that they are consistent.
	* common.opt: Added -fvisibility.
	* c.opt, c-opts.c: Added -fvisibility-inlines-hidden.
	* c-pragma.h, c-pragma.c: Added handle_pragma_visibility().
	* flags.h, tree.h: Added assorted support defines for overall patch
	* opts.c: Added parsing support for -fvisibility.
	* tree.c (build_decl): Set visibility for all decls to be whatever
	is in force at that time.
	* varasm.c (default_binds_local_p_1): Reworked logic determining
	when to make a symbol locally bound.
	* doc/invoke.texi: Added documentation for -fvisibility and
	-fvisibility-inlines-hidden.

	PR c++/15000
	PR c++/9283
	* class.c (check_field_decls): Apply hidden visibility if
	-fvisibility-inlines-hidden and inlined unless otherwise specified
	(build_vtable): Set vtable visibility to class visibility.
	(check_field_decls): Default static member visibility to class
	visibility.
	(check_methods): Default method visibility to class visibility.
	* cp-tree.h: Added CLASSTYPE_VISIBILITY and
	CLASSTYPE_VISIBILITY_SPECIFIED macro.
	* decl.c (duplicate_decls): New logic for merging definition decls
	with declaration decls. Added ignore & warning when non default
	applied to global operator new or delete.
	* method.c, optimize.c, rtti.c: Added setting of VISIBILITY_SPECIFIED
	wherever VISIBILITY was changed
	* rtti.c (get_tinfo_decl): Set typeinfo visibility to class
	visibility.
	(tinfo_base_init): Set typeinfo name visibility to class visibility.

	PR c++/9283
	PR c++/15000
	* gcc.dg/visibility-9.c, gcc.dg/visibility-a.c: New tests.
	* g++.dg/ext/visibility/: New directory.
	* g++.dg/ext/visibility-1.C, g++.dg/ext/visibility-2.C
	g++.dg/ext/visibility-3.C, g++.dg/ext/visibility-4.C,
	g++.dg/ext/visibility-5.C, g++.dg/ext/visibility-6.C,
	g++.dg/ext/visibility-7.C: Move to g++.dg/ext/visibility/.
	* g++.dg/ext/visibility/fvisibility.C,
	g++.dg/ext/visibility/fvisibility-inlines-hidden.C,
	g++.dg/ext/visibility/fvisibility-override1.C
	g++.dg/ext/visibility/fvisibility-override2.C
	g++.dg/ext/visibility/memfuncts.C
	g++.dg/ext/visibility/noPLT.C
	g++.dg/ext/visibility/pragma.C
	g++.dg/ext/visibility/pragma-override1.C
	g++.dg/ext/visibility/pragma-override2.C
	g++.dg/ext/visibility/staticmemfuncts.C
	g++.dg/ext/visibility/virtual.C: New tests.

Co-Authored-By: Brian Ryner <bryner@brianryner.com>

From-SVN: r85167
2004-07-25 22:52:22 +00:00
Joseph Myers bbbcb2e1c4 re PR c/15360 (c99: extern w/initializer; extern w/internal linkage)
PR c/15360
	* c-decl.c (start_decl): Do not set DECL_EXTERNAL for initialized
	declarations until after calling pushdecl.
	(grokdeclarator): Set DECL_EXTERNAL for variables based on use of
	"extern" and not on whether the declaration is initialized.

testsuite:
	* gcc.dg/pr15360-1.c: New test.

From-SVN: r85156
2004-07-25 19:42:24 +01:00
Daniel Jacobowitz dfe79cab9b pragma-align-2.c: New test.
* gcc.dg/pragma-align-2.c: New test.
	* gcc.dg/pragma-init-fini.c: New test.
	* gcc.dg/pragma-align.c: Change from compile to run.  Run on Solaris
	targets.

From-SVN: r85154
2004-07-25 18:08:52 +00:00
Joseph Myers 197463ae90 c-typeck.c (digest_init): Don't allow arrays of signed or unsigned variants of wchar_t to be initialized...
* c-typeck.c (digest_init): Don't allow arrays of signed or
	unsigned variants of wchar_t to be initialized by wide string
	constants.  Do allow arrays of enumerated types compatible with
	wchar_t to be initialized by wide string constants.  Refine tests
	distinguishing wide and narrow strings and arrays.  Give specific
	error for arrays of other integer types initialized by string
	constants.
	(output_init_element, process_init_element): Check for
	INTEGRAL_TYPE_P rather than just for INTEGER_TYPE when
	initializing with string constants.

testsuite:
	* gcc.dg/init-string-2.c: New test.

From-SVN: r85146
2004-07-25 10:12:21 +01:00
Zack Weinberg c5e36c09e5 Zack Weinberg <zack@codesourcery.com
2004-07-24  Alexander Kabaev  <kan@freebsd.org>
	    Zack Weinberg  <zack@codesourcery.com

	PR 16684
	* c-decl.c (diagnose_mismatched_decls): Don't issue a
	redundant-declaration warning the first time a builtin is
	declared explicitly.
testsuite:
	* gcc.dg/Wredundant-decls-1.c: New test case.

From-SVN: r85140
2004-07-25 03:58:50 +00:00
Mike Stump 0c6d842886 c-typeck.c (convert_for_assignment): Tightened up pointer converstions that differ in signedness.
* c-typeck.c (convert_for_assignment): Tightened up pointer converstions
        that differ in signedness.
Apple Radar 2535328.

From-SVN: r85114
2004-07-24 07:32:15 +00:00
Jakub Jelinek 5aa33bdb4f Makefile.in (site.exp): Add HOSTCC and HOSTCFLAGS to site.exp.
* Makefile.in (site.exp): Add HOSTCC and HOSTCFLAGS to site.exp.
testsuite/
	* README.compat: Add RUN_ALL_COMPAT_TESTS documentation.
	* lib/compat.exp: Replace ^$tmpdir/? in testcase names with tmpdir-.
	* gcc.dg/compat/struct-layout-1.exp: New testsuite driver.
	* gcc.dg/compat/struct-layout-1_generate.c: New testcase generator.
	* gcc.dg/compat/generate-random.c: New file.
	* gcc.dg/compat/generate-random.h: Likewise.
	* gcc.dg/compat/generate-random_r.c: Likewise.
	* gcc.dg/compat/struct-layout-1.h: Likewise.
	* gcc.dg/compat/struct-layout-1_x1.h: Likewise.
	* gcc.dg/compat/struct-layout-1_x2.h: Likewise.
	* gcc.dg/compat/struct-layout-1_y1.h: Likewise.
	* gcc.dg/compat/struct-layout-1_y2.h: Likewise.
	* gcc.dg/compat/struct-layout-1_main.c: New test.
	* gcc.dg/compat/struct-layout-1_x.c: New file.
	* gcc.dg/compat/struct-layout-1_y.c: New file.
	* gcc.dg/compat/struct-layout-1_test.h: New file.

From-SVN: r85098
2004-07-24 00:36:47 +02:00
Joseph Myers 7eb01bd829 c-decl.c (start_function): Form composite type of function types rather than copying type from previous...
* c-decl.c (start_function): Form composite type of function types
	rather than copying type from previous prototype declaration.

testsuite:
	* gcc.dg/comp-return-1.c: New test

From-SVN: r85093
2004-07-23 20:22:13 +01:00
Janis Johnson c7bb2a0348 8-02a.c: Fix typo.
2004-07-23  Janis Johnson  <janis187@us.ibm.com>

	* gcc.dg/vmx/8-02a.c: Fix typo.

From-SVN: r85088
2004-07-23 18:27:57 +00:00
Janis Johnson b9eef87830 varargs-4.c: Remove a Darwin-specific check.
2004-07-23  Janis Johnson  <janis187@us.ibm.com>

	* gcc.dg/vmx/varargs-4.c: Remove a Darwin-specific check.
	* gcc.dg/darwin-abi-3.c: New test.

From-SVN: r85087
2004-07-23 18:25:47 +00:00
Janis Johnson 47120c071d debug-1.c: Use int, not long, in union with vector.
2004-07-23  Janis Johnson  <janis187@us.ibm.com>

	* gcc.dg/vmx/debug-1.c: Use int, not long, in union with vector.
	* gcc.dg/vmx/varargs-1.c: Use int, not long, in union with vector.

From-SVN: r85086
2004-07-23 18:22:57 +00:00
Janis Johnson 13f914441a ops.c: Remove checks using pointers to long.
2004-07-23  Janis Johnson  <janis187@us.ibm.com>

	* gcc.dg/vmx/ops.c: Remove checks using pointers to long.
	* gcc.dg/vmx/ops-long-1.c: New test.
	* gcc.dg/vmx/ops-long-2.c: New test.

From-SVN: r85085
2004-07-23 18:20:21 +00:00
Brian Booth 173b818d9c tree-ssa-ccp.c (latticevalue): Add UNKNOWN_VAL.
* tree-ssa-ccp.c (latticevalue): Add UNKNOWN_VAL.
	(substitute_and_fold): Propigate into VUSE operands when possible.
	(visit_phi_node): Handle UNKNOWN_VAL latticevalue.
	(cp_lattice_meet): Handle merging of latticevalues when
	UNKNOWN_VAL is present.
	(visit_stmt): Visit assignments with V_MUST_DEFs.
	(visit_assignment): Gather ccp information for V_MUST_DEF operands.
	(ccp_fold): Deal with RHS' that are constant and virtual.
	(evaluate_stmt): Handle UNKNOWN_VAL likely values.
	(dump_lattice_value): Dump UNKNOWN_VAL latticevalues.
	(initialize): Mark statements with V_MUST_DEFs as VARYING only if the
	V_MUST_DEF operand is VARYING. Fix comment and include VOPS when
	computing immediate uses.
	(set_lattice_value): Disallow a UNKNOWN_VAL->UNDEFINED state
	transition.
	(replace_vuse_in): New function.
	(likely_value): Add check of vuse operands.
	(get_default_value): Set the default value of virtually defined
	variables to UKNOWN_VAL instead of VARYING.

testsuite:

	* gcc.dg/tree-ssa/20040721-1.c: New test.

From-SVN: r85055
2004-07-22 18:33:20 +00:00
Hans-Peter Nilsson 7413a13251 cris-peep2-xsrand.c, [...]: New tests.
* gcc.dg/cris-peep2-xsrand.c, gcc.dg/cris-peep2-andu1.c,
	gcc.dg/cris-peep2-andu2.c: New tests.

From-SVN: r85040
2004-07-22 10:08:29 +00:00
Joseph Myers e508a0190b re PR c/15052 (gcc frontend accepts mismatched function declaration/defintion)
PR c/15052
	* c-decl.c (grokdeclarator): Only pedwarn for qualified void
	return type on function definitions.  Move other warnings for
	qualified return type to -Wreturn-type.  Do not condition any such
	warnings on -pedantic.  Update comments.
	(start_function): Only copy function type from previous prototype
	declaration if return types are compatible.
	* c-typeck.c (function_types_compatible_p): Don't condition
	warning for incompatibility of volatile qualifiers on the return
	type on -pedantic.  Update comment.
	* doc/invoke.texi (-Wreturn-type, -Wextra): Update.

testsuite:
	* gcc.dg/noreturn-5.c: Test qualifiers on function type instead of
	on return type.
	* gcc.dg/qual-return-1.c: Use -Wreturn-type.  Update expected
	messages.
	* gcc.dg/qual-return-2.c: Update expected messages.
	* gcc.dg/qual-return-3.c, gcc.dg/qual-return-4.c: New tests.

From-SVN: r85024
2004-07-22 01:00:47 +01:00
Joseph Myers 3ea8cd0655 c-typeck.c (set_init_index): Require designator to be of integer type.
* c-typeck.c (set_init_index): Require designator to be of integer
	type.

testsuite:
	* gcc.dg/c99-init-3.c, gcc.dg/gnu99-init-2.c: New tests.
	* gcc.dg/noncompile/921102-1.c: Update expected error message.

From-SVN: r85023
2004-07-22 00:51:29 +01:00
Joseph Myers 916c59199c re PR c/11250 (-pedantic accepts `char a[] = ("x");')
PR c/11250
	* c-parse.in (init): Change to exprtype.
	(primary): Set original_code for STRING to STRING_CST.
	Call maybe_warn_string_init for compound literals.
	(initdcl, notype_initdcl): Call maybe_warn_string_init.
	(initval): Update.
	* c-tree.h (maybe_warn_string_init): New.
	(pop_init_level, process_init_element): Use struct c_expr.
	(struct c_expr): Update comment.
	* c-typeck.c (maybe_warn_string_init): New function.
	(digest_init): Call it.  Additional parameter strict_string.  All
	callers changed.
	(output_init_element): Likewise.
	(struct constructor_stack): Use struct c_expr for
	replacement_value.
	(really_start_incremental_init, push_init_level): Update.
	(pop_init_level): Update.  Return struct c_expr.
	(process_init_level): Update.  Take struct c_expr argument.

testsuite:
	* gcc.dg/init-string-1.c: New test.

From-SVN: r85022
2004-07-22 00:46:20 +01:00
Jakub Jelinek 1ff69cbed5 re PR middle-end/15345 ([non-unit-at-a-time] unreferenced nested inline functions not optimized away)
PR middle-end/15345
	PR c/16450
	* gcc.dg/torture/nested-fn-1.c: New test.

From-SVN: r84999
2004-07-21 09:39:09 +02:00
H.J. Lu 7448a4d2a2 re PR target/16559 (Incorrect code generated for function pointer)
2004-07-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/16559
	* gcc.dg/ia64-fptr-1.c: New file.

From-SVN: r84995
2004-07-20 19:35:55 -07:00
Joseph Myers a182b26d35 * gcc.dg/pr12625-1.c: New test.
From-SVN: r84953
2004-07-20 15:58:02 +01:00
Steven Bosscher a6c0a76c5f c-common.h (check_case_value): Remove prototype.
* c-common.h (check_case_value): Remove prototype.
        (c_add_case_label): Adjust prototype.
        * c-common.c (check_case_value): Make static.
        (check_case_bounds): New function.
        (c_add_case_label): Use it.  Take new argument orig_type.
        * c-typeck.c (struct c_switch): New orig_type field.
        (c_start_case): Set it.
        (do_case): Pass it to c_add_case_label.
        * expr.c (expand_expr_real_1): Don't warn for out-of-bounds
        cases from here.  Add the labels in reverse order.
        * stmt.c (struct case_node): Adjust comment.  Remove balance field.
        (add_case_node): Return nothing, don't check for duplicate cases.
        Insert new case nodes in a list, not in an AVL tree.
        (expand_end_case_type): Don't turn a case tree into a case list.
        (case_tree2list): Remove.
        * tree.h (add_case_node): Adjust prototype.

cp/
        * cp-tree.h (struct lang_decl_flags): Unify the template_info and
        thunk_alias, and the access and virtual_offset fields.
        (THUNK_VIRTUAL_OFFSET, THUNK_ALIAS): Adjust.
        * decl.c (finish_case_label): Update c_add_case_node call.

testsuite/
	* testsuite/gcc.dg/switch-warn-1.c: New test.
	* testsuite/gcc.dg/switch-warn-2.c: New test.
        * gcc.c-torture/compile/pr14730.c: Update

From-SVN: r84947
2004-07-20 09:57:13 +00:00