Instantly share code, notes, and snippets.

Embed
What would you like to do?
Example of GCC's -Werror=switch
/*
* gcc -Werror=switch will produce an error for this
*/
#include <stdio.h>
enum language {
ENGLISH,
SPANISH,
GERMAN
};
const char *convert(int num, enum language lang)
{
const char *ret = "";
switch (lang) {
case ENGLISH:
switch (num) {
case 0: ret = "zero"; break;
case 1: ret = "one"; break;
default: ret = "..."; break;
}
break;
case SPANISH:
switch (num) {
case 0: ret = "zero"; break;
case 1: ret = "uno"; break;
default: ret = "..."; break;
}
break;
}
return ret;
}
int main(void)
{
printf("%s\n", convert(1, ENGLISH));
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment