- 29 Mar, 2018 15 commits
-
-
From-SVN: r258967
Joseph Myers committed -
PR c++/84269 reports a number of names in the C and C++ standard libraries for which we don't yet offer #include fix-it hints. This patch adds them (up to comment #9). gcc/c-family/ChangeLog: PR c++/84269 * known-headers.cc (get_stdlib_header_for_name): Add various names from <assert.h>, <string.h>, and <memory.h>; add more names from <stdio.h>. gcc/cp/ChangeLog: PR c++/84269 * name-lookup.c (get_std_name_hint): Add names from <memory>, <tuple>, and <utility>. gcc/testsuite/ChangeLog: PR c++/84269 * g++.dg/lookup/missing-std-include-6.C: New test. * g++.dg/lookup/missing-std-include.C: Add std::pair and std::tuple tests. * g++.dg/spellcheck-reswords.C: Expect a hint about <cstring>. * g++.dg/spellcheck-stdlib.C: Add tests for names in <cstdio>, <cstring>, <cassert>, and <cstdlib>. From-SVN: r258966
David Malcolm committed -
* pt.c (coerce_template_parms): Keep pack expansion args that will need to be empty. From-SVN: r258964
Jason Merrill committed -
From-SVN: r258963
Jason Merrill committed -
* search.c (any_dependent_bases_p): Check uses_template_parms rather than processing_template_decl. From-SVN: r258962
Jason Merrill committed -
2018-03-29 Vladimir Makarov <vmakarov@redhat.com> PR inline-asm/84985 * lra-constraints.c (process_alt_operands): Move setting this_alternative_matches below. 2018-03-29 Vladimir Makarov <vmakarov@redhat.com> PR inline-asm/84985 * gcc.target/i386/pr84985.c: New. From-SVN: r258961
Vladimir Makarov committed -
As of r256448, the C++ frontend underlines many bad arguments in its diagnostics; those where perform_overload_resolution returns a non-NULL candidate, but there's a failure in convert_like_real. However, for the case where perform_overload_resolution fails, but there's a single non-viable candidate, the error is diagnosed by cp_build_function_call_vec, and that currently doesn't underline the bad argument: $ cat test.cc void callee (int one, const char **two, int three); void caller (const char *fmt) { callee (1, fmt, 3); } We emit: $ g++ test.cc test.cc: In function 'void caller(const char*)': test.cc:6:20: error: cannot convert 'const char*' to 'const char**' for argument '2' to 'void callee(int, const char**, int)' callee (1, fmt, 3); ^ It's going through convert_for_assignment, and implicitly using input_location. This patch updates convert_for_assignment for this case, using an EXPR_LOCATION if there is one, or falling back to input_location otherwise, underlining the argument in question: test.cc: In function 'void caller(const char*)': test.cc:6:14: error: cannot convert 'const char*' to 'const char**' for argument '2' to 'void callee(int, const char**, int)' callee (1, fmt, 3); ^~~ gcc/cp/ChangeLog: PR c++/85110 * typeck.c (convert_for_assignment): When complaining due to conversions for an argument, attempt to use the location of the argument. gcc/testsuite/ChangeLog: PR c++/85110 * g++.dg/diagnostic/param-type-mismatch-2.C: New test. From-SVN: r258957
David Malcolm committed -
Enable AVX and AVX512 features only if their states are supported by OSXSAVE. PR target/85100 * config/i386/cpuinfo.c (XCR_XFEATURE_ENABLED_MASK): New. (XSTATE_FP): Likewise. (XSTATE_SSE): Likewise. (XSTATE_YMM): Likewise. (XSTATE_OPMASK): Likewise. (XSTATE_ZMM): Likewise. (XSTATE_HI_ZMM): Likewise. (XCR_AVX_ENABLED_MASK): Likewise. (XCR_AVX512F_ENABLED_MASK): Likewise. (get_available_features): Enable AVX and AVX512 features only if their states are supported by OSXSAVE. From-SVN: r258954
H.J. Lu committed -
2018-03-29 Martin Liska <mliska@suse.cz> PR lto/84995. * doc/invoke.texi: Document how LTO works with debug info. Describe auto-load support of binutils. Mention 'x86-64' as valid option value of -march option. From-SVN: r258953
Martin Liska committed -
PR c++/85108 * g++.dg/warn/Wunused-var-31.C: New test. From-SVN: r258952
Jakub Jelinek committed -
From-SVN: r258951
Jakub Jelinek committed -
PR c/85094 * fold-const.c (operand_equal_p): Handle DEBUG_BEGIN_STMT. For STATEMENT_LIST, pass down OEP_LEXICOGRAPHIC and maybe OEP_NO_HASH_CHECK for recursive call, to avoid exponential checking. * c-c++-common/Wduplicated-branches-14.c: New test. From-SVN: r258950
Jakub Jelinek committed -
2018-03-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84606 * g++.dg/cpp0x/pr84606.C: New. From-SVN: r258947
Paolo Carlini committed -
From-SVN: r258946
GCC Administrator committed -
PR target/84912 * config/rs6000/rs6000.h (RS6000_BTM_POWERPC64): New define. (RS6000_BTM_COMMON): Add RS6000_BTM_POWERPC64. * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_POWERPC64. (rs6000_invalid_builtin): Add handling for RS6000_BTM_POWERPC64 (rs6000_builtin_mask_names): Add RS6000_BTM_POWERPC64. * config/rs6000/rs6000-builtin.def (BU_P7_POWERPC64_MISC_2): New macro definition. (DIVDE): Use it. (DIVDEU): Likewise. From-SVN: r258943
Peter Bergner committed
-
- 28 Mar, 2018 17 commits
-
-
gcc/ChangeLog: 2018-03-20 Carl Love <cel@us.ibm.com> Revert 2017-09-27 Carl Love <cel@us.ibm.com> * config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro. (FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins. * config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the fctiw instruction. gcc/testsuite/ChangeLog: 2018-03-20 Carl Love <cel@us.ibm.com> Revert 2017-09-27 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/builtin-fctid-fctiw-runnable.c: New test file for the __builtin_fctid and __builtin_fctiw. From-SVN: r258942
Carl Love committed -
2018-03-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/xmmintrin.h (_mm_max_pi16): Use __vector __bool instead of __vector bool. (_mm_max_pu8): Likewise. (_mm_min_pi16): Likewise. From-SVN: r258936
Bill Schmidt committed -
PR fortran/69497 * symbol.c (gfc_symbol_done_2): Start freeing namespaces from the root. (gfc_free_namespace): Restore assert (revert r258839). From-SVN: r258935
Mikael Morin committed -
From-SVN: r258934
Peter Bergner committed -
gcc/ PR target/84912 * config/rs6000/rs6000-builtin.def (DIVWEO): Delete macro expansion. (DIVWEUO): Likewise. (DIVDEO): Likewise. (DIVDEUO): Likewise. * config/rs6000/rs6000.c (builtin_function_type): Remove support for DIVWEUO and DIVDEUO. * config/rs6000/rs6000.md (UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs. (UNSPEC_DIV_EXTEND): Remove deleted unspecs. (div_extend): Likewise. * doc/extend.texi (__builtin_divweo): Remove documention for deleted builtin function. (__builtin_divweuo): Likewise. (__builtin_divdeo): Likewise. (__builtin_divdeuo): Likewise. gcc/testsuite/ PR target/84912 * gcc.target/powerpc/extend-divide-1.c (div_weo): Remove test for deleted builtin function. (div_weuo): Likewise. * gcc.target/powerpc/extend-divide-2.c (div_deo): Likewise. (div_deuo): Likewise. From-SVN: r258933
Peter Bergner committed -
/cp 2018-03-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85028 * pt.c (tsubst_default_argument): Early return if the type of the parameter is erroneous. /testsuite 2018-03-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85028 * g++.dg/other/default13.C: New. From-SVN: r258932
Paolo Carlini committed -
PR target/85095 * config/i386/i386.md (*add<mode>3_carry_0, *addsi3_carry_zext_0, *sub<mode>3_carry_0, *subsi3_carry_zext_0): New patterns. * gcc.target/i386/pr85095-1.c: New test. * gcc.target/i386/pr85095-2.c: New test. * gcc.c-torture/execute/pr85095.c: New test. From-SVN: r258931
Jakub Jelinek committed -
PR tree-optimization/82004 * gimple-match-head.c (optimize_pow_to_exp): New function. * match.pd (pow(C,x) -> exp(log(C)*x)): Wrap with #if GIMPLE. Don't fold to exp if optimize_pow_to_exp is false. * gcc.dg/pr82004.c: New test. From-SVN: r258930
Jakub Jelinek committed -
2018-03-28 Martin Liska <mliska@suse.cz> PR other/84819 * calls.c (initialize_argument_information): Fix trailing space. * common.opt: Fix typo and provide better explanation for -fsanitize-coverage option. * config/i386/i386.opt: Fix typo. From-SVN: r258925
Martin Liska committed -
2018-03-28 Jakub Jelinek <jakub@redhat.com> Martin Liska <mliska@suse.cz> PR sanitizer/85081 * gimplify.c (asan_poison_variable): Don't do the check for gimplify_omp_ctxp here. (gimplify_decl_expr): Do it here. (gimplify_target_expr): Likewise. 2018-03-28 Jakub Jelinek <jakub@redhat.com> Martin Liska <mliska@suse.cz> PR sanitizer/85081 * g++.dg/asan/pr85081.C: New test. Co-Authored-By: Martin Liska <mliska@suse.cz> From-SVN: r258924
Jakub Jelinek committed -
2018-03-28 Martin Liska <mliska@suse.cz> PR target/84988 * config/i386/i386.c (ix86_function_arg_advance): Do not call chkp_type_bounds_count if MPX is not enabled. From-SVN: r258923
Martin Liska committed -
gcc/ * config/nds32/nds32.h (BRANCH_COST): Adjust cost. From-SVN: r258921
Chung-Ju Wu committed -
* gfortran.h (gfc_dt): Rename default_exp field to dec_ext. * ioparm.def (IOPARM_dt_default_exp): Rename to ... (IOPARM_dt_dec_ext): ... this. * trans-io.c (build_dt): Adjust for default_exp renaming to dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext. * io.c (match_io): Likewise. * io/io.h (IOPARM_DT_DEFAULT_EXP): Rename to ... (IOPARM_DT_DEC_EXT): ... this. * io/list_read.c (parse_real): Adjust for IOPARM_DT_DEFAULT_EXP renaming to IOPARM_DT_DEC_EXT. (read_real): Likewise. * io/read.c (read_f): Likewise. From-SVN: r258920
Jakub Jelinek committed -
When compiling with -fconcepts, cp_parser_template_declaration_after_export calls cp_parser_template_introduction and that preparses qualified-ids not preceded by typename in such a way that, when we get to cp_parser_parse_and_diagnose_invalid_type_name and then cp_parser_diagnose_invalid_type_name, the nested name specifier no longer carries the previous template-dependent context, so we don't stand a chance to suggest the use of 'typename' any more. Thus, tolerate in the testcase the poorer error messages we get. for gcc/testsuite/ChangeLog PR c++/84789 * g++.dg/template/pr84789.C: Adjust for testing with -fconcepts too. From-SVN: r258915
Alexandre Oliva committed -
When an anon struct gets a name through a typedef, we reset its linkage and that of its members. Member functions may get vague linkage, which schedules them for deferred output, but we don't want to add them to the queue if they're uninstantiated templates, e.g. because the enclosing function is a template. They will be added as needed when the enclosing template is instantiated. for gcc/cp/ChangeLog PR c++/84973 * decl2.c (note_vague_linkage_fn): Don't defer uninstantiated templates. for gcc/testsuite/ChangeLog PR c++/84973 * g++.dg/template/pr84973.C: New. * g++.dg/template/pr84973-2.C: New. * g++.dg/template/pr84973-3.C: New. From-SVN: r258914
Alexandre Oliva committed -
We reject extended statement-expressions in template parameters, so we might as well reject them in constant expressions used in noexcept specifications. for gcc/cp/ChangeLog PR c++/84968 * tree.c (strip_typedefs_expr): Reject STATEMENT_LISTs. for gcc/testsuite/ChangeLog PR c++/84968 * g++.dg/eh/pr84968.C: New. From-SVN: r258913
Alexandre Oliva committed -
From-SVN: r258912
GCC Administrator committed
-
- 27 Mar, 2018 8 commits
-
-
re PR target/84914 (PowerPC complex multiply/divide calls the wrong function when -mabi=ieeelongdouble) [gcc] 2018-03-27 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/84914 * config/rs6000/rs6000.c (create_complex_muldiv): New helper function to create the function decl for complex long double multiply and divide for -mabi=ieeelongdouble. (init_float128_ieee): Call it. [gcc/testsuite] 2018-03-27 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/84914 * gcc.target/powerpc/mulkc-2.c: New tests to make sure complex long double multiply/divide uses the correct function. * gcc.target/powerpc/mulkc-3.c: Likewise. * gcc.target/powerpc/divkc-2.c: Likewise. * gcc.target/powerpc/divkc-3.c: Likewise. From-SVN: r258908
Michael Meissner committed -
From-SVN: r258906
Joseph Myers committed -
/cp 2018-03-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85067 * method.c (defaulted_late_check): Partially revert r253321 changes, do not early return upon error. /testsuite 2018-03-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85067 * g++.dg/cpp0x/defaulted51.C: New. * g++.dg/cpp0x/constexpr-68754.C: Adjust. From-SVN: r258904
Paolo Carlini committed -
PR c++/85077 * cp-gimplify.c (cp_fold) <case CONSTRUCTOR>: For ctors with vector type call fold to generate VECTOR_CSTs when possible. * g++.dg/ext/vector35.C: New test. From-SVN: r258903
Jakub Jelinek committed -
PR c++/85061 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that get_base_address of the second operand is a VAR_P, rather than the operand itself, and use gcc_checking_assert instead of gcc_assert. * g++.dg/ext/builtin-offsetof3.C: New test. From-SVN: r258902
Jakub Jelinek committed -
PR c++/85076 * tree.c (cp_build_reference_type): If to_type is error_mark_node, return it right away. * g++.dg/cpp1y/pr85076.C: New test. From-SVN: r258901
Jakub Jelinek committed -
2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/85084 * frontend-passes.c (gfc_run_passes): Do not run front-end optimizations if a previous error occurred. 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/85084 * gfortran.dg/matmul_rank_1.f90: New test. From-SVN: r258900
Thomas Koenig committed -
2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> Harald Anlauf <anlauf@gmx.de> PR fortran/85083 * primary.c (gfc_convert_to_structure_constructor): Check conformance of argument types in structure constructor. 2018-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> Harald Anlauf <anlauf@gmx.de> * gfortran.dg/structure_constructor_15.f90: New test. Co-Authored-By: Harald Anlauf <anlauf@gmx.de> From-SVN: r258899
Thomas Koenig committed
-