Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions config/mac.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@
'-Werror=shadow',
'-Werror=unreachable-code',
'-Werror=enum-compare',
'-Werror=switch',
],
},
},
Expand Down
3 changes: 3 additions & 0 deletions engine/src/bitmapeffect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -878,6 +878,9 @@ static void MCBitmapEffectsSetUIntProperty(MCBitmapEffect& x_effect, MCBitmapEff
}
}
break;
default:
MCUnreachableReturn();
break;
}
}

Expand Down
8 changes: 6 additions & 2 deletions engine/src/customprinter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -365,10 +365,12 @@ bool MCCustomMetaContext::candomark(MCMark *p_mark)
case MARK_TYPE_LINK:
// We can always render links natively - even if this is a no-op.
return true;
case MARK_TYPE_END:
// Unknown mark so return false.
return false;
}

// Unknown mark so return false.
return false;
MCUnreachableReturn(false);
}

void MCCustomMetaContext::domark(MCMark *p_mark)
Expand Down Expand Up @@ -2057,6 +2059,8 @@ class MCDebugPrintingDevice: public MCCustomPrintingDevice
case kMCCustomPrinterPathClose:
Print("close");
break;
case kMCCustomPrinterPathEnd:
MCUnreachable();
}
}
}
Expand Down
26 changes: 24 additions & 2 deletions engine/src/eventqueue.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -529,12 +529,16 @@ static void MCEventQueueDispatchEvent(MCEvent *p_event)
t_event -> custom . event -> Dispatch();
break;

#ifdef _MOBILE
case kMCEventTypeTouch:
#ifdef _MOBILE
handle_touch(t_event -> touch . stack, t_event -> touch . phase, t_event -> touch . id, t_event -> touch . taps, t_event -> touch . x, t_event -> touch . y);
#else
MCUnreachable();
#endif
break;

case kMCEventTypeMotion:
#ifdef _MOBILE
{
MCNameRef t_message;
MCStringRef t_motion;
Expand All @@ -556,28 +560,46 @@ static void MCEventQueueDispatchEvent(MCEvent *p_event)

MCdefaultstackptr -> getcurcard() -> message_with_valueref_args(t_message, t_motion);
}
#else
MCUnreachable();
#endif
break;

case kMCEventTypeAcceleration:
#ifdef _MOBILE
{
MCAutoStringRef t_value;
/* UNCHECKED */ MCStringFormat(&t_value, "%.6f,%.6f,%.6f,%f", t_event -> acceleration . x, t_event -> acceleration . y, t_event -> acceleration . z, t_event -> acceleration . t);
MCdefaultstackptr -> getcurcard() -> message_with_valueref_args(MCM_acceleration_changed, *t_value);
}
#else
MCUnreachable();
#endif
break;

case kMCEventTypeOrientation:
#ifdef _MOBILE
MCdefaultstackptr -> getcurcard() -> message(MCM_orientation_changed);
#else
MCUnreachable();
#endif
break;

case kMCEventTypeLocation:
#ifdef _MOBILE
MCdefaultstackptr -> getcurcard() -> message(t_event -> location . error == nil ? MCM_location_changed : MCM_location_error);
#else
MCUnreachable();
#endif
break;

case kMCEventTypeHeading:
#ifdef _MOBILE
MCdefaultstackptr -> getcurcard() -> message(t_event -> location . error == nil ? MCM_heading_changed : MCM_heading_error);
break;
#else
MCUnreachable();
#endif
break;
}
}

Expand Down
2 changes: 2 additions & 0 deletions engine/src/exec-interface-graphic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@ void MCGraphic::SetEditMode(MCExecContext& ctxt, intenum_t mode)
case kMCEditModePolygon:
t_new_tool = new (nothrow) MCPolygonEditTool(this);
break;
case kMCEditModeNone:
break;
}
m_edit_tool = t_new_tool;

