8sa1-gcc/gcc
Kazu Hirata 24109c9f28 fold-const.c (fold): When seeing if D & ~C != 0 to fold (A & C) == D into 0, fold ~C.
* fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
	fold (A & C) == D into 0, fold ~C.  Similarly, for the case
	where | is used instead of &.

	* testsuite/gcc.dg/tree-ssa/20041002-1.c: New.

From-SVN: r88449
2004-10-03 15:31:54 +00:00
..
ada c-decl.c (c_expand_body): Update call tree_rest_of_compilation. 2004-10-01 15:11:25 +00:00
config linux.h (TARGET_C99_FUNCTIONS): Define. 2004-10-03 13:01:38 +09:30
cp c-decl.c (c_expand_body): Update call tree_rest_of_compilation. 2004-10-01 15:11:25 +00:00
doc collect2.c (COLLECT_PARSE_FLAG): Remove. 2004-10-01 18:45:28 +00:00
fortran simplify.c (range_check): Remove blank line at beginning of function. 2004-10-03 13:30:37 +00:00
ginclude * ginclude/stddef.h: Fix a comment typo. 2004-10-03 13:25:05 +00:00
java c-decl.c (c_expand_body): Update call tree_rest_of_compilation. 2004-10-01 15:11:25 +00:00
objc * objc-act.c: Fix comment typos. 2004-10-02 15:56:06 +00:00
po * gcc.pot: Regenerate. 2004-09-30 23:59:36 +01:00
testsuite fold-const.c (fold): When seeing if D & ~C != 0 to fold (A & C) == D into 0, fold ~C. 2004-10-03 15:31:54 +00:00
treelang re PR treelang/17762 (treelang doesn't use mapped locations) 2004-10-02 18:38:29 +00:00
.cvsignore
ABOUT-GCC-NLS
aclocal.m4 aclocal.m4: Quote m4_includes. 2004-09-27 22:51:37 +00:00
alias.c tree.h (INDIRECT_REF_P): New macro. 2004-09-29 23:08:32 +00:00
alias.h Makefile.in (EXPR_H): Add insn-config.h... 2004-06-02 02:09:45 +00:00
alloc-pool.c alias.c (mems_in_disjoint_alias_sets_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-08-30 19:13:03 +00:00
alloc-pool.h
attribs.c attribs.c, [...]: Use %<, %> and %q for quoting in diagnostics going through pretty-print.c. 2004-09-15 21:48:10 +01:00
basic-block.h * basic-block.h: Fix a comment typo. 2004-09-28 12:15:48 +00:00
bb-reorder.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
bitmap.c bitmap.h (EXECUTE_IF_SET_IN_BITMAP, [...]): Changed to iterator style. 2004-09-26 19:53:13 +00:00
bitmap.h Fix formatting. 2004-09-28 00:42:52 -04:00
bt-load.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
builtin-attrs.def builtins.def (BUILT_IN_FPUTC, [...]): Remove nothrow attribute. 2004-09-29 11:06:49 +02:00
builtin-types.def builtin-types.def (BT_UINT): Rename from BT_UNSIGNED. 2004-07-09 16:04:33 -07:00
builtins.c builtins.c (expand_builtin_memcmp, [...]): Delete duplicate code. 2004-10-03 01:53:09 +00:00
builtins.def builtins.def (BUILT_IN_FPUTC, [...]): Remove nothrow attribute. 2004-09-29 11:06:49 +02:00
c-aux-info.c c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable. 2004-09-07 10:19:00 +00:00
c-common.c c-common.c (fix_string_type): Build the unqualified array type unconditionally... 2004-09-21 02:22:45 +00:00
c-common.def alias.c (find_base_decl): Remove unreachable case '3' block. 2004-09-17 21:55:02 +00:00
c-common.h c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h. 2004-09-10 23:56:31 +00:00
c-config-lang.in
c-convert.c Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
c-cppbuiltin.c c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable. 2004-09-07 10:19:00 +00:00
c-decl.c c-decl.c (c_expand_body): Update call tree_rest_of_compilation. 2004-10-01 15:11:25 +00:00
c-dump.c Conditionally compile support for --enable-mapped_location. 2004-06-30 11:05:07 -07:00
c-errors.c
c-format.c alias.c (find_base_decl): Remove unreachable case '3' block. 2004-09-17 21:55:02 +00:00
c-format.h Makefile.in (c-format.o): Depend on c-format.h. 2004-07-19 14:48:09 +00:00
c-gimplify.c c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable. 2004-09-07 10:19:00 +00:00
c-incpath.c re PR libobjc/11572 (GNU libobjc no longer compiled on Darwin) 2004-09-15 23:49:59 -07:00
c-incpath.h re PR libobjc/11572 (GNU libobjc no longer compiled on Darwin) 2004-09-15 23:49:59 -07:00
c-lang.c alias.c (find_base_decl): Remove unreachable case '3' block. 2004-09-17 21:55:02 +00:00
c-lex.c c-common.c (fix_string_type): Build the unqualified array type unconditionally... 2004-09-21 02:22:45 +00:00
c-objc-common.c c-objc-common.c (c_tree_printer): Correct description of %E. 2004-10-02 20:15:45 +01:00
c-objc-common.h Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h. 2004-08-15 21:47:32 +00:00
c-opts.c c-common.c, [...]: Use %q, %< and %> for quoting in diagnostics. 2004-09-13 00:53:29 +01:00
c-parse.in re PR c/16409 (ICE in size_binop, at fold-const.c) 2004-09-28 20:35:26 +01:00
c-pch.c attribs.c, [...]: Use %<, %> and %q for quoting in diagnostics going through pretty-print.c. 2004-09-15 21:48:10 +01:00
c-ppoutput.c Conditionally compile support for --enable-mapped_location. 2004-06-30 11:11:14 -07:00
c-pragma.c alias.c (find_base_decl): Remove unreachable case '3' block. 2004-09-17 21:55:02 +00:00
c-pragma.h c-common.c (fix_string_type): Build the unqualified array type unconditionally... 2004-09-21 02:22:45 +00:00
c-pretty-print.c c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable. 2004-09-07 10:19:00 +00:00
c-pretty-print.h c-pretty-print.c (pp_c_left_bracket): Make a function. 2004-05-31 15:25:51 +00:00
c-semantics.c c-common.h (STATEMENT_LIST_HAS_LABEL): New. 2004-08-11 21:09:57 -07:00
c-tree.h c-tree.h (readonly_error): Remove. 2004-09-30 23:52:06 +01:00
c-typeck.c * c-typeck.c (warn_for_assignment): Don't permit argnum == 0. 2004-10-02 00:11:58 +01:00
c.opt re PR c++/13684 (local static object variable constructed once but ctors and dtors called multiple times on same memory when called in multiple threads) 2004-08-27 22:33:54 -04:00
caller-save.c c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable. 2004-09-07 10:19:00 +00:00
calls.c function.c (reference_callee_copied): New. 2004-09-08 11:45:21 -07:00
cfg.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
cfganal.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
cfgbuild.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
cfgcleanup.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
cfgexpand.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
cfghooks.c tree-ssa-threadupdate.c (create_block_for_threading): Request that no outgoing edges be left in the duplicate block. 2004-09-28 20:15:00 -06:00
cfghooks.h Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
cfglayout.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
cfglayout.h re PR rtl-optimization/16643 (verify_local_live_at_start ICE after crossjumping & cfgcleanup) 2004-07-26 14:34:19 +00:00
cfgloop.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
cfgloop.h cfgloop.h (update_single_exits_after_duplication): Declare. 2004-09-23 12:21:31 +00:00
cfgloopanal.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
cfgloopmanip.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
cfgrtl.c re PR debug/13974 (bad line marker in debug info) 2004-09-30 21:25:52 +00:00
cgraph.c re PR middle-end/16460 (ICE when compiling glibc (ld-ctype.c)) 2004-09-20 20:38:29 +00:00
cgraph.h re PR middle-end/16460 (ICE when compiling glibc (ld-ctype.c)) 2004-09-20 20:38:29 +00:00
cgraphunit.c c-decl.c (c_expand_body): Update call tree_rest_of_compilation. 2004-10-01 15:11:25 +00:00
ChangeLog fold-const.c (fold): When seeing if D & ~C != 0 to fold (A & C) == D into 0, fold ~C. 2004-10-03 15:31:54 +00:00
ChangeLog.0
ChangeLog.1
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
ChangeLog.8
ChangeLog.9
ChangeLog.10
ChangeLog.11 Rotate ChangeLog 2004-07-01 12:47:14 +00:00
ChangeLog.lib
ChangeLog.tree-ssa Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
collect2.c collect2.c (COLLECT_PARSE_FLAG): Remove. 2004-10-01 18:45:28 +00:00
collect2.h Makefile.in (BUILD_ERRORS): Set to build-errors. 2004-08-23 11:57:02 +00:00
combine.c combine.c (force_to_mode): Only convert the expression (AND (NE FOO 0) CONST) into (AND FOO CONST) if... 2004-09-30 23:44:30 +00:00
common.opt common.opt (ftree-loop-ivcanon): Enable by default. 2004-10-01 18:26:37 +00:00
conditions.h
config.build
config.gcc re PR target/17443 (--enable-threads=single is ignored) 2004-10-03 08:00:39 +00:00
config.host re PR rtl-optimization/13987 (compile time regression while compile fold-const.i) 2004-08-30 17:29:04 -07:00
config.in configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF. 2004-09-18 00:50:15 +00:00
configure aclocal.m4: Quote m4_includes. 2004-09-27 22:51:37 +00:00
configure.ac aclocal.m4: Quote m4_includes. 2004-09-27 22:51:37 +00:00
conflict.c cfganal.c (flow_depth_first_order_compute, [...]): Use gcc_assert or gcc_unreachable. 2004-09-07 15:46:53 +00:00
convert.c re PR tree-optimization/17512 (ICE in regex.c) 2004-09-22 18:02:08 +00:00
convert.h * convert.h: Add include guards 2004-06-15 21:04:15 +00:00
COPYING
COPYING.LIB
coretypes.h tree.h (enum tls_model): Move ... 2004-07-28 23:36:41 +00:00
coverage.c attribs.c, [...]: Use %<, %> and %q for quoting in diagnostics going through pretty-print.c. 2004-09-15 21:48:10 +01:00
coverage.h Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
cppdefault.c
cppdefault.h
cppspec.c
crtstuff.c alias.c, [...]: Fix comment typos. 2004-09-18 19:47:10 +00:00
cse.c cse.c (cse_insn): Avoid creating direct non-local jumps. 2004-09-28 23:29:02 +00:00
cselib.c re PR inline-asm/6806 (gcc 3.0.4 ignoring clobbered registers in inline asm with -O1 or higher on i386) 2004-09-13 02:05:31 -07:00
cselib.h re PR inline-asm/6806 (gcc 3.0.4 ignoring clobbered registers in inline asm with -O1 or higher on i386) 2004-09-13 02:05:31 -07:00
cstamp-h.in
dbxout.c config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h if the GNU assembler is used. 2004-09-24 06:17:07 +00:00
dbxout.h dbxout.c (get_lang_number): New. 2004-09-17 11:47:19 -07:00
ddg.c bitmap.h (EXECUTE_IF_SET_IN_BITMAP, [...]): Changed to iterator style. 2004-09-26 19:53:13 +00:00
ddg.h c-typeck.c, [...]: Fix comment typos. 2004-06-26 05:03:55 +00:00
debug.c
debug.h
defaults.h c-typeck.c, [...]: Fix comment formatting. 2004-09-25 14:36:40 +00:00
df.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
df.h Makefile.in (df.o): Remove fibheap dependency. 2004-06-10 15:01:01 +00:00
diagnostic.c dbxout.c (dbxout_type, [...]): Use gcc_assert and gcc_unreachable. 2004-09-08 07:47:45 +00:00
diagnostic.def
diagnostic.h c-opts.c (c_common_handle_option): <case OPT_Werror> set global_dc->warning_as_error_requested. 2004-08-30 04:48:34 +00:00
dojump.c dbxout.c (dbxout_type, [...]): Use gcc_assert and gcc_unreachable. 2004-09-08 07:47:45 +00:00
dominance.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
domwalk.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
domwalk.h alias.c, [...]: Fix comment typos. 2004-09-18 19:47:10 +00:00
dummy-conditions.c genpreds.c: Add capability to generate predicate bodies as well as function prototypes. 2004-08-12 07:49:00 +00:00
dwarf2.h dwarf2.h (dwarf_calling_convention): Add enum for renesas sh abi. 2004-10-01 05:08:59 +00:00
dwarf2asm.c dbxout.c (dbxout_type, [...]): Use gcc_assert and gcc_unreachable. 2004-09-08 07:47:45 +00:00
dwarf2asm.h
dwarf2out.c dwarf2.h (dwarf_calling_convention): Add enum for renesas sh abi. 2004-10-01 05:08:59 +00:00
dwarf2out.h
dwarf.h c-typeck.c, [...]: Fix comment formatting. 2004-09-25 14:36:40 +00:00
emit-rtl.c re PR debug/13974 (bad line marker in debug info) 2004-09-30 21:25:52 +00:00
emit-rtl.h Makefile.in (EXPR_H): Add insn-config.h... 2004-06-02 02:09:45 +00:00
errors.c Makefile.in (BUILD_ERRORS): Set to build-errors. 2004-08-23 11:57:02 +00:00
errors.h Makefile.in (BUILD_ERRORS): Set to build-errors. 2004-08-23 11:57:02 +00:00
et-forest.c emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable. 2004-09-08 08:05:14 +00:00
et-forest.h
except.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
except.h dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO. 2004-07-15 01:07:53 +00:00
explow.c emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable. 2004-09-08 08:05:14 +00:00
expmed.c expmed.c (synth_mult): Initialize latency. 2004-09-13 23:25:12 +00:00
expr.c re PR tree-optimization/17531 ([ivopts] ICE compiling gzip deflate.c) 2004-09-28 15:55:04 -07:00
expr.h function.c (reference_callee_copied): New. 2004-09-08 11:45:21 -07:00
final.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
fix-header.c re PR libobjc/11572 (GNU libobjc no longer compiled on Darwin) 2004-09-15 23:49:59 -07:00
fixinc.in Made fixincludes a toplevel build module. 2004-08-31 09:27:00 +00:00
fixproto
flags.h common.opt (flag_gcse_sm): Disable by default. 2004-09-28 20:34:17 +00:00
flow.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
fold-const.c fold-const.c (fold): When seeing if D & ~C != 0 to fold (A & C) == D into 0, fold ~C. 2004-10-03 15:31:54 +00:00
fp-test.c
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
function.c revert: tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD. 2004-10-01 09:43:03 +02:00
function.h revert: tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD. 2004-10-01 09:43:03 +02:00
gbl-ctors.h
gcc.c re PR c/11459 (-ansi -std=c99 -pedantic warns about C90's non long-long support when in C99 mode) 2004-09-26 01:59:45 +01:00
gcc.h Makefile.in (BUILD_ERRORS): Set to build-errors. 2004-08-23 11:57:02 +00:00
gccbug.in libf2c: Removed. 2004-07-15 16:52:49 +00:00
gccspec.c
gcov-dump.c gcov-io.h: Allow zero tag as EOF indicator. 2004-07-29 08:58:59 +00:00
gcov-io.c gcse.c (INSN_CUID, [...]): Use gcc_assert and gcc_unreachable. 2004-09-09 13:54:07 +00:00
gcov-io.h gcov-io.c (GCOV_CHECK): Use gcc_assert when available. 2004-08-30 15:52:09 +00:00
gcov-iov.c
gcov.c gcov-io.c (GCOV_CHECK): Use gcc_assert when available. 2004-08-30 15:52:09 +00:00
gcse.c re PR debug/13974 (bad line marker in debug info) 2004-09-30 21:25:52 +00:00
gdbinit.in * gdbinit.in: Reflect previous changes to rtunion_def. 2004-08-02 19:36:57 +00:00
gen-protos.c Fix gen-proto (fixproto) build failure. 2004-09-13 20:45:46 -07:00
genattr.c gensupport.c (init_md_reader_args_cb): Renamed from init_md_reader_args. 2004-08-03 23:30:45 +00:00
genattrtab.c genattrtab.c (write_insn_cases): New function, split out from write_attr_case. 2004-09-09 20:39:28 +00:00
genattrtab.h
genautomata.c Makefile.in (gengtype): Use $(BUILD_ERRORS). 2004-09-09 13:22:38 +00:00
gencheck.c c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter lists. 2004-07-25 02:13:01 +02:00
gencodes.c gensupport.c (init_md_reader_args_cb): Renamed from init_md_reader_args. 2004-08-03 23:30:45 +00:00
genconditions.c gensupport.c (init_md_reader_args_cb): Renamed from init_md_reader_args. 2004-08-03 23:30:45 +00:00
genconfig.c gensupport.c (init_md_reader_args_cb): Renamed from init_md_reader_args. 2004-08-03 23:30:45 +00:00
genconstants.c gensupport.c (init_md_reader_args_cb): Renamed from init_md_reader_args. 2004-08-03 23:30:45 +00:00
genemit.c Makefile.in (gengtype): Use $(BUILD_ERRORS). 2004-09-09 13:22:38 +00:00
genextract.c Makefile.in (gengtype): Use $(BUILD_ERRORS). 2004-09-09 13:22:38 +00:00
genflags.c Makefile.in (gengtype): Use $(BUILD_ERRORS). 2004-09-09 13:22:38 +00:00
gengenrtl.c Makefile.in (gengtype): Use $(BUILD_ERRORS). 2004-09-09 13:22:38 +00:00
gengtype-lex.l basic-block.h (reorder_block_def): Rename to reorder_block_def_p. 2004-07-26 00:17:02 +02:00
gengtype-yacc.y gengtype.c (oprintf): Replace xrealloc () with XRESIZEVEC (). 2004-07-26 03:33:36 +02:00
gengtype.c Makefile.def: Remove libbanshee. 2004-09-09 20:53:41 +00:00
gengtype.h gengtype.h (options::info): Change type to const char *. 2004-08-02 12:48:49 +00:00
genmodes.c Makefile.in (gengtype): Use $(BUILD_ERRORS). 2004-09-09 13:22:38 +00:00
genmultilib
genopinit.c expr.c (expand_expr_real_1): Handle VEC_COND_EXPR. 2004-09-27 17:13:12 -07:00
genoutput.c Makefile.in (gengtype): Use $(BUILD_ERRORS). 2004-09-09 13:22:38 +00:00
genpeep.c gensupport.c (init_md_reader_args_cb): Renamed from init_md_reader_args. 2004-08-03 23:30:45 +00:00
genpreds.c Makefile.in (gengtype): Use $(BUILD_ERRORS). 2004-09-09 13:22:38 +00:00
genrecog.c bb-reorder.c, [...]: Fix comment typos. 2004-09-10 15:09:39 +00:00
gensupport.c Makefile.in (gengtype): Use $(BUILD_ERRORS). 2004-09-09 13:22:38 +00:00
gensupport.h genpreds.c: Add capability to generate predicate bodies as well as function prototypes. 2004-08-12 07:49:00 +00:00
ggc-common.c * ggc-common.c (cmp_statistics): Fix sorting. 2004-09-12 20:14:23 +00:00
ggc-none.c ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE, "config.h" if not. 2004-09-11 19:03:23 +00:00
ggc-page.c ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're using mmap. 2004-09-27 04:09:15 +00:00
ggc-zone.c gcse.c (INSN_CUID, [...]): Use gcc_assert and gcc_unreachable. 2004-09-09 13:54:07 +00:00
ggc.h gimplify.c (gimplify_compound_lval): Move "stack" varray out of GGC. 2004-09-02 18:32:49 +00:00
gimple-low.c gcse.c (INSN_CUID, [...]): Use gcc_assert and gcc_unreachable. 2004-09-09 13:54:07 +00:00
gimplify.c re PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register variable) 2004-09-29 18:22:07 -07:00
glimits.h
global.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
gmon.c
graph.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
graph.h Unify the management of RTL and tree-level dump files. 2004-09-06 10:08:17 +00:00
gstab.h
gsyms.h
gsyslimits.h
gthr-aix.h
gthr-dce.h c-typeck.c, [...]: Fix comment formatting. 2004-09-25 14:36:40 +00:00
gthr-gnat.c gthr-gnat.c: Add visibility #pragmas. 2004-08-03 16:57:40 +00:00
gthr-gnat.h gthr-gnat.c: Add visibility #pragmas. 2004-08-03 16:57:40 +00:00
gthr-lynx.h c-common.c, [...]: Fix comment typos. 2004-09-05 15:24:15 +00:00
gthr-nks.h c-common.c, [...]: Fix comment formatting. 2004-09-05 16:05:06 +00:00
gthr-posix.c gthr-posix.h: Check for _POSIX_PRIORITY_SCHEDULING when checking for... 2004-05-28 13:18:23 -07:00
gthr-posix.h c-typeck.c, [...]: Fix comment formatting. 2004-09-25 14:36:40 +00:00
gthr-rtems.h
gthr-single.h re PR c++/13684 (local static object variable constructed once but ctors and dtors called multiple times on same memory when called in multiple threads) 2004-08-27 22:33:54 -04:00
gthr-solaris.h c-typeck.c, [...]: Fix comment formatting. 2004-09-25 14:36:40 +00:00
gthr-tpf.h gthr-tpf.h (__gthread_recursive_mutex_t): New type. 2004-10-02 00:48:44 +00:00
gthr-vxworks.h re PR c++/13684 (local static object variable constructed once but ctors and dtors called multiple times on same memory when called in multiple threads) 2004-08-27 22:33:54 -04:00
gthr-win32.h c-typeck.c, [...]: Fix comment formatting. 2004-09-25 14:36:40 +00:00
gthr.h gthr-tpf.h: New file. 2004-09-23 20:57:25 +00:00
haifa-sched.c genattr.c (struct range, [...]): Remove them. 2004-07-20 07:27:18 +00:00
hard-reg-set.h c-common.c, [...]: Fix comment typos. 2004-09-05 15:24:15 +00:00
hooks.c dwarf2.h (dwarf_calling_convention): Add enum for renesas sh abi. 2004-10-01 05:08:59 +00:00
hooks.h dwarf2.h (dwarf_calling_convention): Add enum for renesas sh abi. 2004-10-01 05:08:59 +00:00
host-default.c
hosthooks-def.h toplev.c (init_asm_output): Add explicit 'b' to mode when opening asm_out_file. 2004-06-05 07:28:27 +00:00
hosthooks.h toplev.c (init_asm_output): Add explicit 'b' to mode when opening asm_out_file. 2004-06-05 07:28:27 +00:00
hwint.h re PR rtl-optimization/13987 (compile time regression while compile fold-const.i) 2004-08-30 17:29:04 -07:00
ifcvt.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
input.h input.h: If USE_MAPPED_LOCATION... 2004-07-14 17:02:30 -07:00
insn-addr.h
insn-notes.def cfglayout.c (duplicate_insn_chain): Remove references to NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT. 2004-08-25 08:20:11 +00:00
integrate.c rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P. 2004-08-18 01:25:01 -07:00
integrate.h Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
intl.c intl.c (gcc_init_libintl): Use PACKAGE for the text domain. 2004-07-23 06:59:35 +00:00
intl.h intl.h (open_quote, [...]): New. 2004-05-24 20:28:20 +01:00
jump.c cfglayout.c (duplicate_insn_chain): Remove references to NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT. 2004-08-25 08:20:11 +00:00
lambda-code.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
lambda-mat.c c-typeck.c, [...]: Fix comment formatting. 2004-09-25 14:36:40 +00:00
lambda-trans.c [multiple changes] 2004-09-16 16:16:14 +00:00
lambda.h [multiple changes] 2004-09-16 16:16:14 +00:00
langhooks-def.h configure.ac: Check for COMDAT support. 2004-09-15 17:03:22 +00:00
langhooks.c alias.c (find_base_decl): Remove unreachable case '3' block. 2004-09-17 21:55:02 +00:00
langhooks.h alias.c (find_base_decl): Remove unreachable case '3' block. 2004-09-17 21:55:02 +00:00
LANGUAGES alias.c (find_base_decl): Remove unreachable case '3' block. 2004-09-17 21:55:02 +00:00
lcm.c re PR bootstrap/17761 (sh-elf doesn't build after merge from edge-vector-branch) 2004-10-01 09:40:15 +10:00
libada-mk.in
libfuncs.h c-decl.c, [...]: Don't check TARGET_MEM_FUNCTIONS. 2004-07-05 20:49:20 +01:00
libgcc2.c libgcc2.c (getpagesize): Change type of return value to int. 2004-09-27 08:01:57 +00:00
libgcc2.h gthr-gnat.c: Add visibility #pragmas. 2004-08-03 16:57:40 +00:00
libgcc-darwin.ver libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4. 2004-06-12 06:34:58 +02:00
libgcc-std.ver * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup. 2004-09-01 21:17:50 +02:00
libgcov.c gcov-io.h: Allow zero tag as EOF indicator. 2004-07-29 08:58:59 +00:00
limitx.h
limity.h
lists.c
local-alloc.c cse.c (cse_insn): Avoid creating direct non-local jumps. 2004-09-28 23:29:02 +00:00
longlong.h * longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss. 2004-06-15 10:40:44 +00:00
loop-doloop.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
loop-init.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
loop-invariant.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
loop-iv.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
loop-unroll.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
loop-unswitch.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
loop.c alias.c, [...]: Fix comment typos. 2004-09-18 19:47:10 +00:00
machmode.def machmode.def: Remove vector modes. 2004-07-23 10:15:53 +00:00
machmode.h
main.c
Makefile.in revert: tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD. 2004-10-01 09:43:03 +02:00
mips-tdump.c alias.c, [...]: Fix comment typos. 2004-09-18 19:47:10 +00:00
mips-tfile.c bb-reorder.c, [...]: Fix comment typos. 2004-09-10 15:09:39 +00:00
mkconfig.sh
mkfixinc.sh Made fixincludes a toplevel build module. 2004-08-31 09:27:00 +00:00
mkheaders.in re PR other/16842 (mkheaders can not find mkheaders.conf) 2004-07-31 17:44:43 -07:00
mklibgcc.in re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1) 2004-09-03 17:15:42 -07:00
mkmap-flat.awk
mkmap-symver.awk
mode-classes.def
modulo-sched.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
ONEWS
opt-functions.awk opts.sh: Delete. 2004-06-18 01:59:45 +00:00
opt-gather.awk opts.sh: Delete. 2004-06-18 01:59:45 +00:00
optabs.c re PR tree-optimization/17531 ([ivopts] ICE compiling gzip deflate.c) 2004-09-28 15:55:04 -07:00
optabs.h * optabs.c, optabs.h: Fix comment typos. 2004-09-28 11:49:07 +00:00
optc-gen.awk opts.sh: Delete. 2004-06-18 01:59:45 +00:00
opth-gen.awk opts.sh: Delete. 2004-06-18 01:59:45 +00:00
opts.c Revert 2004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org> 2004-09-10 11:02:26 +00:00
opts.h c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope decls when... 2004-07-08 19:49:08 +00:00
output.h configure.ac: Check for COMDAT support. 2004-09-15 17:03:22 +00:00
params.c attribs.c, [...]: Use %<, %> and %q for quoting in diagnostics going through pretty-print.c. 2004-09-15 21:48:10 +01:00
params.def tree-ssa-loop-ivopts.c: New file. 2004-09-05 09:25:37 +00:00
params.h tree.h (TYPE_CACHED_VALUES_P): New. 2004-08-19 10:36:07 +00:00
passes.c passes.c (rest_of_handle_cfg): Disable const/pure function detection when doing tree based profiling. 2004-09-25 10:05:09 +00:00
postreload-gcse.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
postreload.c re PR inline-asm/6806 (gcc 3.0.4 ignoring clobbered registers in inline asm with -O1 or higher on i386) 2004-09-13 02:05:31 -07:00
predict.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
predict.def predict.c (return_prediction): New function. 2004-09-20 18:43:30 +00:00
predict.h predict.c (counts_to_freqs): Make glolbal. 2004-09-25 10:06:18 +00:00
prefix.c prefix.c (lookup_key): Cast buffer to LPBYTE. 2004-06-30 11:45:58 -07:00
prefix.h
pretty-print.c Revert 2004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org> 2004-09-10 11:02:26 +00:00
pretty-print.h attribs.c, [...]: Use %<, %> and %q for quoting in diagnostics going through pretty-print.c. 2004-09-15 21:48:10 +01:00
print-rtl.c tree.def (ALIGN_INDIRECT_REF, [...]): New tree-codes. 2004-09-23 14:34:35 +00:00
print-tree.c alias.c (find_base_decl): Remove unreachable case '3' block. 2004-09-17 21:55:02 +00:00
profile.c profile.c (brnahc_prob): Pass correct value to output_location, even when USE_MAPPED_LOCATION. 2004-09-28 23:42:31 -07:00
protoize.c * protoize.c, tree-cfg.c: Fix comment typos. 2004-09-30 18:27:25 +00:00
ra-build.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
ra-colorize.c ra-colorize.c (reset_lists): Move variable declaration inside ENABLE_CHECKING to avoid unused variable... 2004-09-09 23:57:19 +00:00
ra-debug.c alias.c (nonlocal_mentioned_p, [...]): Use, LABEL_P, JUMP_P, CALL_P, NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P. 2004-07-09 03:29:35 +00:00
ra-rewrite.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
ra.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
ra.h ra.h (single_reg_in_regclass): Declare. 2004-07-29 10:49:22 -04:00
read-rtl.c * read-rtl.c (apply_macro_to_string): Replace index with strchr. 2004-09-29 11:23:11 +00:00
README-fixinc
README.Portability
real.c ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-09-09 17:19:16 +00:00
real.h c-common.c: Rename all identifiers named class' to cl'. 2004-07-25 19:57:24 +02:00
recog.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
recog.h genpreds.c: Add capability to generate predicate bodies as well as function prototypes. 2004-08-12 07:49:00 +00:00
reg-notes.def reg-notes.def (REG_DEP_TRUE): New entry, place first so it gets value 0. 2004-09-21 20:34:43 +00:00
reg-stack.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
regclass.c re PR middle-end/17503 (quadratic behaviour in invalid_mode_change_p) 2004-09-24 12:47:05 -07:00
regmove.c re PR rtl-optimization/17266 (Libgfortran doesn't build) 2004-09-21 05:57:55 +00:00
regrename.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
regs.h re PR middle-end/17503 (quadratic behaviour in invalid_mode_change_p) 2004-09-24 12:47:05 -07:00
reload1.c re PR debug/13974 (bad line marker in debug info) 2004-09-30 21:25:52 +00:00
reload.c attribs.c, [...]: Use %<, %> and %q for quoting in diagnostics going through pretty-print.c. 2004-09-15 21:48:10 +01:00
reload.h Makefile.in (GTFILES): Add $(srcdir)/reload.h. 2004-05-20 12:45:26 +01:00
reorg.c ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-09-09 17:19:16 +00:00
resource.c ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-09-09 17:19:16 +00:00
resource.h Makefile.in (RA_H, [...]): New. 2004-06-03 15:01:08 +00:00
rtl-error.c Conditionally compile support for --enable-mapped_location. 2004-06-30 11:18:01 -07:00
rtl-profile.c Makefile.in (rtl-profile.o, [...]): Add GCC_H dependency. 2004-09-01 20:58:55 +00:00
rtl.c ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-09-09 17:19:16 +00:00
rtl.def * rtl.def (REG): Add comment to describe third field. 2004-09-10 18:52:41 +00:00
rtl.h re PR debug/13974 (bad line marker in debug info) 2004-09-30 21:25:52 +00:00
rtlanal.c re PR rtl-optimization/14851 (suboptimal fp division with -ffast-math) 2004-09-21 07:10:54 +02:00
rtlhooks-def.h Makefile.in (OBJS): Add rtlhooks.o. 2004-05-25 12:04:17 +00:00
rtlhooks.c ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-09-09 17:19:16 +00:00
sbitmap.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
sbitmap.h re PR rtl-optimization/13987 (compile time regression while compile fold-const.i) 2004-08-30 17:29:04 -07:00
scan-decls.c
scan-types.sh
scan.c
scan.h
sched-deps.c ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-09-09 17:19:16 +00:00
sched-ebb.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
sched-int.h genattr.c (struct range, [...]): Remove them. 2004-07-20 07:27:18 +00:00
sched-rgn.c sched-rgn.c (haifa_edge, [...]): Remove. 2004-09-29 01:28:22 +00:00
sched-vis.c ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-09-09 17:19:16 +00:00
sdbout.c ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-09-09 17:19:16 +00:00
sdbout.h
SERVICE
simplify-rtx.c ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-09-09 17:19:16 +00:00
sort-protos
sreal.c ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. 2004-09-09 17:19:16 +00:00
sreal.h
stab.def dbxout.c (dbxout_begin_prologue): New function. 2004-08-12 14:32:56 -07:00
stack.h
statistics.h c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter lists. 2004-07-25 02:13:01 +02:00
stmt.c c-typeck.c, [...]: Fix comment formatting. 2004-09-25 14:36:40 +00:00
stor-layout.c re PR c++/17642 (internal compiler error: in invert_truthvalue, at fold-const.c:2997) 2004-09-28 02:56:11 +00:00
stringpool.c Index: gcc/ChangeLog 2004-06-09 20:10:13 +00:00
stub-objc.c stub-objc.c (objc_is_id, [...]): New stubs. 2004-09-03 20:17:50 +00:00
sys-protos.h
sys-types.h
system.h collect2.c (COLLECT_PARSE_FLAG): Remove. 2004-10-01 18:45:28 +00:00
target-def.h dwarf2.h (dwarf_calling_convention): Add enum for renesas sh abi. 2004-10-01 05:08:59 +00:00
target.h dwarf2.h (dwarf_calling_convention): Add enum for renesas sh abi. 2004-10-01 05:08:59 +00:00
targhooks.c dwarf2.h (dwarf_calling_convention): Add enum for renesas sh abi. 2004-10-01 05:08:59 +00:00
targhooks.h hooks.c (hook_tree_tree_bool_null): New. 2004-09-24 15:13:53 +00:00
timevar.c targhooks.c (default_unwind_emit, [...]): Use gcc_assert, gcc_unreachable & internal_error instead of abort. 2004-09-09 07:54:12 +00:00
timevar.def cfgloop.h (update_single_exits_after_duplication): Declare. 2004-09-23 12:21:31 +00:00
timevar.h
tlink.c tlink.c (initial_cwd): New variable. 2004-08-25 20:51:19 +00:00
toplev.c common.opt (flag_gcse_sm): Disable by default. 2004-09-28 20:34:17 +00:00
toplev.h c-decl.c (c_expand_body): Update call tree_rest_of_compilation. 2004-10-01 15:11:25 +00:00
tracer.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
tree-browser.c alias.c (find_base_decl): Remove unreachable case '3' block. 2004-09-17 21:55:02 +00:00
tree-browser.def Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
tree-cfg.c * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos. 2004-10-02 12:47:11 +00:00
tree-chrec.c tree-chrec.c (chrec_fold_plus_poly_poly, [...]): Use fold_convert or build_int_cst_type instead od fonvert. 2004-10-01 09:06:06 +00:00
tree-chrec.h tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field. 2004-09-19 18:01:51 +00:00
tree-complex.c alias.c (find_base_decl): Remove unreachable case '3' block. 2004-09-17 21:55:02 +00:00
tree-data-ref.c tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field. 2004-09-19 18:01:51 +00:00
tree-data-ref.h bb-reorder.c, [...]: Fix comment typos. 2004-09-10 15:09:39 +00:00
tree-dfa.c tree-ssa-alias.c (collect_points_to_info_r): Move analysis of expressions... 2004-09-30 10:09:45 -04:00
tree-dump.c tree.def (ALIGN_INDIRECT_REF, [...]): New tree-codes. 2004-09-23 14:34:35 +00:00
tree-dump.h Unify the management of RTL and tree-level dump files. 2004-09-06 10:08:17 +00:00
tree-eh.c tree.def (ALIGN_INDIRECT_REF, [...]): New tree-codes. 2004-09-23 14:34:35 +00:00
tree-flow-inline.h tree-cfg.c (set_bb_for_stmt): Use PHI_BB. 2004-09-11 20:42:06 +00:00
tree-flow.h tree-flow.h (struct bb_ann_d): Remove num_preds member. 2004-09-30 07:23:35 +10:00
tree-gimple.c re PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register variable) 2004-09-29 18:22:07 -07:00
tree-gimple.h re PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register variable) 2004-09-29 18:22:07 -07:00
tree-if-conv.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
tree-inline.c passes.c (rest_of_handle_cfg): Disable const/pure function detection when doing tree based profiling. 2004-09-25 10:05:09 +00:00
tree-inline.h re PR tree-optimization/15077 (ICE in make_decl_rtl when inlining tail recursive nested function) 2004-07-27 22:27:20 -04:00
tree-into-ssa.c tree-flow.h (struct bb_ann_d): Remove num_preds member. 2004-09-30 07:23:35 +10:00
tree-iterator.c targhooks.c (default_unwind_emit, [...]): Use gcc_assert, gcc_unreachable & internal_error instead of abort. 2004-09-09 07:54:12 +00:00
tree-iterator.h c-common.c (lang_gimplify_stmt): Remove next_p argument. 2004-06-15 18:21:38 -07:00
tree-loop-linear.c [multiple changes] 2004-09-16 16:16:14 +00:00
tree-mudflap.c tree-mudflap.c (mf_build_check_statement_for): Reorganize to take check-base and -limit arguments. 2004-10-02 23:12:49 +00:00
tree-mudflap.h tree-mudflap.c: Include cgraph.h. 2004-07-05 18:12:47 +00:00
tree-nested.c re PR middle-end/16460 (ICE when compiling glibc (ld-ctype.c)) 2004-09-20 20:38:29 +00:00
tree-nomudflap.c Unify the management of RTL and tree-level dump files. 2004-09-06 10:08:17 +00:00
tree-nrv.c Unify the management of RTL and tree-level dump files. 2004-09-06 10:08:17 +00:00
tree-optimize.c c-decl.c (c_expand_body): Update call tree_rest_of_compilation. 2004-10-01 15:11:25 +00:00
tree-outof-ssa.c re PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register variable) 2004-09-29 18:22:07 -07:00
tree-pass.h revert: tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD. 2004-10-01 09:43:03 +02:00
tree-phinodes.c tree-flow.h (struct bb_ann_d): Remove num_preds member. 2004-09-30 07:23:35 +10:00
tree-pretty-print.c re PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register variable) 2004-09-29 18:22:07 -07:00
tree-profile.c predict.c (counts_to_freqs): Make glolbal. 2004-09-25 10:06:18 +00:00
tree-scalar-evolution.c tree-chrec.c (chrec_fold_plus_poly_poly, [...]): Use fold_convert or build_int_cst_type instead od fonvert. 2004-10-01 09:06:06 +00:00
tree-scalar-evolution.h cfgloop.h (struct loop): Add nb_iterations field. 2004-07-12 19:31:16 +00:00
tree-sra.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
tree-ssa-alias.c tree-ssa-alias.c (collect_points_to_info_r): Move analysis of expressions... 2004-09-30 10:09:45 -04:00
tree-ssa-ccp.c re PR tree-optimization/17697 (ICE: Statement marked for throw, but doesn't - verify_stmts failed) 2004-09-29 11:04:21 +02:00
tree-ssa-copy.c re PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register variable) 2004-09-29 18:22:07 -07:00
tree-ssa-copyrename.c re PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register variable) 2004-09-29 18:22:07 -07:00
tree-ssa-dce.c tree.h (INDIRECT_REF_P): New macro. 2004-09-29 23:08:32 +00:00
tree-ssa-dom.c tree.h (INDIRECT_REF_P): New macro. 2004-09-29 23:08:32 +00:00
tree-ssa-dse.c bitmap.h (EXECUTE_IF_SET_IN_BITMAP, [...]): Changed to iterator style. 2004-09-26 19:53:13 +00:00
tree-ssa-forwprop.c re PR tree-optimization/17624 (ICE: SSA corruption (another one)) 2004-09-24 06:26:29 -07:00
tree-ssa-live.c tree-ssa-live.c (calculate_live_on_entry): Fix warnings with --disable-checking. 2004-09-28 14:14:33 -04:00
tree-ssa-live.h bb-reorder.c, [...]: Fix comment typos. 2004-09-10 15:09:39 +00:00
tree-ssa-loop-ch.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
tree-ssa-loop-im.c tree.h (INDIRECT_REF_P): New macro. 2004-09-29 23:08:32 +00:00
tree-ssa-loop-ivcanon.c common.opt (ftree-loop-ivcanon): Enable by default. 2004-10-01 18:26:37 +00:00
tree-ssa-loop-ivopts.c tree-chrec.c (chrec_fold_plus_poly_poly, [...]): Use fold_convert or build_int_cst_type instead od fonvert. 2004-10-01 09:06:06 +00:00
tree-ssa-loop-manip.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
tree-ssa-loop-niter.c tree-chrec.c (chrec_fold_plus_poly_poly, [...]): Use fold_convert or build_int_cst_type instead od fonvert. 2004-10-01 09:06:06 +00:00
tree-ssa-loop-unswitch.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
tree-ssa-loop.c tree-ssa-loop.c (pass_record_bounds): Do not assign a name to the pass. 2004-09-28 16:39:46 -04:00
tree-ssa-operands.c bitmap.h (EXECUTE_IF_SET_IN_BITMAP, [...]): Changed to iterator style. 2004-09-26 19:53:13 +00:00
tree-ssa-operands.h c-common.c, [...]: Fix comment typos. 2004-09-05 15:24:15 +00:00
tree-ssa-phiopt.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
tree-ssa-pre.c Oops, revert accidental commit. 2004-09-30 21:30:20 +00:00
tree-ssa-propagate.c Makefile.in (tree-ssa-propagate.o): Depend on vec.h. 2004-09-28 20:31:16 +00:00
tree-ssa-propagate.h c-common.c, [...]: Fix comment typos. 2004-09-05 15:24:15 +00:00
tree-ssa-threadupdate.c tree-ssa-threadupdate.c (create_block_for_threading): Request that no outgoing edges be left in the duplicate block. 2004-09-28 20:15:00 -06:00
tree-ssa.c re PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register variable) 2004-09-29 18:22:07 -07:00
tree-ssanames.c tree-ssanames.c (make_ssa_name): No longer need to clear, then initialize key elements here. 2004-09-20 21:19:00 -06:00
tree-tailcall.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
tree-vectorizer.c tree-vectorizer.c (vectorizable_operation): Fail unless the mode for the vector type is indeed a vector mode. 2004-10-01 09:59:01 +00:00
tree-vectorizer.h tree.def (ALIGN_INDIRECT_REF, [...]): New tree-codes. 2004-09-23 14:34:35 +00:00
tree-vn.c c-typeck.c, [...]: Fix comment formatting. 2004-09-25 14:36:40 +00:00
tree.c tree.c (make_node_stat): Fix uninitialized warning. 2004-09-29 13:07:50 +00:00
tree.def tree.def (vec_cond_expr): Fix. 2004-09-28 06:14:28 -07:00
tree.h revert: tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD. 2004-10-01 09:43:03 +02:00
tsystem.h tsystem.h (alloca): Provide a default definition. 2004-09-20 22:23:12 +00:00
typeclass.h typeclass.h: Add GPL plus exception license. 2004-06-11 05:31:09 +00:00
unwind-c.c
unwind-compat.c re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1) 2004-09-03 17:15:42 -07:00
unwind-compat.h re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1) 2004-09-03 17:15:42 -07:00
unwind-dw2-fde-compat.c re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1) 2004-09-03 17:15:42 -07:00
unwind-dw2-fde-darwin.c
unwind-dw2-fde-glibc.c re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1) 2004-09-03 17:15:42 -07:00
unwind-dw2-fde.c unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen to eliminate warning. 2004-08-19 21:41:32 +00:00
unwind-dw2-fde.h gthr-gnat.c: Add visibility #pragmas. 2004-08-03 16:57:40 +00:00
unwind-dw2.c unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG. 2004-09-30 01:21:27 -07:00
unwind-dw2.h Index: gcc/ChangeLog 2004-07-01 04:09:07 +00:00
unwind-pe.h
unwind-sjlj.c Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
unwind.h gthr-gnat.c: Add visibility #pragmas. 2004-08-03 16:57:40 +00:00
unwind.inc
value-prof.c c-common.c, [...]: Fix comment typos. 2004-09-10 10:44:48 +00:00
value-prof.h vec.c (vec_p_reserve, [...]): Rename to ... 2004-09-08 08:08:56 +00:00
var-tracking.c backport: basic-block.h: Include vec.h, errors.h. 2004-09-28 17:59:54 +10:00
varasm.c varasm.c (default_assemble_integer): Return false for values wider than the target word size. 2004-09-21 23:40:21 +00:00
varray.c Makefile.in (BUILD_PREFIX, [...]): Delete. 2004-08-16 23:05:04 +00:00
varray.h Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
vec.c vec.c (vec_p_reserve, [...]): Rename to ... 2004-09-08 08:08:56 +00:00
vec.h vec.h (VEC_space): Return true if there _is_ space. 2004-09-22 10:51:42 +00:00
version.c Daily bump. 2004-10-03 00:16:10 +00:00
version.h
vmsdbg.h
vmsdbgout.c tree.h: Remove include of version.h 2004-06-03 18:48:28 +00:00
web.c rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P. 2004-08-18 01:25:01 -07:00
xcoff.h
xcoffout.c Conditionally compile support for --enable-mapped_location. 2004-06-30 11:05:07 -07:00
xcoffout.h xcoffout.h (DBX_FINISH_SYMBOL): Fix typo. 2004-07-06 11:37:55 -04:00

