|
|
1.1 root 1: This is Info file gcc.info, produced by Makeinfo-1.54 from the input
2: file gcc.texi.
3:
4: This file documents the use and the internals of the GNU compiler.
5:
6: Published by the Free Software Foundation 675 Massachusetts Avenue
7: Cambridge, MA 02139 USA
8:
9: Copyright (C) 1988, 1989, 1992, 1993 Free Software Foundation, Inc.
10:
11: Permission is granted to make and distribute verbatim copies of this
12: manual provided the copyright notice and this permission notice are
13: preserved on all copies.
14:
15: Permission is granted to copy and distribute modified versions of
16: this manual under the conditions for verbatim copying, provided also
17: that the sections entitled "GNU General Public License" and "Protect
18: Your Freedom--Fight `Look And Feel'" are included exactly as in the
19: original, and provided that the entire resulting derived work is
20: distributed under the terms of a permission notice identical to this
21: one.
22:
23: Permission is granted to copy and distribute translations of this
24: manual into another language, under the above conditions for modified
25: versions, except that the sections entitled "GNU General Public
26: License" and "Protect Your Freedom--Fight `Look And Feel'", and this
27: permission notice, may be included in translations approved by the Free
28: Software Foundation instead of in the original English.
29:
30:
31: File: gcc.info, Node: Index, Prev: Config, Up: Top
32:
33: Index
34: *****
35:
36: * Menu:
37:
38: * #pragma: Misc.
39: * $: Dollar Signs.
40: * ': Incompatibilities.
41: * (nil): RTL Objects.
42: * 3b1 installation: 3b1 Install.
43: * <?: Min and Max.
44: * >?: Min and Max.
45: * ?: side effect: Conditionals.
46: * #pragma implementation, implied: C++ Interface.
47: * #pragma, reason for not using: Function Attributes.
48: * # in template: Output Template.
49: * * in template: Output Statement.
50: * ?: extensions: Lvalues.
51: * ?: extensions: Conditionals.
52: * absM2 instruction pattern: Standard Names.
53: * abs and attributes: Expressions.
54: * ACCUMULATE_OUTGOING_ARGS and stack frames: Function Entry.
55: * addM3 instruction pattern: Standard Names.
56: * addr_diff_vec, length of: Insn Lengths.
57: * addr_vec, length of: Insn Lengths.
58: * aligned attribute: Variable Attributes.
59: * allocate_stack instruction pattern: Standard Names.
60: * alloca and SunOs: Installation.
61: * alloca vs variable-length arrays: Variable Length.
62: * alloca, for SunOs: Sun Install.
63: * alloca, for Unos: Unos Install.
64: * andM3 instruction pattern: Standard Names.
65: * and and attributes: Expressions.
66: * and, canonicalization of: Insn Canonicalizations.
67: * ARG_POINTER_REGNUM and virtual registers: Regs and Memory.
68: * ashiftrt and attributes: Expressions.
69: * ashift and attributes: Expressions.
70: * ashlM3 instruction pattern: Standard Names.
71: * ashrM3 instruction pattern: Standard Names.
72: * asm_operands, RTL sharing: Sharing.
73: * asm_operands, usage: Assembler.
74: * asm expressions: Extended Asm.
75: * bCOND instruction pattern: Standard Names.
76: * bcopy, implicit usage: Library Calls.
77: * BITS_BIG_ENDIAN, effect on sign_extract: Bit Fields.
78: * BLKmode, and function return values: Calls.
79: * bzero, implicit usage: Library Calls.
80: * call_insn and /u: Flags.
81: * call_pop instruction pattern: Standard Names.
82: * call_value_pop instruction pattern: Standard Names.
83: * call_value instruction pattern: Standard Names.
84: * call instruction pattern: Standard Names.
85: * call usage: Calls.
86: * casesi instruction pattern: Standard Names.
87: * cc0, RTL sharing: Sharing.
88: * cmpM instruction pattern: Standard Names.
89: * cmpstrM instruction pattern: Standard Names.
90: * code_label and /i: Flags.
91: * compare, canonicalization of: Insn Canonicalizations.
92: * cond and attributes: Expressions.
93: * const_double, RTL sharing: Sharing.
94: * const_int and attribute tests: Expressions.
95: * const_int and attributes: Expressions.
96: * const_int, RTL sharing: Sharing.
97: * const_string and attributes: Expressions.
98: * const applied to function: Function Attributes.
99: * const function attribute: Function Attributes.
100: * define_insn example: Example.
101: * divM3 instruction pattern: Standard Names.
102: * divmodM4 instruction pattern: Standard Names.
103: * div and attributes: Expressions.
104: * EDOM, implicit usage: Library Calls.
105: * ENCODE_SECTION_INFO and address validation: Addressing Modes.
106: * ENCODE_SECTION_INFO usage: Instruction Output.
107: * eq and attributes: Expressions.
108: * errno, implicit usage: Library Calls.
109: * extendMN instruction pattern: Standard Names.
110: * extv instruction pattern: Standard Names.
111: * extzv instruction pattern: Standard Names.
112: * ffsM2 instruction pattern: Standard Names.
113: * FIRST_PARM_OFFSET and virtual registers: Regs and Memory.
114: * fixMN2 instruction pattern: Standard Names.
115: * fixunsMN2 instruction pattern: Standard Names.
116: * fixuns_truncMN2 instruction pattern: Standard Names.
117: * fix_truncMN2 instruction pattern: Standard Names.
118: * floatMN2 instruction pattern: Standard Names.
119: * floatunsMN2 instruction pattern: Standard Names.
120: * float as function value type: Incompatibilities.
121: * format function attribute: Function Attributes.
122: * FRAME_GROWS_DOWNWARD and virtual registers: Regs and Memory.
123: * FRAME_POINTER_REGNUM and virtual registers: Regs and Memory.
124: * fscanf, and constant strings: Incompatibilities.
125: * ftruncM2 instruction pattern: Standard Names.
126: * FUNCTION_EPILOGUE and trampolines: Trampolines.
127: * FUNCTION_PROLOGUE and trampolines: Trampolines.
128: * g++ 1.XX: Invoking G++.
129: * g++ older version: Invoking G++.
130: * g++, separate compiler: Invoking G++.
131: * genflags, crash on Sun 4: Installation Problems.
132: * geu and attributes: Expressions.
133: * ge and attributes: Expressions.
134: * goto in C++: Destructors and Goto.
135: * gprof: Debugging Options.
136: * gtu and attributes: Expressions.
137: * gt and attributes: Expressions.
138: * HImode, in insn: Insns.
139: * if_then_else and attributes: Expressions.
140: * if_then_else usage: Side Effects.
141: * indirect_jump instruction pattern: Standard Names.
142: * inline automatic for C++ member fns: Inline.
143: * insn and /i: Flags.
144: * insn and /s: Flags.
145: * insn and /u: Flags.
146: * insv instruction pattern: Standard Names.
147: * integrated, in insn: Flags.
148: * integrated, in reg: Flags.
149: * in_struct, in code_label: Flags.
150: * in_struct, in insn: Flags.
151: * in_struct, in insn: Flags.
152: * in_struct, in label_ref: Flags.
153: * in_struct, in mem: Flags.
154: * in_struct, in reg: Flags.
155: * in_struct, in subreg: Flags.
156: * iorM3 instruction pattern: Standard Names.
157: * ior and attributes: Expressions.
158: * ior, canonicalization of: Insn Canonicalizations.
159: * label_ref and /s: Flags.
160: * label_ref, RTL sharing: Sharing.
161: * leu and attributes: Expressions.
162: * le and attributes: Expressions.
163: * load_multiple instruction pattern: Standard Names.
164: * long long data types: Long Long.
165: * longjmp and automatic variables: C Dialect Options.
166: * longjmp and automatic variables: Interface.
167: * longjmp incompatibilities: Incompatibilities.
168: * longjmp warnings: Warning Options.
169: * lshiftrt and attributes: Expressions.
170: * lshift and attributes: Expressions.
171: * lshlM3 instruction pattern: Standard Names.
172: * lshrM3 instruction pattern: Standard Names.
173: * lt and attributes: Expressions.
174: * main and the exit status: VMS Misc.
175: * match_dup and attributes: Insn Lengths.
176: * match_operand and attributes: Expressions.
177: * maxM3 instruction pattern: Standard Names.
178: * memcpy, implicit usage: Library Calls.
179: * memset, implicit usage: Library Calls.
180: * mem and /s: Flags.
181: * mem and /u: Flags.
182: * mem and /v: Flags.
183: * mem, RTL sharing: Sharing.
184: * minM3 instruction pattern: Standard Names.
185: * minus and attributes: Expressions.
186: * minus, canonicalization of: Insn Canonicalizations.
187: * mktemp, and constant strings: Incompatibilities.
188: * modM3 instruction pattern: Standard Names.
189: * mode attribute: Variable Attributes.
190: * mod and attributes: Expressions.
191: * movM instruction pattern: Standard Names.
192: * movstrM instruction pattern: Standard Names.
193: * movstrictM instruction pattern: Standard Names.
194: * mulM3 instruction pattern: Standard Names.
195: * mulhisi3 instruction pattern: Standard Names.
196: * mulqihi3 instruction pattern: Standard Names.
197: * mulsidi3 instruction pattern: Standard Names.
198: * mult and attributes: Expressions.
199: * mult, canonicalization of: Insn Canonicalizations.
200: * MUST_PASS_IN_STACK, and FUNCTION_ARG: Register Arguments.
201: * negM2 instruction pattern: Standard Names.
202: * neg and attributes: Expressions.
203: * neg, canonicalization of: Insn Canonicalizations.
204: * ne and attributes: Expressions.
205: * nop instruction pattern: Standard Names.
206: * noreturn function attribute: Function Attributes.
207: * not and attributes: Expressions.
208: * not, canonicalization of: Insn Canonicalizations.
209: * one_cmplM2 instruction pattern: Standard Names.
210: * packed attribute: Variable Attributes.
211: * pc and attributes: Insn Lengths.
212: * pc, RTL sharing: Sharing.
213: * plus and attributes: Expressions.
214: * plus, canonicalization of: Insn Canonicalizations.
215: * prof: Debugging Options.
216: * PUSH_ROUNDING, interaction with STACK_BOUNDARY: Storage Layout.
217: * QImode, in insn: Insns.
218: * qsort, and global register variables: Global Reg Vars.
219: * REG_PARM_STACK_SPACE, and FUNCTION_ARG: Register Arguments.
220: * reg and /i: Flags.
221: * reg and /s: Flags.
222: * reg and /u: Flags.
223: * reg and /v: Flags.
224: * reg, RTL sharing: Sharing.
225: * reload_in instruction pattern: Standard Names.
226: * reload_out instruction pattern: Standard Names.
227: * restore_stack_block instruction pattern: Standard Names.
228: * restore_stack_function instruction pattern: Standard Names.
229: * restore_stack_nonlocal instruction pattern: Standard Names.
230: * return instruction pattern: Standard Names.
231: * return, in C++ function header: Naming Results.
232: * rotlM3 instruction pattern: Standard Names.
233: * rotrM3 instruction pattern: Standard Names.
234: * sCOND instruction pattern: Standard Names.
235: * save_stack_block instruction pattern: Standard Names.
236: * save_stack_function instruction pattern: Standard Names.
237: * save_stack_nonlocal instruction pattern: Standard Names.
238: * scanf, and constant strings: Incompatibilities.
239: * scratch, RTL sharing: Sharing.
240: * setjmp incompatibilities: Incompatibilities.
241: * sign_extract, canonicalization of: Insn Canonicalizations.
242: * sqrtM2 instruction pattern: Standard Names.
243: * sscanf, and constant strings: Incompatibilities.
244: * STACK_DYNAMIC_OFFSET and virtual registers: Regs and Memory.
245: * STACK_POINTER_OFFSET and virtual registers: Regs and Memory.
246: * STACK_POINTER_REGNUM and virtual registers: Regs and Memory.
247: * STARTING_FRAME_OFFSET and virtual registers: Regs and Memory.
248: * strlenM instruction pattern: Standard Names.
249: * subM3 instruction pattern: Standard Names.
250: * subreg and /s: Flags.
251: * subreg and /u: Flags.
252: * subreg, in strict_low_part: RTL Declarations.
253: * subreg, special reload handling: Regs and Memory.
254: * SYMBOL_REF_FLAG, in ENCODE_SECTION_INFO: Sections.
255: * symbol_ref and /u: Flags.
256: * symbol_ref and /v: Flags.
257: * symbol_ref, RTL sharing: Sharing.
258: * tablejump instruction pattern: Standard Names.
259: * tcov: Debugging Options.
260: * truncMN instruction pattern: Standard Names.
261: * tstM instruction pattern: Standard Names.
262: * udivM3 instruction pattern: Standard Names.
263: * udivmodM4 instruction pattern: Standard Names.
264: * umaxM3 instruction pattern: Standard Names.
265: * uminM3 instruction pattern: Standard Names.
266: * umodM3 instruction pattern: Standard Names.
267: * umulhisi3 instruction pattern: Standard Names.
268: * umulqihi3 instruction pattern: Standard Names.
269: * umulsidi3 instruction pattern: Standard Names.
270: * unchanging, in call_insn: Flags.
271: * unchanging, in insn: Flags.
272: * unchanging, in reg and mem: Flags.
273: * unchanging, in subreg: Flags.
274: * unchanging, in symbol_ref: Flags.
275: * untyped_call instruction pattern: Standard Names.
276: * untyped_return instruction pattern: Standard Names.
277: * used, in symbol_ref: Flags.
278: * volatile applied to function: Function Attributes.
279: * volatil, in insn: Flags.
280: * volatil, in mem: Flags.
281: * volatil, in reg: Flags.
282: * volatil, in symbol_ref: Flags.
283: * WORDS_BIG_ENDIAN, effect on subreg: Regs and Memory.
284: * xorM3 instruction pattern: Standard Names.
285: * xor, canonicalization of: Insn Canonicalizations.
286: * zero_extendMN instruction pattern: Standard Names.
287: * zero_extract, canonicalization of: Insn Canonicalizations.
288: * libgcc.a: Library Calls.
289: * stdarg.h and register arguments: Register Arguments.
290: * stdarg.h and RT PC: RT Options.
291: * tm.h macros: Target Macros.
292: * varargs.h and RT PC: RT Options.
293: * VAXCRTL: VMS Misc.
294: * xm-MACHINE.h: Config.
295: * ! in constraint: Multi-Alternative.
296: * # in constraint: Modifiers.
297: * % in constraint: Modifiers.
298: * % in template: Output Template.
299: * & in constraint: Modifiers.
300: * * in constraint: Modifiers.
301: * + in constraint: Modifiers.
302: * /i in RTL dump: Flags.
303: * /s in RTL dump: Flags.
304: * /s in RTL dump: Flags.
305: * /u in RTL dump: Flags.
306: * /v in RTL dump: Flags.
307: * 0 in constraint: Simple Constraints.
308: * < in constraint: Simple Constraints.
309: * = in constraint: Modifiers.
310: * > in constraint: Simple Constraints.
311: * ? in constraint: Multi-Alternative.
312: * d in constraint: Simple Constraints.
313: * E in constraint: Simple Constraints.
314: * F in constraint: Simple Constraints.
315: * g in constraint: Simple Constraints.
316: * G in constraint: Simple Constraints.
317: * H in constraint: Simple Constraints.
318: * i in constraint: Simple Constraints.
319: * I in constraint: Simple Constraints.
320: * m in constraint: Simple Constraints.
321: * n in constraint: Simple Constraints.
322: * o in constraint: Simple Constraints.
323: * p in constraint: Simple Constraints.
324: * Q, in constraint: Simple Constraints.
325: * r in constraint: Simple Constraints.
326: * store_multiple instruction pattern: Standard Names.
327: * s in constraint: Simple Constraints.
328: * V in constraint: Simple Constraints.
329: * X in constraint: Simple Constraints.
330: * _ in variables in macros: Naming Types.
331: * abort: C Dialect Options.
332: * abort: Portability.
333: * abs: C Dialect Options.
334: * abs: Arithmetic.
335: * absolute value: Arithmetic.
336: * access to operands: Accessors.
337: * accessors: Accessors.
338: * ACCUMULATE_OUTGOING_ARGS: Stack Arguments.
339: * ADDITIONAL_REGISTER_NAMES: Instruction Output.
340: * address: RTL Template.
341: * address constraints: Simple Constraints.
342: * address of a label: Labels as Values.
343: * addressing modes: Addressing Modes.
344: * ADDRESS_COST: Costs.
345: * address_operand: Simple Constraints.
346: * addr_diff_vec: Side Effects.
347: * addr_vec: Side Effects.
348: * ADJUST_COST: Costs.
349: * ADJUST_INSN_LENGTH: Insn Lengths.
350: * aggregates as return values: Aggregate Return.
351: * alignment: Alignment.
352: * Alliant: Interoperation.
353: * alloca: C Dialect Options.
354: * ALLOCATE_TRAMPOLINE: Trampolines.
355: * ALL_REGS: Register Classes.
356: * alternate keywords: Alternate Keywords.
357: * AMD29K options: AMD29K Options.
358: * analysis, data flow: Passes.
359: * and: Arithmetic.
360: * ANSI support: C Dialect Options.
361: * apostrophes: Incompatibilities.
362: * APPLY_RESULT_SIZE: Scalar Return.
363: * ARGS_GROW_DOWNWARD: Frame Layout.
364: * argument passing: Interface.
365: * arguments in frame (88k): M88K Options.
366: * arguments in registers: Register Arguments.
367: * arguments on stack: Stack Arguments.
368: * ARG_POINTER_REGNUM: Frame Registers.
369: * arg_pointer_rtx: Frame Registers.
370: * arithmetic libraries: Interface.
371: * arithmetic shift: Arithmetic.
372: * arithmetic simplifications: Passes.
373: * arithmetic, in RTL: Arithmetic.
374: * arrays of length zero: Zero Length.
375: * arrays of variable length: Variable Length.
376: * arrays, non-lvalue: Subscripting.
377: * ashift: Arithmetic.
378: * ashiftrt: Arithmetic.
379: * ASM_APP_OFF: File Framework.
380: * ASM_APP_ON: File Framework.
381: * ASM_BYTE_OP: Data Output.
382: * ASM_CLOSE_PAREN: Data Output.
383: * ASM_COMMENT_START: File Framework.
384: * ASM_DECLARE_FUNCTION_NAME: Label Output.
385: * ASM_DECLARE_FUNCTION_SIZE: Label Output.
386: * ASM_DECLARE_OBJECT_NAME: Label Output.
387: * ASM_FILE_END: File Framework.
388: * ASM_FILE_START: File Framework.
389: * ASM_FINAL_SPEC: Driver.
390: * ASM_FINISH_DECLARE_OBJECT: Label Output.
391: * ASM_FORMAT_PRIVATE_NAME: Label Output.
392: * asm_fprintf: Instruction Output.
393: * ASM_GENERATE_INTERNAL_LABEL: Label Output.
394: * ASM_GLOBALIZE_LABEL: Label Output.
395: * ASM_IDENTIFY_GCC: File Framework.
396: * asm_input: Side Effects.
397: * asm_noperands: Insns.
398: * ASM_NO_SKIP_IN_TEXT: Alignment Output.
399: * ASM_OPEN_PAREN: Data Output.
400: * ASM_OUTPUT_ADDR_DIFF_ELT: Dispatch Tables.
401: * ASM_OUTPUT_ADDR_VEC_ELT: Dispatch Tables.
402: * ASM_OUTPUT_ALIGN: Alignment Output.
403: * ASM_OUTPUT_ALIGNED_COMMON: Uninitialized Data.
404: * ASM_OUTPUT_ALIGNED_LOCAL: Uninitialized Data.
405: * ASM_OUTPUT_ALIGN_CODE: Alignment Output.
406: * ASM_OUTPUT_ASCII: Data Output.
407: * ASM_OUTPUT_BYTE: Data Output.
408: * ASM_OUTPUT_CASE_END: Dispatch Tables.
409: * ASM_OUTPUT_CASE_LABEL: Dispatch Tables.
410: * ASM_OUTPUT_CHAR: Data Output.
411: * ASM_OUTPUT_COMMON: Uninitialized Data.
412: * ASM_OUTPUT_CONSTRUCTOR: Macros for Initialization.
413: * ASM_OUTPUT_DESTRUCTOR: Macros for Initialization.
414: * ASM_OUTPUT_DOUBLE: Data Output.
415: * ASM_OUTPUT_DOUBLE_INT: Data Output.
416: * ASM_OUTPUT_EXTERNAL: Label Output.
417: * ASM_OUTPUT_EXTERNAL_LIBCALL: Label Output.
418: * ASM_OUTPUT_FLOAT: Data Output.
419: * ASM_OUTPUT_IDENT: File Framework.
420: * ASM_OUTPUT_INT: Data Output.
421: * ASM_OUTPUT_INTERNAL_LABEL: Label Output.
422: * ASM_OUTPUT_LABEL: Label Output.
423: * ASM_OUTPUT_LABELREF: Label Output.
424: * ASM_OUTPUT_LOCAL: Uninitialized Data.
425: * ASM_OUTPUT_LONG_DOUBLE: Data Output.
426: * ASM_OUTPUT_LOOP_ALIGN: Alignment Output.
427: * ASM_OUTPUT_OPCODE: Instruction Output.
428: * ASM_OUTPUT_POOL_PROLOGUE: Data Output.
429: * ASM_OUTPUT_QUADRUPLE_INT: Data Output.
430: * ASM_OUTPUT_REG_POP: Instruction Output.
431: * ASM_OUTPUT_REG_PUSH: Instruction Output.
432: * ASM_OUTPUT_SHARED_COMMON: Uninitialized Data.
433: * ASM_OUTPUT_SHARED_LOCAL: Uninitialized Data.
434: * ASM_OUTPUT_SHORT: Data Output.
435: * ASM_OUTPUT_SKIP: Alignment Output.
436: * ASM_OUTPUT_SOURCE_FILENAME: File Framework.
437: * ASM_OUTPUT_SOURCE_LINE: File Framework.
438: * ASM_OUTPUT_SPECIAL_POOL_ENTRY: Data Output.
439: * ASM_SPEC: Driver.
440: * ASM_STABD_OP: DBX Options.
441: * ASM_STABN_OP: DBX Options.
442: * ASM_STABS_OP: DBX Options.
443: * assembler format: File Framework.
444: * assembler instructions: Extended Asm.
445: * assembler instructions in RTL: Assembler.
446: * assembler names for identifiers: Asm Labels.
447: * assembler syntax, 88k: M88K Options.
448: * ASSEMBLER_DIALECT: Instruction Output.
449: * assemble_name: Label Output.
450: * assembly code, invalid: Bug Criteria.
451: * assigning attribute values to insns: Tagging Insns.
452: * asterisk in template: Output Statement.
453: * atof: Cross-compilation.
454: * attr: Tagging Insns.
455: * attribute expressions: Expressions.
456: * attribute of variables: Variable Attributes.
457: * attribute specifications: Attr Example.
458: * attribute specifications example: Attr Example.
459: * attributes, defining: Defining Attributes.
460: * attr_flag: Expressions.
461: * autoincrement addressing, availability: Portability.
462: * autoincrement/decrement addressing: Simple Constraints.
463: * autoincrement/decrement analysis: Passes.
464: * automatic inline for C++ member fns: Inline.
465: * backslash: Output Template.
466: * backtrace for bug reports: Bug Reporting.
467: * barrier: Insns.
468: * BASE_REG_CLASS: Register Classes.
469: * basic blocks: Passes.
470: * bcmp: Config.
471: * BIGGEST_ALIGNMENT: Storage Layout.
472: * BIGGEST_FIELD_ALIGNMENT: Storage Layout.
473: * Bison parser generator: Installation.
474: * bit fields: Bit Fields.
475: * bit shift overflow (88k): M88K Options.
476: * BITFIELD_NBYTES_LIMITED: Storage Layout.
477: * BITS_BIG_ENDIAN: Storage Layout.
478: * BITS_PER_UNIT: Storage Layout.
479: * BITS_PER_WORD: Storage Layout.
480: * bitwise complement: Arithmetic.
481: * bitwise exclusive-or: Arithmetic.
482: * bitwise inclusive-or: Arithmetic.
483: * bitwise logical-and: Arithmetic.
484: * BLKmode: Machine Modes.
485: * BLOCK_PROFILER: Profiling.
486: * BLOCK_PROFILER_CODE: Profiling.
487: * BRANCH_COST: Costs.
488: * break_out_memory_refs: Addressing Modes.
489: * bug criteria: Bug Criteria.
490: * bug report mailing lists: Bug Lists.
491: * bugs: Bugs.
492: * bugs, known: Trouble.
493: * builtin functions: C Dialect Options.
494: * byte writes (29k): AMD29K Options.
495: * BYTES_BIG_ENDIAN: Storage Layout.
496: * byte_mode: Machine Modes.
497: * bzero: Config.
498: * C compilation options: Invoking GCC.
499: * C intermediate output, nonexistent: G++ and GCC.
500: * C language extensions: C Extensions.
501: * C language, traditional: C Dialect Options.
502: * C statements for assembler output: Output Statement.
503: * c++: Invoking G++.
504: * C++: G++ and GCC.
505: * C++ compilation options: Invoking GCC.
506: * C++ interface and implementation headers: C++ Interface.
507: * C++ language extensions: C++ Extensions.
508: * C++ member fns, automatically inline: Inline.
509: * C++ misunderstandings: C++ Misunderstandings.
510: * C++ named return value: Naming Results.
511: * C++ options, command line: C++ Dialect Options.
512: * C++ pragmas, effect on inlining: C++ Interface.
513: * C++ source file suffixes: Invoking G++.
514: * C++ static data, declaring and defining: Static Definitions.
515: * call: Side Effects.
516: * call-clobbered register: Register Basics.
517: * call-saved register: Register Basics.
518: * call-used register: Register Basics.
519: * CALLER_SAVE_PROFITABLE: Caller Saves.
520: * calling conventions: Stack and Calling.
521: * calling functions in RTL: Calls.
522: * call_insn: Insns.
523: * CALL_USED_REGISTERS: Register Basics.
524: * call_used_regs: Register Basics.
525: * canonicalization of instructions: Insn Canonicalizations.
526: * CAN_ELIMINATE: Elimination.
527: * case labels in initializers: Labeled Elements.
528: * case ranges: Case Ranges.
529: * case sensitivity and VMS: VMS Misc.
530: * CASE_DROPS_THROUGH: Misc.
531: * CASE_VALUES_THRESHOLD: Misc.
532: * CASE_VECTOR_MODE: Misc.
533: * CASE_VECTOR_PC_RELATIVE: Misc.
534: * cast to a union: Cast to Union.
535: * casts as lvalues: Lvalues.
536: * cc0: Regs and Memory.
537: * cc0_rtx: Regs and Memory.
538: * CC1PLUS_SPEC: Driver.
539: * CC1_SPEC: Driver.
540: * CCmode: Machine Modes.
541: * cc_status: Condition Code.
542: * CC_STATUS_MDEP: Condition Code.
543: * CC_STATUS_MDEP_INIT: Condition Code.
544: * CDImode: Machine Modes.
545: * change_address: Standard Names.
546: * CHAR_TYPE_SIZE: Type Layout.
547: * CHECK_FLOAT_VALUE: Storage Layout.
548: * CHImode: Machine Modes.
549: * class definitions, register: Register Classes.
550: * class preference constraints: Class Preferences.
551: * classes of RTX codes: Accessors.
552: * CLASS_LIKELY_SPILLED_P: Register Classes.
553: * CLASS_MAX_NREGS: Register Classes.
554: * CLEAR_INSN_CACHE (BEG, END): Trampolines.
555: * clobber: Side Effects.
556: * code generation conventions: Code Gen Options.
557: * code generation RTL sequences: Expander Definitions.
558: * code motion: Passes.
559: * codes, RTL expression: RTL Objects.
560: * code_label: Insns.
561: * CODE_LABEL_NUMBER: Insns.
562: * COImode: Machine Modes.
563: * combiner pass: Regs and Memory.
564: * command options: Invoking GCC.
565: * common subexpression elimination: Passes.
566: * compare: Arithmetic.
567: * compilation in a separate directory: Other Dir.
568: * compiler bugs, reporting: Bug Reporting.
569: * compiler compared to C++ preprocessor: G++ and GCC.
570: * compiler options, C++: C++ Dialect Options.
571: * compiler passes and files: Passes.
572: * compiler version, specifying: Target Options.
573: * COMPILER_PATH: Environment Variables.
574: * complement, bitwise: Arithmetic.
575: * complex numbers: Complex.
576: * compound expressions as lvalues: Lvalues.
577: * computed gotos: Labels as Values.
578: * computing the length of an insn: Insn Lengths.
579: * cond: Comparisons.
580: * condition code register: Regs and Memory.
581: * condition code status: Condition Code.
582: * condition codes: Comparisons.
583: * conditional expressions as lvalues: Lvalues.
584: * conditional expressions, extensions: Conditionals.
585: * CONDITIONAL_REGISTER_USAGE: Register Basics.
586: * conditions, in patterns: Patterns.
587: * configuration file: Config.
588: * conflicting types: Disappointments.
589: * const0_rtx: Constants.
590: * CONST0_RTX: Constants.
591: * const1_rtx: Constants.
592: * CONST1_RTX: Constants.
593: * CONST2_RTX: Constants.
594: * const2_rtx: Constants.
595: * constant attributes: Constant Attributes.
596: * constant folding: Passes.
597: * constant folding and floating point: Cross-compilation.
598: * constant propagation: Passes.
599: * constants in constraints: Simple Constraints.
600: * CONSTANT_ADDRESS_P: Addressing Modes.
601: * CONSTANT_ALIGNMENT: Storage Layout.
602: * CONSTANT_P: Addressing Modes.
603: * CONSTANT_POOL_ADDRESS_P: Flags.
604: * constm1_rtx: Constants.
605: * constraint modifier characters: Modifiers.
606: * constraint, matching: Simple Constraints.
607: * constraints: Constraints.
608: * constraints, machine specific: Machine Constraints.
609: * constructing calls: Constructing Calls.
610: * constructor expressions: Constructors.
611: * constructors vs goto: Destructors and Goto.
612: * constructors, output of: Initialization.
613: * CONST_CALL_P: Flags.
614: * CONST_COSTS: Costs.
615: * const_double: Constants.
616: * CONST_DOUBLE_CHAIN: Constants.
617: * CONST_DOUBLE_LOW: Constants.
618: * CONST_DOUBLE_MEM: Constants.
619: * CONST_DOUBLE_OK_FOR_LETTER_P: Register Classes.
620: * const_int: Constants.
621: * CONST_OK_FOR_LETTER_P: Register Classes.
622: * const_string: Constants.
623: * const_true_rtx: Constants.
624: * contributors: Contributors.
625: * controlling register usage: Register Basics.
626: * controlling the compilation driver: Driver.
627: * conventions, run-time: Interface.
628: * conversions: Conversions.
629: * Convex options: Convex Options.
630: * copy_rtx_if_shared: Sharing.
631: * core dump: Bug Criteria.
632: * cos: C Dialect Options.
633: * costs of instructions: Costs.
634: * COSTS_N_INSNS: Costs.
635: * CPLUS_INCLUDE_PATH: Environment Variables.
636: * CPP_PREDEFINES: Run-time Target.
637: * CPP_SPEC: Driver.
638: * CQImode: Machine Modes.
639: * cross compilation and floating point: Cross-compilation.
640: * cross compiling: Target Options.
641: * cross-compiler, installation: Cross-Compiler.
642: * cross-jumping: Passes.
643: * CSImode: Machine Modes.
644: * CTImode: Machine Modes.
645: * CUMULATIVE_ARGS: Register Arguments.
646: * current_function_epilogue_delay_list: Function Entry.
647: * current_function_outgoing_args_size: Stack Arguments.
648: * current_function_pops_args: Function Entry.
649: * current_function_pretend_args_size: Function Entry.
650: * C_INCLUDE_PATH: Environment Variables.
651: * data flow analysis: Passes.
652: * DATA_ALIGNMENT: Storage Layout.
653: * data_section: Sections.
654: * DATA_SECTION_ASM_OP: Sections.
655: * DBR_OUTPUT_SEQEND: Instruction Output.
656: * dbr_sequence_length: Instruction Output.
657: * DBX: Interoperation.
658: * DBX_CONTIN_CHAR: DBX Options.
659: * DBX_CONTIN_LENGTH: DBX Options.
660: * DBX_DEBUGGING_INFO: DBX Options.
661: * DBX_FUNCTION_FIRST: DBX Options.
662: * DBX_LBRAC_FIRST: DBX Options.
663: * DBX_MEMPARM_STABS_LETTER: DBX Options.
664: * DBX_NO_XREFS: DBX Options.
665: * DBX_OUTPUT_ENUM: DBX Hooks.
666: * DBX_OUTPUT_FUNCTION_END: DBX Hooks.
667: * DBX_OUTPUT_LBRAC: DBX Hooks.
668: * DBX_OUTPUT_MAIN_SOURCE_DIRECTORY: File Names and DBX.
669: * DBX_OUTPUT_MAIN_SOURCE_FILENAME: File Names and DBX.
670: * DBX_OUTPUT_MAIN_SOURCE_FILE_END: File Names and DBX.
671: * DBX_OUTPUT_RBRAC: DBX Hooks.
672: * DBX_OUTPUT_SOURCE_FILENAME: File Names and DBX.
673: * DBX_OUTPUT_STANDARD_TYPES: DBX Hooks.
674: * DBX_REGISTER_NUMBER: All Debuggers.
675: * DBX_REGPARM_STABS_CODE: DBX Options.
676: * DBX_REGPARM_STABS_LETTER: DBX Options.
677: * DBX_STATIC_CONST_VAR_CODE: DBX Options.
678: * DBX_STATIC_STAB_DATA_SECTION: DBX Options.
679: * DBX_TYPE_DECL_STABS_CODE: DBX Options.
680: * DBX_WORKING_DIRECTORY: File Names and DBX.
681: * DCmode: Machine Modes.
682: * De Morgan's law: Insn Canonicalizations.
683: * dead code: Passes.
684: * dead_or_set_p: Peephole Definitions.
685: * deallocating variable length arrays: Variable Length.
686: * death notes: Obsolete Register Macros.
687: * DEBUGGER_ARG_OFFSET: All Debuggers.
688: * DEBUGGER_AUTO_OFFSET: All Debuggers.
689: * debugging information generation: Passes.
690: * debugging information options: Debugging Options.
691: * debugging, 88k OCS: M88K Options.
692: * debug_rtx: Bug Reporting.
693: * DEBUG_SYMS_TEXT: DBX Options.
694: * declaration scope: Incompatibilities.
695: * declarations inside expressions: Statement Exprs.
696: * declarations, RTL: RTL Declarations.
697: * declaring attributes of functions: Function Attributes.
698: * declaring static data in C++: Static Definitions.
699: * DEFAULT_CALLER_SAVES: Caller Saves.
700: * DEFAULT_GDB_EXTENSIONS: DBX Options.
701: * DEFAULT_MAIN_RETURN: Misc.
702: * DEFAULT_PCC_STRUCT_RETURN: Aggregate Return.
703: * DEFAULT_SHORT_ENUMS: Type Layout.
704: * DEFAULT_SIGNED_CHAR: Type Layout.
705: * define_asm_attributes: Tagging Insns.
706: * define_attr: Defining Attributes.
707: * define_delay: Delay Slots.
708: * define_expand: Expander Definitions.
709: * define_function_unit: Function Units.
710: * define_insn: Patterns.
711: * define_peephole: Expander Definitions.
712: * define_split: Insn Splitting.
713: * defining attributes and their values: Defining Attributes.
714: * defining jump instruction patterns: Jump Patterns.
715: * defining peephole optimizers: Peephole Definitions.
716: * defining RTL sequences for code generation: Expander Definitions.
717: * defining static data in C++: Static Definitions.
718: * delay slots, defining: Delay Slots.
719: * delayed branch scheduling: Passes.
720: * DELAY_SLOTS_FOR_EPILOGUE: Function Entry.
721: * dependencies for make as output: Environment Variables.
722: * dependencies, make: Preprocessor Options.
723: * DEPENDENCIES_OUTPUT: Environment Variables.
724: * Dependent Patterns: Dependent Patterns.
725: * destructors vs goto: Destructors and Goto.
726: * destructors, output of: Initialization.
727: * detecting -traditional: C Dialect Options.
728: * DFmode: Machine Modes.
729: * dialect options: C Dialect Options.
730: * digits in constraint: Simple Constraints.
731: * DImode: Machine Modes.
732: * directory options: Directory Options.
733: * disabling certain registers: Register Basics.
734: * dispatch table: Dispatch Tables.
735: * div: Arithmetic.
736: * DIVDI3_LIBCALL: Library Calls.
737: * divide instruction, 88k: M88K Options.
738: * division: Arithmetic.
739: * division: Arithmetic.
740: * division: Arithmetic.
741: * DIVSI3_LIBCALL: Library Calls.
742: * dollar signs in identifier names: Dollar Signs.
743: * DOLLARS_IN_IDENTIFIERS: Misc.
744: * DONE: Expander Definitions.
745: * DONT_REDUCE_ADDR: Costs.
746: * double-word arithmetic: Long Long.
747: * DOUBLE_TYPE_SIZE: Type Layout.
748: * downward funargs: Nested Functions.
749: * driver: Driver.
750: * DW bit (29k): AMD29K Options.
751: * DWARF_DEBUGGING_INFO: SDB and DWARF.
752: * DYNAMIC_CHAIN_ADDRESS: Frame Layout.
753: * EASY_DIV_EXPR: Misc.
754: * ELIGIBLE_FOR_EPILOGUE_DELAY: Function Entry.
755: * ELIMINABLE_REGS: Elimination.
756: * empty constraints: No Constraints.
757: * EMPTY_FIELD_BOUNDARY: Storage Layout.
758: * ENCODE_SECTION_INFO: Sections.
759: * ENDFILE_SPEC: Driver.
760: * endianness: Portability.
761: * enum machine_mode: Machine Modes.
762: * enum reg_class: Register Classes.
763: * enumeration clash warnings: Warning Options.
764: * environment variables: Environment Variables.
765: * epilogue: Function Entry.
766: * eq: Comparisons.
767: * equal: Comparisons.
768: * eq_attr: Expressions.
769: * error: Storage Layout.
770: * error messages: Warnings and Errors.
771: * escape sequences, traditional: C Dialect Options.
772: * exclamation point: Multi-Alternative.
773: * exclusive-or, bitwise: Arithmetic.
774: * EXECUTABLE_SUFFIX: Config.
775: * exit: C Dialect Options.
776: * exit status and VMS: VMS Misc.
777: * EXIT_BODY: Misc.
778: * EXIT_IGNORE_STACK: Function Entry.
779: * expander definitions: Expander Definitions.
780: * EXPAND_BUILTIN_SAVEREGS: Varargs.
781: * explicit register variables: Explicit Reg Vars.
782: * expression codes: RTL Objects.
783: * expressions containing statements: Statement Exprs.
784: * expressions, compound, as lvalues: Lvalues.
785: * expressions, conditional, as lvalues: Lvalues.
786: * expressions, constructor: Constructors.
787: * expr_list: Insns.
788: * extended asm: Extended Asm.
789: * extensible constraints: Simple Constraints.
790: * extensions, ?:: Conditionals.
791: * extensions, ?:: Lvalues.
792: * extensions, C language: C Extensions.
793: * extensions, C++ language: C++ Extensions.
794: * extern int target_flags: Run-time Target.
795: * external declaration scope: Incompatibilities.
796: * EXTRA_CC_MODES: Condition Code.
797: * EXTRA_CC_NAMES: Condition Code.
798: * EXTRA_CONSTRAINT: Register Classes.
799: * EXTRA_SECTIONS: Sections.
800: * EXTRA_SECTION_FUNCTIONS: Sections.
801: * fabs: C Dialect Options.
802: * FAIL: Expander Definitions.
803: * FAILURE_EXIT_CODE: Config.
804: * fatal signal: Bug Criteria.
805: * features, optional, in system conventions: Run-time Target.
806: * ffs: Arithmetic.
807: * ffs: C Dialect Options.
808: * file name suffix: Overall Options.
809: * file names: Link Options.
810: * files and passes of the compiler: Passes.
811: * final pass: Passes.
812: * FINALIZE_PIC: PIC.
813: * FINAL_PRESCAN_INSN: Instruction Output.
814: * FINAL_REG_PARM_STACK_SPACE: Stack Arguments.
815: * final_scan_insn: Function Entry.
816: * final_sequence: Instruction Output.
817: * FIRST_INSN_ADDRESS: Insn Lengths.
818: * FIRST_PARM_OFFSET: Frame Layout.
819: * FIRST_PSEUDO_REGISTER: Register Basics.
820: * FIRST_STACK_REG: Stack Registers.
821: * FIRST_VIRTUAL_REGISTER: Regs and Memory.
822: * fix: Conversions.
823: * fix: Conversions.
824: * fixed register: Register Basics.
825: * FIXED_REGISTERS: Register Basics.
826: * fixed_regs: Register Basics.
827: * FIXUNS_TRUNC_LIKE_FIX_TRUNC: Misc.
828: * flags in RTL expression: Flags.
829: * float: Conversions.
830: * FLOATIFY: Library Calls.
831: * floating point and cross compilation: Cross-compilation.
832: * FLOAT_ARG_TYPE: Library Calls.
833: * float_extend: Conversions.
834: * FLOAT_STORE_FLAG_VALUE: Misc.
835: * float_truncate: Conversions.
836: * FLOAT_TYPE_SIZE: Type Layout.
837: * FLOAT_VALUE_TYPE: Library Calls.
838: * FLOAT_WORDS_BIG_ENDIAN: Storage Layout.
839: * force_reg: Standard Names.
840: * forwarding calls: Constructing Calls.
841: * frame layout: Frame Layout.
842: * FRAME_GROWS_DOWNWARD: Frame Layout.
843: * frame_pointer_needed: Function Entry.
844: * FRAME_POINTER_REGNUM: Frame Registers.
845: * FRAME_POINTER_REQUIRED: Elimination.
846: * frame_pointer_rtx: Frame Registers.
847: * function attributes: Function Attributes.
848: * function call conventions: Interface.
849: * function entry and exit: Function Entry.
850: * function pointers, arithmetic: Pointer Arith.
851: * function prototype declarations: Function Prototypes.
852: * function units, for scheduling: Function Units.
853: * function, size of pointer to: Pointer Arith.
854: * function-call insns: Calls.
855: * functions that have no side effects: Function Attributes.
856: * functions that never return: Function Attributes.
857: * functions with printf or scanf style arguments: Function Attributes.
858: * functions, leaf: Leaf Functions.
859: * FUNCTION_ARG: Register Arguments.
860: * FUNCTION_ARG_ADVANCE: Register Arguments.
861: * FUNCTION_ARG_BOUNDARY: Register Arguments.
862: * FUNCTION_ARG_CALLEE_COPIES: Register Arguments.
863: * FUNCTION_ARG_PADDING: Register Arguments.
864: * FUNCTION_ARG_PARTIAL_NREGS: Register Arguments.
865: * FUNCTION_ARG_PASS_BY_REFERENCE: Register Arguments.
866: * FUNCTION_ARG_REGNO_P: Register Arguments.
867: * FUNCTION_BLOCK_PROFILER: Profiling.
868: * FUNCTION_BOUNDARY: Storage Layout.
869: * FUNCTION_CONVERSION_BUG: Config.
870: * FUNCTION_EPILOGUE: Function Entry.
871: * FUNCTION_INCOMING_ARG: Register Arguments.
872: * FUNCTION_MODE: Misc.
873: * FUNCTION_OUTGOING_VALUE: Scalar Return.
874: * FUNCTION_PROFILER: Profiling.
875: * FUNCTION_PROLOGUE: Function Entry.
876: * FUNCTION_VALUE: Scalar Return.
877: * FUNCTION_VALUE_REGNO_P: Scalar Return.
878: * G++: G++ and GCC.
879: * g++: Invoking G++.
880: * GCC: G++ and GCC.
881: * GCC_EXEC_PREFIX: Environment Variables.
882: * ge: Comparisons.
883: * gencodes: Passes.
884: * genconfig: Passes.
885: * generalized lvalues: Lvalues.
886: * general_operand: RTL Template.
887: * GENERAL_REGS: Register Classes.
888: * generating assembler output: Output Statement.
889: * generating insns: RTL Template.
890: * genflags: Passes.
891: * GEN_ERRNO_RTX: Library Calls.
892: * get_attr: Expressions.
893: * get_attr_length: Insn Lengths.
894: * GET_CLASS_NARROWEST_MODE: Machine Modes.
895: * GET_CODE: RTL Objects.
896: * get_frame_size: Elimination.
897: * get_insns: Insns.
898: * get_last_insn: Insns.
899: * GET_MODE: Machine Modes.
900: * GET_MODE_ALIGNMENT: Machine Modes.
901: * GET_MODE_BITSIZE: Machine Modes.
902: * GET_MODE_CLASS: Machine Modes.
903: * GET_MODE_MASK: Machine Modes.
904: * GET_MODE_NAME: Machine Modes.
905: * GET_MODE_NUNITS: Machine Modes.
906: * GET_MODE_SIZE: Machine Modes.
907: * GET_MODE_UNIT_SIZE: Machine Modes.
908: * GET_MODE_WIDER_MODE: Machine Modes.
909: * GET_RTX_CLASS: Accessors.
910: * GET_RTX_FORMAT: Accessors.
911: * GET_RTX_LENGTH: Accessors.
912: * geu: Comparisons.
913: * global offset table: Code Gen Options.
914: * global register after longjmp: Global Reg Vars.
915: * global register allocation: Passes.
916: * global register variables: Global Reg Vars.
917: * GLOBALDEF: Global Declarations.
918: * GLOBALREF: Global Declarations.
919: * GLOBALVALUEDEF: Global Declarations.
920: * GLOBALVALUEREF: Global Declarations.
921: * GNU CC and portability: Portability.
922: * GNU CC command options: Invoking GCC.
923: * goto with computed label: Labels as Values.
924: * GO_IF_LEGITIMATE_ADDRESS: Addressing Modes.
925: * GO_IF_MODE_DEPENDENT_ADDRESS: Addressing Modes.
926: * gp-relative references (MIPS): MIPS Options.
927: * greater than: Comparisons.
928: * greater than: Comparisons.
929: * greater than: Comparisons.
930: * grouping options: Invoking GCC.
931: * gt: Comparisons.
932: * gtu: Comparisons.
933: * HANDLE_PRAGMA: Misc.
934: * hard registers: Regs and Memory.
935: * hardware models and configurations, specifying: Submodel Options.
936: * HARD_FRAME_POINTER_REGNUM: Frame Registers.
937: * HARD_REGNO_MODE_OK: Values in Registers.
938: * HARD_REGNO_NREGS: Values in Registers.
939: * HAVE_ATEXIT: Misc.
940: * HAVE_POST_DECREMENT: Addressing Modes.
941: * HAVE_POST_INCREMENT: Addressing Modes.
942: * HAVE_PRE_DECREMENT: Addressing Modes.
943: * HAVE_PRE_INCREMENT: Addressing Modes.
944: * HAVE_PUTENV: Config.
945: * HAVE_VPRINTF: Config.
946: * header files and VMS: Include Files and VMS.
947: * high: Constants.
948: * HImode: Machine Modes.
949: * HOST_BITS_PER_CHAR: Config.
950: * HOST_BITS_PER_INT: Config.
951: * HOST_BITS_PER_LONG: Config.
952: * HOST_BITS_PER_SHORT: Config.
953: * HOST_FLOAT_FORMAT: Config.
954: * HOST_FLOAT_WORDS_BIG_ENDIAN: Config.
955: * HOST_WORDS_BIG_ENDIAN: Config.
956: * HPPA Options: HPPA Options.
957: * i386 Options: i386 Options.
958: * IBM RS/6000 and PowerPC Options: RS/6000 and PowerPC Options.
959: * IBM RT options: RT Options.
960: * IBM RT PC: Interoperation.
961: * identifier names, dollar signs in: Dollar Signs.
962: * identifiers, names in assembler code: Asm Labels.
963: * identifying source, compiler (88k): M88K Options.
964: * IEEE_FLOAT_FORMAT: Storage Layout.
965: * if_then_else: Comparisons.
966: * immediate_operand: RTL Template.
967: * IMMEDIATE_PREFIX: Instruction Output.
968: * implicit argument: return value: Naming Results.
969: * IMPLICIT_FIX_EXPR: Misc.
970: * implied #pragma implementation: C++ Interface.
971: * include files and VMS: Include Files and VMS.
972: * INCLUDE_DEFAULTS: Driver.
973: * inclusive-or, bitwise: Arithmetic.
974: * INCOMING_REGNO: Register Basics.
975: * incompatibilities of GNU CC: Incompatibilities.
976: * increment operators: Bug Criteria.
977: * INDEX_REG_CLASS: Register Classes.
978: * initialization routines: Initialization.
979: * initializations in expressions: Constructors.
980: * initializers with labeled elements: Labeled Elements.
981: * initializers, non-constant: Initializers.
982: * INITIALIZE_TRAMPOLINE: Trampolines.
983: * INITIAL_ELIMINATION_OFFSET: Elimination.
984: * INITIAL_FRAME_POINTER_OFFSET: Elimination.
985: * INIT_CUMULATIVE_ARGS: Register Arguments.
986: * INIT_CUMULATIVE_INCOMING_ARGS: Register Arguments.
987: * INIT_SECTION_ASM_OP: Sections.
988: * INIT_SECTION_ASM_OP: Macros for Initialization.
989: * inline functions: Inline.
990: * inline functions, omission of: Inline.
991: * inline, automatic: Passes.
992: * inlining and C++ pragmas: C++ Interface.
993: * insn: Insns.
994: * insn attributes: Insn Attributes.
995: * insn canonicalization: Insn Canonicalizations.
996: * insn lengths, computing: Insn Lengths.
997: * insn splitting: Insn Splitting.
998: * insn-attr.h: Defining Attributes.
999: * insns: Insns.
1000: * insns, generating: RTL Template.
1001: * insns, recognizing: RTL Template.
1002: * INSN_ANNULLED_BRANCH_P: Flags.
1003: * INSN_CACHE_DEPTH: Trampolines.
1004: * INSN_CACHE_LINE_WIDTH: Trampolines.
1005: * INSN_CACHE_SIZE: Trampolines.
1006: * INSN_CLOBBERS_REGNO_P: Obsolete Register Macros.
1007: * INSN_CODE: Insns.
1008: * INSN_DELETED_P: Flags.
1009: * INSN_FROM_TARGET_P: Flags.
1010: * insn_list: Insns.
1011: * INSN_REFERENCES_ARE_DELAYED: Misc.
1012: * INSN_SETS_ARE_DELAYED: Misc.
1013: * INSN_UID: Insns.
1014: * installation trouble: Trouble.
1015: * installing GNU CC: Installation.
1016: * installing GNU CC on the 3b1: 3b1 Install.
1017: * installing GNU CC on the Sun: Sun Install.
1018: * installing GNU CC on Unos: Unos Install.
1019: * installing GNU CC on VMS: VMS Install.
1020: * instruction attributes: Insn Attributes.
1021: * instruction combination: Passes.
1022: * instruction patterns: Patterns.
1023: * instruction recognizer: Passes.
1024: * instruction scheduling: Passes.
1025: * instruction scheduling: Passes.
1026: * instruction splitting: Insn Splitting.
1027: * integrated: Flags.
1028: * INTEGRATE_THRESHOLD: Misc.
1029: * integrating function code: Inline.
1030: * Intel 386 Options: i386 Options.
1031: * Interdependence of Patterns: Dependent Patterns.
1032: * interface and implementation headers, C++: C++ Interface.
1033: * interfacing to GNU CC output: Interface.
1034: * intermediate C version, nonexistent: G++ and GCC.
1035: * INTIFY: Library Calls.
1036: * introduction: Top.
1037: * INT_TYPE_SIZE: Type Layout.
1038: * invalid assembly code: Bug Criteria.
1039: * invalid input: Bug Criteria.
1040: * invoking g++: Invoking G++.
1041: * in_data: Sections.
1042: * in_struct: Flags.
1043: * in_text: Sections.
1044: * ior: Arithmetic.
1045: * isinf: Cross-compilation.
1046: * isnan: Cross-compilation.
1047: * jump instruction patterns: Jump Patterns.
1048: * jump instructions and set: Side Effects.
1049: * jump optimization: Passes.
1050: * jump threading: Passes.
1051: * jump_insn: Insns.
1052: * JUMP_LABEL: Insns.
1053: * JUMP_TABLES_IN_TEXT_SECTION: Sections.
1054: * kernel and user registers (29k): AMD29K Options.
1055: * keywords, alternate: Alternate Keywords.
1056: * known causes of trouble: Trouble.
1057: * labeled elements in initializers: Labeled Elements.
1058: * labels as values: Labels as Values.
1059: * LABEL_NUSES: Insns.
1060: * LABEL_OUTSIDE_LOOP_P: Flags.
1061: * LABEL_PRESERVE_P: Flags.
1062: * label_ref: Constants.
1063: * labs: C Dialect Options.
1064: * language dialect options: C Dialect Options.
1065: * large bit shifts (88k): M88K Options.
1066: * large return values: Aggregate Return.
1067: * LAST_STACK_REG: Stack Registers.
1068: * LAST_VIRTUAL_REGISTER: Regs and Memory.
1069: * ldexp: Cross-compilation.
1070: * le: Comparisons.
1071: * leaf functions: Leaf Functions.
1072: * leaf_function: Leaf Functions.
1073: * leaf_function_p: Standard Names.
1074: * LEAF_REGISTERS: Leaf Functions.
1075: * LEAF_REG_REMAP: Leaf Functions.
1076: * left rotate: Arithmetic.
1077: * left shift: Arithmetic.
1078: * left shift: Arithmetic.
1079: * LEGITIMATE_CONSTANT_P: Addressing Modes.
1080: * LEGITIMATE_PIC_OPERAND_P: PIC.
1081: * LEGITIMIZE_ADDRESS: Addressing Modes.
1082: * length-zero arrays: Zero Length.
1083: * less than: Comparisons.
1084: * less than or equal: Comparisons.
1085: * leu: Comparisons.
1086: * LIBCALL_VALUE: Scalar Return.
1087: * LIBGCC_NEEDS_DOUBLE: Library Calls.
1088: * Libraries: Link Options.
1089: * library subroutine names: Library Calls.
1090: * LIBRARY_PATH: Environment Variables.
1091: * LIB_SPEC: Driver.
1092: * LIMIT_RELOAD_CLASS: Register Classes.
1093: * link options: Link Options.
1094: * LINK_LIBGCC_SPECIAL: Driver.
1095: * LINK_LIBGCC_SPECIAL_1: Driver.
1096: * LINK_SPEC: Driver.
1097: * load address instruction: Simple Constraints.
1098: * LOAD_EXTEND_OP: Misc.
1099: * local labels: Local Labels.
1100: * local register allocation: Passes.
1101: * local variables in macros: Naming Types.
1102: * local variables, specifying registers: Local Reg Vars.
1103: * LOCAL_INCLUDE_DIR: Driver.
1104: * LOCAL_LABEL_PREFIX: Instruction Output.
1105: * logical shift: Arithmetic.
1106: * logical-and, bitwise: Arithmetic.
1107: * LOG_LINKS: Insns.
1108: * longjmp: Global Reg Vars.
1109: * LONGJMP_RESTORE_FROM_STACK: Elimination.
1110: * LONG_DOUBLE_TYPE_SIZE: Type Layout.
1111: * LONG_LONG_TYPE_SIZE: Type Layout.
1112: * LONG_TYPE_SIZE: Type Layout.
1113: * loop optimization: Passes.
1114: * lo_sum: Arithmetic.
1115: * lshift: Arithmetic.
1116: * lshiftrt: Arithmetic.
1117: * lt: Comparisons.
1118: * ltu: Comparisons.
1119: * lvalues, generalized: Lvalues.
1120: * M680x0 options: M680x0 Options.
1121: * M88k options: M88K Options.
1122: * machine dependent options: Submodel Options.
1123: * machine description macros: Target Macros.
1124: * machine descriptions: Machine Desc.
1125: * machine mode conversions: Conversions.
1126: * machine modes: Machine Modes.
1127: * machine specific constraints: Machine Constraints.
1128: * macro with variable arguments: Macro Varargs.
1129: * macros containing asm: Extended Asm.
1130: * macros, inline alternative: Inline.
1131: * macros, local labels: Local Labels.
1132: * macros, local variables in: Naming Types.
1133: * macros, statements in expressions: Statement Exprs.
1134: * macros, target description: Target Macros.
1135: * macros, types of arguments: Typeof.
1136: * make: Preprocessor Options.
1137: * make_safe_from: Expander Definitions.
1138: * matching constraint: Simple Constraints.
1139: * matching operands: Output Template.
1140: * match_dup: RTL Template.
1141: * match_operand: RTL Template.
1142: * match_operator: RTL Template.
1143: * match_op_dup: RTL Template.
1144: * match_parallel: RTL Template.
1145: * match_par_dup: RTL Template.
1146: * match_scratch: RTL Template.
1147: * math libraries: Interface.
1148: * math, in RTL: Arithmetic.
1149: * maximum operator: Min and Max.
1150: * MAX_BITS_PER_WORD: Storage Layout.
1151: * MAX_CHAR_TYPE_SIZE: Type Layout.
1152: * MAX_FIXED_MODE_SIZE: Storage Layout.
1153: * MAX_INT_TYPE_SIZE: Type Layout.
1154: * MAX_LONG_TYPE_SIZE: Type Layout.
1155: * MAX_MOVE_MAX: Misc.
1156: * MAX_OFILE_ALIGNMENT: Storage Layout.
1157: * MAX_REGS_PER_ADDRESS: Addressing Modes.
1158: * MAX_UNITS_PER_WORD: Storage Layout.
1159: * MAX_WCHAR_TYPE_SIZE: Type Layout.
1160: * MAYBE_REG_PARM_STACK_SPACE: Stack Arguments.
1161: * mcount: Profiling.
1162: * MD_CALL_PROTOTYPES: Config.
1163: * MD_EXEC_PREFIX: Driver.
1164: * MD_STARTFILE_PREFIX: Driver.
1165: * MD_STARTFILE_PREFIX_1: Driver.
1166: * mem: Regs and Memory.
1167: * member fns, automatically inline: Inline.
1168: * memcmp: C Dialect Options.
1169: * memcpy: C Dialect Options.
1170: * memory model (29k): AMD29K Options.
1171: * memory reference, nonoffsettable: Simple Constraints.
1172: * memory references in constraints: Simple Constraints.
1173: * MEMORY_MOVE_COST: Costs.
1174: * MEM_IN_STRUCT_P: Flags.
1175: * MEM_VOLATILE_P: Flags.
1176: * messages, warning: Warning Options.
1177: * messages, warning and error: Warnings and Errors.
1178: * middle-operands, omitted: Conditionals.
1179: * minimum operator: Min and Max.
1180: * minus: Arithmetic.
1181: * MIPS options: MIPS Options.
1182: * misunderstandings in C++: C++ Misunderstandings.
1183: * mod: Arithmetic.
1184: * MODDI3_LIBCALL: Library Calls.
1185: * mode classes: Machine Modes.
1186: * MODES_TIEABLE_P: Values in Registers.
1187: * MODE_CC: Machine Modes.
1188: * MODE_COMPLEX_FLOAT: Machine Modes.
1189: * MODE_COMPLEX_INT: Machine Modes.
1190: * MODE_FLOAT: Machine Modes.
1191: * MODE_FUNCTION: Machine Modes.
1192: * MODE_INT: Machine Modes.
1193: * MODE_PARTIAL_INT: Machine Modes.
1194: * MODE_RANDOM: Machine Modes.
1195: * modifiers in constraints: Modifiers.
1196: * MODSI3_LIBCALL: Library Calls.
1197: * MOVE_MAX: Misc.
1198: * MOVE_RATIO: Costs.
1199: * MULDI3_LIBCALL: Library Calls.
1200: * MULSI3_LIBCALL: Library Calls.
1201: * mult: Arithmetic.
1202: * MULTIBYTE_CHARS: Config.
1203: * multiple alternative constraints: Multi-Alternative.
1204: * multiplication: Arithmetic.
1205: * multiprecision arithmetic: Long Long.
1206: * name augmentation: VMS Misc.
1207: * named patterns and conditions: Patterns.
1208: * named return value in C++: Naming Results.
1209: * names used in assembler code: Asm Labels.
1210: * names, pattern: Standard Names.
1211: * naming convention, implementation headers: C++ Interface.
1212: * naming types: Naming Types.
1213: * ne: Comparisons.
1214: * neg: Arithmetic.
1215: * nested functions: Nested Functions.
1216: * nested functions, trampolines for: Trampolines.
1217: * newline vs string constants: C Dialect Options.
1218: * next_cc0_user: Jump Patterns.
1219: * NEXT_INSN: Insns.
1220: * NEXT_OBJC_RUNTIME: Library Calls.
1221: * nil: RTL Objects.
1222: * no constraints: No Constraints.
1223: * no-op move instructions: Passes.
1224: * non-constant initializers: Initializers.
1225: * non-static inline function: Inline.
1226: * nongcc_SI_type: Library Calls.
1227: * nongcc_word_type: Library Calls.
1228: * nonoffsettable memory reference: Simple Constraints.
1229: * NON_SAVING_SETJMP: Register Basics.
1230: * not: Arithmetic.
1231: * not equal: Comparisons.
1232: * not using constraints: No Constraints.
1233: * note: Insns.
1234: * NOTE_INSN_BLOCK_BEG: Insns.
1235: * NOTE_INSN_BLOCK_END: Insns.
1236: * NOTE_INSN_DELETED: Insns.
1237: * NOTE_INSN_FUNCTION_END: Insns.
1238: * NOTE_INSN_LOOP_BEG: Insns.
1239: * NOTE_INSN_LOOP_CONT: Insns.
1240: * NOTE_INSN_LOOP_END: Insns.
1241: * NOTE_INSN_LOOP_VTOP: Insns.
1242: * NOTE_INSN_SETJMP: Insns.
1243: * NOTE_LINE_NUMBER: Insns.
1244: * NOTE_SOURCE_FILE: Insns.
1245: * NOTICE_UPDATE_CC: Condition Code.
1246: * NO_BUILTIN_PTRDIFF_TYPE: Driver.
1247: * NO_BUILTIN_SIZE_TYPE: Driver.
1248: * NO_DOLLAR_IN_LABEL: Misc.
1249: * NO_DOT_IN_LABEL: Misc.
1250: * NO_FUNCTION_CSE: Costs.
1251: * NO_IMPLICIT_EXTERN_C: Misc.
1252: * NO_MD_PROTOTYPES: Config.
1253: * NO_RECURSIVE_FUNCTION_CSE: Costs.
1254: * NO_REGS: Register Classes.
1255: * NO_STAB_H: Config.
1256: * NO_SYS_SIGLIST: Config.
1257: * NUM_MACHINE_MODES: Machine Modes.
1258: * N_REG_CLASSES: Register Classes.
1259: * OBJC_GEN_METHOD_LABEL: Label Output.
1260: * OBJC_INCLUDE_PATH: Environment Variables.
1261: * OBJC_INT_SELECTORS: Type Layout.
1262: * OBJC_PROLOGUE: File Framework.
1263: * OBJC_SELECTORS_WITHOUT_LABELS: Type Layout.
1264: * Objective C: G++ and GCC.
1265: * OBJECT_FORMAT_COFF: Macros for Initialization.
1266: * OBJECT_FORMAT_ROSE: Macros for Initialization.
1267: * OBSTACK_CHUNK_ALLOC: Config.
1268: * OBSTACK_CHUNK_FREE: Config.
1269: * OBSTACK_CHUNK_SIZE: Config.
1270: * obstack_free: 3b1 Install.
1271: * OCS (88k): M88K Options.
1272: * offsettable address: Simple Constraints.
1273: * old-style function definitions: Function Prototypes.
1274: * omitted middle-operands: Conditionals.
1275: * ONLY_INT_FIELDS: Config.
1276: * open coding: Inline.
1277: * operand access: Accessors.
1278: * operand constraints: Constraints.
1279: * operand substitution: Output Template.
1280: * operands: Patterns.
1281: * OPTIMIZATION_OPTIONS: Run-time Target.
1282: * optimize options: Optimize Options.
1283: * optional hardware or system features: Run-time Target.
1284: * options to control warnings: Warning Options.
1285: * options, C++: C++ Dialect Options.
1286: * options, code generation: Code Gen Options.
1287: * options, debugging: Debugging Options.
1288: * options, dialect: C Dialect Options.
1289: * options, directory search: Directory Options.
1290: * options, GNU CC command: Invoking GCC.
1291: * options, grouping: Invoking GCC.
1292: * options, linking: Link Options.
1293: * options, optimization: Optimize Options.
1294: * options, order: Invoking GCC.
1295: * options, preprocessor: Preprocessor Options.
1296: * order of evaluation, side effects: Non-bugs.
1297: * order of options: Invoking GCC.
1298: * order of register allocation: Allocation Order.
1299: * Ordering of Patterns: Pattern Ordering.
1300: * ORDER_REGS_FOR_LOCAL_ALLOC: Allocation Order.
1301: * other directory, compilation in: Other Dir.
1302: * OUTGOING_REGNO: Register Basics.
1303: * OUTGOING_REG_PARM_STACK_SPACE: Stack Arguments.
1304: * output file option: Overall Options.
1305: * output of assembler code: File Framework.
1306: * output statements: Output Statement.
1307: * output templates: Output Template.
1308: * output_addr_const: Data Output.
1309: * output_asm_insn: Output Statement.
1310: * overflow while constant folding: Cross-compilation.
1311: * OVERLAPPING_REGNO_P: Obsolete Register Macros.
1312: * overloaded virtual fn, warning: Warning Options.
1313: * OVERRIDE_OPTIONS: Run-time Target.
1314: * parallel: Side Effects.
1315: * parameter forward declaration: Variable Length.
1316: * parameters, miscellaneous: Misc.
1317: * PARM_BOUNDARY: Storage Layout.
1318: * parser generator, Bison: Installation.
1319: * parsing pass: Passes.
1320: * passes and files of the compiler: Passes.
1321: * passing arguments: Interface.
1322: * PATTERN: Insns.
1323: * pattern conditions: Patterns.
1324: * pattern names: Standard Names.
1325: * Pattern Ordering: Pattern Ordering.
1326: * patterns: Patterns.
1327: * pc: Regs and Memory.
1328: * PCC_BITFIELD_TYPE_MATTERS: Storage Layout.
1329: * PCC_STATIC_STRUCT_RETURN: Aggregate Return.
1330: * pc_rtx: Regs and Memory.
1331: * PDImode: Machine Modes.
1332: * peephole optimization: Passes.
1333: * peephole optimization, RTL representation: Side Effects.
1334: * peephole optimizer definitions: Peephole Definitions.
1335: * percent sign: Output Template.
1336: * perform_...: Library Calls.
1337: * PIC: PIC.
1338: * PIC: Code Gen Options.
1339: * PIC_OFFSET_TABLE_REGNUM: PIC.
1340: * plus: Arithmetic.
1341: * Pmode: Misc.
1342: * pointer arguments: Function Attributes.
1343: * POINTER_SIZE: Storage Layout.
1344: * portability: Portability.
1345: * portions of temporary objects, pointers to: Temporaries.
1346: * position independent code: PIC.
1347: * post_dec: Incdec.
1348: * post_inc: Incdec.
1349: * pragma: Misc.
1350: * pragma, reason for not using: Function Attributes.
1351: * pragmas in C++, effect on inlining: C++ Interface.
1352: * pragmas, interface and implementation: C++ Interface.
1353: * predefined macros: Run-time Target.
1354: * PREDICATE_CODES: Misc.
1355: * PREFERRED_DEBUGGING_TYPE: All Debuggers.
1356: * PREFERRED_OUTPUT_RELOAD_CLASS: Register Classes.
1357: * PREFERRED_RELOAD_CLASS: Register Classes.
1358: * preprocessing numbers: Incompatibilities.
1359: * preprocessing tokens: Incompatibilities.
1360: * preprocessor options: Preprocessor Options.
1361: * PRESERVE_DEATH_INFO_REGNO_P: Obsolete Register Macros.
1362: * prev_cc0_setter: Jump Patterns.
1363: * PREV_INSN: Insns.
1364: * prev_nonnote_insn: Peephole Definitions.
1365: * pre_dec: Incdec.
1366: * pre_inc: Incdec.
1367: * PRINT_OPERAND: Instruction Output.
1368: * PRINT_OPERAND_ADDRESS: Instruction Output.
1369: * PRINT_OPERAND_PUNCT_VALID_P: Instruction Output.
1370: * processor selection (29k): AMD29K Options.
1371: * product: Arithmetic.
1372: * PROFILE_BEFORE_PROLOGUE: Profiling.
1373: * profiling, code generation: Profiling.
1374: * program counter: Regs and Memory.
1375: * prologue: Function Entry.
1376: * PROMOTE_FUNCTION_ARGS: Storage Layout.
1377: * PROMOTE_FUNCTION_RETURN: Storage Layout.
1378: * PROMOTE_MODE: Storage Layout.
1379: * PROMOTE_PROTOTYPES: Stack Arguments.
1380: * promotion of formal parameters: Function Prototypes.
1381: * pseudo registers: Regs and Memory.
1382: * PSImode: Machine Modes.
1383: * PTRDIFF_TYPE: Type Layout.
1384: * push address instruction: Simple Constraints.
1385: * PUSH_ROUNDING: Stack Arguments.
1386: * putenv: Config.
1387: * PUT_CODE: RTL Objects.
1388: * PUT_MODE: Machine Modes.
1389: * PUT_REG_NOTE_KIND: Insns.
1390: * PUT_SDB_...: SDB and DWARF.
1391: * QImode: Machine Modes.
1392: * question mark: Multi-Alternative.
1393: * quotient: Arithmetic.
1394: * r0-relative references (88k): M88K Options.
1395: * ranges in case statements: Case Ranges.
1396: * read-only strings: Incompatibilities.
1397: * READONLY_DATA_SECTION: Sections.
1398: * REAL_ARITHMETIC: Cross-compilation.
1399: * REAL_INFINITY: Cross-compilation.
1400: * REAL_NM_FILE_NAME: Macros for Initialization.
1401: * REAL_VALUES_EQUAL: Cross-compilation.
1402: * REAL_VALUES_LESS: Cross-compilation.
1403: * REAL_VALUE_ATOF: Cross-compilation.
1404: * REAL_VALUE_FIX: Cross-compilation.
1405: * REAL_VALUE_FROM_INT: Cross-compilation.
1406: * REAL_VALUE_ISINF: Cross-compilation.
1407: * REAL_VALUE_ISNAN: Cross-compilation.
1408: * REAL_VALUE_LDEXP: Cross-compilation.
1409: * REAL_VALUE_NEGATE: Cross-compilation.
1410: * REAL_VALUE_RNDZINT: Cross-compilation.
1411: * REAL_VALUE_TO_DECIMAL: Data Output.
1412: * REAL_VALUE_TO_INT: Cross-compilation.
1413: * REAL_VALUE_TO_TARGET_DOUBLE: Data Output.
1414: * REAL_VALUE_TO_TARGET_LONG_DOUBLE: Data Output.
1415: * REAL_VALUE_TO_TARGET_SINGLE: Data Output.
1416: * REAL_VALUE_TRUNCATE: Cross-compilation.
1417: * REAL_VALUE_TYPE: Cross-compilation.
1418: * REAL_VALUE_UNSIGNED_FIX: Cross-compilation.
1419: * REAL_VALUE_UNSIGNED_RNDZINT: Cross-compilation.
1420: * recognizing insns: RTL Template.
1421: * recog_operand: Instruction Output.
1422: * reg: Regs and Memory.
1423: * register allocation: Passes.
1424: * register allocation order: Allocation Order.
1425: * register allocation, stupid: Passes.
1426: * register class definitions: Register Classes.
1427: * register class preference constraints: Class Preferences.
1428: * register class preference pass: Passes.
1429: * register pairs: Values in Registers.
1430: * register positions in frame (88k): M88K Options.
1431: * register positions in frame (88k): M88K Options.
1432: * Register Transfer Language (RTL): RTL.
1433: * register usage: Registers.
1434: * register use analysis: Passes.
1435: * register variable after longjmp: Global Reg Vars.
1436: * register-to-stack conversion: Passes.
1437: * registers: Extended Asm.
1438: * registers arguments: Register Arguments.
1439: * registers for local variables: Local Reg Vars.
1440: * registers in constraints: Simple Constraints.
1441: * registers, global allocation: Explicit Reg Vars.
1442: * registers, global variables in: Global Reg Vars.
1443: * REGISTER_MOVE_COST: Costs.
1444: * REGISTER_NAMES: Instruction Output.
1445: * register_operand: RTL Template.
1446: * REGISTER_PREFIX: Instruction Output.
1447: * REGNO_OK_FOR_BASE_P: Register Classes.
1448: * REGNO_OK_FOR_INDEX_P: Register Classes.
1449: * REGNO_REG_CLASS: Register Classes.
1450: * regs_ever_live: Function Entry.
1451: * REG_ALLOC_ORDER: Allocation Order.
1452: * REG_CC_SETTER: Insns.
1453: * REG_CC_USER: Insns.
1454: * REG_CLASS_CONTENTS: Register Classes.
1455: * REG_CLASS_FROM_LETTER: Register Classes.
1456: * REG_CLASS_NAMES: Register Classes.
1457: * REG_DEAD: Insns.
1458: * REG_DEP_ANTI: Insns.
1459: * REG_DEP_OUTPUT: Insns.
1460: * REG_EQUAL: Insns.
1461: * REG_EQUIV: Insns.
1462: * REG_FUNCTION_VALUE_P: Flags.
1463: * REG_INC: Insns.
1464: * REG_LABEL: Insns.
1465: * REG_LEAF_ALLOC_ORDER: Leaf Functions.
1466: * REG_LIBCALL: Insns.
1467: * REG_LOOP_TEST_P: Flags.
1468: * reg_names: Instruction Output.
1469: * REG_NONNEG: Insns.
1470: * REG_NOTES: Insns.
1471: * REG_NOTE_KIND: Insns.
1472: * REG_NO_CONFLICT: Insns.
1473: * REG_OK_FOR_BASE_P: Addressing Modes.
1474: * REG_OK_FOR_INDEX_P: Addressing Modes.
1475: * REG_OK_STRICT: Addressing Modes.
1476: * REG_PARM_STACK_SPACE: Stack Arguments.
1477: * REG_RETVAL: Insns.
1478: * REG_UNUSED: Insns.
1479: * REG_USERVAR_P: Flags.
1480: * REG_WAS_0: Insns.
1481: * relative costs: Costs.
1482: * RELATIVE_PREFIX_NOT_LINKDIR: Driver.
1483: * reload pass: Regs and Memory.
1484: * reloading: Passes.
1485: * reload_completed: Standard Names.
1486: * reload_in_progress: Standard Names.
1487: * remainder: Arithmetic.
1488: * reporting bugs: Bugs.
1489: * representation of RTL: RTL.
1490: * rest argument (in macro): Macro Varargs.
1491: * rest_of_compilation: Passes.
1492: * rest_of_decl_compilation: Passes.
1493: * return: Side Effects.
1494: * return value of main: VMS Misc.
1495: * return value, named, in C++: Naming Results.
1496: * return values in registers: Scalar Return.
1497: * returning aggregate values: Aggregate Return.
1498: * returning structures and unions: Interface.
1499: * RETURN_ADDR_IN_PREVIOUS_FRAME: Frame Layout.
1500: * RETURN_ADDR_RTX: Frame Layout.
1501: * RETURN_IN_MEMORY: Aggregate Return.
1502: * RETURN_POPS_ARGS: Stack Arguments.
1503: * right rotate: Arithmetic.
1504: * right shift: Arithmetic.
1505: * rotate: Arithmetic.
1506: * rotate: Arithmetic.
1507: * rotatert: Arithmetic.
1508: * ROUND_TYPE_ALIGN: Storage Layout.
1509: * ROUND_TYPE_SIZE: Storage Layout.
1510: * RS/6000 and PowerPC Options: RS/6000 and PowerPC Options.
1511: * RT options: RT Options.
1512: * RT PC: Interoperation.
1513: * RTL addition: Arithmetic.
1514: * RTL comparison: Arithmetic.
1515: * RTL comparison operations: Comparisons.
1516: * RTL constant expression types: Constants.
1517: * RTL constants: Constants.
1518: * RTL declarations: RTL Declarations.
1519: * RTL difference: Arithmetic.
1520: * RTL expression: RTL Objects.
1521: * RTL expressions for arithmetic: Arithmetic.
1522: * RTL format: Accessors.
1523: * RTL format characters: Accessors.
1524: * RTL function-call insns: Calls.
1525: * RTL generation: Passes.
1526: * RTL insn template: RTL Template.
1527: * RTL integers: RTL Objects.
1528: * RTL memory expressions: Regs and Memory.
1529: * RTL object types: RTL Objects.
1530: * RTL postdecrement: Incdec.
1531: * RTL postincrement: Incdec.
1532: * RTL predecrement: Incdec.
1533: * RTL preincrement: Incdec.
1534: * RTL register expressions: Regs and Memory.
1535: * RTL representation: RTL.
1536: * RTL side effect expressions: Side Effects.
1537: * RTL strings: RTL Objects.
1538: * RTL structure sharing assumptions: Sharing.
1539: * RTL subtraction: Arithmetic.
1540: * RTL sum: Arithmetic.
1541: * RTL vectors: RTL Objects.
1542: * RTX (See RTL): RTL Objects.
1543: * RTX_COSTS: Costs.
1544: * RTX_INTEGRATED_P: Flags.
1545: * RTX_UNCHANGING_P: Flags.
1546: * run-time conventions: Interface.
1547: * run-time options: Code Gen Options.
1548: * run-time target specification: Run-time Target.
1549: * saveable_obstack: Addressing Modes.
1550: * scalars, returned as values: Scalar Return.
1551: * SCCS_DIRECTIVE: Misc.
1552: * scheduling, delayed branch: Passes.
1553: * scheduling, instruction: Passes.
1554: * scheduling, instruction: Passes.
1555: * SCHED_GROUP_P: Flags.
1556: * SCmode: Machine Modes.
1557: * scope of a variable length array: Variable Length.
1558: * scope of declaration: Disappointments.
1559: * scope of external declarations: Incompatibilities.
1560: * scratch: Regs and Memory.
1561: * scratch operands: Regs and Memory.
1562: * SDB_ALLOW_FORWARD_REFERENCES: SDB and DWARF.
1563: * SDB_ALLOW_UNKNOWN_REFERENCES: SDB and DWARF.
1564: * SDB_DEBUGGING_INFO: SDB and DWARF.
1565: * SDB_DELIM: SDB and DWARF.
1566: * SDB_GENERATE_FAKE: SDB and DWARF.
1567: * search path: Directory Options.
1568: * second include path: Preprocessor Options.
1569: * SECONDARY_INPUT_RELOAD_CLASS: Register Classes.
1570: * SECONDARY_MEMORY_NEEDED: Register Classes.
1571: * SECONDARY_MEMORY_NEEDED_RTX: Register Classes.
1572: * SECONDARY_OUTPUT_RELOAD_CLASS: Register Classes.
1573: * SECONDARY_RELOAD_CLASS: Register Classes.
1574: * SELECT_CC_MODE: Condition Code.
1575: * SELECT_RTX_SECTION: Sections.
1576: * SELECT_SECTION: Sections.
1577: * separate directory, compilation in: Other Dir.
1578: * sequence: Side Effects.
1579: * sequential consistency on 88k: M88K Options.
1580: * set: Side Effects.
1581: * setjmp: Global Reg Vars.
1582: * SETUP_FRAME_ADDRESSES: Frame Layout.
1583: * SETUP_INCOMING_VARARGS: Varargs.
1584: * set_attr: Tagging Insns.
1585: * set_attr_alternative: Tagging Insns.
1586: * SET_DEST: Side Effects.
1587: * SET_SRC: Side Effects.
1588: * SFmode: Machine Modes.
1589: * shared strings: Incompatibilities.
1590: * shared VMS run time system: VMS Misc.
1591: * SHARED_SECTION_ASM_OP: Sections.
1592: * sharing of RTL components: Sharing.
1593: * shift: Arithmetic.
1594: * SHIFT_COUNT_TRUNCATED: Misc.
1595: * SHORT_TYPE_SIZE: Type Layout.
1596: * side effect in ?:: Conditionals.
1597: * side effects, macro argument: Statement Exprs.
1598: * side effects, order of evaluation: Non-bugs.
1599: * signed division: Arithmetic.
1600: * signed maximum: Arithmetic.
1601: * signed minimum: Arithmetic.
1602: * SIGNED_CHAR_SPEC: Driver.
1603: * sign_extend: Conversions.
1604: * sign_extract: Bit Fields.
1605: * SImode: Machine Modes.
1606: * simple constraints: Simple Constraints.
1607: * simplifications, arithmetic: Passes.
1608: * sin: C Dialect Options.
1609: * sizeof: Typeof.
1610: * SIZE_TYPE: Type Layout.
1611: * SLOW_BYTE_ACCESS: Costs.
1612: * SLOW_UNALIGNED_ACCESS: Costs.
1613: * SLOW_ZERO_EXTEND: Costs.
1614: * smaller data references (88k): M88K Options.
1615: * smaller data references (MIPS): MIPS Options.
1616: * SMALL_REGISTER_CLASSES: Register Classes.
1617: * smax: Arithmetic.
1618: * smin: Arithmetic.
1619: * SPARC options: SPARC Options.
1620: * specified registers: Explicit Reg Vars.
1621: * specifying compiler version and target machine: Target Options.
1622: * specifying hardware config: Submodel Options.
1623: * specifying machine version: Target Options.
1624: * specifying registers for local variables: Local Reg Vars.
1625: * speed of instructions: Costs.
1626: * splitting instructions: Insn Splitting.
1627: * sqrt: C Dialect Options.
1628: * sqrt: Arithmetic.
1629: * square root: Arithmetic.
1630: * stack arguments: Stack Arguments.
1631: * stack checks (29k): AMD29K Options.
1632: * stack frame layout: Frame Layout.
1633: * STACK_BOUNDARY: Storage Layout.
1634: * STACK_DYNAMIC_OFFSET: Frame Layout.
1635: * STACK_GROWS_DOWNWARD: Frame Layout.
1636: * STACK_PARMS_IN_REG_PARM_AREA: Stack Arguments.
1637: * STACK_POINTER_OFFSET: Frame Layout.
1638: * STACK_POINTER_REGNUM: Frame Registers.
1639: * stack_pointer_rtx: Frame Registers.
1640: * STACK_REGS: Stack Registers.
1641: * stage1: Installation.
1642: * standard pattern names: Standard Names.
1643: * STANDARD_EXEC_PREFIX: Driver.
1644: * STANDARD_INCLUDE_DIR: Driver.
1645: * STANDARD_STARTFILE_PREFIX: Driver.
1646: * start files: Tools and Libraries.
1647: * STARTFILE_SPEC: Driver.
1648: * STARTING_FRAME_OFFSET: Frame Layout.
1649: * statements inside expressions: Statement Exprs.
1650: * static data in C++, declaring and defining: Static Definitions.
1651: * STATIC_CHAIN: Frame Registers.
1652: * STATIC_CHAIN_INCOMING: Frame Registers.
1653: * STATIC_CHAIN_INCOMING_REGNUM: Frame Registers.
1654: * STATIC_CHAIN_REGNUM: Frame Registers.
1655: * STDC_VALUE: Run-time Target.
1656: * storage layout: Storage Layout.
1657: * STORE_FLAG_VALUE: Misc.
1658: * strcmp: C Dialect Options.
1659: * strcpy: C Dialect Options.
1660: * strcpy: Storage Layout.
1661: * strength-reduction: Passes.
1662: * STRICT_ALIGNMENT: Storage Layout.
1663: * strict_low_part: RTL Declarations.
1664: * string constants: Incompatibilities.
1665: * string constants vs newline: C Dialect Options.
1666: * STRIP_NAME_ENCODING: Sections.
1667: * strlen: C Dialect Options.
1668: * structure passing (88k): M88K Options.
1669: * structure value address: Aggregate Return.
1670: * structures: Incompatibilities.
1671: * structures, constructor expression: Constructors.
1672: * structures, returning: Interface.
1673: * STRUCTURE_SIZE_BOUNDARY: Storage Layout.
1674: * STRUCT_VALUE: Aggregate Return.
1675: * STRUCT_VALUE_INCOMING: Aggregate Return.
1676: * STRUCT_VALUE_INCOMING_REGNUM: Aggregate Return.
1677: * STRUCT_VALUE_REGNUM: Aggregate Return.
1678: * stupid register allocation: Passes.
1679: * submodel options: Submodel Options.
1680: * subreg: Regs and Memory.
1681: * SUBREG_PROMOTED_UNSIGNED_P: Flags.
1682: * SUBREG_PROMOTED_VAR_P: Flags.
1683: * SUBREG_REG: Regs and Memory.
1684: * SUBREG_WORD: Regs and Memory.
1685: * subscripting: Subscripting.
1686: * subscripting and function values: Subscripting.
1687: * SUCCESS_EXIT_CODE: Config.
1688: * suffixes for C++ source: Invoking G++.
1689: * Sun installation: Sun Install.
1690: * suppressing warnings: Warning Options.
1691: * surprises in C++: C++ Misunderstandings.
1692: * SVr4: M88K Options.
1693: * SWITCHES_NEED_SPACES: Driver.
1694: * SWITCH_TAKES_ARG: Driver.
1695: * symbolic label: Sharing.
1696: * symbol_ref: Constants.
1697: * SYMBOL_REF_FLAG: Flags.
1698: * SYMBOL_REF_USED: Flags.
1699: * syntax checking: Warning Options.
1700: * SYSTEM_INCLUDE_DIR: Driver.
1701: * sys_siglist: Config.
1702: * tagging insns: Tagging Insns.
1703: * tail recursion optimization: Passes.
1704: * target description macros: Target Macros.
1705: * target machine, specifying: Target Options.
1706: * target options: Target Options.
1707: * target specifications: Run-time Target.
1708: * target-parameter-dependent code: Passes.
1709: * TARGET_BELL: Type Layout.
1710: * TARGET_BS: Type Layout.
1711: * TARGET_CR: Type Layout.
1712: * TARGET_EDOM: Library Calls.
1713: * TARGET_FF: Type Layout.
1714: * TARGET_FLOAT_FORMAT: Storage Layout.
1715: * TARGET_MEM_FUNCTIONS: Library Calls.
1716: * TARGET_NEWLINE: Type Layout.
1717: * TARGET_OPTIONS: Run-time Target.
1718: * TARGET_SWITCHES: Run-time Target.
1719: * TARGET_TAB: Type Layout.
1720: * TARGET_VERSION: Run-time Target.
1721: * TARGET_VT: Type Layout.
1722: * TCmode: Machine Modes.
1723: * template debugging: Warning Options.
1724: * temporaries, lifetime of: Temporaries.
1725: * termination routines: Initialization.
1726: * text_section: Sections.
1727: * TEXT_SECTION_ASM_OP: Sections.
1728: * TFmode: Machine Modes.
1729: * thunks: Nested Functions.
1730: * TImode: Machine Modes.
1731: * TMPDIR: Environment Variables.
1732: * top level of compiler: Passes.
1733: * traditional C language: C Dialect Options.
1734: * TRADITIONAL_RETURN_FLOAT: Scalar Return.
1735: * trampolines for nested functions: Trampolines.
1736: * TRAMPOLINE_ALIGNMENT: Trampolines.
1737: * TRAMPOLINE_SECTION: Trampolines.
1738: * TRAMPOLINE_SIZE: Trampolines.
1739: * TRAMPOLINE_TEMPLATE: Trampolines.
1740: * TRANSFER_FROM_TRAMPOLINE: Trampolines.
1741: * TRULY_NOOP_TRUNCATION: Misc.
1742: * truncate: Conversions.
1743: * type alignment: Alignment.
1744: * typedef names as function parameters: Incompatibilities.
1745: * typeof: Typeof.
1746: * udiv: Arithmetic.
1747: * UDIVDI3_LIBCALL: Library Calls.
1748: * UDIVSI3_LIBCALL: Library Calls.
1749: * Ultrix calling convention: Interoperation.
1750: * umax: Arithmetic.
1751: * umin: Arithmetic.
1752: * umod: Arithmetic.
1753: * UMODDI3_LIBCALL: Library Calls.
1754: * UMODSI3_LIBCALL: Library Calls.
1755: * unchanging: Flags.
1756: * undefined behavior: Bug Criteria.
1757: * undefined function value: Bug Criteria.
1758: * underscores in variables in macros: Naming Types.
1759: * underscores, avoiding (88k): M88K Options.
1760: * union, casting to a: Cast to Union.
1761: * unions: Incompatibilities.
1762: * unions, returning: Interface.
1763: * UNITS_PER_WORD: Storage Layout.
1764: * UNKNOWN_FLOAT_FORMAT: Storage Layout.
1765: * Unos installation: Unos Install.
1766: * unreachable code: Passes.
1767: * unshare_all_rtl: Sharing.
1768: * unsigned division: Arithmetic.
1769: * unsigned greater than: Comparisons.
1770: * unsigned greater than: Comparisons.
1771: * unsigned less than: Comparisons.
1772: * unsigned less than: Comparisons.
1773: * unsigned minimum and maximum: Arithmetic.
1774: * unsigned_fix: Conversions.
1775: * unsigned_float: Conversions.
1776: * unspec: Side Effects.
1777: * unspec_volatile: Side Effects.
1778: * use: Side Effects.
1779: * used: Flags.
1780: * USER_LABEL_PREFIX: Instruction Output.
1781: * USE_C_ALLOCA: Config.
1782: * USE_PROTOTYPES: Config.
1783: * USG: Config.
1784: * value after longjmp: Global Reg Vars.
1785: * values, returned by functions: Scalar Return.
1786: * varargs implementation: Varargs.
1787: * variable alignment: Alignment.
1788: * variable attributes: Variable Attributes.
1789: * variable number of arguments: Macro Varargs.
1790: * variable-length array scope: Variable Length.
1791: * variable-length arrays: Variable Length.
1792: * variables in specified registers: Explicit Reg Vars.
1793: * variables, local, in macros: Naming Types.
1794: * Vax calling convention: Interoperation.
1795: * VAX options: VAX Options.
1796: * VAX_FLOAT_FORMAT: Storage Layout.
1797: * VIRTUAL_INCOMING_ARGS_REGNUM: Regs and Memory.
1798: * VIRTUAL_OUTGOING_ARGS_REGNUM: Regs and Memory.
1799: * VIRTUAL_STACK_DYNAMIC_REGNUM: Regs and Memory.
1800: * VIRTUAL_STACK_VARS_REGNUM: Regs and Memory.
1801: * VMS: Config.
1802: * VMS and case sensitivity: VMS Misc.
1803: * VMS and include files: Include Files and VMS.
1804: * VMS installation: VMS Install.
1805: * void pointers, arithmetic: Pointer Arith.
1806: * void, size of pointer to: Pointer Arith.
1807: * VOIDmode: Machine Modes.
1808: * volatil: Flags.
1809: * volatile memory references: Flags.
1810: * voting between constraint alternatives: Class Preferences.
1811: * vprintf: Config.
1812: * warning for enumeration conversions: Warning Options.
1813: * warning for overloaded virtual fn: Warning Options.
1814: * warning messages: Warning Options.
1815: * warnings vs errors: Warnings and Errors.
1816: * WCHAR_TYPE: Type Layout.
1817: * WCHAR_TYPE_SIZE: Type Layout.
1818: * which_alternative: Output Statement.
1819: * whitespace: Incompatibilities.
1820: * WORDS_BIG_ENDIAN: Storage Layout.
1821: * word_mode: Machine Modes.
1822: * WORD_REGISTER_OPERATIONS: Misc.
1823: * WORD_SWITCH_TAKES_ARG: Driver.
1824: * XCmode: Machine Modes.
1825: * XCOFF_DEBUGGING_INFO: DBX Options.
1826: * XEXP: Accessors.
1827: * XFmode: Machine Modes.
1828: * XINT: Accessors.
1829: * xor: Arithmetic.
1830: * XSTR: Accessors.
1831: * XVEC: Accessors.
1832: * XVECEXP: Accessors.
1833: * XVECLEN: Accessors.
1834: * XWINT: Accessors.
1835: * zero division on 88k: M88K Options.
1836: * zero-length arrays: Zero Length.
1837: * zero_extend: Conversions.
1838: * zero_extract: Bit Fields.
1839: * \: Output Template.
1840: * __bb_init_func: Profiling.
1841: * __builtin_apply: Constructing Calls.
1842: * __builtin_apply_args: Constructing Calls.
1843: * __builtin_args_info: Varargs.
1844: * __builtin_classify_type: Varargs.
1845: * __builtin_next_arg: Varargs.
1846: * __builtin_return: Constructing Calls.
1847: * __builtin_saveregs: Varargs.
1848: * __CTOR_LIST__: Initialization.
1849: * __DTOR_LIST__: Initialization.
1850:
1851:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.