Expand Down
7 changes: 7 additions & 0 deletions engine/src/exec.h
Original file line number Diff line number Diff line change
Expand Up @@ -2171,6 +2171,13 @@ extern MCExecMethodInfo *kMCStringsEvalItemOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsEvalLineOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsEvalWordOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsEvalOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsEvalTokenOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsEvalSentenceOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsEvalParagraphOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsEvalTrueWordOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsEvalCodepointOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsEvalCodeunitOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsEvalByteOffsetMethodInfo;
extern MCExecMethodInfo *kMCStringsExecReplaceMethodInfo;
extern MCExecMethodInfo *kMCStringsExecFilterWildcardMethodInfo;
extern MCExecMethodInfo *kMCStringsExecFilterRegexMethodInfo;
Expand Down
24 changes: 24 additions & 0 deletions engine/src/funcs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -575,9 +575,33 @@ void MCChunkOffset::compile(MCSyntaxFactoryRef ctxt)
case CT_WORD:
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalWordOffsetMethodInfo);
break;
case CT_TOKEN:
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalTokenOffsetMethodInfo);
break;
case CT_CHARACTER:
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalOffsetMethodInfo);
break;
case CT_PARAGRAPH:
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalParagraphOffsetMethodInfo);
break;
case CT_SENTENCE:
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalSentenceOffsetMethodInfo);
break;
case CT_TRUEWORD:
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalTrueWordOffsetMethodInfo);
break;
case CT_CODEPOINT:
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalCodepointOffsetMethodInfo);
break;
case CT_CODEUNIT:
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalCodeunitOffsetMethodInfo);
break;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be CT_BTYE as well I think.

case CT_BYTE:
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalByteOffsetMethodInfo);
break;
default:
MCUnreachable();
break;
}
}

Expand Down
16 changes: 12 additions & 4 deletions engine/src/ibmp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1902,6 +1902,8 @@ bool MCXBMImageLoader::LoadHeader(uint32_t &r_width, uint32_t &r_height, uint32_
case kMCDefineYHot:
t_yhot = t_value;
break;
default:
MCUnreachable();
}
}
}
Expand Down Expand Up @@ -2369,13 +2371,13 @@ static bool xpm_read_v1_header(IO_handle p_stream, char x_line[XPM_MAX_LINE], ui
//t_hotspot.y = t_height / 2;
break;

//case kMCDefineXHot:
case kMCDefineXHot:
// t_hotspot.x = t_value;
// break;
break;

//case kMCDefineYHot:
case kMCDefineYHot:
// t_hotspot.y = t_value;
// break;
break;

case kMCDefineFormat:
t_format = t_value;
Expand All @@ -2388,6 +2390,10 @@ static bool xpm_read_v1_header(IO_handle p_stream, char x_line[XPM_MAX_LINE], ui
case kMCDefineCharsPerPixel:
t_chars_per_pixel = t_value;
break;

case kMCDefineUnknown:
MCUnreachable();
break;
}
}
}
Expand Down Expand Up @@ -2902,6 +2908,8 @@ bool MCImageEncodeRawTrueColor(MCImageBitmap *p_bitmap, IO_handle p_stream, Expo
case EX_RAW_ABGR:
MCBitmapConvertRow<EX_RAW_ABGR>(t_row_buffer, (uint32_t*)t_src_ptr, p_bitmap->width);
break;
default:
MCUnreachable();
}
t_success = IO_NORMAL == IO_write(t_row_buffer, sizeof(uint8_t), t_stride, p_stream);
t_byte_count += t_stride;
Expand Down
6 changes: 6 additions & 0 deletions engine/src/ide.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2486,6 +2486,8 @@ struct MCIdeFilterControlsVisitor: public MCObjectVisitor
case kMCIdeFilterPropertyType:
MCStringCreateWithNativeChars((char_t*)p_object -> gettypestring(), strlen(p_object -> gettypestring()), (MCStringRef&)&t_left_value);
break;
case kMCIdeFilterPropertyNone:
break;
}

bool t_accept;
Expand Down Expand Up @@ -2543,6 +2545,10 @@ struct MCIdeFilterControlsVisitor: public MCObjectVisitor

}
break;

case kMCIdeFilterOperatorNone:
break;

}

if (t_accept)
Expand Down
6 changes: 6 additions & 0 deletions engine/src/idraw.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,9 @@ void MCImage::drawwithgravity(MCDC *dc, MCRectangle r, MCGravity p_gravity)
dx = r . x;
dw = r . width;
break;
case kMCGravityNone:
MCUnreachable();
break;
}

switch(p_gravity)
Expand Down Expand Up @@ -348,6 +351,9 @@ void MCImage::drawwithgravity(MCDC *dc, MCRectangle r, MCGravity p_gravity)
dy = r . y;
dh = r . height;
break;
case kMCGravityNone:
MCUnreachable();
break;
}

drawme(dc, 0, 0, rect . width, rect . height, dx, dy, dw, dh);
Expand Down
2 changes: 2 additions & 0 deletions engine/src/image.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,8 @@ Boolean MCImage::mdown(uint2 which)

return True;
}
default:
break;
}

