Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit 1dc2a87

Browse files
committed
Turn on -Werror=switch
1 parent 2ea9905 commit 1dc2a87

30 files changed

Lines changed: 200 additions & 35 deletions

config/mac.gypi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@
138138
'-Werror=objc-literal-compare',
139139
'-Werror=shadow',
140140
'-Werror=unreachable-code',
141+
'-Werror=switch',
141142
],
142143
},
143144
},

engine/src/bitmapeffect.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -878,6 +878,8 @@ static void MCBitmapEffectsSetUIntProperty(MCBitmapEffect& x_effect, MCBitmapEff
878878
}
879879
}
880880
break;
881+
default:
882+
MCUnreachableReturn();
881883
}
882884
}
883885

engine/src/customprinter.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -368,10 +368,11 @@ bool MCCustomMetaContext::candomark(MCMark *p_mark)
368368
case MARK_TYPE_LINK:
369369
// We can always render links natively - even if this is a no-op.
370370
return true;
371+
case MARK_TYPE_END:
372+
// Unknown mark so return false.
373+
return false;
371374
}
372375

373-
// Unknown mark so return false.
374-
return false;
375376
}
376377

377378
void MCCustomMetaContext::domark(MCMark *p_mark)
@@ -2060,6 +2061,8 @@ class MCDebugPrintingDevice: public MCCustomPrintingDevice
20602061
case kMCCustomPrinterPathClose:
20612062
Print("close");
20622063
break;
2064+
case kMCCustomPrinterPathEnd:
2065+
MCUnreachable();
20632066
}
20642067
}
20652068
}

engine/src/eventqueue.cpp

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -529,12 +529,16 @@ static void MCEventQueueDispatchEvent(MCEvent *p_event)
529529
t_event -> custom . event -> Dispatch();
530530
break;
531531

532-
#ifdef _MOBILE
533532
case kMCEventTypeTouch:
533+
#ifdef _MOBILE
534534
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);
535+
#else
536+
MCUnreachable();
537+
#endif
535538
break;
536539

537540
case kMCEventTypeMotion:
541+
#ifdef _MOBILE
538542
{
539543
MCNameRef t_message;
540544
MCStringRef t_motion;
@@ -556,28 +560,46 @@ static void MCEventQueueDispatchEvent(MCEvent *p_event)
556560

557561
MCdefaultstackptr -> getcurcard() -> message_with_valueref_args(t_message, t_motion);
558562
}
563+
#else
564+
MCUnreachable();
565+
#endif
559566
break;
560567

561568
case kMCEventTypeAcceleration:
569+
#ifdef _MOBILE
562570
{
563571
MCAutoStringRef t_value;
564572
/* UNCHECKED */ MCStringFormat(&t_value, "%.6f,%.6f,%.6f,%f", t_event -> acceleration . x, t_event -> acceleration . y, t_event -> acceleration . z, t_event -> acceleration . t);
565573
MCdefaultstackptr -> getcurcard() -> message_with_valueref_args(MCM_acceleration_changed, *t_value);
566574
}
575+
#else
576+
MCUnreachable();
577+
#endif
567578
break;
568579

569580
case kMCEventTypeOrientation:
581+
#ifdef _MOBILE
570582
MCdefaultstackptr -> getcurcard() -> message(MCM_orientation_changed);
583+
#else
584+
MCUnreachable();
585+
#endif
571586
break;
572587

573588
case kMCEventTypeLocation:
589+
#ifdef _MOBILE
574590
MCdefaultstackptr -> getcurcard() -> message(t_event -> location . error == nil ? MCM_location_changed : MCM_location_error);
591+
#else
592+
MCUnreachable();
593+
#endif
575594
break;
576595

577596
case kMCEventTypeHeading:
597+
#ifdef _MOBILE
578598
MCdefaultstackptr -> getcurcard() -> message(t_event -> location . error == nil ? MCM_heading_changed : MCM_heading_error);
579-
break;
599+
#else
600+
MCUnreachable();
580601
#endif
602+
break;
581603
}
582604
}
583605

engine/src/exec-interface-graphic.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,8 @@ void MCGraphic::SetEditMode(MCExecContext& ctxt, intenum_t mode)
245245
case kMCEditModePolygon:
246246
t_new_tool = new MCPolygonEditTool(this);
247247
break;
248+
case kMCEditModeNone:
249+
break;
248250
}
249251
m_edit_tool = t_new_tool;
250252

engine/src/exec.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2171,6 +2171,12 @@ extern MCExecMethodInfo *kMCStringsEvalItemOffsetMethodInfo;
21712171
extern MCExecMethodInfo *kMCStringsEvalLineOffsetMethodInfo;
21722172
extern MCExecMethodInfo *kMCStringsEvalWordOffsetMethodInfo;
21732173
extern MCExecMethodInfo *kMCStringsEvalOffsetMethodInfo;
2174+
extern MCExecMethodInfo *kMCStringsEvalTokenOffsetMethodInfo;
2175+
extern MCExecMethodInfo *kMCStringsEvalSentenceOffsetMethodInfo;
2176+
extern MCExecMethodInfo *kMCStringsEvalParagraphOffsetMethodInfo;
2177+
extern MCExecMethodInfo *kMCStringsEvalTrueWordOffsetMethodInfo;
2178+
extern MCExecMethodInfo *kMCStringsEvalCodepointOffsetMethodInfo;
2179+
extern MCExecMethodInfo *kMCStringsEvalCodeunitOffsetMethodInfo;
21742180
extern MCExecMethodInfo *kMCStringsExecReplaceMethodInfo;
21752181
extern MCExecMethodInfo *kMCStringsExecFilterWildcardMethodInfo;
21762182
extern MCExecMethodInfo *kMCStringsExecFilterRegexMethodInfo;

