commit 2534b579b7fcf1f22729331399e0898ff4f52dd7 from: Benjamin Stürz date: Thu Dec 12 10:54:36 2024 UTC cc1: fix compilation with gcc commit - c591ae72dc1bd77c12a0563030c9a2e539ffe09f commit + 2534b579b7fcf1f22729331399e0898ff4f52dd7 blob - 88fe4d77b4bdfda32b836e84ffe97180502b1cea blob + 82f180a8cba0e5563641e4baed24a853cd05738c --- MyMakefile +++ MyMakefile @@ -13,7 +13,7 @@ CFLAGS ?= -O2 CFLAGS += -ansi -Wall -Wno-deprecated-non-prototype -Wno-implicit-int ## Default C Preprocssor Flags -CPPFLAGS ?= +CPPFLAGS ?= -D_GNU_SOURCE -D_BSD_SOURCE .EXPORTS: CC YACC CFLAGS CPPFLAGS blob - 7ef55d5088264082583f2cf2d5dc2c15bb876ce1 blob + a22d12933faf8a16999616fdbcf2587d88a479c9 --- cc/cc1/MyMakefile +++ cc/cc1/MyMakefile @@ -15,11 +15,11 @@ run: cc1 ../irc/irc (echo '=== IR ==='; cat test.ir; echo '=== ASM ==='; cat test.asm) | less cc1: lex.o parse.o gen.o main.o dt.o - ${CC} -o $@ $^ ${CFLAGS} + ${CC} -o $@ $^ ${CFLAGS} ${CPPFLAGS} parse.o y.tab.h: parse.y ${YACC} ${YFLAGS} parse.y - ${CC} -c -o ${.OBJDIR}/parse.o y.tab.c ${CFLAGS} + ${CC} -c -o ${.OBJDIR}/parse.o y.tab.c ${CFLAGS} ${CPPFLAGS} rm -f y.tab.c lex.o: cc1.h y.tab.h blob - ef0df826f47b0b5403d2710e1d9696c46e65569a blob + 229460f5e3be502f6a3ba3609d88521be9d665de --- cc/cc1/cc1.h +++ cc/cc1/cc1.h @@ -186,10 +186,10 @@ struct function { }; enum irc_type { - IT_BYTE, // char - IT_WORD, // short, int - IT_DWORD, // long - IT_QWORD, // (unused for now) + IT_BYTE, /* char */ + IT_WORD, /* short, int */ + IT_DWORD, /* long */ + IT_QWORD, /* (unused for now) */ }; extern struct scope gscope, fscope; @@ -197,4 +197,4 @@ extern yyerror (), yylex (); extern reg, linenum; extern struct expr *cast (); -#endif // FILE_CC1_H +#endif /* FILE_CC1_H */ blob - c00a601f0dafa2a9036540c91a42b350662f8570 blob + 683084b71918edd127ff667324b85e1720ffa683 --- cc/cc1/gen.c +++ cc/cc1/gen.c @@ -43,7 +43,7 @@ struct dtype *dt; print_dt (dt->inner); break; case DT_FUNC: - // TODO + /* TODO */ abort (); break; } @@ -61,7 +61,7 @@ struct symbol *sym; break; case SC_EXTERN: ext = 1; - // fallthrough + /* fallthrough */ case SC_STATIC: pub = 0; break; @@ -87,7 +87,7 @@ struct symbol *sym; switch (sym->init.type) { case IN_EX: printf (" = %d", eval_expr (sym->init.ex)); - // fallthrough + /* fallthrough */ case IN_NONE: printf (";\n"); break; @@ -221,7 +221,7 @@ struct function *fn; printf ("\n"); } - // TODO: define static variables + /* TODO: define static variables */ for (st = fn->body; *st != NULL; ++st) { gen_stmt (*st); blob - 06510e0eb093d5955e81d84501fdfcd238c82d34 blob + 76ecbe9ebf82c667e1cca3f71611532e76e74743 --- cc/cc1/lex.c +++ cc/cc1/lex.c @@ -9,7 +9,7 @@ int linenum = 1, peekdch = EOF; struct token lval; struct scope gscope, fscope; -// MISC +/* MISC */ yyerror (msg) char *msg; @@ -54,7 +54,7 @@ isname (ch) return isalnum (ch) || ch == '_'; } -// LEXER +/* LEXER */ yylex () { @@ -136,7 +136,7 @@ begin: } } } - // fallthrough + /* fallthrough */ default: return yyerror ("invalid input"); } blob - 6a5acd0471fec6f5390f1302128599d8dae660a3 blob + a4a1a9af67d5239c661489426447d5d97f51f037 --- cc/cc1/parse.y +++ cc/cc1/parse.y @@ -129,7 +129,7 @@ init_decl : declarator { $$ = new_decl (&$1); $$->in declarator : declarator '(' ')' { $$.type = DL_FUNC; $$.dl = new (struct declarator); *$$.dl = $1; } | declarator '(' ident_list ')' { $$.type = DL_FUNCDEF; $$.def.dl = new (struct declarator); *$$.def.dl = $1; $$.def.il = $3; } - //| declarator '[' const_expr ']' + /*| declarator '[' const_expr ']' */ | declarator1 { $$ = $1; } ; @@ -147,8 +147,8 @@ abstdecl : { $$.type = DL_IDENT; $$.ident[0] = '\0' abstdecl1 : '(' abstdecl1 ')' { $$ = $2; } | '*' abstdecl { $$.type = DL_PTR; $$.dl = new (struct declarator); *$$.dl = $2; } - //| abstdecl '(' ')' { $$.type = DL_FUNC; $$.dl = new (struct declarator); *$$.dl = $1; } - //| abstdecl '[' const_expr ']' + /*| abstdecl '(' ')' { $$.type = DL_FUNC; $$.dl = new (struct declarator); *$$.dl = $1; } */ + /*| abstdecl '[' const_expr ']' */ ; initializer : '=' expression { $$.type = IN_EX; $$.ex = $2; } @@ -441,7 +441,7 @@ struct stmt **stmts; fn->vhead = vtail = NULL; fn->body = stmts; - // declare arguments as implicit int + /* declare arguments as implicit int */ for (il = dl->def.il; il != NULL; il = il->next) { if (find_sym (fscope.vars, il->ident) != NULL) yyerror ("redeclaration of argument"); @@ -464,7 +464,7 @@ struct stmt **stmts; atail = sym; } - // set the correct data types for arguments + /* set the correct data types for arguments */ for (dd = args; dd != NULL; dd = dd->next) { if (dd->d.sc != SC_NONE) yyerror ("invalid storage class for function argument"); @@ -481,7 +481,7 @@ struct stmt **stmts; } } - // declare variables + /* declare variables */ for (dd = vars; dd != NULL; dd = dd->next) { base = resolve_type (&dd->d.ts); for (di = dd->d.head; di != NULL; di = di->next) {