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