flags.h (107604) | flags.h (117404) |
---|---|
1/* Compilation switch flag definitions for GCC. | 1/* Compilation switch flag definitions for GCC. |
2 Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000 | 2 Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002 |
3 Free Software Foundation, Inc. 4 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify it under 8the terms of the GNU General Public License as published by the Free 9Software Foundation; either version 2, or (at your option) any later 10version. --- 110 unchanged lines hidden (view full) --- 121 pragmas. */ 122 123extern int warn_unknown_pragmas; 124 125/* Nonzero means warn about all declarations which shadow others. */ 126 127extern int warn_shadow; 128 | 3 Free Software Foundation, Inc. 4 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify it under 8the terms of the GNU General Public License as published by the Free 9Software Foundation; either version 2, or (at your option) any later 10version. --- 110 unchanged lines hidden (view full) --- 121 pragmas. */ 122 123extern int warn_unknown_pragmas; 124 125/* Nonzero means warn about all declarations which shadow others. */ 126 127extern int warn_shadow; 128 |
129/* Warn if a switch on an enum fails to have a case for every enum value. */ | 129/* Warn if a switch on an enum, that does not have a default case, 130 fails to have a case for every enum value. */ |
130 131extern int warn_switch; 132 | 131 132extern int warn_switch; 133 |
134/* Warn if a switch does not have a default case. */ 135 136extern int warn_switch_default; 137 138/* Warn if a switch on an enum fails to have a case for every enum 139 value (regardless of the presence or otherwise of a default case). */ 140 141extern int warn_switch_enum; 142 |
|
133/* Nonzero means warn about function definitions that default the return type 134 or that use a null return and have a return-type other than void. */ 135 136extern int warn_return_type; 137 138/* Warn about functions which might be candidates for attribute noreturn. */ 139 140extern int warn_missing_noreturn; --- 28 unchanged lines hidden (view full) --- 169 170extern int warn_disabled_optimization; 171 172/* Nonzero means warn about uses of __attribute__((deprecated)) 173 declarations. */ 174 175extern int warn_deprecated_decl; 176 | 143/* Nonzero means warn about function definitions that default the return type 144 or that use a null return and have a return-type other than void. */ 145 146extern int warn_return_type; 147 148/* Warn about functions which might be candidates for attribute noreturn. */ 149 150extern int warn_missing_noreturn; --- 28 unchanged lines hidden (view full) --- 179 180extern int warn_disabled_optimization; 181 182/* Nonzero means warn about uses of __attribute__((deprecated)) 183 declarations. */ 184 185extern int warn_deprecated_decl; 186 |
187/* Nonzero means warn about constructs which might not be strict 188 aliasing safe. */ 189 190extern int warn_strict_aliasing; 191 |
|
177/* Nonzero if generating code to do profiling. */ 178 179extern int profile_flag; 180 181/* Nonzero if generating code to profile program flow graph arcs. */ 182 183extern int profile_arc_flag; 184 --- 4 unchanged lines hidden (view full) --- 189/* Nonzero indicates that branch taken probabilities should be calculated. */ 190 191extern int flag_branch_probabilities; 192 193/* Nonzero if basic blocks should be reordered. */ 194 195extern int flag_reorder_blocks; 196 | 192/* Nonzero if generating code to do profiling. */ 193 194extern int profile_flag; 195 196/* Nonzero if generating code to profile program flow graph arcs. */ 197 198extern int profile_arc_flag; 199 --- 4 unchanged lines hidden (view full) --- 204/* Nonzero indicates that branch taken probabilities should be calculated. */ 205 206extern int flag_branch_probabilities; 207 208/* Nonzero if basic blocks should be reordered. */ 209 210extern int flag_reorder_blocks; 211 |
212/* Nonzero if functions should be reordered. */ 213 214extern int flag_reorder_functions; 215 |
|
197/* Nonzero if registers should be renamed. */ 198 199extern int flag_rename_registers; 200 201/* Nonzero for -pedantic switch: warn about anything 202 that standard C forbids. */ 203 204extern int pedantic; --- 135 unchanged lines hidden (view full) --- 340 341/* Nonzero means that unsafe floating-point math optimizations are allowed 342 for the sake of speed. IEEE compliance is not guaranteed, and operations 343 are allowed to assume that their arguments and results are "normal" 344 (e.g., nonnegative for SQRT). */ 345 346extern int flag_unsafe_math_optimizations; 347 | 216/* Nonzero if registers should be renamed. */ 217 218extern int flag_rename_registers; 219 220/* Nonzero for -pedantic switch: warn about anything 221 that standard C forbids. */ 222 223extern int pedantic; --- 135 unchanged lines hidden (view full) --- 359 360/* Nonzero means that unsafe floating-point math optimizations are allowed 361 for the sake of speed. IEEE compliance is not guaranteed, and operations 362 are allowed to assume that their arguments and results are "normal" 363 (e.g., nonnegative for SQRT). */ 364 365extern int flag_unsafe_math_optimizations; 366 |
367/* Nonzero means that no NaNs or +-Infs are expected. */ 368 369extern int flag_finite_math_only; 370 |
|
348/* Zero means that floating-point math operations cannot generate a 349 (user-visible) trap. This is the case, for example, in nonstop 350 IEEE 754 arithmetic. */ 351 352extern int flag_trapping_math; 353 354/* 0 means straightforward implementation of complex divide acceptable. 355 1 means wide ranges of inputs must work for complex divide. --- 47 unchanged lines hidden (view full) --- 403 global_alloc. */ 404 405extern int flag_schedule_insns; 406extern int flag_schedule_insns_after_reload; 407 408/* The following flags have effect only for scheduling before register 409 allocation: 410 | 371/* Zero means that floating-point math operations cannot generate a 372 (user-visible) trap. This is the case, for example, in nonstop 373 IEEE 754 arithmetic. */ 374 375extern int flag_trapping_math; 376 377/* 0 means straightforward implementation of complex divide acceptable. 378 1 means wide ranges of inputs must work for complex divide. --- 47 unchanged lines hidden (view full) --- 426 global_alloc. */ 427 428extern int flag_schedule_insns; 429extern int flag_schedule_insns_after_reload; 430 431/* The following flags have effect only for scheduling before register 432 allocation: 433 |
411 flag_schedule_interblock means schedule insns accross basic blocks. | 434 flag_schedule_interblock means schedule insns across basic blocks. |
412 flag_schedule_speculative means allow speculative motion of non-load insns. 413 flag_schedule_speculative_load means allow speculative motion of some 414 load insns. 415 flag_schedule_speculative_load_dangerous allows speculative motion of more 416 load insns. */ 417 418extern int flag_schedule_interblock; 419extern int flag_schedule_speculative; --- 14 unchanged lines hidden (view full) --- 434 435extern int flag_delayed_branch; 436 437/* Nonzero means suppress output of instruction numbers and line number 438 notes in debugging dumps. */ 439 440extern int flag_dump_unnumbered; 441 | 435 flag_schedule_speculative means allow speculative motion of non-load insns. 436 flag_schedule_speculative_load means allow speculative motion of some 437 load insns. 438 flag_schedule_speculative_load_dangerous allows speculative motion of more 439 load insns. */ 440 441extern int flag_schedule_interblock; 442extern int flag_schedule_speculative; --- 14 unchanged lines hidden (view full) --- 457 458extern int flag_delayed_branch; 459 460/* Nonzero means suppress output of instruction numbers and line number 461 notes in debugging dumps. */ 462 463extern int flag_dump_unnumbered; 464 |
442/* Nonzero means pretend it is OK to examine bits of target floats, 443 even if that isn't true. The resulting code will have incorrect constants, 444 but the same series of instructions that the native compiler would make. */ 445 446extern int flag_pretend_float; 447 | |
448/* Nonzero means change certain warnings into errors. 449 Usually these are warnings about failure to conform to some standard. */ 450 451extern int flag_pedantic_errors; 452 | 465/* Nonzero means change certain warnings into errors. 466 Usually these are warnings about failure to conform to some standard. */ 467 468extern int flag_pedantic_errors; 469 |
453/* Nonzero means generate position-independent code. 454 This is not fully implemented yet. */ | 470/* Nonzero means generate position-independent code. 1 vs 2 for a 471 target-dependent "small" or "large" mode. */ |
455 456extern int flag_pic; 457 458/* Nonzero means generate extra code for exception handling and enable 459 exception handling. */ 460 461extern int flag_exceptions; 462 --- 78 unchanged lines hidden (view full) --- 541extern int flag_instrument_function_entry_exit; 542 543/* Perform a peephole pass before sched2. */ 544extern int flag_peephole2; 545 546/* Try to guess branch probablities. */ 547extern int flag_guess_branch_prob; 548 | 472 473extern int flag_pic; 474 475/* Nonzero means generate extra code for exception handling and enable 476 exception handling. */ 477 478extern int flag_exceptions; 479 --- 78 unchanged lines hidden (view full) --- 558extern int flag_instrument_function_entry_exit; 559 560/* Perform a peephole pass before sched2. */ 561extern int flag_peephole2; 562 563/* Try to guess branch probablities. */ 564extern int flag_guess_branch_prob; 565 |
549/* -fbounded-pointers causes gcc to compile pointers as composite 550 objects occupying three words: the pointer value, the base address 551 of the referent object, and the address immediately beyond the end 552 of the referent object. The base and extent allow us to perform 553 runtime bounds checking. -fbounded-pointers implies -fcheck-bounds. */ 554extern int flag_bounded_pointers; 555 | |
556/* -fcheck-bounds causes gcc to generate array bounds checks. | 566/* -fcheck-bounds causes gcc to generate array bounds checks. |
557 For C, C++: defaults to value of flag_bounded_pointers. 558 For ObjC: defaults to off. | 567 For C, C++ and ObjC: defaults off. |
559 For Java: defaults to on. | 568 For Java: defaults to on. |
560 For Fortran: defaults to off. 561 For CHILL: defaults to off. */ | 569 For Fortran: defaults to off. */ |
562extern int flag_bounds_check; 563 564/* This will attempt to merge constant section constants, if 1 only 565 string constants and constants from constant pool, if 2 also constant 566 variables. */ 567extern int flag_merge_constants; 568 569/* If one, renumber instruction UIDs to reduce the number of --- 63 unchanged lines hidden (view full) --- 633 634extern int flag_gcse_sm; 635 636 637/* Nonzero means we should do dwarf2 duplicate elimination. */ 638 639extern int flag_eliminate_dwarf2_dups; 640 | 570extern int flag_bounds_check; 571 572/* This will attempt to merge constant section constants, if 1 only 573 string constants and constants from constant pool, if 2 also constant 574 variables. */ 575extern int flag_merge_constants; 576 577/* If one, renumber instruction UIDs to reduce the number of --- 63 unchanged lines hidden (view full) --- 641 642extern int flag_gcse_sm; 643 644 645/* Nonzero means we should do dwarf2 duplicate elimination. */ 646 647extern int flag_eliminate_dwarf2_dups; 648 |
641/* Non-zero means to collect statistics which might be expensive | 649/* Nonzero means to collect statistics which might be expensive |
642 and to print them when we are done. */ 643extern int flag_detailed_statistics; 644 645/* Nonzero means enable synchronous exceptions for non-call instructions. */ 646extern int flag_non_call_exceptions; 647 | 650 and to print them when we are done. */ 651extern int flag_detailed_statistics; 652 653/* Nonzero means enable synchronous exceptions for non-call instructions. */ 654extern int flag_non_call_exceptions; 655 |
656/* Nonzero means put zero initialized data in the bss section. */ 657extern int flag_zero_initialized_in_bss; 658 659/* Nonzero means disable transformations observable by signaling NaNs. */ 660extern int flag_signaling_nans; 661 662/* A string that's used when a random name is required. NULL means 663 to make it really random. */ 664 665extern const char *flag_random_seed; 666 667/* True if the given mode has a NaN representation and the treatment of 668 NaN operands is important. Certain optimizations, such as folding 669 x * 0 into x, are not correct for NaN operands, and are normally 670 disabled for modes with NaNs. The user can ask for them to be 671 done anyway using the -funsafe-math-optimizations switch. */ 672#define HONOR_NANS(MODE) \ 673 (MODE_HAS_NANS (MODE) && !flag_finite_math_only) 674 675/* Like HONOR_NANs, but true if we honor signaling NaNs (or sNaNs). */ 676#define HONOR_SNANS(MODE) (flag_signaling_nans && HONOR_NANS (MODE)) 677 678/* As for HONOR_NANS, but true if the mode can represent infinity and 679 the treatment of infinite values is important. */ 680#define HONOR_INFINITIES(MODE) \ 681 (MODE_HAS_INFINITIES (MODE) && !flag_finite_math_only) 682 683/* Like HONOR_NANS, but true if the given mode distinguishes between 684 postive and negative zero, and the sign of zero is important. */ 685#define HONOR_SIGNED_ZEROS(MODE) \ 686 (MODE_HAS_SIGNED_ZEROS (MODE) && !flag_unsafe_math_optimizations) 687 688/* Like HONOR_NANS, but true if given mode supports sign-dependent rounding, 689 and the rounding mode is important. */ 690#define HONOR_SIGN_DEPENDENT_ROUNDING(MODE) \ 691 (MODE_HAS_SIGN_DEPENDENT_ROUNDING (MODE) && !flag_unsafe_math_optimizations) 692 |
|
648#endif /* ! GCC_FLAGS_H */ | 693#endif /* ! GCC_FLAGS_H */ |