if (isediting() &&
Expand Down
5 changes: 5 additions & 0 deletions engine/src/mac-av-player.mm
Original file line number Diff line number Diff line change
Expand Up @@ -1160,6 +1160,9 @@ bool MCMacPlayerSnapshotCVImageBuffer(CVImageBufferRef p_imagebuffer, uint32_t p
MCMemoryCopy(m_markers, t_markers -> ptr, m_marker_count * sizeof(MCPlatformPlayerDuration));
}
break;

default:
break;
}

m_synchronizing = false;
Expand Down Expand Up @@ -1284,6 +1287,8 @@ static Boolean AVAssetHasType(AVAsset *p_asset, NSString *p_type)
case kMCPlatformPlayerPropertyScalefactor:
*(double *)r_value = m_scale;
break;
default:
break;
}
}

Expand Down
3 changes: 3 additions & 0 deletions engine/src/mac-menu.mm
Original file line number Diff line number Diff line change
Expand Up @@ -842,6 +842,9 @@ void MCPlatformSetMenuItemProperty(MCPlatformMenuRef p_menu, uindex_t p_index, M
}
}
break;

case kMCPlatformMenuItemPropertyUnknown:
MCUnreachable();
}
}

Expand Down
5 changes: 5 additions & 0 deletions engine/src/mac-qt-player.mm
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,8 @@ inline NSComparisonResult do_QTTimeCompare (QTTime time, QTTime otherTime)
MCMemoryCopy(m_markers, t_markers -> ptr, m_marker_count * sizeof(MCPlatformPlayerDuration));
}
break;
default:
MCUnreachable();
}

m_synchronizing = false;
Expand Down Expand Up @@ -906,6 +908,9 @@ static Boolean QTMovieHasType(Movie tmovie, OSType movtype)
case kMCPlatformPlayerPropertyScalefactor:
*(double *)r_value = m_scale;
break;

default:
MCUnreachable();
}
}

Expand Down
3 changes: 2 additions & 1 deletion engine/src/mac-surface.mm
Original file line number Diff line number Diff line change
Expand Up @@ -396,9 +396,10 @@ static inline CGBlendMode MCGBlendModeToCGBlendMode(MCGBlendMode p_blend)
return kCGBlendModeColor;
case kMCGBlendModeLuminosity:
return kCGBlendModeLuminosity;
default:
MCUnreachableReturn(kCGBlendModeNormal); // unknown blend mode
}

MCUnreachableReturn(kCGBlendModeNormal); // unknown blend mode
}

static void MCMacRenderCGImage(CGContextRef p_target, CGRect p_dst_rect, CGImageRef p_src, MCGFloat p_alpha, MCGBlendMode p_blend)
Expand Down
5 changes: 3 additions & 2 deletions engine/src/mac-window.mm
Original file line number Diff line number Diff line change
Expand Up @@ -2046,9 +2046,10 @@ - (void)setFrameSize: (NSSize)size
RealizeAndNotify();
*(void**)r_value = m_window_handle;
return true;

default:
return false;
}

return false;
}

void MCMacPlatformWindow::DoShow(void)
Expand Down
6 changes: 6 additions & 0 deletions engine/src/metacontext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -888,6 +888,12 @@ static bool mark_indirect(MCContext *p_context, MCMark *p_mark, MCMark *p_upto_m
t_path -> release();
}
break;

case MARK_TYPE_END:
case MARK_TYPE_EPS:
case MARK_TYPE_LINK:
case MARK_TYPE_GROUP:
break;
}
}

Expand Down
4 changes: 3 additions & 1 deletion engine/src/operator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,9 @@ void MCIs::eval_ctxt(MCExecContext &ctxt, MCExecValue &r_value)
else
MCEngineEvalIsNotStrictlyAnArray(ctxt, *t_value, t_result);
break;
}
default:
MCUnreachable();
}

if (!ctxt . HasError())
MCExecValueTraits<bool>::set(r_value, t_result);
Expand Down
10 changes: 9 additions & 1 deletion engine/src/osxprinter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -887,7 +887,12 @@ void MCMacOSXPrinter::GetProperties(bool p_include_output)
CFRelease(t_output_file);
t_output_type = kPMDestinationFile;
}
break;
break;
case PRINTER_OUTPUT_WORKFLOW:
case PRINTER_OUTPUT_SYSTEM:
MCUnreachable();
break;

}

t_err = PMSessionSetDestination(m_session, m_settings, t_output_type, kPMDocumentFormatPDF, t_output_url);
Expand Down Expand Up @@ -1877,6 +1882,9 @@ void MCQuartzMetaContext::domark(MCMark *p_mark)
executegroup(p_mark);
}
break;

default:
break;
}

CGContextRestoreGState(m_context);
Expand Down
Loading