aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-03-02re PR ipa/84628 (attribute(warning/error) functions should not be merged ↵Jakub Jelinek4-7/+38
together) PR ipa/84628 * expr.c (expand_expr_real_1) <case CALL_EXPR>: Don't emit diagnostics for error or warning attributes if CALL_FROM_THUNK_P is set. Formatting fixes. * gcc.dg/pr84628.c: New test. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r258140
2018-03-02re PR target/56540 (No __SIZEOF__XXX__ macro for __float128)Jakub Jelinek2-0/+6
PR target/56540 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Predefine __SIZEOF_128__ macro if HPUX_LONG_DOUBLE_LIBRARY. From-SVN: r258139
2018-03-02re PR target/56540 (No __SIZEOF__XXX__ macro for __float128)Jakub Jelinek4-0/+18
PR target/56540 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Predefine __SIZEOF_{FPREG,FLOAT{80,128}}__ macros. * gcc.target/ia64/pr56540.c: New test. From-SVN: r258138
2018-03-02altivec-7-be.c: Remove VSX content, allow 32-bit target.Will Schmidt6-11/+81
[testsuite] 2018-03-02 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/altivec-7-be.c: Remove VSX content, allow 32-bit target. * gcc.target/powerpc/altivec-7.h: Remove VSX content. * gcc.target/powerpc/vsx-7-be.c: New test (VSX content). * gcc.target/powerpc/vsx-7.h: New include (VSX content). * gcc.target/powerpc/altivec-7-le.c: Add vsx-7.h include. From-SVN: r258137
2018-03-02predict.c (test_prediction_value_range): Use PROB_UNINITIALIZED instead of ↵Jakub Jelinek2-1/+6
-1U in last predictors element's probability... * predict.c (test_prediction_value_range): Use PROB_UNINITIALIZED instead of -1U in last predictors element's probability member. From-SVN: r258136
2018-03-02re PR ipa/83983 (FAIL: g++.dg/lto/pr83121 (test for LTO warnings, ↵Eric Botcazou2-3/+14
pr83121_0.C line 8)) PR ipa/83983 * ipa-devirt.c (odr_subtypes_equivalent_p): Get the ODR type of both arguments if they are comparable. From-SVN: r258133
2018-03-02re PR c++/84590 (-fsanitize=undefined internal compiler error: tree check: ↵Marek Polacek4-1/+35
expected constructor, have target_expr in split_nonconstant_init_1, at cp/typeck2.c:629) PR c++/84590 * cp-gimplify.c (cp_fully_fold): Unwrap TARGET_EXPR or a CONSTRUCTOR wrapped in VIEW_CONVERT_EXPR. * c-c++-common/ubsan/shift-11.c: New test. From-SVN: r258132
2018-03-02Avoid &LOOP_VINFO_MASKS for bb vectorisation (PR 84634)Richard Sandiford2-16/+31
We were computing &LOOP_VINFO_MASKS even for bb vectorisation, which is UB. 2018-03-02 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/84634 * tree-vect-stmts.c (vectorizable_store, vectorizable_load): Replace masks and masked_loop_p with a single loop_masks, making sure it's null for bb vectorization. From-SVN: r258131
2018-03-02Use loop->safelen rather than loop->force_vectorizeRichard Sandiford4-2/+33
...since the latter doesn't guarantee independence by itself. 2018-03-02 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * tree-vect-data-refs.c (vect_analyze_data_ref_dependence) (vect_analyze_data_ref_access): Use loop->safe_len rather than loop->force_vectorize to check whether there is no alias. gcc/testsuite/ * gcc.dg/vect/vect-alias-check-13.c: New test. From-SVN: r258130
2018-03-02re PR rtl-optimization/84614 (wrong code with u16->u128 extension at aarch64 ↵Jakub Jelinek7-7/+85
-fno-split-wide-types -g3 --param=max-combine-insns=3) PR target/84614 * rtl.h (prev_real_nondebug_insn, next_real_nondebug_insn): New prototypes. * emit-rtl.c (next_real_insn, prev_real_insn): Fix up function comments. (next_real_nondebug_insn, prev_real_nondebug_insn): New functions. * cfgcleanup.c (try_head_merge_bb): Use prev_real_nondebug_insn instead of a loop around prev_real_insn. * combine.c (move_deaths): Use prev_real_nondebug_insn instead of prev_real_insn. * gcc.dg/pr84614.c: New test. From-SVN: r258129
2018-03-02re PR fortran/84219 (Failure to generate error for IO of transfer intrinsic, ↵Paul Thomas1-2/+1
when MOLD has derived type components.) 2018-03-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/84219 * gfortran.dg/coarray_47.f90: Use the correct test. From-SVN: r258128
2018-03-02re PR inline-asm/84625 (ICE with empty constraint and vector constant)Jakub Jelinek4-28/+53
PR inline-asm/84625 * config/i386/i386.c (ix86_print_operand): Use conditional output_operand_lossage instead of gcc_assert if CONST_VECTOR is not zero vector. * gcc.target/i386/pr84625.c: New test. From-SVN: r258125
2018-03-02re PR tree-optimization/84427 (gcc ICE at -O3 on x86_64-linux-gnu in ↵Richard Biener4-91/+159
compute_antic, at tree-ssa-pre.c:2356) 2018-03-02 Richard Biener <rguenther@suse.de> PR tree-optimization/84427 * tree-ssa-pre.c (bitmap_remove_expr_from_set): Remove. (bitmap_set_subtract_values): Rewrite to handle multiple exprs per value. (clean): Likewise. (prune_clobbered_mems): Likewise. (phi_translate): Take edge instead of pred/phiblock. (phi_translate_1): Likewise. (phi_translate_set): Likewise. Insert all translated exprs for a value into the set, keeping possibly multiple expressions per value. (compute_antic_aux): Adjust for phi_translate changes. When intersecting union the expressions and prune those not in the final value set, keeping possibly multiple expressions per value. Do not use value-insertion for unioning ANTIC_OUT U EXP_GEN - TMP_GEN but merge all expressions. Add verification that the value-sets only shrink during iteration. (compute_partial_antic_aux): Adjust for the phi_translate changes. (do_pre_regular_insertion): Likewise. (do_pre_partial_partial_insertion): Likewise. * gcc.dg/torture/pr84427.c: New testcase. From-SVN: r258124
2018-03-02re PR target/82005 (Early lto debug not implemented on Darwin)Richard Biener2-0/+11
2018-03-02 Richard Biener <rguenther@suse.de> PR target/82005 * config/darwin.c (saved_debug_info_level): New static global. (darwin_asm_lto_start): Disable debug info generation for LTO out. (darwin_asm_lto_end): Restore debug info generation settings. From-SVN: r258123
2018-03-01re PR target/84534 (several powerpc test cases fail starting with r257915)Peter Bergner4-2/+21
PR target/84534 * gcc.target/powerpc/vec-setup-be-long.c: Add dg-xfail-run-if on powerpc64le*-*-linux*. * gcc.target/powerpc/vsx-vector-6-le.c: Do not count xxlor's. * gcc.target/powerpc/vsx-vector-6-le.p9.c: Likewise. From-SVN: r258122
2018-03-01PR c++/84294 - attributes on a function template redeclaration silently ↵Martin Sebor9-41/+208
discarded gcc/cp/ChangeLog: PR c++/84294 * decl.c (check_redeclaration_no_default_args): Merge attributes specified on redeclarations of the same function template. Remove dead code. gcc/testsuite/ChangeLog: PR c++/84294 * g++.dg/ext/attr-const.C: Remove xfail. * g++.dg/ext/attr-malloc-3.C: New test. * g++.dg/ext/attr-noinline-3.C: New test. * g++.dg/ext/attr-noreturn-3.C: New test. * g++.dg/ext/attr-nothrow-3.C: New test. * g++.dg/ext/attr-pure.C: Remove xfail. From-SVN: r258121
2018-03-02Daily bump.GCC Administrator1-1/+1
From-SVN: r258120
2018-03-02re PR sanitizer/70875 (ICE in get_ubsan_type_info_for_type with ↵Jakub Jelinek2-1/+8
-fsanitize=undefined) PR sanitizer/70875 * gcc.dg/ubsan/bounds-3.c: Add -fno-sanitize-recover=bounds to dg-options and dg-shouldfail "ubsan" directive. From-SVN: r258117
2018-03-01re PR c++/84582 (Rejected valid C++ code since r257961)Marek Polacek8-5/+69
PR c++/84582 * semantics.c (force_paren_expr): Create a PAREN_EXPR when in a template. (maybe_undo_parenthesized_ref): Unwrap PAREN_EXPR. * typeck2.c (store_init_value): Call fold_non_dependent_expr instead of instantiate_non_dependent_expr. * tree.c (lvalue_kind): Handle PAREN_EXPR like NON_DEPENDENT_EXPR. * g++.dg/cpp1y/auto-fn15.C: Extend testing. * g++.dg/cpp1z/static1.C: New test. * g++.dg/template/static37.C: New test. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r258116
2018-03-01[PR c++/84434] ICE with deduction guideNathan Sidwell4-46/+72
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00063.html PR c++/84434 * name-lookup.c (member_vec_dedup): Remove manually peeled iteration. Ignore dependent ctor inheritance. PR c++/84434 * g++.dg/template/pr84434.C: New. From-SVN: r258114
2018-03-01compiler: avoid crashing on bad self-referential typeIan Lance Taylor2-1/+6
The compiler was crashing partway through emitting an error for a bad self-referential struct type (which refers to one of its own fields via an unsafe.Offset expression). Tweak the offset logic to check for this class of type error and exit cleanly. Fixes golang/go#24180 Reviewed-on: https://go-review.googlesource.com/97855 From-SVN: r258112
2018-03-01PR c++/71569 - decltype of template.Jason Merrill5-3/+29
* parser.c (cp_parser_decltype_expr): Handle missing template args. From-SVN: r258110
2018-03-01re PR c++/84639 (gcc/c-family/c-attribs.c:1822:27: runtime error: shift ↵Marek Polacek2-4/+13
exponent -1 is negative) PR c++/84639 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid alignment in computation. From-SVN: r258109
2018-03-01[ARM] Fix copysign_softfloat_1.c option directivesThomas Preud'homme2-2/+6
gcc.target/arm/copysign_softfloat_1.c's use of arm_arch_v6t2 in dg-add-option changes the architecture to -march=armv6t2. Since the test only requires Thumb-2 capable architecture, we just need to add -mthumb on the command line since arm_thumb2_ok guarantees by definition that doing that is enough to select Thumb-2. This fixes warning on the command line when having -mcpu=cortex-m3 in RUNTESTFLAGS for instance. 2018-03-01 Thomas Preud'homme <thomas.preudhomme@arm.com gcc/testsuite/ * gcc.target/arm/copysign_softfloat_1.c: Remove dg-add-options and add -mthumb to the command-line. From-SVN: r258108
2018-03-01re PR c++/84596 (internal compiler error: unexpected expression '(bool)c' of ↵Marek Polacek6-3/+35
kind implicit_conv_expr (cxx_eval_constant_expression)) PR c++/84596 * constexpr.c (require_rvalue_constant_expression): New function. * cp-tree.h: Declare it. * semantics.c (finish_static_assert): Use it instead of require_potential_rvalue_constant_expression. * g++.dg/cpp0x/static_assert14.C: New test. From-SVN: r258107
2018-03-01re PR c++/79410 (internal compiler error: in gimplify_init_ctor_preeval, at ↵Paolo Carlini2-0/+15
gimplify.c:3489) 2018-03-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/79410 * g++.dg/torture/pr79410.C: New. From-SVN: r258106
2018-03-01PR c++/71569 - ICE with redundant args on member variable template.Jason Merrill5-14/+52
* decl.c (start_decl): Handle partial specialization of member variable template. * pt.c (determine_specialization): Allow partial specialization of member variable template without specializing enclosing class. (process_partial_specialization): Improve error message. Co-Authored-By: Alexandre Oliva <aoliva@redhat.com> From-SVN: r258102
2018-03-01Do not handled volatile arguments (PR sanitizer/82484).Martin Liska4-1/+19
2018-03-01 Martin Liska <mliska@suse.cz> PR sanitizer/82484 * sanopt.c (sanitize_rewrite_addressable_params): Do not handle volatile arguments. 2018-03-01 Martin Liska <mliska@suse.cz> PR sanitizer/82484 * gcc.dg/asan/pr82484.c: New test. From-SVN: r258101
2018-03-01re PR debug/84645 (-flto -g0 at compile-time vs. -flto -g at link time ICEs ↵Richard Biener4-2/+32
in add_dwarf_attr, at dwarf2out.c:4353) 2018-03-01 Richard Biener <rguenther@suse.de> PR debug/84645 * dwarf2out.c (gen_variable_die): Properly handle late VLA type annotation with LTO when debug was disabled at compile-time. * gfortran.dg/lto/pr84645_0.f90: New testcase. From-SVN: r258100
2018-03-01MIPS: Fix wrong use of XINT instead of INTVALMatthew Fortune2-2/+8
This issue was caught with assert checking enabled but is not a functional bug as XINT(x, 0) happens to overlay INTVAL(x) anyway. gcc/ * config/mips/mips.c (mips_final_prescan_insn): Fix incorrect XINT with INTVAL. (mips_final_postscan_insn): Likewise. From-SVN: r258099
2018-03-01re PR fortran/84219 (Failure to generate error for IO of transfer intrinsic, ↵Paul Thomas4-0/+34
when MOLD has derived type components.) 2018-03-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/84219 * target-memory.c (gfc_interpret_derived): Assert that BT_VOID components are caf tokens. (gfc_target_interpret_expr): Treat BT_VOID expressions as integers. 2018-03-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/84219 * gfortran.dg/coarray_47.f90: New test. From-SVN: r258098
2018-03-01re PR fortran/84538 (Array of derived type elements incorrectly accessed in ↵Paul Thomas5-11/+60
function) 2018-03-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/84538 * class.c (class_array_ref_detected): Remove the condition that there be no reference after the array reference. (find_intrinsic_vtab): Remove excess whitespace. * trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp' as 'base and call build_class_array_ref earlier. 2018-03-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/84538 * gfortran.dg/class_array_23.f03: New test. From-SVN: r258097
2018-03-01Fix PR number in changelog entryRichard Sandiford1-1/+1
From-SVN: r258096
2018-03-01re PR target/84528 (gcc.c-torture/execute/960419-2.c -O3 fails with ↵Richard Sandiford2-1/+7
-fno-omit-frame-pointer) 2018-03-01 Richard Sandiford <richard.sandiford@linaro.org> gcc/testsuite/ PR rtl-optimization/84528 * gcc.dg/torture/pr84538.c: Rename to... * gcc.dg/torture/pr84528.c: ...this. From-SVN: r258095
2018-03-01Tighten use of HARD_FRAME_POINTER_REGNUM in alias.c (PR 84538)Richard Sandiford4-1/+46
RTL code needs to be consistent about whether it uses the stack pointer, the frame pointer or the argument pointer to access a given part of the frame. alias.c used this to divide accesses into three independent areas. The problem in the PR is that we did this for HARD_FRAME_POINTER_REGNUM even when the register wasn't being used as a frame pointer. We can't do that because the frame pointer is then just any old allocatable register and could certainly point to info accessed through the argument pointer or stack pointer. 2018-03-01 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR rtl-optimization/84538 * alias.c (init_alias_target): Add commentary. (init_alias_analysis): Only give HARD_FRAME_POINTER_REGNUM a unique base value if the frame pointer is not eliminated to the stack pointer. gcc/testsuite/ PR rtl-optimization/84538 * gcc.dg/torture/pr84538.c: New test. From-SVN: r258094
2018-03-01Fix liveness analysis in lra for spilled-into hard regsTom de Vries5-2/+45
2018-03-01 Tom de Vries <tom@codesourcery.com> PR rtl-optimization/83327 * lra-int.h (hard_regs_spilled_into): Declare. * lra.c (hard_regs_spilled_into): Define. (init_reg_info): Init hard_regs_spilled_into. * lra-spills.c (assign_spill_hard_regs): Update hard_regs_spilled_into. * lra-lives.c (make_hard_regno_born, make_hard_regno_dead) (process_bb_lives): Handle hard_regs_spilled_into. (lra_create_live_ranges_1): Before doing liveness propagation, clear regs in all_hard_regs_bitmap if set in hard_regs_spilled_into. From-SVN: r258093
2018-03-01Daily bump.GCC Administrator1-1/+1
From-SVN: r258092
2018-02-28Warray-bounds-2.c: Declare helper static to avoid -fpic test failures.Martin Sebor26-96/+105
gcc/testsuite/ChangeLog: * c-c++-common/Warray-bounds-2.c: Declare helper static to avoid -fpic test failures. * c-c++-common/Wrestrict-2.c: Same. * c-c++-common/Wstringop-truncation.c: Same. * gcc.dg/Warray-bounds-22.c: Same. * gcc.dg/Wstringop-overflow.c: Same. * gcc.dg/attr-alloc_size-3.c (unsigned_range): Same. (signed_range): Same. (unsigned_anti_range): Same. * gcc.dg/attr-alloc_size-4.c (unsigned_range): Same. (signed_range): Same. (unsigned_anti_range): Same. * gcc.dg/attr-alloc_size-7.c: Same. * gcc.dg/attr-alloc_size-8.c: Same. * gcc.dg/builtin-alloc-size.c: Same. * gcc.dg/builtin-stpncpy.c: Same. * gcc.dg/builtins-nonnull.c: Same. * gcc.dg/nonnull-4.c (g16_1_3_5_7_11_13): Same. * gcc.dg/pr79214.c: Same. * gcc.dg/tree-ssa/builtin-snprintf-warn-1.c: Same. * gcc.dg/tree-ssa/builtin-snprintf-warn-2.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-5.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-11.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-12.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-13.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-14.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-19.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Same. From-SVN: r258089
2018-02-28PR c++/71784 - ICE with ref-qualifier and explicit specialization.Jason Merrill3-4/+39
* pt.c (determine_specialization): Check ref-qualifier. From-SVN: r258085
2018-02-28config.gcc (powerpc-ibm-aix7.1.*): New stanza.David Edelsohn4-2/+254
* config.gcc (powerpc-ibm-aix7.1.*): New stanza. (powerpc-ibm-aix[789]*): Default to AIX 7.2. * config/rs6000/aix71.h (TARGET_DEFAULT): Revert to Power4 ISA. * config/rs6000/aix72.h: New file. From-SVN: r258082
2018-02-28re PR target/84014 (ICE in setup_min_max_allocno_live_range_point, at ↵David Edelsohn2-2/+7
ira-build.c:2762) PR target/84014 * gcc.target/powerpc/pr84014.c: Use ilp32, not -m32 option. From-SVN: r258081
2018-02-28re PR c++/84609 (internal compiler error: in ↵Jakub Jelinek4-13/+142
cp_parser_abort_tentative_parse, at cp/parser.c:28960 (cp_parser_member_declaration())) PR c++/84609 * parser.c (cp_parser_attributes_opt): Formatting fix. (cp_parser_skip_balanced_tokens, cp_parser_skip_gnu_attributes_opt, cp_parser_skip_std_attribute_spec_seq, cp_parser_skip_attributes_opt): New functions. (cp_parser_member_declaration): Use cp_parser_skip_attributes_opt instead of tentative parse to peek over optional attribute tokens to check for CPP_COLON after them. * g++.dg/cpp0x/pr84609.C: New test. From-SVN: r258080
2018-02-28re PR c++/83871 (wrong code for attribute const and pure on distinct ↵Jakub Jelinek2-16/+20
template specializations) PR c++/83871 PR c++/83503 * pt.c (INCLUDE_STRING): Remove define. (warn_spec_missing_attributes): Use pretty_printer instead of std::string. Fix up inform call so that the list of attributes is in %s argument. From-SVN: r258079
2018-02-28gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n instead of ↵Jakub Jelinek2-92/+84
warning_at with conditional singular and plural... * gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n instead of warning_at with conditional singular and plural messages where possible. From-SVN: r258078
2018-02-28PR testsuite/84617 - new test cases g++.dg/ext/attr-const.C and ↵Martin Sebor6-28/+151
g++.dg/ext/attr-pure.C fail gcc/cp/ChangeLog: * decl.c (duplicate_decls): Fully merge attributes const, pure, and malloc. gcc/testsuite/ChangeLog: * g++.dg/ext/attr-malloc-3.C: New test. * g++.dg/ext/attr-const.C: Adjust. Xfail assertions failing due to pre-existing problems. * g++.dg/ext/attr-pure.C: Same. From-SVN: r258077
2018-02-28re PR fortran/83901 (ICE in fold_convert_loc, at fold-const.c:2402)Paul Thomas5-2/+34
2018-02-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/83901 * trans-stmt.c (trans_associate_var): Make sure that the se expression is a pointer type before converting it to the symbol backend_decl type. 2018-02-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/83901 * gfortran.dg/associate_37.f90: New test. PR fortran/83344 * gfortran.dg/associate_36.f90: Add Steve Kargl as contributer. From-SVN: r258076
2018-02-28re PR target/52991 (attribute packed broken on mingw32?)Jakub Jelinek7-24/+168
PR target/52991 * stor-layout.c (update_alignment_for_field): For targetm.ms_bitfield_layout_p (rli->t), if !is_bitfield && !DECL_PACKED (field), do the alignment update, just use only desired_align instead of MAX (type_align, desired_align) as the alignment. (place_field): Don't do known_align < desired_align handling early if targetm.ms_bitfield_layout_p (rli->t) and rli->prev_field is non-NULL, instead do it after rli->prev_field handling and only if not within a bitfield word. For DECL_PACKED (field) use type_align of BITS_PER_UNIT. * gcc.dg/bf-ms-layout.c: Revert 2012-04-26 changes. * gcc.dg/bf-ms-layout-2.c: Revert 2012-02-23 changes. * gcc.dg/bf-ms-layout-4.c: New test. * gcc.dg/bf-ms-layout-5.c: New test. From-SVN: r258075
2018-02-28aarch64.c (aarch64_emit_probe_stack_range): Remove superfluous parentheses ↵Eric Botcazou2-5/+8
and trailing spaces. * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Remove superfluous parentheses and trailing spaces. From-SVN: r258074
2018-02-28Remove config/i386/i386.opt from revision 258001 ChangeLogH.J. Lu1-1/+0
Revision 258001 doesn't change config/i386/i386.opt. From-SVN: r258073
2018-02-28re PR target/83399 (Power8 ICE During LRA with 2-op rtl pattern for lvx ↵Peter Bergner2-1/+6
instruction) PR target/83399 * gcc.target/powerpc/pr83399.c: Only run on Linux. From-SVN: r258071