Skip to content

Commit

Permalink
Fix problems with GCC < v8
Browse files Browse the repository at this point in the history
Summary:
@public

GCC up until v7 flags our way of reading edges in `YGNodeSetStyleInputs` as unused variables. I managed to work around that by rearranging the casts a bit.

Reviewed By: SidharthGuglani

Differential Revision: D14299439

fbshipit-source-id: eec0266185504d1b790b9ef574bd4a83c0059d3a
  • Loading branch information
davidaurelio authored and facebook-github-bot committed Mar 4, 2019
1 parent 8899412 commit a9bddf8
Showing 1 changed file with 14 additions and 17 deletions.
31 changes: 14 additions & 17 deletions java/jni/YGJNI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -755,18 +755,17 @@ static void YGNodeSetStyleInputs(
YGNodeStyleSetDisplay(node, static_cast<YGDisplay>(*styleInputs++));
break;
case Margin: {
float edge = *styleInputs++;
auto edge = static_cast<YGEdge>(*styleInputs++);
float marginValue = *styleInputs++;
ygNodeRefToYGNodeContext(node)->edgeSetFlag |= MARGIN;
YGNodeStyleSetMargin(node, static_cast<YGEdge>(edge), marginValue);
YGNodeStyleSetMargin(node, edge, marginValue);
break;
}
case MarginPercent: {
float edge = *styleInputs++;
auto edge = static_cast<YGEdge>(*styleInputs++);
float marginPercent = *styleInputs++;
ygNodeRefToYGNodeContext(node)->edgeSetFlag |= MARGIN;
YGNodeStyleSetMarginPercent(
node, static_cast<YGEdge>(edge), marginPercent);
YGNodeStyleSetMarginPercent(node, edge, marginPercent);
break;
}
case MarginAuto: {
Expand All @@ -775,38 +774,36 @@ static void YGNodeSetStyleInputs(
break;
}
case Padding: {
float edge = *styleInputs++;
auto edge = static_cast<YGEdge>(*styleInputs++);
float paddingValue = *styleInputs++;
ygNodeRefToYGNodeContext(node)->edgeSetFlag |= PADDING;
YGNodeStyleSetPadding(node, static_cast<YGEdge>(edge), paddingValue);
YGNodeStyleSetPadding(node, edge, paddingValue);
break;
}
case PaddingPercent: {
float edge = *styleInputs++;
auto edge = static_cast<YGEdge>(*styleInputs++);
float paddingPercent = *styleInputs++;
ygNodeRefToYGNodeContext(node)->edgeSetFlag |= PADDING;
YGNodeStyleSetPaddingPercent(
node, static_cast<YGEdge>(edge), paddingPercent);
YGNodeStyleSetPaddingPercent(node, edge, paddingPercent);
break;
}
case Border: {
float edge = *styleInputs++;
auto edge = static_cast<YGEdge>(*styleInputs++);
float borderValue = *styleInputs++;
ygNodeRefToYGNodeContext(node)->edgeSetFlag |= BORDER;
YGNodeStyleSetBorder(node, static_cast<YGEdge>(edge), borderValue);
YGNodeStyleSetBorder(node, edge, borderValue);
break;
}
case Position: {
float edge = *styleInputs++;
auto edge = static_cast<YGEdge>(*styleInputs++);
float positionValue = *styleInputs++;
YGNodeStyleSetPosition(node, static_cast<YGEdge>(edge), positionValue);
YGNodeStyleSetPosition(node, edge, positionValue);
break;
}
case PositionPercent: {
float edge = *styleInputs++;
auto edge = static_cast<YGEdge>(*styleInputs++);
float positionPercent = *styleInputs++;
YGNodeStyleSetPositionPercent(
node, static_cast<YGEdge>(edge), positionPercent);
YGNodeStyleSetPositionPercent(node, edge, positionPercent);
break;
}
case IsReferenceBaseline: {
Expand Down

0 comments on commit a9bddf8

Please sign in to comment.