Copyright (C) 2000, 2003 Free Software Foundation, Inc.

This file is intended to contain a few notes about writing C code
within GCC so that it compiles without error on the full range of
compilers GCC needs to be able to compile on.

The problem is that many ISO-standard constructs are not accepted by
either old or buggy compilers, and we keep getting bitten by them.
This knowledge until know has been sparsely spread around, so I
thought I'd collect it in one useful place.  Please add and correct
any problems as you come across them.

I'm going to start from a base of the ISO C90 standard, since that is
probably what most people code to naturally.  Obviously using
constructs introduced after that is not a good idea.

For the complete coding style conventions used in GCC, please read
http://gcc.gnu.org/codingconventions.html


String literals
---------------

Irix6 "cc -n32" and OSF4 "cc" have problems with constant string
initializers with parens around it, e.g.

const char string[] = ("A string");

This is unfortunate since this is what the GNU gettext macro N_
produces.  You need to find a different way to code it.

Some compilers like MSVC++ have fairly low limits on the maximum
length of a string literal; 509 is the lowest we've come across.  You
may need to break up a long printf statement into many smaller ones.


Empty macro arguments
---------------------

ISO C (6.8.3 in the 1990 standard) specifies the following:

If (before argument substitution) any argument consists of no
preprocessing tokens, the behavior is undefined.

