rusty@GARNET.BERKELEY.EDU (12/08/89)
Here are patches for fixing missing and in some cases incorrect function declarations. I did this last night when I woke up and couldn't get back to sleep; I just compiled gcc on a sparcstation with gcc -Wreturn-type and then eyeballed the warnings and fixed the code as necessary. This is simple (although tedious) enough that it seems to me that this ought to be done before each release of gcc. I couldn't make the warnings go away completely because gcc doesn't recognize the /* NOTREACHED */ comment. diff -r -c gcc-1.36-old/c-decl.c gcc-1.36/c-decl.c *** gcc-1.36-old/c-decl.c Wed Sep 6 13:32:06 1989 --- gcc-1.36/c-decl.c Thu Dec 7 02:09:14 1989 *************** *** 353,358 **** --- 353,360 ---- #endif int dollars_in_ident = DOLLARS_IN_IDENTIFIERS; + extern char in_parm_level_p (); + char *language_string = "GNU C"; /* Decode the string P as a language-specific option. *************** *** 453,458 **** --- 455,461 ---- /* Nonzero if currently making parm declarations. */ + char in_parm_level_p () { return current_binding_level->parm_flag; diff -r -c gcc-1.36-old/c-typeck.c gcc-1.36/c-typeck.c *** gcc-1.36-old/c-typeck.c Thu Aug 24 14:44:57 1989 --- gcc-1.36/c-typeck.c Thu Dec 7 02:09:48 1989 *************** *** 561,566 **** --- 561,567 ---- if (mode == TYPE_MODE (long_double_type_node)) return long_double_type_node; abort (); + /* NOTREACHED */ } tree diff -r -c gcc-1.36-old/caller-save.c gcc-1.36/caller-save.c *** gcc-1.36-old/caller-save.c Wed Feb 22 08:50:12 1989 --- gcc-1.36/caller-save.c Thu Dec 7 02:22:24 1989 *************** *** 50,55 **** --- 50,56 ---- /* Find the places where hard regs are live across calls and save them. */ + void save_call_clobbered_regs () { rtx insn; *************** *** 353,356 **** --- 354,358 ---- return HImode; else abort (); + /* NOTREACHED */ } diff -r -c gcc-1.36-old/cccp.c gcc-1.36/cccp.c *** gcc-1.36-old/cccp.c Mon Sep 11 20:43:13 1989 --- gcc-1.36/cccp.c Thu Dec 7 03:26:03 1989 *************** *** 91,100 **** struct arglist; struct argdata; ! int do_define (), do_line (), do_include (), do_undef (), do_error (), do_pragma (), do_if (), do_xifdef (), do_else (), do_elif (), do_endif (), do_sccs (), do_once (); struct hashnode *install (); struct hashnode *lookup (); --- 91,107 ---- struct arglist; struct argdata; ! int do_define (); ! ! void do_line (), do_include (), do_undef (), do_error (), do_pragma (), do_if (), do_xifdef (), do_else (), do_elif (), do_endif (), do_sccs (), do_once (); + void deps_output (), make_undef (), make_definition (), + initialize_builtins (), initialize_char_syntax (), dump_arg_n (), + dump_defn_1 (), delete_macro (), trigraph_pcp (), rescan (), finclude (), + validate_else (); + struct hashnode *install (); struct hashnode *lookup (); *************** *** 109,115 **** /* Last arg to output_line_command. */ enum file_change_code {same_file, enter_file, leave_file}; ! int grow_outbuf (); int handle_directive (); void memory_full (); --- 116,122 ---- /* Last arg to output_line_command. */ enum file_change_code {same_file, enter_file, leave_file}; ! void grow_outbuf (); int handle_directive (); void memory_full (); *************** *** 429,449 **** /* Here is the actual list of #-directives, most-often-used first. */ struct directive directive_table[] = { ! { 6, do_define, "define", T_DEFINE, 0, 1}, ! { 2, do_if, "if", T_IF}, ! { 5, do_xifdef, "ifdef", T_IFDEF}, ! { 6, do_xifdef, "ifndef", T_IFNDEF}, ! { 5, do_endif, "endif", T_ENDIF}, ! { 4, do_else, "else", T_ELSE}, ! { 4, do_elif, "elif", T_ELIF}, ! { 4, do_line, "line", T_LINE}, ! { 7, do_include, "include", T_INCLUDE, 1}, ! { 5, do_undef, "undef", T_UNDEF}, ! { 5, do_error, "error", T_ERROR}, #ifdef SCCS_DIRECTIVE ! { 4, do_sccs, "sccs", T_SCCS}, #endif ! { 6, do_pragma, "pragma", T_PRAGMA, 0, 0, 1}, { -1, 0, "", T_UNUSED}, }; --- 436,456 ---- /* Here is the actual list of #-directives, most-often-used first. */ struct directive directive_table[] = { ! { 6, (int (*)()) do_define, "define", T_DEFINE, 0, 1}, ! { 2, (int (*)()) do_if, "if", T_IF}, ! { 5, (int (*)()) do_xifdef, "ifdef", T_IFDEF}, ! { 6, (int (*)()) do_xifdef, "ifndef", T_IFNDEF}, ! { 5, (int (*)()) do_endif, "endif", T_ENDIF}, ! { 4, (int (*)()) do_else, "else", T_ELSE}, ! { 4, (int (*)()) do_elif, "elif", T_ELIF}, ! { 4, (int (*)()) do_line, "line", T_LINE}, ! { 7, (int (*)()) do_include, "include", T_INCLUDE, 1}, ! { 5, (int (*)()) do_undef, "undef", T_UNDEF}, ! { 5, (int (*)()) do_error, "error", T_ERROR}, #ifdef SCCS_DIRECTIVE ! { 4, (int (*)()) do_sccs, "sccs", T_SCCS}, #endif ! { 6, (int (*)()) do_pragma, "pragma", T_PRAGMA, 0, 0, 1}, { -1, 0, "", T_UNUSED}, }; *************** *** 1054,1059 **** --- 1061,1067 ---- perror: pfatal_with_name (in_fname); + /* NOTREACHED */ } /* Pre-C-Preprocessor to translate ANSI trigraph idiocy in BUF *************** *** 1065,1070 **** --- 1073,1079 ---- strings, etc. everywhere, and also makes sure that trigraphs are only translated in the top level of processing. */ + void trigraph_pcp (buf) FILE_BUF *buf; { *************** *** 1134,1139 **** --- 1143,1149 ---- (because a backslash-newline inside a comment delimiter would cause it not to be recognized). */ + void newline_fix (bp) U_CHAR *bp; { *************** *** 1169,1174 **** --- 1179,1185 ---- /* Like newline_fix but for use within a directive-name. Move any backslash-newlines up past any following symbol constituents. */ + void name_newline_fix (bp) U_CHAR *bp; { *************** *** 1237,1242 **** --- 1248,1254 ---- * explicitly, and before RECACHE, since RECACHE uses OBP. */ + void rescan (op, output_marks) FILE_BUF *op; int output_marks; *************** *** 2297,2302 **** --- 2309,2315 ---- * expand things like __FILE__. Place the expansion into the output * buffer *without* rescanning. */ + void special_symbol (hp, op) HASHNODE *hp; FILE_BUF *op; *************** *** 2431,2436 **** --- 2444,2450 ---- * Expects to see "fname" or <fname> on the input. */ + void do_include (buf, limit, op, keyword) U_CHAR *buf, *limit; FILE_BUF *op; *************** *** 2644,2649 **** --- 2658,2664 ---- /* Process the contents of include file FNAME, already open on descriptor F, with output to OP. */ + void finclude (f, fname, op) int f; char *fname; *************** *** 2763,2768 **** --- 2778,2784 ---- LIMIT points to the first character past the end of the definition. KEYWORD is the keyword-table entry for #define. */ + int do_define (buf, limit, op, keyword) U_CHAR *buf, *limit; FILE_BUF *op; *************** *** 2940,2945 **** --- 2956,2962 ---- LAST means these parts are the last of a macro definition; so ignore trailing whitespace entirely. */ + int comp_def_part (first, beg1, len1, beg2, len2, last) int first; U_CHAR *beg1, *beg2; *************** *** 3236,3241 **** --- 3253,3259 ---- */ #define FNAME_HASHSIZE 37 + void do_line (buf, limit, op, keyword) U_CHAR *buf, *limit; FILE_BUF *op; *************** *** 3344,3349 **** --- 3362,3368 ---- * according to un*x /lib/cpp, it is not an error to undef * something that has no definitions, so it isn't one here either. */ + void do_undef (buf, limit, op, keyword) U_CHAR *buf, *limit; FILE_BUF *op; *************** *** 3365,3370 **** --- 3384,3390 ---- * Use the text of the line in the error message, then terminate. * (We use error() because it prints the filename & line#.) */ + void do_error (buf, limit, op, keyword) U_CHAR *buf, *limit; FILE_BUF *op; *************** *** 3382,3387 **** --- 3402,3408 ---- /* Remember the name of the current file being read from so that we can avoid ever including it again. */ + void do_once () { int i; *************** *** 3407,3412 **** --- 3428,3434 ---- /* #pragma and its argument line have already been copied to the output file. Here just check for recognized pragmas. */ + void do_pragma (buf, limit) U_CHAR *buf, *limit; { *************** *** 3442,3447 **** --- 3464,3470 ---- #endif /* Just ignore #sccs, on systems where we define it at all. */ + void do_sccs () { if (pedantic) *************** *** 3461,3466 **** --- 3484,3490 ---- * or not, depending on the value from step 3. */ + void do_if (buf, limit, op, keyword) U_CHAR *buf, *limit; FILE_BUF *op; *************** *** 3478,3483 **** --- 3502,3508 ---- * see the comment above do_else. */ + void do_elif (buf, limit, op, keyword) U_CHAR *buf, *limit; FILE_BUF *op; *************** *** 3543,3548 **** --- 3568,3574 ---- * then do or don't skip to the #endif/#else/#elif depending * on what directive is actually being processed. */ + void do_xifdef (buf, limit, op, keyword) U_CHAR *buf, *limit; FILE_BUF *op; *************** *** 3772,3777 **** --- 3798,3804 ---- * for missing #endif's etc. will point to the original #if. It * is possible that something different would be better. */ + void do_else (buf, limit, op, keyword) U_CHAR *buf, *limit; FILE_BUF *op; *************** *** 3810,3815 **** --- 3837,3843 ---- /* * unstack after #endif command */ + void do_endif (buf, limit, op, keyword) U_CHAR *buf, *limit; FILE_BUF *op; *************** *** 3835,3840 **** --- 3863,3869 ---- if -pedantic was specified, this is called to warn about text after the command name. P points to the first char after the command name. */ + void validate_else (p) register U_CHAR *p; { *************** *** 4686,4691 **** --- 4715,4721 ---- /* * error - print error message and increment count of errors. */ + int error (msg, arg1, arg2, arg3) char *msg; { *************** *** 4708,4713 **** --- 4738,4744 ---- /* Error including a message from `errno'. */ + int error_from_errno (name) char *name; { *************** *** 4736,4741 **** --- 4767,4773 ---- /* Print error message but don't count it. */ + int warning (msg, arg1, arg2, arg3) char *msg; { *************** *** 4756,4761 **** --- 4788,4794 ---- return 0; } + int error_with_line (line, msg, arg1, arg2, arg3) int line; char *msg; *************** *** 4799,4804 **** --- 4832,4838 ---- return 0; line1 = instack[i].lineno; } + abort(); } /* *************** *** 4810,4816 **** * should work ok. */ ! int grow_outbuf (obuf, needed) register FILE_BUF *obuf; register int needed; --- 4844,4850 ---- * should work ok. */ ! void grow_outbuf (obuf, needed) register FILE_BUF *obuf; register int needed; *************** *** 4945,4950 **** --- 4979,4985 ---- in the middle of reading the arguments to a call to it. If #undef freed the DEFINITION, that would crash. */ + void delete_macro (hp) HASHNODE *hp; { *************** *** 5058,5063 **** --- 5093,5099 ---- Discard newlines outside of strings, thus converting funny-space markers to ordinary spaces. */ + void dump_defn_1 (base, start, length) U_CHAR *base; int start; *************** *** 5082,5087 **** --- 5118,5124 ---- Recall that DEFN->argnames contains all the arg names concatenated in reverse order with comma-space in between. */ + void dump_arg_n (defn, argnum) DEFINITION *defn; int argnum; *************** *** 5100,5105 **** --- 5137,5143 ---- /* Initialize syntactic classifications of characters. */ + void initialize_char_syntax () { register int i; *************** *** 5138,5143 **** --- 5176,5182 ---- /* Initialize the built-in macros. */ + void initialize_builtins () { install ("__LINE__", -1, T_SPECLINE, 0, -1); *************** *** 5160,5165 **** --- 5199,5205 ---- * If STR has anything after the identifier, then it should * be identifier-space-definition. */ + void make_definition (str) U_CHAR *str; { *************** *** 5196,5201 **** --- 5236,5242 ---- } /* JF, this does the work for the -U option */ + void make_undef (str) U_CHAR *str; { *************** *** 5224,5229 **** --- 5265,5271 ---- SIZE is the number of bytes, or 0 meaning output until a null. If SIZE is nonzero, we break the line first, if it is long enough. */ + void deps_output (string, size) char *string; int size; Common subdirectories: gcc-1.36-old/config and gcc-1.36/config diff -r -c gcc-1.36-old/emit-rtl.c gcc-1.36/emit-rtl.c *** gcc-1.36-old/emit-rtl.c Wed Sep 20 21:33:11 1989 --- gcc-1.36/emit-rtl.c Thu Dec 7 02:17:43 1989 *************** *** 410,415 **** --- 410,416 ---- } else abort (); + /* NOTREACHED */ } /* Like `gen_lowpart', but refer to the most significant part. */ *************** *** 449,454 **** --- 450,456 ---- } else abort (); + /* NOTREACHED */ } /* Return 1 iff X, assumed to be a SUBREG, *************** *** 1093,1099 **** /* Emit the insns in a chain starting with INSN. */ ! rtx emit_insns (insn) rtx insn; { --- 1095,1101 ---- /* Emit the insns in a chain starting with INSN. */ ! void emit_insns (insn) rtx insn; { diff -r -c gcc-1.36-old/explow.c gcc-1.36/explow.c *** gcc-1.36-old/explow.c Sun Aug 20 11:23:34 1989 --- gcc-1.36/explow.c Thu Dec 7 02:59:14 1989 *************** *** 166,171 **** --- 166,172 ---- rtx context; { abort (); + /* NOTREACHED */ } /* Return a copy of X in which all memory references diff -r -c gcc-1.36-old/expr.c gcc-1.36/expr.c *** gcc-1.36-old/expr.c Sun Sep 17 22:52:16 1989 --- gcc-1.36/expr.c Thu Dec 7 02:14:51 1989 *************** *** 1089,1094 **** --- 1089,1095 ---- #endif else abort (); + /* NOTREACHED */ } /* Pushing data onto the stack. */ *************** *** 3386,3391 **** --- 3387,3393 ---- default: abort (); } + /* NOTREACHED */ } /* Expand code for a post- or pre- increment or decrement diff -r -c gcc-1.36-old/gcc.c gcc-1.36/gcc.c *** gcc-1.36-old/gcc.c Sun Sep 17 13:51:58 1989 --- gcc-1.36/gcc.c Thu Dec 7 02:04:01 1989 *************** *** 137,142 **** --- 137,148 ---- #define obstack_chunk_free free extern int xmalloc (); extern void free (); + extern void give_switch (); + extern void pfatal_with_name (); + extern void perror_with_name (); + extern void perror_exec (); + extern void fatal (); + extern void error (); /* If a stage of compilation returns an exit status >= 1, compilation of that file ceases. */ *************** *** 740,745 **** --- 746,752 ---- /* Return child's process number. */ return pid; } + /* NOTREACHED */ } /* Execute the command specified by the arguments on the current line of spec. *************** *** 1442,1447 **** --- 1449,1455 ---- the vector of switches gcc received, which is `switches'. This cannot fail since it never finishes a command line. */ + void give_switch (switchnum) int switchnum; { *************** *** 1796,1803 **** --- 1804,1813 ---- delete_temp_files (); exit (error_count); + /* NOTREACHED */ } + int xmalloc (size) int size; { *************** *** 1807,1812 **** --- 1817,1823 ---- return value; } + int xrealloc (ptr, size) int ptr, size; { *************** *** 1845,1850 **** --- 1856,1862 ---- return result; } + void pfatal_with_name (name) char *name; { *************** *** 1859,1864 **** --- 1871,1877 ---- fatal (s, name); } + void perror_with_name (name) char *name; { *************** *** 1873,1878 **** --- 1886,1892 ---- error (s, name); } + void perror_exec (name) char *name; { *************** *** 1917,1922 **** --- 1931,1937 ---- exit (1); } + void error (va_alist) va_dcl { *************** *** 1934,1939 **** --- 1949,1955 ---- #else /* not HAVE_VPRINTF */ + void fatal (msg, arg1, arg2) char *msg, *arg1, *arg2; { *************** *** 1942,1947 **** --- 1958,1964 ---- exit (1); } + void error (msg, arg1, arg2) char *msg, *arg1, *arg2; { diff -r -c gcc-1.36-old/gencodes.c gcc-1.36/gencodes.c *** gcc-1.36-old/gencodes.c Thu Sep 7 20:17:44 1989 --- gcc-1.36/gencodes.c Thu Dec 7 02:12:09 1989 *************** *** 151,154 **** --- 151,155 ---- fflush (stdout); exit (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE); + /* NOTREACHED */ } diff -r -c gcc-1.36-old/genconfig.c gcc-1.36/genconfig.c *** gcc-1.36-old/genconfig.c Thu Sep 7 20:17:57 1989 --- gcc-1.36/genconfig.c Thu Dec 7 02:12:40 1989 *************** *** 264,267 **** --- 264,268 ---- fflush (stdout); exit (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE); + /* NOTREACHED */ } diff -r -c gcc-1.36-old/genemit.c gcc-1.36/genemit.c *** gcc-1.36-old/genemit.c Thu Sep 7 20:18:12 1989 --- gcc-1.36/genemit.c Thu Dec 7 02:18:17 1989 *************** *** 477,480 **** --- 477,481 ---- fflush (stdout); exit (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE); + /* NOTREACHED */ } diff -r -c gcc-1.36-old/genextract.c gcc-1.36/genextract.c *** gcc-1.36-old/genextract.c Sat Sep 23 22:26:59 1989 --- gcc-1.36/genextract.c Thu Dec 7 02:24:40 1989 *************** *** 345,348 **** --- 345,349 ---- fflush (stdout); exit (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE); + /* NOTREACHED */ } diff -r -c gcc-1.36-old/genflags.c gcc-1.36/genflags.c *** gcc-1.36-old/genflags.c Thu Sep 7 20:18:05 1989 --- gcc-1.36/genflags.c Thu Dec 7 02:10:45 1989 *************** *** 135,138 **** --- 135,139 ---- fflush (stdout); exit (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE); + /* NOTREACHED */ } diff -r -c gcc-1.36-old/genoutput.c gcc-1.36/genoutput.c *** gcc-1.36-old/genoutput.c Mon Sep 11 17:44:23 1989 --- gcc-1.36/genoutput.c Thu Dec 7 02:25:06 1989 *************** *** 772,777 **** --- 772,778 ---- fflush (stdout); exit (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE); + /* NOTREACHED */ } int diff -r -c gcc-1.36-old/genpeep.c gcc-1.36/genpeep.c *** gcc-1.36-old/genpeep.c Thu Sep 7 20:18:26 1989 --- gcc-1.36/genpeep.c Thu Dec 7 02:22:56 1989 *************** *** 434,437 **** --- 434,438 ---- fflush (stdout); exit (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE); + /* NOTREACHED */ } diff -r -c gcc-1.36-old/genrecog.c gcc-1.36/genrecog.c *** gcc-1.36-old/genrecog.c Thu Sep 7 20:18:33 1989 --- gcc-1.36/genrecog.c Thu Dec 7 02:24:16 1989 *************** *** 1092,1095 **** --- 1092,1096 ---- fflush (stdout); exit (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE); + /* NOTREACHED */ } diff -r -c gcc-1.36-old/loop.c gcc-1.36/loop.c *** gcc-1.36-old/loop.c Sat Sep 9 21:48:44 1989 --- gcc-1.36/loop.c Thu Dec 7 02:18:47 1989 *************** *** 4383,4388 **** --- 4383,4389 ---- default: abort (); } + /* NOTREACHED */ } diff -r -c gcc-1.36-old/recog.c gcc-1.36/recog.c *** gcc-1.36-old/recog.c Sat Aug 5 21:12:48 1989 --- gcc-1.36/recog.c Thu Dec 7 02:23:52 1989 *************** *** 851,856 **** --- 851,857 ---- return gen_rtx (MEM, GET_MODE (op), plus_constant (y, offset)); } abort (); + /* NOTREACHED */ } #ifdef REGISTER_CONSTRAINTS diff -r -c gcc-1.36-old/regclass.c gcc-1.36/regclass.c *** gcc-1.36-old/regclass.c Wed Feb 22 09:28:58 1989 --- gcc-1.36/regclass.c Thu Dec 7 02:19:18 1989 *************** *** 339,345 **** /* This prevents dump_flow_info from losing if called before regclass is run. */ ! int regclass_init () { prefclass = 0; --- 339,345 ---- /* This prevents dump_flow_info from losing if called before regclass is run. */ ! void regclass_init () { prefclass = 0; diff -r -c gcc-1.36-old/reload1.c gcc-1.36/reload1.c *** gcc-1.36-old/reload1.c Sat Sep 16 17:16:41 1989 --- gcc-1.36/reload1.c Thu Dec 7 02:21:18 1989 *************** *** 1774,1779 **** --- 1774,1780 ---- case RELOAD_FOR_OPERAND_ADDRESS: return ! reload_reg_in_use_for_operands[regno]; } + abort(); } /* Return 1 if the value in reload reg REGNO, as used by a reload *************** *** 1803,1808 **** --- 1804,1810 ---- case RELOAD_FOR_INPUT_RELOAD_ADDRESS: return 1; } + abort(); } /* Return 1 if the value in reload reg REGNO, as used by a reload *************** *** 1832,1837 **** --- 1834,1840 ---- case RELOAD_FOR_OUTPUT_RELOAD_ADDRESS: return 1; } + abort(); } /* Vector of reload-numbers showing the order in which the reloads should diff -r -c gcc-1.36-old/stmt.c gcc-1.36/stmt.c *** gcc-1.36-old/stmt.c Wed Sep 20 21:29:53 1989 --- gcc-1.36/stmt.c Thu Dec 7 02:15:43 1989 *************** *** 354,360 **** /* Emit a no-op instruction. */ ! rtx emit_nop () { rtx last_insn = get_last_insn (); --- 354,360 ---- /* Emit a no-op instruction. */ ! void emit_nop () { rtx last_insn = get_last_insn (); diff -r -c gcc-1.36-old/symout.c gcc-1.36/symout.c *** gcc-1.36-old/symout.c Wed Sep 6 21:17:15 1989 --- gcc-1.36/symout.c Thu Dec 7 02:16:29 1989 *************** *** 1000,1005 **** --- 1000,1006 ---- return address; } + void symout_function_end () { /* Output dummy entries for any undefined structure references. */ diff -r -c gcc-1.36-old/tree.c gcc-1.36/tree.c *** gcc-1.36-old/tree.c Sun Aug 6 14:35:29 1989 --- gcc-1.36/tree.c Thu Dec 7 02:10:18 1989 *************** *** 1745,1750 **** --- 1745,1751 ---- default: abort (); } + /* NOTREACHED */ } /* Constructors for pointer, array and function types. Common subdirectories: gcc-1.36-old/config/SCCS and gcc-1.36/config/SCCS diff -r -c gcc-1.36-old/config/out-sparc.c gcc-1.36/config/out-sparc.c *** gcc-1.36-old/config/out-sparc.c Wed Sep 6 00:54:34 1989 --- gcc-1.36/config/out-sparc.c Thu Dec 7 02:28:00 1989 *************** *** 916,921 **** --- 916,922 ---- } } else abort (); + /* NOTREACHED */ } /* Return a REG that occurs in ADDR with coefficient 1. *************** *** 941,946 **** --- 942,948 ---- if (GET_CODE (addr) == REG) return addr; abort (); + /* NOTREACHED */ } void *************** *** 1036,1041 **** --- 1038,1044 ---- if (GET_CODE (operands[0]) == REG) return "[%%g1+%%lo(%m1)],%0"; abort (); + /* NOTREACHED */ } /* Output a floating-point load-from-memory whose operands are OPERANDS[0,1]. *************** *** 1827,1833 **** HEAD comes from the target of some branch, so before we output it, we delete it from the target, lest we execute it twice. The caller of this function promises that such code motion is permissable. */ ! char * output_eager_then_insn (head, operands) rtx head; rtx *operands; --- 1830,1836 ---- HEAD comes from the target of some branch, so before we output it, we delete it from the target, lest we execute it twice. The caller of this function promises that such code motion is permissable. */ ! void output_eager_then_insn (head, operands) rtx head; rtx *operands;