2005-05-31 Geoffrey Keating <geoffk@geoffk.org>
* config/rs6000/rs6000.md (sync_boolcshort_internal): New.
* config/rs6000/rs6000.c (rs6000_emit_sync): Shift count must
be complemented for big-endian. Mask for AND must be rotated,
not shifted. Handle short operands with NOT on the memory
operation.
Index: testsuite/ChangeLog
2005-05-31 Geoffrey Keating <geoffk@geoffk.org>
* lib/target-supports.exp
(check_effective_target_sync_char_short): New.
* gcc.dg/sync-2.c: New.
From-SVN: r100515
2005-05-16 David Billinghurst <David.Billinghurst@riotinto.com>
PR libstdc++/21526
* lib/target-supports.exp (check_mkfifo_available):
Return 0 for cygwin as mkfifo support incomplete on platform.
Fix typos in comments.
From-SVN: r99757
* builtins.c (expand_builtin_sync_operation): Revert last change.
* optabs.c (expand_bool_compare_and_swap): Compare vs old value,
not vs new value.
(expand_compare_and_swap_loop): Likewise.
(expand_sync_operation): Remove fallback from NAND to AND; invert
memory operand when expanding from cmpxchg.
(expand_sync_fetch_operation): Likewise.
* doc/extend.texi (Atomic Builtins): Fix docs for nand and
compare-and-swap.
* config/alpha/alpha.c (alpha_split_atomic_op): Invert memory operand
when implementing NAND. Fix double-add for AFTER.
* config/alpha/sync.md (sync_nand<I48MODE>): Invert memory operand.
(sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise.
(sync_compare_and_swap<I48MODE>): Fix compare vs zero. Return old
memory value.
(sync_lock_test_and_set<I48MODE>): Remove extra label and last
memory barrier.
* config/i386/sync.md (sync_compare_and_swap<IMODE>): Fix pattern
to return old memory value.
(sync_compare_and_swap_cc<IMODE>): Likewise.
* config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Early
return pre-reload. Don't consider output or anti dependencies.
* config/ia64/sync.md (IMODE): New.
(modesuffix): Add QI and HI.
(memory_barrier): Simplify expansion.
(sync_compare_and_swap<IMODE>): Use IMODE, not I48MODE.
(cmpxchg_acq_<IMODE>): Likewise.
(sync_lock_test_and_set<IMODE>): Likewise.
(sync_lock_release<IMODE>): Likewise.
From-SVN: r98436
* lib/target-supports.exp (get_compiler_messages): Support
optional arguments, the fourth being compiler options.
(check_effective_target_fpic): New proc.
* gcc.dg/20050321-2.c: Restrict to target fpic.
From-SVN: r97763
* g++.dg/ext/visibility/pragma-override1.C: Mark as requiring
'internal' visibility.
* g++.dg/ext/visibility/pragma-override2.C: Likewise.
* g++.dg/ext/visibility/visibility-7.C: Mark as requiring
'protected' visibility.
* gcc.dg/visibility-7.c: Likewise.
* lib/target-supports.exp (check_visibility_available): Take
a parameter, the kind of visibility to check for.
* lib/target-supports-dg.exp (dg-require-visibility): Pass parameter
to check_visibility_available.
From-SVN: r97031
* lib/target-supports.exp (check_iconv_available): Default
libiconv to -liconv, if there is no definition.
* testsuite/lib/libstdc++.exp (libstdc++_init): Improve handling
of compilers not in the build directory.
(libstdc++_wchar_t): New variable.
(libstdc++_threads): Likewise.
(libstdc++_test_objs): Likewise.
(v3_target_compile): Use libstdc++_test_objs.
(v3-list-tests): Remove.
(listdc++_build_support): New function.
* testsuite/libstdc++-dg/normal.exp: Rework to dynamically
generate list of tests.
From-SVN: r96934
* lib/file-format.exp (gcc_target_object_format): Add check for som
format and hardcode object formats on hppa*-*-hpux*.
* lib/target-supports.exp (check_weak_available): Add check for som
object format. Always return 0 on hppa*-*-hpux10*.
* gcc.dg/titype-1.c, gcc.dg/uninit-C.c: Don't use TImode if __hppa__
is defined.
* objc.dg/stabs-1.m: hppa*64*-*-* doesn't have stabs.
From-SVN: r95982
* lib/target-supports.exp (current_target_name): New.
(check_effective_target_ilp32, check_effective_target_lp64):
Cache the result to use as long as the current target, with
multilib flags, remains the same.
From-SVN: r94168
* lib/gcc-dg.exp (dg-process-target): Wrapper for dg function to
handle effective-target-keyword.
(dg-skip-if): Support effective-target keyword as target list.
(dg-xfail-if): Ditto.
* lib/target-supports.exp (is-effective-target-keyword): New proc.
From-SVN: r91592
2004-11-19 Mark Mitchell <mark@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* lib/target-supports.exp (check_visibility_available): Really
test the compiler.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r90937
2004-10-28 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/visibility-[1-9a].c: Change to use scan-hidden instead of
scan-assembler.
* lib/scanasm.exp (hidden-scan-for): New proc.
(scan-hidden): Use hidden-scan-for instead of constructing the scan
string.
(scan-not-hidden): Likewise.
* lib/target-supports.exp (check_visibility_available): mach-o is
support too.
From-SVN: r89793
/
* configure.in: Remove target-libstdc++-v3 from noconfigdirs for
*-*-netware, but add target-libmudflap.
Consolidate *-*-netware targets (of which really only i?86 exists)
into a single entry.
* configure: Likewise.
gcc/
* config.gcc: Resurrect NetWare as a target. Handle special case of
Novell linker to be used (specified through --with-ld=) and threading
model of either Posix (default) or NKS.
* config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
* config/i386/netware.c, config/i386/netware.h: New.
* config/i386/nwld.c, config/i386/nwld.h: New.
* config/i386/netware-crt0.c: New.
* config/i386/netware-libgcc.c: New.
* config/i386/netware-libgcc.def: New.
* config/i386/netware-libgcc.exp: New.
* config/i386/t-netware, config/i386/t-nwld: New.
* gthr-nks.h: New.
* doc/install.texi: Document NKS threading model.
gcc/cp/
* g++spec.c (MATH_LIBRARY_PROFILE): Default to MATH_LIBRARY rather
than "-lm".
gcc/testsuite/
* g++.dg/abi/bitfield5.C: Use -mno-ms-bitfields.
* g++.old-deja/g++.jason/thunk2.C: xfail for NetWare.
* g++.old-deja/g++.law/profile1.C: xfail for NetWare.
* g++.old-deja/g++.other/store-expr1.C: xfail for NetWare.
* gcc.c-torture/compile/20001109-1.c: xfail for NetWare.
* gcc.c-torture/compile/20001109-2.c: xfail for NetWare.
* gcc.c-torture/execute/multi-ix.c: Use __builtin_bzero rather than
the non-portable bzero.
* gcc.dg/20010912-1.c: xfail for NetWare.
* gcc.dg/20020426-2.c: xfail for NetWare.
* gcc.dg/20021014-1.c: xfail for NetWare.
* gcc.dg/20021018-1.c: xfail for NetWare.
* gcc.dg/20030213-1.c: xfail for NetWare.
* gcc.dg/20030225-1.c: xfail for NetWare.
* gcc.dg/20030708-1.c: xfail for NetWare.
* gcc.dg/builtins-config.h: Also exclude NetWare.
* gcc.dg/format/format.h: Define restrict only if not already defined.
* gcc.dg/nest.c: xfail for NetWare.
* gcc.dg/special/gcsec-1.c: Don't pass -static for NetWare.
* lib/target-supports.exp (check_visibility_available): Exclude
NetWare.
fixincludes/
* inclhack.def: Suppress exception_structure and math_exception
for NetWare headers.
* fixincl.x: Regenerate.
libstdc++-v3/
* crossconfig.m4: Add NetWare as a target.
* configure: Regenerate.
From-SVN: r87040
2004-05-28 Janis Johnson <janis187@us.ibm.com>
* lib/target-supports.exp (check_vmx_hw_available): New.
* gcc.dg/vmx/vmx.exp: Use it to determine default action.
From-SVN: r82390
2004-03-08 Eric Christopher <echristo@redhat.com>
* Makefile.in (site.exp): Add libiconv variable definition.
2004-03-08 Eric Christopher <echristo@redhat.com>
* * lib/target-supports.exp: Enable libiconv in test
compilation. Fix up error checking.
From-SVN: r79148
* lib/file-format.exp (gcc_target_object_format): Use
${tool}_target_compile, not gcc_target_compile.
* lib/target-supports.exp (check_alias_available): Likewise.
(check_gc_sections_available): Likewise.
* g++.dg/ext/attrib10.C: Use dg-require-alias.
* g++.old-deja/g++.ext/attrib5.C: Use dg-require-weak and
dg-require-alias.
From-SVN: r77295