This was relaxed by ISO C99, but some older compilers emit an error,
so code like

#define foo(x, y) x y
foo (bar, )

needs to be coded in some other way.


free and realloc
----------------

Some implementations crash upon attempts to free or realloc the null
pointer.  Thus if mem might be null, you need to write

  if (mem)
    free (mem);


Trigraphs
---------

You weren't going to use them anyway, but some otherwise ISO C
compliant compilers do not accept trigraphs.


Suffixes on Integer Constants
-----------------------------

You should never use a 'l' suffix on integer constants ('L' is fine),
since it can easily be confused with the number '1'.


			Common Coding Pitfalls
			======================

errno
-----

errno might be declared as a macro.


Implicit int
------------

In C, the 'int' keyword can often be omitted from type declarations.
For instance, you can write

  unsigned variable;

as shorthand for

  unsigned int variable;

There are several places where this can cause trouble.  First, suppose
'variable' is a long; then you might think

  (unsigned) variable

would convert it to unsigned long.  It does not.  It converts to
unsigned int.  This mostly causes problems on 64-bit platforms, where
long and int are not the same size.

Second, if you write a function definition with no return type at
all:

  operate (int a, int b)
  {
    ...
  }

that function is expected to return int, *not* void.  GCC will warn
about this.

Implicit function declarations always have return type int.  So if you
correct the above definition to

  void
  operate (int a, int b)
  ...

