From 88d82c6eaee88398af1de57cddca692a1f74b087 Mon Sep 17 00:00:00 2001 From: Uneven Prankster Date: Mon, 17 Jul 2023 01:34:34 -0300 Subject: Cleanup feels good! Big work coming up this week. --- tinycc/tests/tests2/60_errors_and_warnings.c | 466 --------------------------- 1 file changed, 466 deletions(-) delete mode 100644 tinycc/tests/tests2/60_errors_and_warnings.c (limited to 'tinycc/tests/tests2/60_errors_and_warnings.c') diff --git a/tinycc/tests/tests2/60_errors_and_warnings.c b/tinycc/tests/tests2/60_errors_and_warnings.c deleted file mode 100644 index 960c64f..0000000 --- a/tinycc/tests/tests2/60_errors_and_warnings.c +++ /dev/null @@ -1,466 +0,0 @@ -#if defined test_56_btype_excess_1 -struct A {} int i; - -#elif defined test_57_btype_excess_2 -char int i; - -#elif defined test_58_function_redefinition -int f(void) { return 0; } -int f(void) { return 1; } - -#elif defined test_global_redefinition -int xxx = 1; -int xxx; -int xxx = 2; - -#elif defined test_59_function_array -int (*fct)[42](int x); - -#elif defined test_60_enum_redefinition -enum color { RED, GREEN, BLUE }; -enum color { R, G, B }; -enum color c; - -#elif defined test_62_enumerator_redefinition -enum color { RED, GREEN, BLUE }; -enum rgb { RED, G, B}; -enum color c = RED; - -#elif defined test_63_local_enumerator_redefinition -enum { - FOO, - BAR -}; - -int main(void) -{ - enum { - FOO = 2, - BAR - }; - - return BAR - FOO; -} - -#elif defined test_61_undefined_enum -enum rgb3 c = 42; - -#elif defined test_74_non_const_init -int i = i++; - -#elif defined test_pointer_assignment - -void (*f1)(void); -void f2(void) {} - -struct s1 *ps1; -struct s2 *ps2; - -void *v1, **v2, ***v3; - -enum e1 { a = 4 } e10, *e11, *e12; -enum e2 { b = -4 } e20, *e21; -enum e3 { c = 5000000000LL } e30; - -int *ip; -unsigned int *up; -long *lp; -long long *llp; - -char **c1; -char const **c2; -unsigned char **u1; - -int no_main () -{ - // function - f1 = f2; - // struct - ps1 = ps2; - // void* - v1 = v3; - v2 = v3; - - // enum - e11 = e12; - e11 = e21; - e11 = &e10; - ip = &e10; - ip = &e20; - up = &e10; - up = &e20; - up = &e30; - - lp = ip; - lp = llp; - - // constness - c1 = c2; - *c1 = *c2; - **c1 = **c2; - - // unsigned = signed - u1 = c2; - *u1 = *c2; - **u1 = **c2; - - c2 = c1; - *c2 = *c1; - **c2 = **c1; - - return 0; -} - - -#elif defined test_enum_compat -enum e4; -enum e5; -void f3(enum e4 e); -void f3(enum e5 e); - -#elif defined test_enum_compat_2 -enum e6 { E1 = -1, E0 }; -void f3(enum e6); -void f3(int); // should work as int and e6 are compatible -void f4(enum e6 e); -void f4(unsigned e); // should error as unsigned and e6 are incompatible - -#elif defined test_ptr_to_str -void f() { _Generic((int const *[]){0}, int:0); } -#elif defined test_fnptr_to_str -void f() { _Generic((int (*(*)(float,char))(double,int)){0}, int:0); } -#elif defined test_array_to_str -void f() { _Generic((int(*)[3]){0}, int:0); } -#elif defined test_duplicate_def_1 -static enum myenum { L = -1 } L; -#elif defined test_duplicate_def_2 -void foo(void) { -static enum myenum { L = -1 } L; -} -#elif defined test_abstract_decls -int bar(const char *()); // abstract declarator here is okay -int bar (const char *(*g)()) // should match this 'g' argument -{ - g(); - return 42; -} -int foo(int ()) // abstract decl is wrong in definitions -{ - return 0; -#elif defined test_invalid_1 -void f(char*); -void g(void) { - f((char[]){1, ,}); -} -#elif defined test_invalid_2 -int ga = 0.42 { 2 }; -#elif defined test_invalid_3 -struct S { int a, b; }; -struct T { struct S x; }; -struct T gt = { 42 a: 1, 43 }; -#elif defined test_invalid_4 -enum E { - x = 1 / 0 -}; -#elif defined test_conflicting_types -int i; -void foo(void) { - int i; - { - extern double i; - i = 42.2; - } -} -#elif defined test_nested_types -union u { - union u { - int i; - } m; -}; -#elif defined test_vla_1 -int X=1; - -int main(void) { - int t[][][X]; -} -#elif defined test_invalid_alignas -/* _Alignas is no type qualifier */ -void * _Alignas(16) p1; - -#elif defined test_static_assert - -#define ONE 0 - _Static_assert(ONE == 0, "don't show me this"); - struct x{ _Static_assert(ONE == 1, "ONE is not 1"); }; - -#elif defined test_static_assert_2 - _Static_assert(1, "1"" is 1"); -struct y { _Static_assert(0, "0"" is 0"); }; - -#elif defined test_static_assert_c2x - _Static_assert(1); -struct z { _Static_assert(0); } - -#elif defined test_static_assert_empty_string - _Static_assert(0,""); - -#elif defined test_void_array - void t[3]; - -#elif defined test_incomplete_enum_array - enum e t[3]; - -#elif defined test_incomplete_struct_array - struct s t[3]; - -#elif defined test_const_fun_array - typedef void f(void); - const f t[3]; - -#elif defined test_incomplete_array_array - int t[][3]; // gr: not an error, see below - -/******************************************************************/ -#elif defined test_extern_array -int iii[] = { 1,2,3 }; -extern int iii[]; -int x[]; -int x[2]; -int x[]; -int x[2]; -int x[]; -extern int x[2]; -extern int x[]; -int x[3]; - -/******************************************************************/ -#elif defined test_func_1 \ - || defined test_func_2 \ - || defined test_func_3 \ - || defined test_func_4 \ - || defined test_func_5 \ - || defined test_func_6 -#if defined test_func_1 -int hello(int); -#elif defined test_func_4 -static int hello(int); -#endif -int main () { -#if defined test_func_6 - static -#endif - int hello(int); - hello(123); - return 0; -} -int printf(const char*, ...); -#if defined test_func_3 -static int hello(int a) -#elif defined test_func_5 -int hello(int a, int b) -#else -int hello(int a) -#endif -{ printf("%s: a = %d\n", __FUNCTION__, a); return 0; } - -/******************************************************************/ -#elif defined test_var_1 \ - || defined test_var_2 \ - || defined test_var_3 -#define P(n,v) printf("%-5s: %d ; %d\n", __FUNCTION__, n, v) -#if defined test_var_1 -int xxx[]; -#endif -int bar(); -int printf(const char*, ...); -int main () -{ -#if !defined test_var_3 - int xxx = 2; -#endif - { - extern int xxx[ -#if defined test_var_3 - 2 -#endif - ]; - P(1, xxx[0]); - xxx[0] += 2; - } -#if !defined test_var_3 - P(2, xxx); -#endif - bar(123); - return 0; -} -int xxx[1] = {1}; -int bar() { P(3, xxx[0]); return 0; } - -#elif defined test_var_4 -struct yyy { int y; }; -struct zzz; -void f1() { - extern char *x; - extern char **xx; - extern struct yyy y; - extern struct yyy *yy; - extern struct zzz z; - extern struct zzz *zz; -} -void f2() { - extern char *x; - extern char **xx; - extern struct yyy y; - extern struct yyy *yy; - extern struct zzz z; - extern struct zzz *zz; -} -struct yyy y, *yy; -struct zzz { int z; } z, *zz; - -/******************************************************************/ -#elif defined test_long_double_type_for_win32 - -int main() -{ - double *a = 0; - long double *b = a; - int n = _Generic(*a, double:0, long double:1); -} - -#elif defined test_stray_backslash -#define x \a -x - -#elif defined test_stray_backslash2 -int printf(const char*, ...); -int main() -{ -#define _S(x) #x -#define S(x) _S(x) - printf("%sn\n", S(\\)); -} - -/******************************************************************/ -#elif defined test_var_array - -static struct var_len { int i; const char str[]; } var_array[] = -{ { 1, "abcdefghijklmnopqrstuvwxyz" }, - { 2, "longlonglonglonglong" }, - { 3, "tst3" } }; - -#elif defined test_var_array2 - -struct c1 { int a; int b[]; }; -struct c1 c1 = { 1, { 2, 3, 4 } }; - -struct c2 { int c; struct c1 c1; }; -struct c2 c2 = { 1, { 2, { 3, 4, 5 }}}; - -#elif defined test_var_array3 -/* similar to test_var_array2 but with string initializers */ -struct A { int a; char b[]; }; -struct A a = { 1, "1" }; -struct B { struct A a; }; -struct B b = { { 1, "1" } }; -/******************************************************************/ -#elif defined test_default_int_type -n; // warn -f(); // don't warn - -#elif defined test_invalid_global_stmtexpr -n[sizeof({3;})]; // crashed in block() due to missing local scope - -#elif defined test_invalid_tokckill -f(){"12"3;} // second const token killed the value of the first - -/******************************************************************/ -#elif defined test_duplicate_member -struct S { - int a, a; -}; -#elif defined test_duplicate_member_anon -struct S1 { - int b; - struct { - int b; - } c; -}; -struct S2 { - int d; - struct { - int d; - }; -}; - -/******************************************************************/ -#elif defined test_conflicting_array_definition -extern int array[2]; -int array[] = { 1, 2, 3 }; - -#elif defined test_incompatible_local_redef -void foo (void) -{ - typedef int localfunctype (int); - extern localfunctype func2; - typedef void localfunctype (int, int); -} - -#elif defined test_cast_from_void -void v() {} -int f() { return v(); } - -#elif defined test_switch_W1 || defined test_switch_W2 \ - || defined test_switch_W3 || defined test_switch_W4 -#if defined test_switch_W1 -#pragma comment(option, "-Wall") -#elif defined test_switch_W2 -#pragma comment(option, "-Wunsupported -Wno-implicit-function-declaration -Wstuff") -#elif defined test_switch_W3 -#pragma comment(option, "-Wwrite-strings -Werror=discarded-qualifiers") -#elif defined test_switch_W4 -#pragma comment(option, "-Wunsupported -Wno-error=implicit-function-declaration -Werror") -#endif -void func() -{ - char *ccp = "123"; - fink(); -} -__attribute__((stuff)) int fink() {return 0;} - -#elif defined test_invalid_funcparam_1 -void func(int a, int b, int a); - -#elif defined test_invalid_funcparam_2 -void func(int a, int if); - -#elif defined test_array_funcparam -int amain(int argc, char *argv[static argc + 1]) -{ - int i; - int printf(const char*, ...); - for (i = 0; i < argc; ++i) - printf("arg[%d] = \"%s\"\n", i, argv[i]); - return 0; -} -int main() -{ - return amain(2, (char *[]){ "X", "Y", 0 }); -} - -#elif defined test_return_from_statement_expr -int f() { ({ return 78; }); } -int main() { return f(); } - -/******************************************************************/ - -#elif defined test_illegal_unicode -int main() { - char *str = "\Uffffffff"; -} - -#elif defined test_error_string -#error \123\\ -456 - -#endif -- cgit v1.2.3