From 5172d87ae82cf2f45747bdc1833016898c708d60 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Sun, 30 Oct 2022 19:07:53 -0400 Subject: add several new examples --- ctype-function-parameter-not-representable.c | 12 ++++++++++++ declaring-a-variable-of-incomplete-type.c | 4 ++++ execution-reaches-end-brace-of-function.c | 8 ++++++++ function-declared-extern-inline.c | 6 ++++++ manually-declaring-__func__.c | 5 +++++ modifying-a-string-literal.c | 8 ++++++++ returning-from-a-_Noreturn-function.c | 9 +++++++++ undefined-extern-variable.c | 6 ++++++ undefined-preprocessor-directive.c | 1 + undefining-a-predefined-macro.c | 1 + 10 files changed, 60 insertions(+) create mode 100644 ctype-function-parameter-not-representable.c create mode 100644 declaring-a-variable-of-incomplete-type.c create mode 100644 execution-reaches-end-brace-of-function.c create mode 100644 function-declared-extern-inline.c create mode 100644 manually-declaring-__func__.c create mode 100644 modifying-a-string-literal.c create mode 100644 returning-from-a-_Noreturn-function.c create mode 100644 undefined-extern-variable.c create mode 100644 undefined-preprocessor-directive.c create mode 100644 undefining-a-predefined-macro.c diff --git a/ctype-function-parameter-not-representable.c b/ctype-function-parameter-not-representable.c new file mode 100644 index 0000000..0fb5698 --- /dev/null +++ b/ctype-function-parameter-not-representable.c @@ -0,0 +1,12 @@ +#include +#include +#include + +int main(void) +{ + int c = UCHAR_MAX + 1; + if (c == EOF) { + c++; + } + return isalpha(c); +} diff --git a/declaring-a-variable-of-incomplete-type.c b/declaring-a-variable-of-incomplete-type.c new file mode 100644 index 0000000..2502b8f --- /dev/null +++ b/declaring-a-variable-of-incomplete-type.c @@ -0,0 +1,4 @@ +int main(void) +{ + struct foo foo; +} diff --git a/execution-reaches-end-brace-of-function.c b/execution-reaches-end-brace-of-function.c new file mode 100644 index 0000000..4f22dd5 --- /dev/null +++ b/execution-reaches-end-brace-of-function.c @@ -0,0 +1,8 @@ +int foo(void) +{ +} + +int main(void) +{ + return foo(); +} diff --git a/function-declared-extern-inline.c b/function-declared-extern-inline.c new file mode 100644 index 0000000..bc403fd --- /dev/null +++ b/function-declared-extern-inline.c @@ -0,0 +1,6 @@ +extern inline int foo(void); + +int main(void) +{ + return foo(); +} diff --git a/manually-declaring-__func__.c b/manually-declaring-__func__.c new file mode 100644 index 0000000..df53006 --- /dev/null +++ b/manually-declaring-__func__.c @@ -0,0 +1,5 @@ +int main(void) +{ + int __func__ = 0; + return __func__; +} diff --git a/modifying-a-string-literal.c b/modifying-a-string-literal.c new file mode 100644 index 0000000..bebabbf --- /dev/null +++ b/modifying-a-string-literal.c @@ -0,0 +1,8 @@ +#include + +int main(void) +{ + char *s = "foo"; + s[0] = 'b'; + puts(s); +} diff --git a/returning-from-a-_Noreturn-function.c b/returning-from-a-_Noreturn-function.c new file mode 100644 index 0000000..ec072be --- /dev/null +++ b/returning-from-a-_Noreturn-function.c @@ -0,0 +1,9 @@ +_Noreturn void foo(void) +{ + return; +} + +int main(void) +{ + foo(); +} diff --git a/undefined-extern-variable.c b/undefined-extern-variable.c new file mode 100644 index 0000000..2ff2e4b --- /dev/null +++ b/undefined-extern-variable.c @@ -0,0 +1,6 @@ +extern int bar; + +int main(void) +{ + return bar; +} diff --git a/undefined-preprocessor-directive.c b/undefined-preprocessor-directive.c new file mode 100644 index 0000000..e4762de --- /dev/null +++ b/undefined-preprocessor-directive.c @@ -0,0 +1 @@ +#hello diff --git a/undefining-a-predefined-macro.c b/undefining-a-predefined-macro.c new file mode 100644 index 0000000..d6804d7 --- /dev/null +++ b/undefining-a-predefined-macro.c @@ -0,0 +1 @@ +#undef __STDC__ -- cgit v1.2.1