aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2017-03-08re PR tree-optimization/79920 (Incorrect floating point results when ↵Richard Biener4-70/+91
compiling with -O3) 2017-03-08 Richard Biener <rguenther@suse.de> PR tree-optimization/79920 * tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline with ncopies == 1 to ... (vect_transform_slp_perm_load): ... here. Properly compute all element loads by iterating VF times over the group. Do not handle ncopies (computed in a broken way) in vect_create_mask_and_perm. * gcc.dg/vect/pr79920.c: New testcase. From-SVN: r245968
2017-03-08re PR target/79904 (ICE in annotate_constant_pool_refs, at ↵Jakub Jelinek4-6/+37
config/s390/s390.c:7909) PR sanitizer/79904 * internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1 is a uniform vector, use uniform_vector_p return value instead of building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type. * gcc.dg/ubsan/pr79904.c: New test. From-SVN: r245967
2017-03-08Daily bump.GCC Administrator1-1/+1
From-SVN: r245966
2017-03-07re PR c/79834 (c/c-parser.c: make code more i18n-friendly)Jakub Jelinek6-72/+96
PR c/79834 c/ * c-parser.c (c_parser_pragma): Use error_at instead of c_parser_error for "may only be used in compound statements" diagnostics, change it such that the same translatable string is used for all pragmas. For PRAGMA_OACC_WAIT use "acc wait" rather than "acc enter data" in the diagnostics. (c_parser_omp_cancellation_point, c_parser_omp_target_update, c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Change "may only be used in compound statements" diagnostics, such that the same translatable string is used for all pragmas. cp/ * parser.c (cp_parser_omp_cancellation_point, cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data, cp_parser_omp_target_update): Change "may only be used in compound statements" diagnostics, such that the same translatable string is used for all pragmas. (cp_parser_pragma): Likewise. Use error_at instead of cp_parser_error for that diagnostics. testsuite/ * c-c++-common/goacc/pragma_context.c (f2): Adjust expected diagnostics. From-SVN: r245959
2017-03-07re PR middle-end/79809 (ICE in alloca_call_type, at ↵Marek Polacek4-3/+21
gimple-ssa-warn-alloca.c:282) PR middle-end/79809 * gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT. (alloca_call_type): Likewise. * g++.dg/Walloca1.C: New test. From-SVN: r245955
2017-03-07gcov: put comment to correct location.Martin Liska2-2/+6
2017-03-07 Martin Liska <mliska@suse.cz> * gcov.c (process_args): Put comment to correct location. From-SVN: r245952
2017-03-07Use array_at_struct_end_p in tree-chkp.c (PR middle-end/68270).Martin Liska4-9/+41
2017-03-07 Martin Liska <mliska@suse.cz> PR middle-end/68270 * tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref. Use array_at_struct_end_p instead of DECL_CHAIN (field). (chkp_narrow_bounds_for_field): Likewise. (chkp_parse_array_and_component_ref): Pass one more argument to call. 2017-03-07 Martin Liska <mliska@suse.cz> PR middle-end/68270 * g++.dg/pr68270.C: New test. From-SVN: r245951
2017-03-07tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve preheaders.Richard Biener2-0/+10
2017-03-07 Richard Biener <rguenther@suse.de> * tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve preheaders. From-SVN: r245950
2017-03-07i386: Do not align small stack slots to 16 bytesSegher Boessenkool2-1/+6
As Shmuel reported in <https://gcc.gnu.org/ml/gcc-help/2017-03/msg00009.html>, on x86-64 small structures in automatic storage are aligned to 16 bytes. This seems to be because of a mix-up between bits and bytes in the i386 target code. * config/i386/i386.c (ix86_local_alignment): Align most aggregates of 16 bytes and more to 16 bytes, not those of 16 bits and more. From-SVN: r245949
2017-03-07PR c/79855: add full stop to store merging param descriptionsKyrylo Tkachov2-2/+9
PR c/79855 * params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop to end of description. (PARAM_MAX_STORES_TO_MERGE): Likewise. From-SVN: r245948
2017-03-07re PR rtl-optimization/79901 (ICE in prepare_cmp_insn, at optabs.c:3904)Jakub Jelinek4-5/+37
PR rtl-optimization/79901 * config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to ... (*avx512f_<code><mode>3<mask_name>): ... this. (<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F iterator instead of VI8_AVX2_AVX512BW. * gcc.target/i386/pr79901.c: New test. From-SVN: r245947
2017-03-07re PR rtl-optimization/79901 (ICE in prepare_cmp_insn, at optabs.c:3904)Jakub Jelinek2-0/+16
PR rtl-optimization/79901 * expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no min/max expander, expand it using expand_vec_cond_expr. From-SVN: r245946
2017-03-07re PR sanitizer/79897 (ICE in gimplify_modify_expr, at gimplify.c:5627 on ↵Jakub Jelinek4-0/+27
ARM target) PR sanitizer/79897 * ubsan.c (ubsan_encode_value): Call mark_addressable on the temporary. * c-c++-common/ubsan/pr79897.c: New test. From-SVN: r245945
2017-03-07Daily bump.GCC Administrator1-1/+1
From-SVN: r245943
2017-03-06Fix typo.John David Anglin1-1/+1
From-SVN: r245937
2017-03-06re PR c++/79821 (SEGV in cc1plus compiling 64-bit stdc++.h.gch/O2g.gch)Jakub Jelinek3-4/+12
PR c++/79821 * dwarf2out.h (dw_vec_const): Change array type from unsigned char * to void * for PCH reasons. * dwarf2out.c (output_loc_operands, output_die): Cast v.val_vec.array to unsigned char *. From-SVN: r245932
2017-03-06PR target 77850John David Anglin2-1/+10
PR target 77850 * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and vector types. From-SVN: r245931
2017-03-06Fix the last ChangeLog entryVladimir Makarov1-3/+3
From-SVN: r245929
2017-03-06re PR rtl-optimization/79571 (ICE in Max. number of generated reload insns ↵Vladimir Makarov4-3/+57
per insn is achieved (90)) 2017-03-06 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/79571 * lra-constraints.c (process_alt_operands): Claculate static reject and subtract it from overal when there will be only address reloads. 2017-03-06 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/79571 * gcc.target/i386/pr79571.c: New. From-SVN: r245928
2017-03-06PR c++/79796 - ICE with NSDMI and this pointerMarek Polacek4-0/+27
PR c++/79796 - ICE with NSDMI and this pointer * call.c (build_over_call): Handle NSDMI with a 'this' by calling replace_placeholders. * g++.dg/cpp0x/nsdmi13.C: New test. From-SVN: r245927
2017-03-06Set incoming stack boundary to 128 for 64-bit targetsJulia Koval7-14/+29
For 64-bit targets, the incoming stack of interrupt handler is aligned to 16 bytes. Update ix86_minimum_incoming_stack_boundary to set the incoming stack boundary of interrupt handler to 128 for 64-bit targets. gcc/ 2017-03-06 Julia Koval <julia.koval@intel.com> PR target/79793 * config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set incoming stack boundary to 128 for 64-bit targets. gcc/testsuite/ 2017-03-06 Julia Koval <julia.koval@intel.com> PR target/79793 * gcc.target/i386/interrupt-12.c: Update scan-assembler-times directives. * gcc.target/i386/interrupt-13.c: Ditto. * gcc.target/i386/interrupt-14.c: Ditto. * gcc.target/i386/interrupt-15.c: Ditto. From-SVN: r245926
2017-03-06re PR c++/79822 (ICE with void statement expression)Jakub Jelinek4-2/+26
PR c++/79822 * constexpr.c (cxx_eval_statement_list): Treat empty ({ }) like ({ (void) 0; }). * g++.dg/cpp0x/constexpr-79822.C: New test. From-SVN: r245925
2017-03-06Revert "Allow deduction guides to look into primary template."Jason Merrill6-73/+55
* cp-tree.h, parser.c, pt.c, search.c: Revert. From-SVN: r245924
2017-03-06re PR tree-optimization/79887 (ICE in set_uid_loop_bbs, at ↵Richard Biener4-0/+27
tree-vectorizer.c:482) 2017-03-06 Richard Biener <rguenther@suse.de> PR tree-optimization/79894 * tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call to NULL after folding it. * gcc.dg/vect/pr79887.c: New testcase. From-SVN: r245923
2017-03-06re PR tree-optimization/79824 (Failure to peel for gaps leads to read beyond ↵Richard Biener5-3/+113
mapped memory) 2017-03-06 Richard Biener <rguenther@suse.de> PR tree-optimization/79824 * tree-vect-stmts.c (get_group_load_store_type): Fix alignment check disabling peeling for gaps. * gcc.dg/vect/pr79824-1.c: New testcase. * gcc.dg/vect/pr79824-2.c: Likewise. From-SVN: r245922
2017-03-06Add check_effective_target_gettimeofday and use it in gcc.dg/lto/pr60449_0.c.Toma Tabacu5-1/+21
gcc/ * doc/sourcebuild.texi (Effective-Target Keywords, Environment attributes): Document gettimeofday. gcc/testsuite/ * gcc.dg/lto/pr60449_0.c: Add dg-require-effective-target for gettimeofday. Remove dg-skip-if for AVR. * lib/target-supports.exp (check_effective_target_gettimeofday): New proc. From-SVN: r245921
2017-03-06re PR fortran/79894 (ICE in gfc_add_modify_loc, at fortran/trans.c:159)Richard Biener2-2/+7
2017-03-06 Richard Biener <rguenther@suse.de> PR fortran/79894 * trans.c (gfc_add_modify_loc): Weaken assert. From-SVN: r245919
2017-03-06S/390: Disable vectorization for loops with few iterationsRobin Dapp2-0/+9
The following patch defines the PARAM_MIN_VECT_LOOP_BOUND parameter in the s390 backend. It helps with the vectorization epilogue problem described here [1]. I see an overall performance increase of > 1% in SPECfp2006, yet some cases like cactusADM regress. This seems to be caused by the vectorizer creating an epilogue guard for one more iteration than before, which, in turn, causes e.g. predcom to run on the epilogue that it used to ignore before ("Loop iterates only 1 time, nothing to do."). Subsequent, minor, effects cause an eventual slowdown. Until the reason for the bad epilogue code is understood, this patch mitigates the problem. When investigating the issue, I stumbled across an attempt to vectorize the epilogue itself as well as combine it with the vectorized loop in addition to vector masking [2]. A similar approach might also help here. My original observation of high register pressure within the epilogue still stands. In this specific case, it would most likely suffice to save all registers once, run the epilogue and restore the registers. I'm pretty sure this would be faster than the "spill fest" that's currently happening. Regards Robin [1] https://gcc.gnu.org/ml/gcc/2017-01/msg00234.html [2] https://gcc.gnu.org/ml/gcc-patches/2016-05/msg01562.html gcc/ChangeLog: 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com> * config/s390/s390.c (s390_option_override_internal): Set PARAM_MIN_VECT_LOOP_BOUND From-SVN: r245918
2017-03-06S/390: Change 2-byte NOPsRobin Dapp26-25/+55
The following patch changes "nopr %r7" to "nopr %r0" which is advantageous from a hardware perspective. It will only be emitted for hotpatching and should not impact normal code. gcc/ChangeLog: 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com> * config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0. * config/s390/s390.md: Likewise. gcc/testsuite/ChangeLog: 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com> * gcc.target/s390/hotpatch-1.c: Check for nopr %r0. * gcc.target/s390/hotpatch-10.c: Likewise. * gcc.target/s390/hotpatch-11.c: Likewise. * gcc.target/s390/hotpatch-12.c: Likewise. * gcc.target/s390/hotpatch-13.c: Likewise. * gcc.target/s390/hotpatch-14.c: Likewise. * gcc.target/s390/hotpatch-15.c: Likewise. * gcc.target/s390/hotpatch-16.c: Likewise. * gcc.target/s390/hotpatch-17.c: Likewise. * gcc.target/s390/hotpatch-18.c: Likewise. * gcc.target/s390/hotpatch-19.c: Likewise. * gcc.target/s390/hotpatch-2.c: Likewise. * gcc.target/s390/hotpatch-26.c: Likewise. * gcc.target/s390/hotpatch-27.c: Likewise. * gcc.target/s390/hotpatch-28.c: Likewise. * gcc.target/s390/hotpatch-3.c: Likewise. * gcc.target/s390/hotpatch-4.c: Likewise. * gcc.target/s390/hotpatch-5.c: Likewise. * gcc.target/s390/hotpatch-6.c: Likewise. * gcc.target/s390/hotpatch-7.c: Likewise. * gcc.target/s390/hotpatch-8.c: Likewise. * gcc.target/s390/hotpatch-9.c: Likewise. From-SVN: r245917
2017-03-06re PR c++/64574 (ICE (stack overflow SEGV) with bad template specialization)Paolo Carlini2-0/+23
2017-03-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/64574 * g++.dg/template/crash125.C: New. From-SVN: r245916
2017-03-06re PR target/79812 (ICE in simplify_binary_operation_1, at simplify-rtx.c:3586)Jakub Jelinek4-25/+122
PR target/79812 * config/i386/sse.md (VI8F_256_512): Remove mode iterator. (<avx2_avx512>_perm<mode>): Rename to ... (avx2_perm<mode>): ... this. Use VI8F_256 iterator instead of VI8F_256_512. (<avx512>_perm<mode>_mask): Rename to ... (avx512vl_perm<mode>_mask): ... this. Use VI8F_256 iterator instead of VI8F_256_512. (<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ... (avx2_perm<mode>_1<mask_name): ... this. Use VI8F_256 iterator instead of VI8F_256_512. (avx512f_perm<mode>): New define_expand. (avx512f_perm<mode>_mask): Likewise. (avx512f_perm<mode>_1<mask_name>): New define_insn. (<avx512>_vec_dup<mode>_1): Fix up vec_select mode. * gcc.target/i386/avx512f-vpermq-imm-3.c: New test. From-SVN: r245915
2017-03-06MIPS: Force o32 ABI for inline-memcpy-3.c.Toma Tabacu2-1/+5
gcc/testsuite/ * gcc.target/mips/inline-memcpy-3.c (dg-options): Add -mabi=32. From-SVN: r245914
2017-03-06mips-msa.md (msa_fmax_a_<msafmt>, [...]): Introduce mode interator for ↵Prachi Godbole4-6/+55
if_then_else. gcc/ * config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>, msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for if_then_else. (smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'. gcc/testsuite/ * gcc.target/mips/msa-minmax.c: New tests. From-SVN: r245913
2017-03-06Fix ICE in use-after-scope w/ -fno-tree-dce (PR sanitize/79783).Martin Liska4-1/+35
2017-03-06 Martin Liska <mliska@suse.cz> PR sanitize/79783 * asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON when having a SSA NAME w/o VAR_DECL assigned to it. 2017-03-06 Martin Liska <mliska@suse.cz> PR sanitize/79783 * g++.dg/asan/pr79783.C: New test. From-SVN: r245912
2017-03-06mips-msa.md (msa_dotp_<su>_d, [...]): Fix MODE for vec_select.Prachi Godbole4-6/+47
gcc/ * config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d, msa_dpsub_<su>_d): Fix MODE for vec_select. gcc/testsuite/ * gcc.target/mips/msa-dotp.c: New tests. From-SVN: r245911
2017-03-06mips.c (mips_gen_const_int_vector): Change type of last argument.Prachi Godbole5-2/+27
gcc/ * config/mips/mips.c (mips_gen_const_int_vector): Change type of last argument. * config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise. gcc/testsuite/ * gcc.target/mips/msa-bclri.c: New test. From-SVN: r245910
2017-03-06lto-streamer.c (lto_check_version): Use %qs in diagnostics.Richard Biener4-3/+9
2017-03-06 Richard Biener <rguenther@suse.de> * lto-streamer.c (lto_check_version): Use %qs in diagnostics. * plugin.c (register_plugin_info): Likewise. * tree-chkp.c (chkp_make_static_const_bounds): Likewise. From-SVN: r245909
2017-03-06* de.po, fr.po: Update.Joseph Myers3-3703/+2768
From-SVN: r245908
2017-03-06Daily bump.GCC Administrator1-1/+1
From-SVN: r245907
2017-03-05sse.md (sse_storehps, [...]): Require in condition that at least one operand ↵Jakub Jelinek2-5/+13
is not a MEM. * config/i386/sse.md (sse_storehps, sse_storelps, avx_<castmode><avxsizesuffix>_<castmode>, avx512f_<castmode><avxsizesuffix>_<castmode>, avx512f_<castmode><avxsizesuffix>_256<castmode>): Require in condition that at least one operand is not a MEM. From-SVN: r245904
2017-03-05re PR c++/70266 (ICE on invalid code on x86_64-linux-gnu: unexpected ↵Paolo Carlini4-0/+22
expression ‘foo’ of kind overload) /cp 2017-03-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70266 * except.c (build_must_not_throw_expr): Perform the implicit conversions on the condition. /testsuite 2017-03-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70266 * g++.dg/tm/pr70266.C: New. From-SVN: r245901
2017-03-05check.c (positive_check): Add new function checking constant for being ↵Andre Vehreschild35-13/+769
greater then zero. gcc/fortran/ChangeLog: 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org> Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> * check.c (positive_check): Add new function checking constant for being greater then zero. (gfc_check_image_status): Add checking of image_status arguments. (gfc_check_failed_or_stopped_images): Same but for failed_- and stopped_images function. * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE. * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST. (enum gfc_isym_id): Added new intrinsic symbols. (enum gfc_exec_op): Added EXEC_FAIL_IMAGE. * gfortran.texi: Added description for the new API functions. Updated coverage of gfortran of TS18508. * intrinsic.c (add_functions): Added symbols to resolve new intrinsic functions. * intrinsic.h: Added prototypes. * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images intrinsic. (gfc_resolve_image_status): Same for image_status. (gfc_resolve_stopped_images): Same for stopped_images. * libgfortran.h: Added prototypes. * match.c (gfc_match_if): Added matching of FAIL IMAGE statement. (gfc_match_fail_image): Match a FAIL IMAGE statement. * match.h: Added prototype. * parse.c (decode_statement): Added matching for FAIL IMAGE. (next_statement): Same. (gfc_ascii_statement): Same. * resolve.c: Same. * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY= single a constant result can be returne.d (gfc_simplify_image_status): For COARRAY=single the result is constant. * st.c (gfc_free_statement): Added FAIL_IMAGE handling. * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the new intrinsics. * trans-expr.c (gfc_conv_procedure_call): This is first time all arguments of a function are optional, which is now handled here correctly. * trans-intrinsic.c (conv_intrinsic_image_status): Translate image_status. (gfc_conv_intrinsic_function): Add support for image_status. (gfc_is_intrinsic_libcall): Add support for the remaining new intrinsics. * trans-stmt.c (gfc_trans_fail_image): Trans a fail image. * trans-stmt.h: Add the prototype for the above. * trans.c (trans_code): Dispatch for fail_image. * trans.h: Add the trees for the new intrinsics. libgfortran/ChangeLog: 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org> Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> * caf/libcaf.h: Added prototypes and stat codes for failed and stopped images. * caf/single.c (void _gfortran_caf_fail_image): Add the routine. (int _gfortran_caf_image_status): Same. (_gfortran_caf_failed_images): Same. (_gfortran_caf_stopped_images): Same. gcc/testsuite/ChangeLog: 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org> Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> * gfortran.dg/coarray/fail_image_1.f08: New test. * gfortran.dg/coarray/fail_image_2.f08: New test. * gfortran.dg/coarray/failed_images_1.f08: New test. * gfortran.dg/coarray/failed_images_2.f08: New test. * gfortran.dg/coarray/image_status_1.f08: New test. * gfortran.dg/coarray/image_status_2.f08: New test. * gfortran.dg/coarray/stopped_images_1.f08: New test. * gfortran.dg/coarray/stopped_images_2.f08: New test. * gfortran.dg/coarray_fail_st.f90: New test. * gfortran.dg/coarray_failed_images_1.f08: New test. * gfortran.dg/coarray_image_status_1.f08: New test. * gfortran.dg/coarray_stopped_images_1.f08: New test. From-SVN: r245900
2017-03-05Daily bump.GCC Administrator1-1/+1
From-SVN: r245897
2017-03-04c.opt (Wnoexcept-type): New.Jason Merrill6-2/+30
* c.opt (Wnoexcept-type): New. gcc/cp/ * mangle.c (mangle_decl): Check -Wnoexcept-type instead of -Wc++1z-compat. From-SVN: r245894
2017-03-04re PR c/79847 (diagnostics: missing space in "implicit declaration of function")Marek Polacek2-1/+6
PR c/79847 * c-decl.c (implicit_decl_warning): Add missing space. From-SVN: r245893
2017-03-04Core issues 2273 and 2277Jason Merrill4-10/+53
* call.c (joust): Adjust using-declaration tiebreaker to handle the intermediate base case. * method.c (strip_inheriting_ctors): Just return the argument if !flag_new_inheriting_ctors. From-SVN: r245892
2017-03-04re PR fortran/79841 (Inconsistent diagnostics in fortran/openmp.c, function ↵Jerry DeLisle2-1/+6
check_symbol_not_pointer) 2017-03-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/79841 * openmp.c (check_symbol_not_pointer): Adjust diagnostic. From-SVN: r245891
2017-03-04Daily bump.GCC Administrator1-1/+1
From-SVN: r245890
2017-03-03* de.po: Update.Joseph Myers2-2067/+555
From-SVN: r245887
2017-03-03re PR c/79758 (ICE: tree check: expected class 'type', have 'exceptional' ↵Marek Polacek4-7/+28
(error_mark) in store_parm_decls_oldstyle, at c/c-decl.c:8973) PR c/79758 * c-decl.c (store_parm_decls_oldstyle): Check if the element of current_function_prototype_arg_types is error_mark_node. Fix formatting. Use TREE_VALUE instead of TREE_TYPE. * gcc.dg/noncompile/pr79758.c: New test. From-SVN: r245886