Commit Graph

120308 Commits

Author SHA1 Message Date
H.J. Lu
f64bcb29f5 Properly set MULTISUBDIR and gcc_version
* configure.ac: Properly set MULTISUBDIR.
	* asan/Makefile.am (gcc_version): New.
	* interception/Makefile.am (gcc_version): Likewise.
	* sanitizer_common/Makefile.am (gcc_version): Likewise.
	* configure: Regenerated.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.

From-SVN: r193534
2012-11-15 08:00:47 -08:00
Jakub Jelinek
671e554d87 asan.c (report_error_func): Set DECL_IGNORED_P, don't touch DECL_ASSEMBLER_NAME.
* asan.c (report_error_func): Set DECL_IGNORED_P, don't touch
	DECL_ASSEMBLER_NAME.
	(asan_init_func): Likewise.
	(asan_finish_file): Use void * instead of __asan_global * as
	type of __asan_{,un}register_globals.  Set DECL_IGNORED_P on
	the decls.

From-SVN: r193532
2012-11-15 14:12:36 +01:00
Dodji Seketeli
8b7ec4233d Add myself as asan co-reviewer
ChangeLog:

	* MAINTAINERS: (asan.c, related): Add myself.

From-SVN: r193530
2012-11-15 13:36:50 +01:00
Matthias Klose
9eae39049b Makefile.in (if_multiarch): Don't use a GNU make 3.81 feature.
2012-11-15  Matthias Klose  <doko@ubuntu.com>

        * Makefile.in (if_multiarch): Don't use a GNU make 3.81 feature.

From-SVN: r193529
2012-11-15 11:58:42 +00:00
Jason Merrill
d28bdb60d7 tests
From-SVN: r193527
2012-11-14 20:54:00 -05:00
Jason Merrill
e7cf651365 re PR c++/37276 (Trouble with some (C99?) math builtins and namespace std)
PR c++/37276
	* decl.c (decls_match): Remove #ifdef around earlier fix.

From-SVN: r193526
2012-11-14 20:53:48 -05:00
Jason Merrill
d3061adb7f class.c (finish_struct_1): Check virtual functions for missing ABI tags.
* class.c (finish_struct_1): Check virtual functions
	for missing ABI tags.

