{"push_id":1262962180,"size":253,"distinct_size":1,"ref":"refs/heads/hsa","head":"e216720f6bf3fbb90405b2f4a8c5394f54e87046","before":"d0b5927734167e7373289508e904798171abda6d","commits":[{"sha":"eb571c164fb63229f5d992bab126e1765f77a31a","author":{"name":"msebor","email":"d9e1db7665a79af7bea31731d4a607a548a7a680@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"PR testsuite/72838 - FAIL: g++.dg/cpp0x/constexpr-cast.C\n\ngcc/testsuite/ChangeLog:\n\t* gcc/testsuite/g++.dg/cpp0x/constexpr-cast.C: Correct target selector.\n\t* gcc/testsuite/g++.dg/warn/overflow-warn-3.C: Same.\n\t* gcc/testsuite/g++.dg/warn/overflow-warn-4.C: Same.\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239242 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/eb571c164fb63229f5d992bab126e1765f77a31a"},{"sha":"d10ec4052c2242ea12bc962fe9b693f5b52fea98","author":{"name":"denisc","email":"aa455e0a9d3e819bc7af90ced43d7e4ac14fea3b@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"\t* config/avr/driver-avr.c (specfiles_doc_url): Remove.\n\t(avr_diagnose_devicespecs_error): Remove.\n\t(avr_devicespecs_file): Remove composing absolute path for specfile\n\tand its verbose info. Remove conditions to check specs-file,\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239246 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/d10ec4052c2242ea12bc962fe9b693f5b52fea98"},{"sha":"0dae5fef8bf7aa35595fec5126beacd3b0026e5e","author":{"name":"dmalcolm","email":"31454f2ecb110b774e5f4b6650cc7a0d89765954@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"c-format.c: cleanup of check_format_info_main\n\ngcc/c-family/ChangeLog:\n\t* c-format.c (class flag_chars_t): New class.\n\t(struct length_modifier): New struct.\n\t(class argument_parser): New class.\n\t(flag_chars_t::flag_chars_t): New ctor.\n\t(flag_chars_t::has_char_p): New method.\n\t(flag_chars_t::add_char): New method.\n\t(flag_chars_t::validate): New method.\n\t(flag_chars_t::get_alloc_flag): New method.\n\t(flag_chars_t::assignment_suppression_p): New method.\n\t(argument_parser::argument_parser): New ctor.\n\t(argument_parser::read_any_dollar): New method.\n\t(argument_parser::read_format_flags): New method.\n\t(argument_parser::read_any_format_width): New method.\n\t(argument_parser::read_any_format_left_precision): New method.\n\t(argument_parser::read_any_format_precision): New method.\n\t(argument_parser::handle_alloc_chars): New method.\n\t(argument_parser::read_any_length_modifier): New method.\n\t(argument_parser::read_any_other_modifier): New method.\n\t(argument_parser::find_format_char_info): New method.\n\t(argument_parser::validate_flag_pairs): New method.\n\t(argument_parser::give_y2k_warnings): New method.\n\t(argument_parser::parse_any_scan_set): New method.\n\t(argument_parser::handle_conversions): New method.\n\t(argument_parser::check_argument_type): New method.\n\t(check_format_info_main): Introduce classes argument_parser\n\tand flag_chars_t, moving the code within the loop into methods\n\tof these classes.  Make various locals \"const\".\n\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239247 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/0dae5fef8bf7aa35595fec5126beacd3b0026e5e"},{"sha":"440837fe814cadfba3753a0377f13738de2b058c","author":{"name":"jakub","email":"7e4f4a36a877ed92ceeb268004e6685c1ffb4dd9@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"\tPR middle-end/68762\n\t* omp-simd-clone.c: Include varasm.h.\n\t(simd_clone_create): Copy over DECL_COMDAT, DECL_WEAK, DECL_EXTERNAL,\n\tDECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, DECL_DLLIMPORT_P and for\n\tDECL_ONE_ONLY call make_decl_one_only.  Fix up spelling in comment and\n\tupdate function name.\n\n\t* g++.dg/vect/pr68762-1.cc: New test.\n\t* g++.dg/vect/pr68762-2.cc: New test.\n\t* g++.dg/vect/pr68762.h: New file.\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239248 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/440837fe814cadfba3753a0377f13738de2b058c"},{"sha":"aa1ddb661400b74bcbb34eefd1cf249e57e319ec","author":{"name":"jakub","email":"7e4f4a36a877ed92ceeb268004e6685c1ffb4dd9@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"\tPR middle-end/72781\n\t* omp-low.c (lower_lastprivate_clauses): Set TREE_NO_WARNING on the\n\tprivate vars for lastprivate and for linear iterator.\n\n\t* gcc.dg/gomp/pr72781.c: New test.\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239249 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/aa1ddb661400b74bcbb34eefd1cf249e57e319ec"},{"sha":"7cbcf6088290f48ece925849e0f421600dba613e","author":{"name":"jakub","email":"7e4f4a36a877ed92ceeb268004e6685c1ffb4dd9@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"\tPR fortran/72716\n\t* openmp.c (gfc_match_omp_declare_simd): Don't stick anything into\n\tBLOCK DATA ns, it will be rejected later.\n\n\t* gfortran.dg/gomp/pr72716.f90: New test.\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239250 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/7cbcf6088290f48ece925849e0f421600dba613e"},{"sha":"fb182d5543ec485ffa1c72a1c93d23edbe4a37ae","author":{"name":"jakub","email":"7e4f4a36a877ed92ceeb268004e6685c1ffb4dd9@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"\tPR c++/58706\n\t* parser.c: Include tree-iterator.h.\n\t(cp_parser_omp_for_loop_init): Move lambda DECL_EXPRs from init\n\tto FOR_BLOCK.\n\t(cp_parser_omp_for_loop): Handle non-STATEMENT_LIST FOR_BLOCK\n\tentries.\n\n\t* testsuite/libgomp.c++/pr58706.C: New test.\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239251 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/fb182d5543ec485ffa1c72a1c93d23edbe4a37ae"},{"sha":"1bdef36e099b50a0727c1cb754ff90deb41c368d","author":{"name":"ian","email":"668fd45181c31193793d12a7f2ecb1f2376600d1@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"\tPR go/72814\n\n    runtime: treat zero-sized result value as void\n    \n    Change the FFI interface to treat a call to a function that returns a\n    zero-sized result as a call to a function that returns void.\n    \n    This is part of the fix for https://gcc.gnu.org/PR72814.  On 32-bit\n    SPARC systems, a call to a function that returns a non-zero-sized struct\n    is followed by an unimp instruction that describes the size of the\n    struct.  The function returns to the address after the unimp\n    instruction.  The libffi library can not represent a zero-sized struct,\n    so we wind up treating it as a 1-byte struct.  Thus in that case libffi\n    calls the function with an unimp instruction, but the function does not\n    adjust the return address.  The result is that the program attempts to\n    execute the unimp instruction, causing a crash.\n    \n    This is part of a change that fixes the crash by treating all functions\n    that return zero bytes as functions that return void.\n    \n    Reviewed-on: https://go-review.googlesource.com/25585\n\n\t* go-gcc.cc (Gcc_backend::function_type): If the return type is\n\tzero bytes, treat the function as returning void.\n\t(return_statement): If the return type is zero bytes, don't\n\tactually return any values.\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239252 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/1bdef36e099b50a0727c1cb754ff90deb41c368d"},{"sha":"d189b094f9aeec73d0d3686d25d24170e4359bd2","author":{"name":"dmalcolm","email":"31454f2ecb110b774e5f4b6650cc7a0d89765954@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"Use class substring_loc in c-format.c (PR c/52952)\n\ngcc/c-family/ChangeLog:\n\tPR c/52952\n\t* c-format.c: Include \"diagnostic.h\".\n\t(location_column_from_byte_offset): Delete.\n\t(location_from_offset): Delete.\n\t(format_warning_va): New function.\n\t(format_warning_at_substring): New function.\n\t(format_warning_at_char): New function.\n\t(check_format_arg): Capture location of format_tree and pass to\n\tcheck_format_info_main.\n\t(argument_parser): Add fields \"start_of_this_format\" and\n\t\"format_string_cst\".\n\t(flag_chars_t::validate): Add param \"format_string_cst\".  Convert\n\twarning_at call using location_from_offset to call to\n\tformat_warning_at_char.\n\t(argument_parser::argument_parser): Add param \"format_string_cst_\"\n\tand use use it to initialize field \"format_string_cst\".\n\tInitialize new field \"start_of_this_format\".\n\t(argument_parser::read_format_flags): Convert warning_at call\n\tusing location_from_offset to a call to format_warning_at_char.\n\t(argument_parser::read_any_format_left_precision): Likewise.\n\t(argument_parser::read_any_format_precision): Likewise.\n\t(argument_parser::read_any_other_modifier): Likewise.\n\t(argument_parser::find_format_char_info): Likewise, in three places.\n\t(argument_parser::parse_any_scan_set): Likewise, in one place.\n\t(argument_parser::handle_conversions): Likewise, in two places.\n\t(argument_parser::check_argument_type): Add param \"fmt_param_loc\"\n\tand use it to make a substring_loc.  Pass the latter to\n\tcheck_format_types.\n\t(check_format_info_main): Add params \"fmt_param_loc\" and\n\t\"format_string_cst\".  Convert warning_at calls using\n\tlocation_from_offset to calls to format_warning_at_char.  Pass the\n\tnew params to the arg_parser ctor.  Pass \"format_string_cst\" to\n\tflag_chars.validate.  Pass \"fmt_param_loc\" to\n\targ_parser.check_argument_type.\n\t(check_format_types): Convert first param from a location_t\n\tto a const substring_loc & and rename to \"fmt_loc\".  Attempt\n\tto extract the range of the relevant parameter and pass it\n\tto format_type_warning.\n\t(format_type_warning): Convert first param from a location_t\n\tto a const substring_loc & and rename to \"fmt_loc\".  Add\n\tparams \"param_range\" and \"type\".  Replace calls to warning_at\n\twith calls to format_warning_at_substring.\n\ngcc/testsuite/ChangeLog:\n\tPR c/52952\n\t* gcc.dg/cpp/pr66415-1.c: Likewise.\n\t* gcc.dg/format/asm_fprintf-1.c: Update column numbers.\n\t* gcc.dg/format/c90-printf-1.c: Likewise.\n\t* gcc.dg/format/diagnostic-ranges.c: New test case.\n\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239253 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/d189b094f9aeec73d0d3686d25d24170e4359bd2"},{"sha":"7091ff70d87836820f284ce491808889ce9c929a","author":{"name":"prathamesh3492","email":"ee10cc97f7b2e8528e2377c371f61080ae09d365@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"2016-08-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>\n\ntestsuite/\n\t* gcc.dg/tree-ssa/pr71078-1.c: Add require-effective-target\n\tc99_runtime.\n\t* gcc.dg/tree-ssa/pr71078-1-double.c: Likewise.\n\t* gcc.dg/tree-ssa/pr71078-1-long-double.c: Likewise.\n\t* gcc.dg/tree-ssa/pr71078-2.c: Likewise.\n\t* gcc.dg/tree-ssa/pr71078-2-double.c: Likewise.\n\t* gcc.dg/tree-ssa/pr71078-2-long-double.c: Likewise.\n\t* gcc.dg/tree-ssa/pr71078-3.c: Likewise.\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239255 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/7091ff70d87836820f284ce491808889ce9c929a"},{"sha":"242eae8e39b0bb78b4274e04ad8f71ff43fd1d53","author":{"name":"ian","email":"668fd45181c31193793d12a7f2ecb1f2376600d1@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"    testsuite: fix gotest for absolute srcdir\n    \n    The recent changes to Makefile.am mean that if you configure with an\n    absolute path as srcdir then gotest will be invoked with absolute paths\n    for the files.  That case never worked.  This patch fixes it.\n    \n    Reviewed-on: https://go-review.googlesource.com/25587\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239256 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/242eae8e39b0bb78b4274e04ad8f71ff43fd1d53"},{"sha":"e2f73ee87c3aa22f2fe67e29e20b92264f879344","author":{"name":"dmalcolm","email":"31454f2ecb110b774e5f4b6650cc7a0d89765954@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"Fix selftest::test_lexer_string_locations_ebcdic for systems without iconv (PR bootstrap/72844)\n\nselftest::test_lexer_string_locations_ebcdic has this clause:\n\n  /* EBCDIC support requires iconv.  */\n  if (!HAVE_ICONV)\n    return;\n\nleading to a build failure on systems without iconv.  This conditional\nworks in libcpp due to this in libcpp/internal.h:\n\n  #if HAVE_ICONV\n  #include <iconv.h>\n  #else\n  #define HAVE_ICONV 0\n  typedef int iconv_t;  /* dummy */\n  #endif\n\nFix the problem by ensuring that HAVE_ICONV is always defined within\ngcc/input.c.\n\ngcc/ChangeLog:\n\tPR bootstrap/72844\n\t* input.c: Ensure that HAVE_ICONV is defined.\n\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239257 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/e2f73ee87c3aa22f2fe67e29e20b92264f879344"},{"sha":"b9fbd3ed29e50a5b0c156d8878d56f7d08bb08dd","author":{"name":"ian","email":"668fd45181c31193793d12a7f2ecb1f2376600d1@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"    libgo: don't have .lo depend on .lo.dep\n    \n    Having each .lo depend on the corresponding .lo.dep caused too many\n    rebuilds, because the .lo.dep files are rebuilt when Makefile changes.\n    Instead, if the .lo.dep file changes, remove the .lo file.\n    \n    Reviewed-on: https://go-review.googlesource.com/25588\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239258 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/b9fbd3ed29e50a5b0c156d8878d56f7d08bb08dd"},{"sha":"7af4d06beef1a319be9ea26ca2197016968c4d66","author":{"name":"dmalcolm","email":"31454f2ecb110b774e5f4b6650cc7a0d89765954@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"c-format.c: suggest the correct format string to use (PR c/64955)\n\nThis adds fix-it hints to c-format.c so that it can (sometimes) suggest\nthe format string the user should have used.\n\nThe patch adds selftests for the new code in c-format.c.  These\nselftests are thus lang-specific.  This is the first time we've had\nlang-specific selftests, and hence the patch also adds a langhook for\nrunning them.  (Note that currently the Makefile only invokes the\nselftests for cc1).\n\ngcc/c-family/ChangeLog:\n\tPR c/64955\n\t* c-common.h (selftest::c_format_c_tests): New declaration.\n\t(selftest::run_c_tests): New declaration.\n\t* c-format.c: Include \"selftest.h.\n\t(format_warning_va): Add param \"corrected_substring\" and use\n\tit to add a replacement fix-it hint.\n\t(format_warning_at_substring): Likewise.\n\t(format_warning_at_char): Update for new param of\n\tformat_warning_va.\n\t(argument_parser::check_argument_type): Pass \"fki\" to\n\tcheck_format_types.\n\t(check_format_types): Add param \"fki\" and pass it to\n\tformat_type_warning.\n\t(deref_n_times): New function.\n\t(get_modifier_for_format_len): New function.\n\t(selftest::test_get_modifier_for_format_len): New function.\n\t(get_format_for_type): New function.\n\t(format_type_warning): Add param \"fki\" and use it to attempt\n\tto provide hints for argument types when calling\n\tformat_warning_at_substring.\n\t(selftest::get_info): New function.\n\t(selftest::assert_format_for_type_streq): New function.\n\t(ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.\n\t(selftest::test_get_format_for_type_printf): New function.\n\t(selftest::test_get_format_for_type_scanf): New function.\n\t(selftest::c_format_c_tests): New function.\n\ngcc/c/ChangeLog:\n\tPR c/64955\n\t* c-lang.c (LANG_HOOKS_RUN_LANG_SELFTESTS): If CHECKING_P, wire\n\tthis up to selftest::run_c_tests.\n\t(selftest::run_c_tests): New function.\n\ngcc/ChangeLog:\n\tPR c/64955\n\t* langhooks-def.h (LANG_HOOKS_RUN_LANG_SELFTESTS): New default\n\tdo-nothing langhook.\n\t(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_RUN_LANG_SELFTESTS.\n\t* langhooks.h (struct lang_hooks): Add run_lang_selftests.\n\t* selftest-run-tests.c: Include \"tree.h\" and \"langhooks.h\".\n\t(selftest::run_tests): Call lang_hooks.run_lang_selftests.\n\ngcc/testsuite/ChangeLog:\n\tPR c/64955\n\t* gcc.dg/format/diagnostic-ranges.c: Add fix-it hints to expected\n\toutput.\n\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239260 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/7af4d06beef1a319be9ea26ca2197016968c4d66"},{"sha":"d670f081d45e152f10c2874c0ba49f7488a0a49f","author":{"name":"ian","email":"668fd45181c31193793d12a7f2ecb1f2376600d1@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"    text/template: reduce maxExecDepth for gccgo further\n    \n    We already lowered the limit of recursive template invocations from\n    100,000 to 10,000, but the tests still fail occasionally on\n    x86_64-pc-linux-gnu when using GNU ld (so that split stacks are not\n    fully functional).  Reduce the limit further, to 1000, enough so that\n    the test passes consistently.\n    \n    Permitting 1000 recursive template invocations still seems capacious\n    enough for real world use.\n    \n    Reviewed-on: https://go-review.googlesource.com/25590\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239261 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/d670f081d45e152f10c2874c0ba49f7488a0a49f"},{"sha":"2faf01e616eb4c580480d46f74b2fe4d4cf7550b","author":{"name":"gccadmin","email":"66a8fd7f1a35ba796d14e599e616ec956c795011@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"Daily bump.\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239264 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/2faf01e616eb4c580480d46f74b2fe4d4cf7550b"},{"sha":"d002933309de75719413232d6bef298dbd7e08e7","author":{"name":"ak","email":"c11846b976c384ad30536475c5d4d3ae71259b65@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"Make autofdo tests safer for parallel builds\n\nThere were some reports that the autofdo tests are non deterministic\nwith parallel builds. I wasn't able to reproduce this, but here are\ntwo changes that may help:\n\n- Always use unique file names for temporary files.\n- Don't print file names in the test log because the directories\ncan vary (suggested by Jeff Law)\n\ngcc/testsuite/:\n\n2016-08-08  Andi Kleen  <ak@linux.intel.com>\n\n\t* lib/profopt.exp: (auto-profopt-execute): Don't include full\n\ttest command line in failure log.\n\t(profopt-execute): dito. Make autofdo file names unique.\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239265 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/d002933309de75719413232d6bef298dbd7e08e7"},{"sha":"cfe2036f601c25d51fde6324cae4b437daf2040e","author":{"name":"ak","email":"c11846b976c384ad30536475c5d4d3ae71259b65@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"Fix warning breaking profiled bootstrap\n\nThis patch fixes an bootstrap error with autoprofiledbootstrap\ndue to uninitiliazed variables, because the compiler cannot\nfigure out they don't need to be initialized in an error path.\nJust always initialize them.\n\ngcc/:\n\n2016-08-08  Andi Kleen  <ak@linux.intel.com>\n\n\t* tree-vrp.c (get_single_symbol): Always initialize inv and neg.\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239266 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/cfe2036f601c25d51fde6324cae4b437daf2040e"},{"sha":"c7282bf2a6ce911a5b1f09de07593cad5102d0bf","author":{"name":"jason","email":"158e602a35675d2a0b685478824aa5995557a235@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"\tFix empty class parameters with constexpr.\n\n\tPR c++/67131\n\t* class.c (is_really_empty_class): Call complete_type.\n\t* constexpr.c (cxx_eval_constant_expression): Check\n\tis_really_empty_class.\n\t(potential_constant_expression_1): Likewise.  Check for error type.\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239267 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/c7282bf2a6ce911a5b1f09de07593cad5102d0bf"},{"sha":"33603066a4abd84a9c87f2ec1d15e57460494a3a","author":{"name":"jason","email":"158e602a35675d2a0b685478824aa5995557a235@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"\tImplement C++17 constexpr lambda.\n\ngcc/c-family/\n\t* c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for\n\tC++17 constexpr lambdas.\ngcc/cp/\n\t* class.c (finalize_literal_type_property): Handle lambdas.\n\t* constexpr.c (is_valid_constexpr_fn): Likewise.  No longer static.\n\t(explain_invalid_constexpr_fn, cxx_eval_call_expression): Handle\n\tlambdas.\n\t(cxx_eval_constant_expression): Handle capture proxy.\n\t(var_in_constexpr_fn): Don't check for C++14.\n\t(var_in_maybe_constexpr_fn): New.\n\t(potential_constant_expression_1): Use it.  Check DECL_EXPR for\n\tdeclarations not allowed in constexpr function.\n\t* decl.c (make_rtl_for_nonlocal_decl): Use var_in_maybe_constexpr_fn.\n\t(finish_function): Set DECL_DECLARED_CONSTEXPR_P on lambda members.\n\t* lambda.c (begin_lambda_type): Set CLASSTYPE_LITERAL_P.\n\t(maybe_add_lambda_conv_op): Clear thunk CALL_EXPR location.\n\t(lambda_static_thunk_p): New.\n\t* parser.c (cp_keyword_starts_decl_specifier_p): Add RID_CONSTEXPR.\n\t(CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR): New enumerator.\n\t(cp_parser_decl_specifier_seq): Handle it.\n\t(cp_parser_lambda_declarator_opt): Use cp_parser_decl_specifier_seq.\n\t* pt.c (instantiate_class_template_1): Set CLASSTYPE_LITERAL_P.\n\t(tsubst_copy_and_build) [CALL_EXPR]: Propagate CALL_FROM_THUNK_P.\n\t* error.c (dump_function_decl): Check TFF_NO_TEMPLATE_BINDINGS.\n\t(dump_expr) [FUNCTION_DECL]: Pass it.\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239268 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":false,"url":"https://api.github.com/repos/kraj/gcc/commits/33603066a4abd84a9c87f2ec1d15e57460494a3a"}]}
{"actor":{"display_login":"kraj"}}