engine/src/funcs.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,9 +575,30 @@ void MCChunkOffset::compile(MCSyntaxFactoryRef ctxt)
575575
case CT_WORD:
576576
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalWordOffsetMethodInfo);
577577
break;
578+
case CT_TOKEN:
579+
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalTokenOffsetMethodInfo);
580+
break;
578581
case CT_CHARACTER:
579582
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalOffsetMethodInfo);
580583
break;
584+
case CT_PARAGRAPH:
585+
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalParagraphOffsetMethodInfo);
586+
break;
587+
case CT_SENTENCE:
588+
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalSentenceOffsetMethodInfo);
589+
break;
590+
case CT_TRUEWORD:
591+
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalTrueWordOffsetMethodInfo);
592+
break;
593+
case CT_CODEPOINT:
594+
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalCodepointOffsetMethodInfo);
595+
break;
596+
case CT_CODEUNIT:
597+
MCSyntaxFactoryEvalMethod(ctxt, kMCStringsEvalCodeunitOffsetMethodInfo);
598+
break;
599+
default:
600+
MCUnreachable();
601+
break;
581602
}
582603
}
583604

engine/src/ibmp.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1902,6 +1902,8 @@ bool MCXBMImageLoader::LoadHeader(uint32_t &r_width, uint32_t &r_height, uint32_
19021902
case kMCDefineYHot:
19031903
t_yhot = t_value;
19041904
break;
1905+
default:
1906+
MCUnreachable();
19051907
}
19061908
}
19071909
}
@@ -2369,13 +2371,13 @@ static bool xpm_read_v1_header(IO_handle p_stream, char x_line[XPM_MAX_LINE], ui
23692371
//t_hotspot.y = t_height / 2;
23702372
break;
23712373

2372-
//case kMCDefineXHot:
2374+
case kMCDefineXHot:
23732375
// t_hotspot.x = t_value;
2374-
// break;
2376+
break;
23752377

2376-
//case kMCDefineYHot:
2378+
case kMCDefineYHot:
23772379
// t_hotspot.y = t_value;
2378-
// break;
2380+
break;
23792381

23802382
case kMCDefineFormat:
23812383
t_format = t_value;
@@ -2388,6 +2390,10 @@ static bool xpm_read_v1_header(IO_handle p_stream, char x_line[XPM_MAX_LINE], ui
23882390
case kMCDefineCharsPerPixel:
23892391
t_chars_per_pixel = t_value;
23902392
break;
2393+
2394+
case kMCDefineUnknown:
2395+
MCUnreachable();
2396+
break;
23912397
}
23922398
}
23932399
}
@@ -2902,6 +2908,8 @@ bool MCImageEncodeRawTrueColor(MCImageBitmap *p_bitmap, IO_handle p_stream, Expo
29022908
case EX_RAW_ABGR:
29032909
MCBitmapConvertRow<EX_RAW_ABGR>(t_row_buffer, (uint32_t*)t_src_ptr, p_bitmap->width);
29042910
break;
2911+
default:
2912+
MCUnreachable();
29052913
}
29062914
t_success = IO_NORMAL == IO_write(t_row_buffer, sizeof(uint8_t), t_stride, p_stream);
29072915
t_byte_count += t_stride;

engine/src/ide.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2488,6 +2488,8 @@ struct MCIdeFilterControlsVisitor: public MCObjectVisitor
24882488
case kMCIdeFilterPropertyType:
24892489
MCStringCreateWithNativeChars((char_t*)p_object -> gettypestring(), strlen(p_object -> gettypestring()), (MCStringRef&)&t_left_value);
24902490
break;
2491+
case kMCIdeFilterPropertyNone:
2492+
break;
24912493
}
24922494

24932495
bool t_accept;
@@ -2545,6 +2547,10 @@ struct MCIdeFilterControlsVisitor: public MCObjectVisitor
25452547

25462548
}
25472549
break;
2550+
2551+
case kMCIdeFilterOperatorNone:
2552+
break;
2553+
25482554
}
25492555

25502556
if (t_accept)

engine/src/idraw.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,9 @@ void MCImage::drawwithgravity(MCDC *dc, MCRectangle r, MCGravity p_gravity)
317317
dx = r . x;
318318
dw = r . width;
319319
break;
320+
case kMCGravityNone:
321+
MCUnreachable();
322+
break;
320323
}
321324

322325
switch(p_gravity)
@@ -348,6 +351,9 @@ void MCImage::drawwithgravity(MCDC *dc, MCRectangle r, MCGravity p_gravity)
348351
dy = r . y;
349352
dh = r . height;
350353
break;
354+
case kMCGravityNone:
355+
MCUnreachable();
356+
break;
351357
}
352358

353359
drawme(dc, 0, 0, rect . width, rect . height, dx, dy, dw, dh);

0 commit comments

Comments
 (0)