From-SVN: r193525
2012-11-14 20:53:37 -05:00
Jason Merrill
4fce678f8a re PR c++/55275 (abi_tag attribute doesn't work on explicit specializations of class templates)
PR c++/55275
	* pt.c (maybe_process_partial_specialization): Update
	DECL_SOURCE_LOCATION for new specializations.

From-SVN: r193524
2012-11-14 20:53:23 -05:00
Jonathan Wakely
c25639b1a3 re PR libstdc++/53841 ([C++11] condition_variable::wait_until() fails with high resolution clocks)
PR libstdc++/53841
	* include/std/condition_variable (condition_variable::wait_until):
	Handle clocks with higher resolution than __clock_t.
	(condition_variable::__wait_until_impl): Remove unnecessary _Clock
	parameter.
	* testsuite/30_threads/condition_variable/members/53841.cc: New.

From-SVN: r193523
2012-11-15 01:38:17 +00:00
Jan Hubicka
6c2b4cacb9 re PR bootstrap/55051 (profiledbootstrap failed)
PR bootstrap/55051
	* gcov-io.c (gcov_read_summary): Fix array bound check.

From-SVN: r193522
2012-11-15 01:07:01 +00:00
Roland McGrath
ff4b7a7e91 Consider *-*-nacl* targets ELF
* configure.ac (ENABLE_GOLD): Consider *-*-nacl* targets ELF.
	* configure: Regenerate.

From-SVN: r193521
2012-11-14 16:38:07 -08:00
GCC Administrator
e26f512d38 Daily bump.
From-SVN: r193519
2012-11-15 00:18:38 +00:00
H.J. Lu
2a6346c406 Add support for multilib run-time libraries
PR other/55291
	* configure.ac (--enable-version-specific-runtime-libs): New option.
	(AC_CANONICAL_SYSTEM): New.
	(AM_ENABLE_MULTILIB): Moved right after AM_INIT_AUTOMAKE.
	(toolexecdir): Support multilib.
	(toolexeclibdir): Likewise.
	(multilib_arg): New.
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.

From-SVN: r193516
2012-11-14 16:03:37 -08:00
Sterling Augustine
bc6a33956f re PR debug/55328 (ICE: in output_addr_table_entry, at dwarf2out.c:21780 with -gsplit-dwarf)
2012-11-14  Sterling Augustine  <saugustine@google.com>

	PR debug/55328
	* dwarf2out.c (index_address_table_entry): Check a node's refcount.

From-SVN: r193515
2012-11-14 23:36:50 +00:00
Jonathan Wakely
99ace34a31 re PR libstdc++/55320 (Invalid delete with throwing copy-c'tor passed to std::function)
PR libstdc++/55320
	* include/std/functional (function::function(F)): Set _M_manager after
	operations that could throw.
	(_Function_base::_Ref_manager::_M_init_functor): Use addressof.
	* include/tr1/functional
	(_Function_base::_Ref_manager::_M_init_functor): Use addressof.
	(_Function_base::_Base_manager::_M_get_pointer): Likewise.
	* testsuite/20_util/function/cons/55320.cc: New.
	* testsuite/20_util/function/cons/addressof.cc: New.
	* testsuite/20_util/function/cons/callable.cc: Remove header.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
	* testsuite/tr1/3_function_objects/function/10.cc: New.

From-SVN: r193514
2012-11-14 23:33:01 +00:00
Jan Hubicka
3aac5aad16 builtins.c (define_builtin): Accept ECF flags and use set_call_expr_flags.
* builtins.c (define_builtin): Accept ECF flags and
	use set_call_expr_flags.
	(initialize_builtins): Update.

From-SVN: r193513
2012-11-14 23:14:05 +00:00
Jan Hubicka
7153ca970b re PR bootstrap/55051 (profiledbootstrap failed)
PR bootstrap/55051
	* ipa-inline.c (edge_badness): Improve dumping; fix overflow.

From-SVN: r193512
2012-11-14 23:03:22 +00:00
Jakub Jelinek
8335a6439d asan-dg.exp: New file.
* lib/asan-dg.exp: New file.
	* gcc.dg/asan/asan.exp: New file.
	* g++.dg/dg.exp: Prune also asan tests.
	* g++.dg/asan/asan.exp: New file.
	* c-c++-common/asan/memcmp-1.c: New test.

From-SVN: r193511
2012-11-14 23:58:01 +01:00
Matthias Klose
d3547cab78 t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
2012-11-14  Matthias Klose  <doko@ubuntu.com>

        * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
        * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
        * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
        for 32bit non-biarch configurations.

From-SVN: r193510
2012-11-14 22:45:25 +00:00
Uros Bizjak
0c9afb50c4 abi_tag.cc: Adjust expected demangling for 128bit long-double targets.
* testsuite/26_numerics/complex/abi_tag.cc: Adjust expected
	demangling for 128bit long-double targets.

From-SVN: r193509
2012-11-14 23:23:51 +01:00
Matthias Klose
e0cdc09f6b invoke.texi: Document -print-multiarch.
2012-11-14  Matthias Klose  <doko@ubuntu.com>

        * doc/invoke.texi: Document -print-multiarch.
        * doc/install.texi: Document --enable-multiarch.
        * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
        * configure.ac: Add --enable-multiarch option.
        * configure: Regenerate.
        * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
        enable_multiarch, with_float: New macros.
        if_multiarch: New macro, define in terms of enable_multiarch.
        * genmultilib: Add new argument for the multiarch name.
        * gcc.c (multiarch_dir): Define.
        (for_each_path): Search for multiarch suffixes.
        (driver_handle_option): Handle multiarch option.
        (do_spec_1): Pass -imultiarch if defined.
        (main): Print multiarch.
        (set_multilib_dir): Separate multilib and multiarch names
        from multilib_select.
        (print_multilib_info): Ignore multiarch names in multilib_select.
        * incpath.c (add_standard_paths): Search the multiarch include dirs.
        * cppdefault.h (default_include): Document multiarch in multilib
        member.
        * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
        include directory for multiarch directories.
        * common.opt: New options --print-multiarch and -imultilib.
        * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
        Include i386/t-linux.
        <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
        Include i386/t-kfreebsd.
        <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
        * config/i386/t-linux64: Add multiarch names in
        MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
        * config/i386/t-gnu: New file.
        * config/i386/t-kfreebsd: Likewise.
        * config/i386/t-linux: Likewise.

From-SVN: r193508
2012-11-14 21:29:15 +00:00
Jan Hubicka
46de9f5e37 f95-lang.c (ATTR_NOTHROW_LEAF_MALLOC_LIST): New macro.
* f95-lang.c (ATTR_NOTHROW_LEAF_MALLOC_LIST): New macro.
	(gfc_define_builtin): Use set_call_expr_flags.
	(gfc_init_builtin_functions): Update.

From-SVN: r193507
2012-11-14 21:09:58 +00:00
Jan Hubicka
229a6cdb5a tree.c (set_call_expr_flags): New function.
* tree.c (set_call_expr_flags): New function.
	(local_define_builtin): Use it.
	* tree.h (set_call_expr_flags): Declare.

From-SVN: r193506
2012-11-14 21:08:52 +00:00
Paolo Carlini
3b616f08a6 re PR c++/55323 (ICE in expand_aggr_init_1, at cp/init.c:1718)
/cp
2012-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/55323
	* init.c (emit_mem_initializers): Skip arguments == error_mark_node.

/testsuite
2012-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/55323
	* g++.dg/cpp0x/vt-55323.C: New.

From-SVN: r193505
2012-11-14 20:29:07 +00:00
Fabien Chêne
7628dc541e re PR c++/11750 (class scope using-declaration lookup not implemented)
gcc/testsuite/ChangeLog

2012-11-14  Fabien Chêne  <fabien@gcc.gnu.org>

	PR c++/11750
	* g++.dg/inherit/vitual9.C: New.

gcc/cp/ChangeLog

2012-11-14  Fabien Chêne  <fabien@gcc.gnu.org>

	PR c++/11750
	* call.c (build_new_method_call_1): Check that the instance type
	and the function context are the same before setting the flag
	LOOKUP_NONVIRTUAL.

From-SVN: r193504
2012-11-14 21:12:47 +01:00
Uros Bizjak
ccd025e14c re PR target/47440 (Use LCM for vzeroupper insertion)
PR target/47440
	* config/i386/i386.c (gate_insert_vzeroupper): New function.
	(rest_of_handle_insert_vzeroupper): Ditto.
	(struct rtl_opt_pass pass_insert_vzeroupper): New.
	(ix86_option_override): Register vzeroupper insertion pass here.
	(ix86_check_avx256_register): Handle SUBREGs properly.
	(ix86_init_machine_status): Remove optimize_mode_switching[AVX_U128]
	initialization.

From-SVN: r193503
2012-11-14 17:47:29 +01:00
David Edelsohn
9e81cc8bde configure.ac (HAVE_LD_LARGE_TOC): Add AIX test.
* configure.ac (HAVE_LD_LARGE_TOC): Add AIX test.
        * configure: Regenerated.
        * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Warn if
        other toc options used with cmodel. Disable TARGET_NO_FP_IN_TOC
        and TARGET_NO_SUM_IN_TOC if not CMODEL_SMALL. CMODEL_MEDIUM means
        CMODEL_LARGE on AIX.
        (ASM_SPEC): -mvsx implies -mpwr6. Add -many.
        (ASM_DEFAULT_SPEC): Use -mpwr4.
        (TARGET_CMODEL): Define.
        (SET_CMODEL): Define.
        * config/rs6000/rs6000.md (largetoc_high_aix<mode>): New.
        (largetoc_high_plus_aix<mode>): New.
        (largetoc_low<mode>): Change to mode iterator. Test TARGET_TOC
        instead of TARGET_ELF.
        (tocref): Remove TARGET_ELF test.
        * config/rs6000/rs6000.c (output_toc): Use [TE] for large TOC
        symbols on AIX.
        * config/rs6000/aix64.opt (mcmodel): New.

From-SVN: r193502
2012-11-14 11:41:21 -05:00
Andreas Tobler
4a3d0b10a2 i386.c (ix86_get_function_versions_dispatcher): Guard variables with ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION...
2012-11-14  Andreas Tobler  <andreast@fgznet.ch>

	* config/i386/i386.c (ix86_get_function_versions_dispatcher): Guard
	variables with ASM_OUTPUT_TYPE_DIRECTIVE and
	HAVE_GNU_INDIRECT_FUNCTION where needed.

From-SVN: r193501
2012-11-14 16:55:50 +01:00
H.J. Lu
4a56a7be3d Check __x86_64__ instead of __WORDSIZE
PR other/55292
	Backport from upstream revision 167883
	* sanitizer_common/sanitizer_linux.cc (internal_mmap): Check
	__x86_64__ instead of __WORDSIZE.
	(internal_filesize): Likwise.

From-SVN: r193500
2012-11-14 05:45:56 -08:00
H.J. Lu
4053ca2c6f Don't set AC_CONFIG_AUX_DIR
* configure.ac (AC_CONFIG_AUX_DIR): Removed.
	* Makefile.in: Regenerated.
	* configure: Likewise.

From-SVN: r193499
2012-11-14 04:21:28 -08:00
H.J. Lu
9d10e4f5fd Rename libsanitizer/ChangeLog.asan to libsanitizer/ChangeLog
From-SVN: r193498
2012-11-14 03:41:10 -08:00
H.J. Lu
451a210d0f Update libsanitizer generated files
* gcc_update: Update libsanitizer generated files.

From-SVN: r193497
2012-11-14 03:09:00 -08:00
GCC Administrator
286e9ca974 Daily bump.
From-SVN: r193494
2012-11-14 00:18:21 +00:00
H.J. Lu
a2479b3dd0 Update configure.ac for GCC tree and remove unused files
PR other/55304
	* acinclude.m4: New file.
	* Makefile.am (ACLOCAL_AMFLAGS): New.
	* configure.ac (AC_PREREQ): Set to 2.64.
	(AC_CONFIG_AUX_DIR): Set to "..".
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.

	* config.guess: Removed.
	* config.sub: Likewise.
	* depcomp: Likewise.
	* install-sh: Likewise.
	* ltmain.sh: Likewise.
	* missing: Likewise.

From-SVN: r193491
2012-11-13 16:02:12 -08:00
Ian Lance Taylor
da0aa2ccc0 common.opt (fPIC, [...]): Create a Negative loop such that any of these options disables the others.
* common.opt (fPIC, fPIE, fpic, fpie): Create a Negative loop such
	that any of these options disables the others.

From-SVN: r193489
2012-11-13 23:03:56 +00:00
Richard Henderson
93bf539055 Move libsanitizer configure logic to subdirectory
From-SVN: r193487
2012-11-13 14:19:44 -08:00
Sriraman Tallam
beb42d2022 cgraph.c (insert_new_cgraph_node_version): Use cgraph_get_node instead of cgraph_get_create_node.
2012-11-13  Sriraman Tallam  <tmsriram@google.com>

	* cgraph.c (insert_new_cgraph_node_version): Use cgraph_get_node
	instead of cgraph_get_create_node.
	* config/i386/i386.c (ix86_get_function_versions_dispatcher): Move ifunc
	not supported code to the end.

	* class.c (mark_versions_used): Remove.
	(resolve_address_of_overloaded_function): Call target hook
	for versioned functions. Refactor to call
	get_function_versions_dispatcher.
	* decl.c (duplicate_decls): Add comments.
	* cp/call.c (get_function_version_dispatcher): Expose function.
	(mark_versions_used): Expose function.
	* cp/cp-tree.h (mark_versions_used): New declaration.
	(get_function_version_dispatcher): Ditto.

	* testsuite/g++.dg/mv4.C: Add require ifunc. Change error message.
	* testsuite/g++.dg/mv5.C: Add require ifunc.
	* testsuite/g++.dg/mv6.C: Add require ifunc.

From-SVN: r193486
2012-11-13 21:56:30 +00:00
Ian Lance Taylor
73c3ed27fc re PR other/55312 (libbacktrace doesn't honor --disable-werror)
PR other/55312
	* configure.ac: Only add -Werror if building a target library.

From-SVN: r193485
2012-11-13 21:25:39 +00:00
Martin Jambor
3e452a2871 re PR tree-optimization/55253 (Revision 193298 miscompiles sqlite with -Os)
2012-11-13  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/55253
	* ipa-cp.c (merge_aggregate_lattices): Propagate aggs_contain_variable
	flag.

	* testsuite/gcc.dg/torture/pr55253.c: New test.
	* testsuite/gcc.dg/torture/pr55305.c: Likewise.

From-SVN: r193484
2012-11-13 19:56:24 +01:00
H.J. Lu
d10e419beb Workaround PR middle-end/55142
gcc/

2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/55142
	* config/i386/i386.c (legitimize_pic_address): Properly handle
	REG + CONST.
	(ix86_print_operand_address): Set code to 'k' when forcing
	addr32 prefix.  For x32, zero-extend negative displacement if
	it < -16*1024*1024.

gcc/testsuite/

2012-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/55142
	* gcc.target/i386/pr55142-1.c: New file.
	* gcc.target/i386/pr55142-2.c: Likewise.

From-SVN: r193483
2012-11-13 10:35:32 -08:00
Uros Bizjak
141a9e06ad mode-switching.c (create_pre_exit): Use NONDEBUG_INSN_P.
* mode-switching.c (create_pre_exit): Use NONDEBUG_INSN_P.

From-SVN: r193482
2012-11-13 18:22:04 +01:00
Uros Bizjak
397b971c95 * ChangeLog: Fix my last entry.
From-SVN: r193481
2012-11-13 18:08:13 +01:00
Uros Bizjak
ffbbfaba10 re PR target/41993 ([sh] ICE in create_pre_exit, at mode-switching.c:399)
PR target/41993
	* mode-switching.c (create_pre_exit): Set return_copy to last_insn
	when copy_start is a function return regno instead of pseudo.
	Skip debug instructions in instruction scan loop.

From-SVN: r193480
2012-11-13 17:59:37 +01:00
Dodji Seketeli
be22520dc2 PR c++/54466 - ICE with alias template which type-id is const qualified
Consider this short example:

    template<typename T>
      struct X { };

    template<typename T>
      using Y = const X<T>;

    using Z = Y<int>;

G++ crashes in lookup_class_template_1 while trying to build the alias
template instantiation Y<int>.

I think this is indirectly due to the fact that that
lookup_class_template_1 can now yield a const qualified type like
'const X<T>'.

As a consequence, the code in lookup_template_class_1 that was trying
to access the TYPE_STUB_DECL field of the result of
lookup_template_class_1 should now be adjusted to access the
TYPE_STUB_DECL of the main variant of the resulting type instead (and
that is TYPE_MAIN_DECL); because qualified types (constructed with
build_qualified_type) have their TYPE_STUB_DECL set to NULL.

Fixed thus and tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp

	PR c++/54466
	* pt.c (lookup_template_class_1): TYPE_STUB_DECL should be
	accessed on the main variant of the type.

gcc/testsuite/

	* g++.dg/cpp0x/alias-decl-26.C: New test file.

In the example of this patch, g++ crashes when trying to build the
alias template Y<int

From-SVN: r193479
2012-11-13 17:07:39 +01:00
Dodji Seketeli
d6531d8364 Enable libsanitizer just on x86 linux for now
This patch builds libsanitizer only on x86_64 and i?86 linux targets
for now.  I guess The build can be enabled on other targets when they
are ready.

ChangeLog:

	* configure.ac: Enable libsanitizer just on x86 linux for now.
	* configure: Re-generate.

From-SVN: r193478
2012-11-13 16:12:12 +01:00
David Edelsohn
e7fae5500c configure.ac: Disable libsanitizer on AIX.
* configure.ac: Disable libsanitizer on AIX. Merge libquadmath
        sections.
        * configure: Regenerate.

From-SVN: r193477
2012-11-13 09:19:14 -05:00
Andrew Stubbs
3f2dc80614 arm.c (arm_emit_coreregs_64bit_shift): Fix comment.
2012-11-13  Andrew Stubbs  <ams@codesourcery.com>
            Ulrich Weigand  <ulrich.weigand@linaro.org>

	* config/arm/arm.c (arm_emit_coreregs_64bit_shift): Fix comment.
	* config/arm/arm.md (opt, opt_enabled): New attributes.
	(enabled): Use opt_enabled.
	(ashldi3, ashrdi3, lshrdi3): Add TARGET_NEON case.
	(ashldi3): Allow general operands for TARGET_NEON case.
	* config/arm/iterators.md (rshifts): New code iterator.
	(shift, shifttype): New code attributes.
	* config/arm/neon.md (UNSPEC_LOAD_COUNT): New unspec type.
	(neon_load_count, ashldi3_neon_noclobber, ashldi3_neon,
	signed_shift_di3_neon, unsigned_shift_di3_neon,
	ashrdi3_neon_imm_noclobber, lshrdi3_neon_imm_noclobber,
	<shift>di3_neon): New patterns.

Co-Authored-By: Ulrich Weigand <ulrich.weigand@linaro.org>

From-SVN: r193476
2012-11-13 13:31:50 +00:00
H.J. Lu
2b12109c4a Enable x32 check on more i386 tests
* gcc.target/i386/avx256-unaligned-load-2.c: Requre !ia32
	instead of lp64.
	* gcc.target/i386/avx256-unaligned-store-2.c: Likewise.
	* gcc.target/i386/pr49715-2.c: Likewise.
	* gcc.target/i386/retarg.c: Likewise.  Scan both %rdi and %edi.

From-SVN: r193475
2012-11-13 04:31:12 -08:00
Jakub Jelinek
daa2dcb534 * Makefile.in (asan.o): Depend on $(TM_P_H).
From-SVN: r193472
2012-11-13 08:38:25 +01:00
Jakub Jelinek
784fb9b322 re PR tree-optimization/55281 (ICE in build_int_cst_wide, at tree.c:1217 (with Ofast, ok with O3))
PR tree-optimization/55281
	* tree-vect-generic.c (expand_vector_condition): Accept any
	is_gimple_val rather than just SSA_NAME if not COMPARISON_CLASS_P.
	* fold-const.c (fold_ternary_loc): Fold VEC_COND_EXPR if arg0 is
	either integer_all_onesp or integer_zerop.
	* tree-vect-stmts.c (vectorizable_condition): Build the condition
	using corresponding vector integer type instead of vectype.

	* gcc.dg/vect/fast-math-pr55281.c: New test.
	* g++.dg/opt/pr55281.C: New test.

From-SVN: r193471
2012-11-13 08:25:36 +01:00