> On Thu, Jun 29, 2017 at 11:19 PM, Jan Hubicka <hubi...@ucw.cz> wrote: > >> After this commit (r249800), GCC builds fail for arm and aarch64: > >> > >> /gccsrc/gcc/except.c: In function ???void > >> sjlj_emit_function_enter(rtx_code_label*)???: > >> /gcc-fsf/gccsrc/gcc/except.c:1183: error: conversion from ???int??? to > >> non-scalar type ???profile_probability??? requested > >> make[2]: *** [except.o] Error 1 > > > > The following patch should help > > Index: except.c > > =================================================================== > > --- except.c (revision 249800) > > +++ except.c (working copy) > > @@ -1180,7 +1180,7 @@ sjlj_emit_function_enter (rtx_code_label > > > > emit_cmp_and_jump_insns (x, const0_rtx, NE, 0, > > TYPE_MODE (integer_type_node), 0, > > - dispatch_label, REG_BR_PROB_BASE / 100); > > + dispatch_label, > > profile_probability::unlikely ()); > > #else > > expand_builtin_setjmp_setup (addr, dispatch_label); > > #endif > > > > > > I will verify that cross compiler builds and commit it. > > I also see on arm-none-eabi: > > > In file included from > /tmp/66508161.tmpdir/buildbot/rhe6x86_64--arm-none-eabi/build/src/gcc/gcc/config/arm/arm-builtins.c:30:0: > /tmp/66508161.tmpdir/buildbot/rhe6x86_64--arm-none-eabi/build/src/gcc/gcc/optabs.h:251:10: > error: 'profile_probability' has not been declared > profile_probability prob > ^ > /tmp/66508161.tmpdir/buildbot/rhe6x86_64--arm-none-eabi/build/src/gcc/gcc/optabs.h:252:8: > error: 'profile_probability' has not been declared > = profile_probability::uninitialized ()); > ^
Yep, this is because we opted to not have #includes in include files which makes it quite painful to introduce new data types in their own types which are used elsewhere. I will add #include <profile-count.h> into arm-builtins.c as well. Honza