1. 10 Aug, 2017 4 commits
    • re PR c/81687 (Compiler drops label in OpenMP region) · 50aa16c3
      	PR c/81687
      	* omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
      	LABEL_DECLs.
      	* tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL
      	or DECL_NONLOCAL labels.
      	(move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL
      	or DECL_NONLOCAL labels here.
      
      	* testsuite/libgomp.c/pr81687-1.c: New test.
      	* testsuite/libgomp.c/pr81687-2.c: New test.
      
      From-SVN: r251019
      Jakub Jelinek committed
    • jit: add gcc_jit_type_get_vector · 47ee1b7c
      gcc/jit/ChangeLog:
      	* docs/cp/topics/types.rst (Vector types): New section.
      	* docs/topics/compatibility.rst (LIBGCCJIT_ABI_8): New tag.
      	* docs/topics/types.rst (gcc_jit_context_get_type): Fix typo in
      	example.
      	(Vector types): New section.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-playback.c (gcc::jit::playback::type::get_vector): New
      	method.
      	* jit-playback.h (gcc::jit::playback::type::get_vector): New
      	method.
      	* jit-recording.c: In namespace gcc::jit::recording::
      	(type::get_vector): New method.
      	(memento_of_get_aligned::write_reproducer): Fix typo
      	in leading comment.
      	(memento_of_get_vector::replay_into): New method.
      	(memento_of_get_vector::make_debug_string): New method.
      	(memento_of_get_vector::write_reproducer): New method.
      	* jit-recording.h: In namespace gcc::jit::recording::
      	(type::get_vector): New
      	 method.
      	(class memento_of_get_vector): New class.
      	* libgccjit++.h (gccjit::type::get_vector): New method.
      	* libgccjit.c (gcc_jit_type_get_vector): New public entrypoint.
      	* libgccjit.h (LIBGCCJIT_HAVE_gcc_jit_type_get_vector): New
      	define.
      	(gcc_jit_type_get_vector): New decl.
      	* libgccjit.map (LIBGCCJIT_ABI_8): New ABI tag.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/all-non-failing-tests.h: Add note about
      	test-vector-types.cc.
      	* jit.dg/test-error-gcc_jit_type_get_vector-bad-type.c: New test
      	case.
      	* jit.dg/test-error-gcc_jit_type_get_vector-non-power-of-two.c:
      	New test case.
      	* jit.dg/test-vector-types.cc: New test case.
      
      From-SVN: r251018
      David Malcolm committed
    • Daily bump. · b240c0e0
      From-SVN: r251017
      GCC Administrator committed
    • vect-xorsign_exec.c: Add --save-temps to the options passed. · b388427b
      2017-08-09  Andrew Pinski  <apinski@cavium.com>
      
              * gcc.target/aarch64/vect-xorsign_exec.c: Add
              --save-temps to the options passed.
      
      From-SVN: r251013
      Andrew Pinski committed
  2. 09 Aug, 2017 22 commits
    • This time with the file added. · 25f402d1
      Testcase for PR81423
      
      gcc/testsuite/
      	PR rtl-optimization/81423
      	* gcc.c-torture/execute/pr81423.c: New testcase.
      
      From-SVN: r251011
      Segher Boessenkool committed
    • packed8.C: Remove -mstructure-size- boundary option and fix comment. · 12c2ab7b
      2017-08-09  Michael Collison  <michael.collison@arm.com>
      
      	* testsuite/g++.dg/ext/packed8.C: Remove -mstructure-size-
      	boundary option and fix comment.
      	* testsuite/g++.dg/init/array16.C: Remove -mstructure-size-
      	boundary option and fix comment.
      	* testsuite/g++.dg/other/crash-4.C: Remove -mstructure-size-
      	boundary option and fix comment.
      	* testsuite/gcc.dg/builtin-stringop-chk-1.c: Remove
      	-mstructure-size boundary option.
      
      From-SVN: r251010
      Michael Collison committed
    • Fix test for __has_unique_object_representations support in Clang · 2d763763
      	* include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP):
      	Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use
      	__is_identifier to set it.
      
      From-SVN: r251009
      Jonathan Wakely committed
    • Fix test for __is_aggregate support in Clang · 2ae804bf
      2017-08-09  Katsuhiko Nishimra  <ktns.87@gmail.com>
      
      	* include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use
      	__is_identifier instead of __has_builtin.
      
      From-SVN: r251008
      Katsuhiko Nishimra committed
    • rs6000.c (rs6000_option_override_internal): Add blurb to indicate when early… · 2fb40463
      rs6000.c (rs6000_option_override_internal): Add blurb to indicate when early gimple folding has been disabled.
      
      [gcc]
      
              2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
              * config/rs6000/rs6000.c (rs6000_option_override_internal): Add blurb
              to indicate when early gimple folding has been disabled.
              (rs6000_gimple_fold_builtin): Add debug content.
              (rs6000_invalid_builtin): Fix whitespace.
              (rs6000_expand_builtin): Fix whitespace.
              * config/rs6000/rs6000.opt: Add option for -mfold-gimple.
      
      From-SVN: r251007
      Will Schmidt committed
    • compiler: fix buglet in lshift type determination · 19eec7ac
          
          It's possible to construct an lshift expression using unsafe.Sizeof
          that is technically a compile-time constant but can't be evaluated
          without going through backend methods. In this case, insure that
          Type::make_non_abstract_type is called on the numeric operand of the
          shift (as opposed to leaving as abstract), to avoid an assert later on
          in the compiler flow.
          
          Fixes golang/go#21372.
          
          Reviewed-on: https://go-review.googlesource.com/54370
      
      From-SVN: r251006
      Ian Lance Taylor committed
    • rs6000: Use SAVE_MULTIPLE only if we restore what it saves (PR80938) · cc6a467f
      We can have SAVE_MULTIPLE while we do not have REST_MULTIPLE.  If the
      inline restore does not restore all registers, the CFI for the save
      and restore can conflict if things are shrink-wrapped.
      
      We could restore all registers that are saved (not ideal), or emit
      the CFI notes to say we did (which will work fine, but is also not
      so great); instead, let's not save the registers that are unused.
      
      
      	PR target/80938
      	* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
      	SAVE_MULTIPLE if not all the registers that saves, should be saved.
      
      From-SVN: r251005
      Segher Boessenkool committed
    • Testcase for PR81423 · a8a581af
      gcc/testsuite/
      	PR rtl-optimization/81423
      	* gcc.c-torture/execute/pr81423.c: New testcase.
      
      From-SVN: r251004
      Segher Boessenkool committed
    • Add falkor pipeline description. · 825ada35
      	gcc/
      	* config/aarch64/aarch64-cores.def (falkor): Use falkor pipeline.
      	(qdf24xx): Likewise.
      	* config/aarch64/aarch64.md: Include falkor.md.
      	* config/aarch64/falkor.md: New.
      
      From-SVN: r251003
      Jim Wilson committed
    • PR c++/81525 - wrong constant value with generic lambda · 233608bd
      	* pt.c (tsubst_decl) [VAR_DECL]: Avoid clobbering auto.
      	(tsubst_copy) [VAR_DECL]: Handle auto.
      
      From-SVN: r250999
      Jason Merrill committed
    • fold-vec-pack-double.c: New. · 50a87c1c
      [gcc/testsuite]
      
      2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-pack-double.c: New.
      	* gcc.target/powerpc/fold-vec-pack-int.c: New.
      	* gcc.target/powerpc/fold-vec-pack-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-pack-short.c: New.
      
      From-SVN: r250998
      Will Schmidt committed
    • fold-vec-msum-char.c: New. · 3d9a180f
      [gcc/testsuite]
      
      2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-msum-char.c: New.
      	* gcc.target/powerpc/fold-vec-msum-short.c: New.
      
      From-SVN: r250997
      Will Schmidt committed
    • fold-vec-madd-double.c: New. · ee9a9e7b
      
      [gcc/testsuite]
      
      2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-madd-double.c: New.
      	* gcc.target/powerpc/fold-vec-madd-float.c: New.
      	* gcc.target/powerpc/fold-vec-madd-short.c: New.
      
      From-SVN: r250996
      Will Schmidt committed
    • fold-vec-cntlz-int.c: New. · 07999eb2
      
      	2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-cntlz-int.c: New.
      	* gcc.target/powerpc/fold-vec-cntlz-char.c: New.
      	* gcc.target/powerpc/fold-vec-cntlz-short.c: New.
      	* gcc.target/powerpc/fold-vec-cntlz-longlong.c: New.
      
      From-SVN: r250995
      Will Schmidt committed
    • PR c++/81359 - Unparsed NSDMI error from SFINAE context. · 9fb82e65
      	* init.c (get_nsdmi): Add complain parm.
      	* typeck2.c (digest_nsdmi_init): Add complain parm.
      	(process_init_constructor_record): Pass complain to get_nsdmi.
      	* pt.c (maybe_instantiate_noexcept): Add complain parm, return bool.
      	* method.c (get_defaulted_eh_spec): Add complain parm.  Pass it into
      	synthesized_method_walk.
      	(synthesized_method_walk): Adjust.
      	(walk_field_subobs): Pass complain to get_nsdmi.
      	(defaulted_late_check): Skip other checks if deleted.
      	* decl2.c (mark_used): Pass complain to maybe_instantiate_noexcept.
      	* call.c (build_aggr_conv): Pass complain to get_nsdmi.
      	* parser.c (defarg_location): New.
      	* error.c (location_of): Use it.
      
      From-SVN: r250994
      Jason Merrill committed
    • PR libstdc++/81751 don't call fflush(NULL) · 04d07b61
      	PR libstdc++/79820
      	PR libstdc++/81751
      	* config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)):
      	Call fflush on the stream instead of calling sync() while _M_cfile is
      	null. Restore original value of errno.
      	* testsuite/ext/stdio_filebuf/char/79820.cc: New.
      	* testsuite/ext/stdio_filebuf/char/81751.cc: New.
      
      From-SVN: r250993
      Jonathan Wakely committed
    • compiler: handle >32bit exponent in Ldexp · a171ac03
          
          Libgo's implementation of math.Ldexp declared the libc "ldexp" as
          taking an 'int' exponent argument, which is not quite right for 64-bit
          platforms (exp arg is always int32); this could yield incorrect
          results for exponent values outside the range of Minint32/Maxint32.
          Fix by upating the type for the libc version of ldexp, and adding
          guards to screen for out-of-range exponents.
          
          Fixes #21323.
          
          Reviewed-on: https://go-review.googlesource.com/54250
      
      From-SVN: r250992
      Ian Lance Taylor committed
    • * g++.dg/asan/asan.exp: Switch on *.cc tests. · 0ca970cd
      From-SVN: r250991
      Slava Barinov committed
    • Boolify some parameters. · 30af3a2b
      From-SVN: r250986
      Marek Polacek committed
    • re PR c/81233 (--Wdiscarded-qualifiers and Wincompatible-pointer-types missing important detail) · 296c53ac
      	PR c/81233
      	* c-typeck.c (pedwarn_init): Make the function take a variable list.
      	Call emit_diagnostic_valist instead of pedwarn.
      	(convert_for_assignment): Unroll the PEDWARN_FOR_ASSIGNMENT macro.
      	Print the relevant types in diagnostics.
      
      	* diagnostic-core.h (emit_diagnostic_valist): Add declaration.
      	* diagnostic.c (emit_diagnostic): Add a comment.
      	(emit_diagnostic_valist): New function.
      
      	* gcc.dg/diagnostic-types-1.c: New test.
      	* gcc.dg/assign-warn-1.c: Update warning messages.
      	* gcc.dg/assign-warn-2.c: Likewise.
      	* gcc.dg/c90-const-expr-5.c: Likewise.
      	* gcc.dg/c99-const-expr-5.c: Likewise.
      	* gcc.dg/conv-2.c: Likewise.
      	* gcc.dg/init-bad-7.c: Likewise.
      	* gcc.dg/overflow-warn-1.c: Likewise.
      	* gcc.dg/overflow-warn-2.c: Likewise.
      	* gcc.dg/overflow-warn-3.c: Likewise.
      	* gcc.dg/overflow-warn-4.c: Likewise.
      	* gcc.dg/pointer-array-atomic.c: Likewise.
      	* gcc.dg/pr26865.c: Likewise.
      	* gcc.dg/pr61162-2.c: Likewise.
      	* gcc.dg/pr61162.c: Likewise.
      	* gcc.dg/pr67730-2.c: Likewise.
      	* gcc.dg/pr69156.c: Likewise.
      	* gcc.dg/pr70174.c: Likewise.
      	* objc.dg/proto-lossage-4.m: Likewise.
      
      From-SVN: r250985
      Marek Polacek committed
    • re PR c/81417 (-Wsign-compare should print types being compared) · a32c8316
      	PR c/81417
      	* c-array-notation.c (fix_builtin_array_notation_fn): Update calls to
      	build_conditional_expr.	
      	* c-parser.c (c_parser_conditional_expression): Create locations for
      	EXP1 and EXP2 from their source ranges.  Pass the locations down to
      	build_conditional_expr.
      	* c-tree.h (build_conditional_expr): Update declaration.
      	* c-typeck.c (build_conditional_expr): Add location_t parameters.
      	For -Wsign-compare, also print the types.
      
      	* input.c (make_location): New overload.
      	* input.h (make_location): Declare.
      
      	* objc-next-runtime-abi-02.c (build_v2_build_objc_method_call): Update
      	a call to build_conditional_expr.
      
      	* Wsign-compare-1.c: New test.
      	* gcc.dg/compare1.c: Adjust dg-bogus.
      	* gcc.dg/compare2.c: Likewise.
      	* gcc.dg/compare3.c: Likewise.
      	* gcc.dg/compare7.c: Likewise.
      	* gcc.dg/compare8.c: Likewise.
      	* gcc.dg/compare9.c: Likewise.
      	* gcc.dg/pr11492.c: Likewise.
      
      From-SVN: r250984
      Marek Polacek committed
    • Daily bump. · bc47a525
      From-SVN: r250983
      GCC Administrator committed
  3. 08 Aug, 2017 14 commits
    • PR driver/81523: Make -static override -pie · 7345b714
      -static and -pie together behave differently depending on whether GCC is
      configured with --enable-default-pie.  On x86, "-static -pie" fails to
      create executable when --enable-default-pie isn't used, but creates a
      static executable when --enable-default-pie is used.  This patch makes
      -static completely override -pie to create a static executable, regardless
      if --enable-default-pie is used to configure GCC.
      
      gcc/
      
      	PR driver/81523
      	* gcc.c (NO_PIE_SPEC): Delete.
      	(PIE_SPEC): Define as !no-pie/pie.  Move static|shared|r
      	exclusion..
      	(LINK_PIE_SPEC): ..to here.
      	(LINK_COMMAND_SPEC): Support -no-pie.
      	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct
      	chain of crtbegin*.o selection, update for PIE_SPEC changes and
      	format.
      	(GNU_USER_TARGET_ENDFILE_SPEC): Similarly.
      	* config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly.
      	(ENDFILE_CRTEND_SPEC): Similarly.
      
      gcc/testsuite/
      
      	PR driver/81523
      	* gcc.dg/pie-7.c: New test.
      	* gcc.dg/pie-static-1.c: Likewise.
      	* gcc.dg/pie-static-2.c: Likewise.
      
      From-SVN: r250974
      H.J. Lu committed
    • re PR target/81708 (The x86 stack canary location should be customizable) · d5bf81b3
      	PR target/81708
      	* config/i386/i386.opt (mstack-protector-guard-reg=): New option
      	(mstack-protector-guard-offset=): Ditto.
      	* config/i386/i386.c (ix86_option_override): Handle
      	-mstack-protector-guard-reg= and -mstack-protector-guard-offset=
      	options.
      	(ix86_stack_protect_guard): Use ix86_stack_protect_guard_reg and
      	ix86_stack_protect_guard_offset variables.
      	(TARGET_STACK_PROTECT_GUARD): Always define.
      	* doc/invoke.texi (x86 Options): Document -mstack-protector-guard-reg=
      	and -mstack-protector-guard-offset= options.
      
      testsuite/ChangeLog:
      
      	PR target/81708
      	* gcc.target/i386/stack-prot-guard.c: New test.
      
      From-SVN: r250965
      Uros Bizjak committed
    • tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): Handle boundary case… · 7d27b70b
      tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): Handle boundary case for the last candidate.
      
      	* tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): Handle
      	boundary case for the last candidate.
      
      From-SVN: r250960
      Bin Cheng committed
    • invoke.texi: Document -ftree-loop-distribution for O3. · 5a115661
      	* doc/invoke.texi: Document -ftree-loop-distribution for O3.
      	* opts.c (default_options_table): Add OPT_ftree_loop_distribution.
      
      From-SVN: r250959
      Bin Cheng committed
    • re PR middle-end/19706 (Recognize common Fortran usages of copysign.) · 4261463d
      2017-08-08  Tamar Christina  <tamar.christina@arm.com>
      
      	PR middle-end/19706
      	* config/aarch64/aarch64.md (xorsign<mode>3): New optabs.
      	* config/aarch64/aarch64-builtins.c
      	(aarch64_builtin_vectorized_function): Added CASE_CFN_XORSIGN.
      	* config/aarch64/aarch64-simd-builtins.def: Added xorsign BINOP.
      	* config/aarch64/aarch64-simd.md: Added xorsign<mode>3.
      
      gcc/testsuite/
      2017-08-08  Tamar Christina  <tamar.christina@arm.com>
      
      	* gcc.target/aarch64/xorsign.c: New.
      	* gcc.target/aarch64/xorsign_exec.c: New.
      	* gcc.target/aarch64/vect-xorsign_exec.c: New.
      
      From-SVN: r250957
      Tamar Christina committed
    • re PR middle-end/19706 (Recognize common Fortran usages of copysign.) · 336a06a1
      2017-08-08  Tamar Christina  <tamar.christina@arm.com>
      	    Andrew Pinski <pinskia@gmail.com>
      
      	PR middle-end/19706
      	* internal-fn.def (XORSIGN): New.
      	* optabs.def (xorsign_optab): New.
      	* tree-ssa-math-opts.c (is_copysign_call_with_1): New.
      	(convert_expand_mult_copysign): New.
      	(pass_optimize_widening_mul::execute): Call convert_expand_mult_copysign.
      
      
      Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
      
      From-SVN: r250956
      Tamar Christina committed
    • re PR tree-optimization/81354 (Segmentation fault in SSA Strength Reduction using -O3) · b115e803
      [gcc]
      
      2017-08-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/81354
      	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
      	Insert on edges rather than explicitly creating landing pads.
      	(analyze_candidates_and_replace): Commit edge inserts.
      
      
      [gcc/testsuite]
      
      2017-08-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/81354
      	* g++.dg/torture/pr81354.C: New file.
      
      From-SVN: r250955
      Bill Schmidt committed
    • re PR middle-end/81719 (Range-based for loop on short fixed size array generates… · 51bd28ed
      re PR middle-end/81719 (Range-based for loop on short fixed size array generates long unrolled loop)
      
      2017-08-08  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/81719
      	* tree-ssa-loop-niter.c: Include tree-dfa.h.
      	(expand_simple_operations): Also look through ADDR_EXPRs with
      	MEM_REF bases treating them as POINTER_PLUS_EXPR.
      
      	* g++.dg/tree-ssa/pr81719.C: New testcase.
      
      From-SVN: r250954
      Richard Biener committed
    • re PR tree-optimization/81723 (fortran build doesn't terminate on 64bit targets) · 26d66f28
      2017-08-08  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81723
      	* tree-vect-slp.c (struct bst_traits): New hash traits.
      	(bst_fail): New global.
      	(vect_build_slp_tree_2): New worker, split out from ...
      	(vect_build_slp_tree): ... this now wrapping it with using
      	bst_fail set to cache SLP tree build fails.  Properly handle
      	max_tree_size.
      	(vect_analyze_slp_instance): Allocate and free bst_fail.
      
      	* gfortran.dg/pr81723.f: New testcase.
      
      From-SVN: r250953
      Richard Biener committed
    • scalar-extract-exp-2.c: Adjust diagnostic string. · 82c0d3eb
      2017-08-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Adjust diagnostic
      	string.
      	* gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise.
      	* gcc.target/powerpc/byte-in-set-2.c: Likewise.
      	* gcc.target/powerpc/cmpb-3.c: Likewise.
      	* gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise.
      	* gcc.target/powerpc/vsu/vec-xst-len-13.c: Likewise.
      
      From-SVN: r250952
      Bill Schmidt committed
    • ICF: properly handle LABEL_DECLs (PR tree-opt/81696). · d81e058f
      2017-08-08  Martin Liska  <mliska@suse.cz>
      
      	PR tree-opt/81696
      	* ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider
      	LABEL_DECLs that can be from a different function.
      2017-08-08  Martin Liska  <mliska@suse.cz>
      
      	PR tree-opt/81696
      	* gcc.dg/ipa/pr81696.c: New test.
      
      From-SVN: r250951
      Martin Liska committed
    • re PR tree-optimization/81744 (ICE: verify_ssa failed, at tree-ssa.c:1186) · a5c93f53
      	PR tree-optimization/81744
      	* tree-predcom.c (prepare_finalizers_chain): Deep copy expr of
      	loop's number of iterations.
      
      	gcc/testsuite
      	* gcc.dg/tree-ssa/pr81744.c: New.
      
      From-SVN: r250950
      Bin Cheng committed
    • Add missing include of attribs.h in lto.c · eac3ab4a
      2017-08-08  Tom de Vries  <tom@codesourcery.com>
      
      	* lto.c: Include attribs.h.
      
      From-SVN: r250949
      Tom de Vries committed
    • re PR c++/81607 (Conditional operator: "type mismatch in shift expression" error) · a5afbdd6
      	PR c++/81607
      	* cp-gimplify.c (cp_fold): If folding exposed a branch of
      	a COND_EXPR, convert it to the original type of the COND_EXPR, if
      	they differ.		   
      
      	* g++.dg/other/bitfield6.C: New test.
      
      From-SVN: r250948
      Marek Polacek committed