but operate() is called above its definition, you will get an error
about a "type mismatch with previous implicit declaration".  The cure
is to prototype all functions at the top of the file, or in an
appropriate header.

Char vs unsigned char vs int
----------------------------

In C, unqualified 'char' may be either signed or unsigned; it is the
implementation's choice.  When you are processing 7-bit ASCII, it does
not matter.  But when your program must handle arbitrary binary data,
or fully 8-bit character sets, you have a problem.  The most obvious
issue is if you have a look-up table indexed by characters.

For instance, the character '\341' in ISO Latin 1 is SMALL LETTER A
WITH ACUTE ACCENT.  In the proper locale, isalpha('\341') will be
true.  But if you read '\341' from a file and store it in a plain
char, isalpha(c) may look up character 225, or it may look up
character -31.  And the ctype table has no entry at offset -31, so
your program will crash.  (If you're lucky.)

It is wise to use unsigned char everywhere you possibly can.  This
avoids all these problems.  Unfortunately, the routines in <string.h>
take plain char arguments, so you have to remember to cast them back
and forth - or avoid the use of strxxx() functions, which is probably
a good idea anyway.

Another common mistake is to use either char or unsigned char to
receive the result of getc() or related stdio functions.  They may
return EOF, which is outside the range of values representable by
char.  If you use char, some legal character value may be confused
with EOF, such as '\377' (SMALL LETTER Y WITH UMLAUT, in Latin-1).
The correct choice is int.

A more subtle version of the same mistake might look like this:

  unsigned char pushback[NPUSHBACK];
  int pbidx;
  #define unget(c) (assert(pbidx < NPUSHBACK), pushback[pbidx++] = (c))
  #define get(c) (pbidx ? pushback[--pbidx] : getchar())
  ...
  unget(EOF);

which will mysteriously turn a pushed-back EOF into a SMALL LETTER Y
WITH UMLAUT.


Other common pitfalls
---------------------

o Expecting 'plain' char to be either sign or unsigned extending.

o Shifting an item by a negative amount or by greater than or equal to
  the number of bits in a type (expecting shifts by 32 to be sensible
  has caused quite a number of bugs at least in the early days).

o Expecting ints shifted right to be sign extended.

o Modifying the same value twice within one sequence point.

o Host vs. target floating point representation, including emitting NaNs
  and Infinities in a form that the assembler handles.

o qsort being an unstable sort function (unstable in the sense that
  multiple items that sort the same may be sorted in different orders
  by different qsort functions).

o Passing incorrect types to fprintf and friends.

o Adding a function declaration for a module declared in another file to
  a .c file instead of to a .h file.