8sa1-gcc/gcc
Andrew Haley 517f4918ea class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
2006-02-15  Andrew Haley  <aph@redhat.com>

        * class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here.
        (make_class_data): pushdecl_top_level TYPE_OTABLE_SYMS_DECL,
        TYPE_ATABLE_SYMS_DECL, TYPE_ITABLE_SYMS_DECL here.

From-SVN: r111306
2006-02-20 16:16:34 +00:00
..
ada configure.ac (target_list): Add install-info, dvi, html. 2006-02-20 14:50:08 +00:00
config s390.c (legitimize_pic_address): Assertions checking for non tls symbols added. 2006-02-20 08:42:27 +00:00
cp configure.ac (target_list): Add install-info, dvi, html. 2006-02-20 14:50:08 +00:00
doc re PR middle-end/26236 (CHAR_TYPE is still referenced in c-tree.texi) 2006-02-20 15:05:15 +00:00
fortran configure.ac (target_list): Add install-info, dvi, html. 2006-02-20 14:50:08 +00:00
ginclude target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): New. 2005-12-16 17:38:26 +11:00
java class.c (GEN_TABLE): Don't pushdecl *_SYMS_DECL here. 2006-02-20 16:16:34 +00:00
objc configure.ac (target_list): Add install-info, dvi, html. 2006-02-20 14:50:08 +00:00
objcp configure.ac (target_list): Add install-info, dvi, html. 2006-02-20 14:50:08 +00:00
po * zh_CN.po: Update. 2006-01-18 01:58:50 +00:00
testsuite re PR middle-end/19543 ([4.1 only] fortran LOGICAL*8 not consistently distinguished from 32 bit integers) 2006-02-20 00:34:12 +00:00
treelang configure.ac (target_list): Add install-info, dvi, html. 2006-02-20 14:50:08 +00:00
ABOUT-GCC-NLS
acinclude.m4 configure.in: Set with_gnu_as, with_gnu_ld, with_newlib earlier. 2006-01-26 18:52:49 +00:00
aclocal.m4
alias.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
alias.h alias.h (ALIAS_SET_MEMORY_BARRIER): New. 2006-01-24 15:48:17 -08:00
alloc-pool.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
alloc-pool.h
attribs.c
BASE-VER * BASE-VER: Change to 4.2.0. 2005-11-19 05:09:00 +00:00
basic-block.h tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
bb-reorder.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
bitmap.c bitmap.c (bitmap_element_free, [...]): Added code to properly maintain the variants associated with the CURRENT and... 2005-12-29 19:41:21 +00:00
bitmap.h re PR rtl-optimization/24762 ([killloop-branch] code motion of non-invariant expressions with hard registers.) 2006-01-27 22:23:32 +00:00
bt-load.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
builtin-attrs.def
builtin-types.def [multiple changes] 2006-01-18 14:21:25 -05:00
builtins.c tree.def (CHAR_TYPE): Remove. 2006-02-08 23:57:21 +00:00
builtins.def [multiple changes] 2006-01-18 14:21:25 -05:00
c-aux-info.c
c-common.c invoke.texi (-Write-strings): Document that it is enabled by default. 2006-02-13 01:57:29 +00:00
c-common.def
c-common.h invoke.texi (-Write-strings): Document that it is enabled by default. 2006-02-13 01:57:29 +00:00
c-config-lang.in
c-convert.c c-common.c (c_sizeof_or_alignof_type): Use fold_convert instead of building a NOP_EXPR. 2005-12-03 18:58:43 +00:00
c-cppbuiltin.c [multiple changes] 2006-01-18 14:21:25 -05:00
c-decl.c re PR testsuite/25171 (FAIL: gfortran.dg/mixed_io_1.f90) 2006-01-19 23:45:49 +00:00
c-dump.c
c-errors.c
c-format.c tree-inline.c (copy_body_r): Use explicit cast when converting from void *. 2005-12-17 20:45:46 +00:00
c-format.h target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): New. 2005-12-16 17:38:26 +11:00
c-gimplify.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
c-incpath.c re PR libstdc++/25524 (libstdc++ headers should go in multilib directories) 2006-01-20 21:00:03 +00:00
c-incpath.h re PR libstdc++/25524 (libstdc++ headers should go in multilib directories) 2006-01-20 21:00:03 +00:00
c-lang.c
c-lex.c directives.c (struct pragma_entry): Add is_deferred. 2006-01-04 08:33:38 -08:00
c-objc-common.c
c-objc-common.h [multiple changes] 2006-01-18 14:21:25 -05:00
c-omp.c re PR middle-end/25886 (up to 256 tree codes for Objective-C++) 2006-01-25 21:53:01 -05:00
c-opts.c invoke.texi (-Write-strings): Document that it is enabled by default. 2006-02-13 01:57:29 +00:00
c-parser.c re PR middle-end/25886 (up to 256 tree codes for Objective-C++) 2006-01-25 21:53:01 -05:00
c-pch.c directives.c (struct pragma_entry): Add is_deferred. 2006-01-04 08:33:38 -08:00
c-ppoutput.c tree-inline.c (copy_body_r): Use explicit cast when converting from void *. 2005-12-17 20:45:46 +00:00
c-pragma.c c-pragma.c (init_pragma): Call c_register_pragma_with_expansion for pragma redefine_extname. 2006-01-27 22:12:10 +00:00
c-pragma.h [multiple changes] 2006-01-18 14:21:25 -05:00
c-pretty-print.c tree.def (CHAR_TYPE): Remove. 2006-02-08 23:57:21 +00:00
c-pretty-print.h c-pretty-print.h (struct c_pretty_print_info): Add new member "constant". 2005-12-30 17:27:28 +00:00
c-semantics.c
c-tree.h [multiple changes] 2006-01-18 14:21:25 -05:00
c-typeck.c re PR c/19606 (wrong code for arith.expr: (((unsigned int)(signed int) a ) / 2LL) with signed char a=-4) 2006-01-28 05:19:44 +00:00
c.opt invoke.texi (-Write-strings): Document that it is enabled by default. 2006-02-13 01:57:29 +00:00
caller-save.c caller-save.c: (this_insn_sets): Move into: (save_call_clobbered_regs). 2005-11-24 19:08:20 +00:00
calls.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
cfg.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
cfganal.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
cfgbuild.c basic-block.h (control_flow_graph): Change the type of x_basic_block_info to VEC(basic_block,gc) *. 2006-01-11 18:43:15 +00:00
cfgcleanup.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
cfgexpand.c passes.c (register_one_dump_file): Accept the current properties instead of pass number. 2006-02-08 08:13:20 +00:00
cfghooks.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
cfghooks.h
cfglayout.c basic-block.h (control_flow_graph): Change the type of x_basic_block_info to VEC(basic_block,gc) *. 2006-01-11 18:43:15 +00:00
cfglayout.h
cfgloop.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
cfgloop.h tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
cfgloopanal.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
cfgloopmanip.c tree-vrp.c (cfg_loops): Removed. 2006-02-05 20:14:59 +00:00
cfgrtl.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
cgraph.c tree-pretty-print.c (dump_generic_node): Handle OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR. 2006-01-19 11:55:52 -05:00
cgraph.h tree-pretty-print.c (dump_generic_node): Handle OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR. 2006-01-19 11:55:52 -05:00
cgraphunit.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
ChangeLog re PR middle-end/26236 (CHAR_TYPE is still referenced in c-tree.texi) 2006-02-20 15:05:15 +00:00
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005 fixed missing changelog entry for r109153 2006-01-05 00:53:41 +00:00
ChangeLog.lib
ChangeLog.tree-ssa Fixup some spacing 2005-12-03 00:20:15 +00:00
collect2.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
collect2.h
combine.c re PR middle-end/26300 (ICE in trunc_int_for_mode) 2006-02-15 21:41:03 +01:00
common.opt invoke.texi: Document -fipa-pta. 2006-02-19 18:26:00 +00:00
conditions.h
config.build re PR driver/20425 (-print-search-dirs doesn't honor mutil-os/multilib settings) 2005-12-16 20:16:22 +10:30
config.gcc re PR target/24837 (move dynamic linker names out of LINK_SPEC and into new DYNAMIC_LINKER) 2006-02-18 11:12:51 +00:00
config.host x-ada-hpux10, [...]: New files. 2006-02-05 15:54:49 +00:00
config.in configure.ac: Enable C extension for decimal float if invoked with --enable-decimal-float. 2005-12-21 11:43:21 +11:00
configure configure.ac (target_list): Add install-info, dvi, html. 2006-02-20 14:50:08 +00:00
configure.ac configure.ac (target_list): Add install-info, dvi, html. 2006-02-20 14:50:08 +00:00
conflict.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
convert.c tree.def (CHAR_TYPE): Remove. 2006-02-08 23:57:21 +00:00
convert.h
COPYING
COPYING.LIB
coretypes.h re PR rtl-optimization/24762 ([killloop-branch] code motion of non-invariant expressions with hard registers.) 2006-01-27 22:23:32 +00:00
coverage.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
coverage.h
cppdefault.c re PR libstdc++/25524 (libstdc++ headers should go in multilib directories) 2006-01-20 21:00:03 +00:00
cppdefault.h re PR libstdc++/25524 (libstdc++ headers should go in multilib directories) 2006-01-20 21:00:03 +00:00
cppspec.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
crtstuff.c crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and vfork after including auto-host.h. 2005-11-15 01:21:29 +00:00
cse.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
cselib.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
cselib.h
cstamp-h.in
DATESTAMP Daily bump. 2006-02-20 00:17:42 +00:00
dbxout.c tree.def (CHAR_TYPE): Remove. 2006-02-08 23:57:21 +00:00
dbxout.h
ddg.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
ddg.h
debug.c
debug.h
defaults.h varasm.c (assemble_variable): Handle thread-local COMMON data. 2006-01-03 08:19:21 -08:00
DEV-PHASE
df-core.c re PR rtl-optimization/26184 (memory leaks in swing modulo scheduling function) 2006-02-15 14:33:33 -05:00
df-problems.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
df-scan.c re PR rtl-optimization/24762 ([killloop-branch] code motion of non-invariant expressions with hard registers.) 2006-02-09 22:34:23 +00:00
df.c df.h (DF_SCAN, [...]): New macros. 2006-01-11 12:57:18 +00:00
df.h df.h (DF_REG_SIZE): Return the length of the initialized part of the array. 2006-02-08 10:54:45 +00:00
dfp.c dfp.c (decimal_real_arithmetic): Change second argument type from int to enum tree_code. 2006-02-06 09:59:35 +11:00
dfp.h dfp.c (decimal_real_arithmetic): Change second argument type from int to enum tree_code. 2006-02-06 09:59:35 +11:00
diagnostic.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
diagnostic.def c-pragma.c (handle_pragma_diagnostic): New. 2006-01-18 15:02:42 -05:00
diagnostic.h diagnostic.h: Include options.h. 2006-01-18 20:24:22 -08:00
dojump.c dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU and GEU. 2006-02-14 17:54:41 +00:00
dominance.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
domwalk.c
domwalk.h
dummy-checksum.c
dwarf2.h * dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float. 2005-11-23 11:07:23 +11:00
dwarf2asm.c
dwarf2asm.h
dwarf2out.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
dwarf2out.h
dwarf.h
emit-rtl.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
emit-rtl.h
errors.c
errors.h
et-forest.c
et-forest.h
except.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
except.h tree-cfg.c (bsi_replace): Rename final argument from PRESERVE_EH_INFO to UPDATE_EH_INFO. 2006-01-06 10:50:26 -07:00
explow.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
expmed.c re PR middle-end/25724 (Emits call to __cmpdi2 for long long comparison in switches) 2006-02-13 01:55:37 +00:00
expr.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
expr.h re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
final.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
fix-header.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
fixproto
flags.h
flow.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
fold-const.c re PR rtl-optimization/25600 (unsigned>>31?-1:0 should be optimized to int>>31) 2006-02-18 05:22:46 +00:00
fp-test.c
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
function.c re PR rtl-optimization/26222 (build failuring in libjava) 2006-02-13 11:21:23 +00:00
function.h emit-rtl.c (init_virtual_regs): Make it static. 2006-01-28 15:16:02 +00:00
gbl-ctors.h
gcc.c * gcc.c (process_command): Change j to 'unsigned int'. 2006-02-01 19:42:02 +00:00
gcc.h jvspec.c (lang_specific_spec_functions): remove 2006-01-16 19:00:56 +00:00
gccbug.in
gccspec.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
gcov-dump.c gcov.c (print_version), [...]): Update copyright notice dates. 2006-01-21 18:22:19 +00:00
gcov-io.c
gcov-io.h
gcov-iov.c
gcov.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
gcse.c gcse.c (want_to_gcse_p): On STACK_REGS targets... 2006-02-19 22:01:17 +00:00
gdbinit.in update for decl_minimal change 2006-01-26 17:27:23 -05:00
gen-protos.c
genattr.c r110127@banpei: zack | 2006-01-22 14:49:27 -0800 2006-01-23 15:15:52 +00:00
genattrtab.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
genautomata.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
gencheck.c
genchecksum.c
gencodes.c r110124@banpei: zack | 2006-01-22 14:45:55 -0800 2006-01-23 15:15:12 +00:00
genconditions.c df-core.c (df_set_blocks): Do not dereference function pointers. 2006-02-07 18:04:29 +00:00
genconfig.c r110124@banpei: zack | 2006-01-22 14:45:55 -0800 2006-01-23 15:15:12 +00:00
genconstants.c
genemit.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
genextract.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
genflags.c r110124@banpei: zack | 2006-01-22 14:45:55 -0800 2006-01-23 15:15:12 +00:00
gengenrtl.c
gengtype-lex.l
gengtype-yacc.y gengtype.c (new_structure): Return the structure. 2006-01-23 07:50:42 +00:00
gengtype.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
gengtype.h gengtype.c (new_structure): Return the structure. 2006-01-23 07:50:42 +00:00
genmddeps.c
genmodes.c dfp.h, dfp.c: New files. 2005-12-02 13:30:42 +11:00
genmultilib
genopinit.c r110124@banpei: zack | 2006-01-22 14:45:55 -0800 2006-01-23 15:15:12 +00:00
genoutput.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
genpeep.c r110124@banpei: zack | 2006-01-22 14:45:55 -0800 2006-01-23 15:15:12 +00:00
genpreds.c r110130@banpei: zack | 2006-01-22 14:52:43 -0800 2006-01-23 15:16:19 +00:00
genrecog.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
gensupport.c r110124@banpei: zack | 2006-01-22 14:45:55 -0800 2006-01-23 15:15:12 +00:00
gensupport.h r110123@banpei: zack | 2006-01-22 14:44:34 -0800 2006-01-23 15:15:05 +00:00
ggc-common.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
ggc-none.c
ggc-page.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
ggc-zone.c
ggc.h ggc.h (GGC_RESIZEVEC): New. 2005-12-02 12:37:15 +00:00
gimple-low.c passes.c (register_one_dump_file): Accept the current properties instead of pass number. 2006-02-08 08:13:20 +00:00
gimplify.c re PR middle-end/26092 (ICE on const function pointer assigned to a builtin function) 2006-02-13 22:28:03 +01:00
glimits.h
global.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
graph.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
graph.h
gstab.h
gsyms.h
gsyslimits.h
gthr-aix.h
gthr-dce.h re PR other/24829 (libobjc testsuite failures) 2006-01-26 22:00:28 +00:00
gthr-gnat.c
gthr-gnat.h
gthr-lynx.h
gthr-nks.h
gthr-posix95.h re PR other/24829 (libobjc testsuite failures) 2006-01-26 22:00:28 +00:00
gthr-posix.c
gthr-posix.h gthr-posix.h: On Tru64... 2006-02-19 21:49:58 +00:00
gthr-rtems.h
gthr-single.h
gthr-solaris.h re PR other/24829 (libobjc testsuite failures) 2006-01-26 22:00:28 +00:00
gthr-tpf.h re PR other/24829 (libobjc testsuite failures) 2006-01-26 22:00:28 +00:00
gthr-vxworks.h
gthr-win32.h
gthr.h
haifa-sched.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
hard-reg-set.h
hooks.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
hooks.h re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
host-default.c
hosthooks-def.h
hosthooks.h
hwint.h
ifcvt.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
input.h
insn-addr.h
insn-notes.def
integrate.c
integrate.h integrate.h: Remove the prototype for copy_decl_for_inlining. 2006-01-28 22:05:40 +00:00
intl.c
intl.h
ipa-cp.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
ipa-inline.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
ipa-prop.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
ipa-prop.h
ipa-pure-const.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
ipa-reference.c ipa-reference.c (check_operand): Allow FUNCTION_DECL. 2006-01-19 00:28:07 +00:00
ipa-reference.h
ipa-type-escape.c tree.def (CHAR_TYPE): Remove. 2006-02-08 23:57:21 +00:00
ipa-type-escape.h
ipa-utils.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
ipa-utils.h
ipa.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
jump.c
lambda-code.c tree-flow-inline.h (bsi_after_labels): Rewrite, return what its name says. 2006-02-02 13:05:36 +00:00
lambda-mat.c
lambda-trans.c
lambda.h tree-inline.c (copy_body_r): Use explicit cast when converting from void *. 2005-12-17 20:45:46 +00:00
langhooks-def.h [multiple changes] 2006-01-18 14:21:25 -05:00
langhooks.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
langhooks.h [multiple changes] 2006-01-18 14:21:25 -05:00
LANGUAGES
lcm.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
libada-mk.in
libfuncs.h
libgcc2.c libgcc2.c (__floatdisf, [...]): Don't use IBM Extended Double TFmode. 2006-01-20 11:12:29 +10:30
libgcc2.h libgcc2.c (__floatdisf, [...]): Don't use IBM Extended Double TFmode. 2006-01-20 11:12:29 +10:30
libgcc-std.ver [multiple changes] 2006-01-27 20:59:49 +01:00
libgcov.c tree-vn.c (vn_add): Use XNEW. 2005-12-18 01:19:20 +00:00
limitx.h
limity.h
lists.c
local-alloc.c re PR rtl-optimization/25636 (opts.c is being miscompiled, write to read only memory) 2006-02-16 01:26:54 +00:00
longlong.h re PR other/13873 (gcc/longlong.h uses test for PPC) 2005-12-06 20:25:04 +10:30
loop-doloop.c loop-doloop.c (add_test): Only add jump notes if we did emit a jump. 2005-11-30 11:12:36 +00:00
loop-init.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
loop-invariant.c gcse.c (want_to_gcse_p): On STACK_REGS targets... 2006-02-19 22:01:17 +00:00
loop-iv.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
loop-unroll.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
loop-unswitch.c loop-iv.c: Include df.h and hashtab.h. 2006-01-20 00:46:37 +00:00
loop.c gcse.c (want_to_gcse_p): On STACK_REGS targets... 2006-02-19 22:01:17 +00:00
machmode.def dfp.h, dfp.c: New files. 2005-12-02 13:30:42 +11:00
machmode.h dfp.h, dfp.c: New files. 2005-12-02 13:30:42 +11:00
main.c
Makefile.in re PR bootstrap/25670 (build fail with 'make all-gcc') 2006-02-20 08:29:17 +00:00
mips-tdump.c gcov.c (print_version), [...]): Update copyright notice dates. 2006-01-21 18:22:19 +00:00
mips-tfile.c gcov.c (print_version), [...]): Update copyright notice dates. 2006-01-21 18:22:19 +00:00
mkconfig.sh
mklibgcc.in [multiple changes] 2006-01-27 20:59:49 +01:00
mkmap-flat.awk
mkmap-symver.awk
mode-classes.def dfp.h, dfp.c: New files. 2005-12-02 13:30:42 +11:00
mode-switching.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
modulo-sched.c re PR rtl-optimization/26184 (memory leaks in swing modulo scheduling function) 2006-02-15 14:33:33 -05:00
omp-builtins.def [multiple changes] 2006-01-18 14:21:25 -05:00
omp-low.c re PR c++/25874 ([gomp] ICE in calc_dfs_tree()) 2006-01-29 22:11:29 -05:00
ONEWS
opt-functions.awk
opt-gather.awk
optabs.c optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx directly... 2006-02-14 02:59:42 +00:00
optabs.h Makefile.in (tree-vect-patterns.o): Add rule for new file. 2006-01-19 10:24:00 +00:00
optc-gen.awk
opth-gen.awk re PR target/24837 (move dynamic linker names out of LINK_SPEC and into new DYNAMIC_LINKER) 2006-02-18 11:12:51 +00:00
opts.c re PR rtl-optimization/26184 (memory leaks in swing modulo scheduling function) 2006-02-15 14:33:33 -05:00
opts.h opts.c (no_unit_at_a_time_default): New global variable. 2006-02-01 20:31:29 +00:00
output.h re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
params.c
params.def re PR tree-optimization/26260 (PTA is slow with large structs (hits clisp)) 2006-02-14 14:49:13 +00:00
params.h re PR tree-optimization/26260 (PTA is slow with large structs (hits clisp)) 2006-02-14 14:49:13 +00:00
passes.c tree.h (struct tree_memory_tag): Add is_used_alone member. 2006-02-20 13:38:01 +00:00
pointer-set.c
pointer-set.h
postreload-gcse.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
postreload.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
predict.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
predict.def
predict.h
prefix.c tree-inline.c (copy_body_r): Use explicit cast when converting from void *. 2005-12-17 20:45:46 +00:00
prefix.h
pretty-print.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
pretty-print.h
print-rtl.c
print-tree.c tree.c (init_ttree): Add STRUCT_FIELD_TAG handling. 2006-02-15 22:09:45 +00:00
profile.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
protoize.c
read-rtl.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
README.Portability
real.c * real.c (decimal_quad_format): Correct values for emin, emax. 2005-12-16 13:11:48 +11:00
real.h dfp.h, dfp.c: New files. 2005-12-02 13:30:42 +11:00
recog.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
recog.h recog.c (validate_replace_rtx_subexp): Remove. 2006-01-28 22:03:00 +00:00
reg-notes.def
reg-stack.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
regclass.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
regmove.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
regrename.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
regs.h
reload1.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
reload.c re PR target/25603 (Miscompiled FORTRAN program) 2006-02-16 16:03:06 -08:00
reload.h reload.h (reg_equiv_invariant): Declare. 2005-12-07 23:41:19 +00:00
reorg.c * reorg.c (dbr_schedule): Use dump_file instead of file. 2006-02-06 23:12:46 +00:00
resource.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
resource.h
rtl-error.c
rtl-factoring.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
rtl-profile.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
rtl.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
rtl.def r110130@banpei: zack | 2006-01-22 14:52:43 -0800 2006-01-23 15:16:19 +00:00
rtl.h gcse.c (want_to_gcse_p): On STACK_REGS targets... 2006-02-19 22:01:17 +00:00
rtlanal.c gcse.c (want_to_gcse_p): On STACK_REGS targets... 2006-02-19 22:01:17 +00:00
rtlhooks-def.h
rtlhooks.c rtlhooks.c (gen_lowpart_general): Handle SUBREGs of floating point values. 2005-12-13 12:49:56 +00:00
sbitmap.c
sbitmap.h
scan-decls.c
scan-types.sh
scan.c
scan.h
sched-deps.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
sched-ebb.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
sched-int.h tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
sched-rgn.c sched-rgn.c (compute_dom_prob_ps, [...]): Eradicate use of float in probability computations. 2006-02-07 08:07:00 +00:00
sched-vis.c Makefile.in (sched-vis.o): Update dependencies. 2006-01-25 17:39:37 +00:00
sdbout.c alpha.c (alpha_start_function): Use switch_to_section. 2005-12-07 07:53:14 +00:00
sdbout.h
SERVICE
simplify-rtx.c re PR rtl-optimization/25600 (unsigned>>31?-1:0 should be optimized to int>>31) 2006-02-18 05:22:46 +00:00
sort-protos
sreal.c
sreal.h
stab.def
statistics.h
stmt.c re PR middle-end/26334 (ICE in lhd_set_decl_assembler_name) 2006-02-18 19:58:42 +01:00
stor-layout.c stor-layout.c (set_sizetype): Set TYPE_MAX_VALUE properly for sizetype when sizetype is unsigned. 2006-02-16 17:18:03 -07:00
stringpool.c
struct-equiv.c * struct-equiv.c (find_dying_inputs): Fix off-by-one bug. 2006-01-12 17:22:22 +00:00
stub-objc.c
sync-builtins.def backport: builtins.def: Move all DEF_SYNC_BUILTIN to ... 2005-12-22 16:43:34 -08:00
sys-protos.h
sys-types.h
system.h re PR driver/20425 (-print-search-dirs doesn't honor mutil-os/multilib settings) 2005-12-16 20:16:22 +10:30
target-def.h re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
target.h re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
targhooks.c re PR rtl-optimization/24762 ([killloop-branch] code motion of non-invariant expressions with hard registers.) 2006-01-27 22:23:32 +00:00
targhooks.h re PR rtl-optimization/24762 ([killloop-branch] code motion of non-invariant expressions with hard registers.) 2006-01-27 22:23:32 +00:00
timevar.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
timevar.def invoke.texi (-fprefetch-loop-arrays, [...]): Document. 2006-02-14 12:22:11 +00:00
timevar.h
tlink.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
toplev.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
toplev.h
tracer.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
tree-browser.c
tree-browser.def
tree-cfg.c re PR tree-optimization/26209 (Specific code causes g++ 4.1.0 dominance ICE when compiled with -O3) 2006-02-14 23:55:22 +00:00
tree-cfgcleanup.c re PR tree-optimization/26209 (Specific code causes g++ 4.1.0 dominance ICE when compiled with -O3) 2006-02-14 23:55:22 +00:00
tree-chrec.c re PR tree-optimization/18527 (cannot determine number of iterations for loops with <=) 2006-01-06 20:22:56 +00:00
tree-chrec.h tree-ssa-loop-im.c (schedule_sm): Use buildN instead of build. 2005-12-02 17:09:40 +00:00
tree-complex.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
tree-data-ref.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
tree-data-ref.h
tree-dfa.c tree-flow.h (struct var_ann_d): Rename field is_alias_tag to is_aliased. 2006-02-18 15:31:28 -05:00
tree-dump.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
tree-dump.h passes.c (register_one_dump_file): Accept the current properties instead of pass number. 2006-02-08 08:13:20 +00:00
tree-eh.c passes.c (register_one_dump_file): Accept the current properties instead of pass number. 2006-02-08 08:13:20 +00:00
tree-flow-inline.h tree.c (init_ttree): Add STRUCT_FIELD_TAG handling. 2006-02-15 22:09:45 +00:00
tree-flow.h tree.h (struct tree_memory_tag): Add is_used_alone member. 2006-02-20 13:38:01 +00:00
tree-gimple.c tree-pretty-print.c (dump_generic_node): Handle OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR. 2006-01-19 11:55:52 -05:00
tree-gimple.h tree-pretty-print.c (dump_generic_node): Handle OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR. 2006-01-19 11:55:52 -05:00
tree-if-conv.c tree-if-conv.c (combine_blocks): Free the result of get_loop_exit_edges. 2006-02-10 20:46:03 +00:00
tree-inline.c re PR tree-optimization/24365 (statement makes a memory store with complex) 2006-02-12 03:01:04 -05:00
tree-inline.h backport: Makefile.in (TREE_INLINE_H): New. 2006-01-16 18:17:16 -08:00
tree-into-ssa.c tree-pass.h (TODO_remove_unused_locals): Define. 2006-01-05 13:53:54 +00:00
tree-iterator.c tree-pretty-print.c (dump_generic_node): Handle OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR. 2006-01-19 11:55:52 -05:00
tree-iterator.h
tree-loop-linear.c
tree-mudflap.c tree-ssa-loop-im.c (schedule_sm): Use buildN instead of build. 2005-12-02 17:09:40 +00:00
tree-mudflap.h
tree-nested.c re PR middle-end/25886 (up to 256 tree codes for Objective-C++) 2006-01-25 21:53:01 -05:00
tree-nomudflap.c
tree-nrv.c tree-cfg.c (bsi_replace): Rename final argument from PRESERVE_EH_INFO to UPDATE_EH_INFO. 2006-01-06 10:50:26 -07:00
tree-object-size.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
tree-optimize.c cgraph.c (cgraph_insert_node_to_hashtable): New function. 2006-01-11 13:13:37 +00:00
tree-outof-ssa.c invoke.texi (-fprefetch-loop-arrays, [...]): Document. 2006-02-14 12:22:11 +00:00
tree-pass.h tree.h (struct tree_memory_tag): Add is_used_alone member. 2006-02-20 13:38:01 +00:00
tree-phinodes.c
tree-pretty-print.c tree.def (CHAR_TYPE): Remove. 2006-02-08 23:57:21 +00:00
tree-profile.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
tree-scalar-evolution.c tree-flow-inline.h (bsi_after_labels): Rewrite, return what its name says. 2006-02-02 13:05:36 +00:00
tree-scalar-evolution.h invoke.texi (-fprefetch-loop-arrays, [...]): Document. 2006-02-14 12:22:11 +00:00
tree-sra.c tree.h (struct tree_memory_tag): Add is_used_alone member. 2006-02-20 13:38:01 +00:00
tree-ssa-address.c
tree-ssa-alias.c tree.h (struct tree_memory_tag): Add is_used_alone member. 2006-02-20 13:38:01 +00:00
tree-ssa-ccp.c re PR tree-optimization/25680 (Store CCP does not understand REALPART_EXPR < COMPLEX_CST >) 2006-02-18 13:09:35 -08:00
tree-ssa-copy.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
tree-ssa-copyrename.c
tree-ssa-dce.c tree-ssa-dce.c (remove_dead_statement): When removing a dead control statement... 2006-02-08 19:18:59 -07:00
tree-ssa-dom.c tree-vrp.c (set_value_range_to_nonnegative): New function. 2006-02-16 21:15:32 -07:00
tree-ssa-dse.c tree-cfg.c (bsi_replace): Rename final argument from PRESERVE_EH_INFO to UPDATE_EH_INFO. 2006-01-06 10:50:26 -07:00
tree-ssa-forwprop.c tree.h (struct tree_memory_tag): Add is_used_alone member. 2006-02-20 13:38:01 +00:00
tree-ssa-live.c re PR middle-end/25933 (memory leaks) 2006-01-31 16:39:32 -05:00
tree-ssa-live.h
tree-ssa-loop-ch.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
tree-ssa-loop-im.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
tree-ssa-loop-ivcanon.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
tree-ssa-loop-ivopts.c re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions) 2006-02-18 22:06:53 +00:00
tree-ssa-loop-manip.c invoke.texi (-fprefetch-loop-arrays, [...]): Document. 2006-02-14 12:22:11 +00:00
tree-ssa-loop-niter.c invoke.texi (-fprefetch-loop-arrays, [...]): Document. 2006-02-14 12:22:11 +00:00
tree-ssa-loop-prefetch.c Add forgotten file. 2006-02-14 13:51:51 +00:00
tree-ssa-loop-unswitch.c re PR tree-optimization/26145 (memory leak in loop unswitching.) 2006-02-07 21:00:42 -05:00
tree-ssa-loop.c re PR tree-optimization/26209 (Specific code causes g++ 4.1.0 dominance ICE when compiled with -O3) 2006-02-14 23:55:22 +00:00
tree-ssa-math-opts.c re PR tree-optimization/23109 (compiler generates wrong code leading to spurious division by zero with -funsafe-math-optimizations (instead of -ftrapping-math)) 2006-01-11 13:02:18 +00:00
tree-ssa-operands.c tree.h (struct tree_memory_tag): Add is_used_alone member. 2006-02-20 13:38:01 +00:00
tree-ssa-operands.h tree-ssa-operands.h (ssa_call_clobbered_cache_valid): Remove. 2006-01-19 01:42:48 +00:00
tree-ssa-opfinalize.h
tree-ssa-phiopt.c tree-cfg.c (bsi_replace): Rename final argument from PRESERVE_EH_INFO to UPDATE_EH_INFO. 2006-01-06 10:50:26 -07:00
tree-ssa-pre.c re PR tree-optimization/26179 (ICE while compiling mozilla in tree-ssa-pre.c) 2006-02-09 06:31:28 -08:00
tree-ssa-propagate.c tree-vrp.c (test_for_singularity): Correct test for new min limit. 2006-01-18 12:47:16 -07:00
tree-ssa-propagate.h
tree-ssa-reassoc.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
tree-ssa-sink.c tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
tree-ssa-structalias.c invoke.texi: Document -fipa-pta. 2006-02-19 18:26:00 +00:00
tree-ssa-structalias.h tree-ssa-operands.h (ssa_call_clobbered_cache_valid): Remove. 2006-01-19 01:42:48 +00:00
tree-ssa-threadedge.c re PR tree-optimization/26213 (new (within last few days) infinite loop with -O1) 2006-02-10 12:22:58 -07:00
tree-ssa-threadupdate.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
tree-ssa-uncprop.c tree-tailcall.c (find_tail_calls): Use XNEW. 2005-12-18 09:26:53 +00:00
tree-ssa.c tree-flow.h (struct var_ann_d): Rename field is_alias_tag to is_aliased. 2006-02-18 15:31:28 -05:00
tree-ssanames.c
tree-stdarg.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
tree-stdarg.h
tree-tailcall.c tree-tailcall.c (arg_needs_copy_p): New function. 2006-02-03 00:24:50 +00:00
tree-vect-analyze.c Makefile.in (tree-vect-patterns.o): Add rule for new file. 2006-01-19 10:24:00 +00:00
tree-vect-generic.c Makefile.in (tree-vect-patterns.o): Add rule for new file. 2006-01-19 10:24:00 +00:00
tree-vect-patterns.c re PR tree-optimization/25911 (ice in vect_recog_dot_prod_pattern) 2006-01-29 16:50:05 +00:00
tree-vect-transform.c Makefile.in (tree-vect-patterns.o): Add rule for new file. 2006-01-19 10:24:00 +00:00
tree-vectorizer.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
tree-vectorizer.h integrate.h: Remove the prototype for copy_decl_for_inlining. 2006-01-28 22:05:40 +00:00
tree-vn.c tree.h (VALUE_HANDLE_VUSES): New. 2005-12-30 18:43:00 +00:00
tree-vrp.c tree-vrp.c (set_value_range_to_nonnegative): New function. 2006-02-16 21:15:32 -07:00
tree.c tree.c (init_ttree): Add STRUCT_FIELD_TAG handling. 2006-02-15 22:09:45 +00:00
tree.def re PR c++/25979 (incorrect codegen for conditional [SVO issue]) 2006-02-09 04:54:36 -05:00
tree.h tree.h (struct tree_memory_tag): Add is_used_alone member. 2006-02-20 13:38:01 +00:00
treestruct.def tree.c (init_ttree): Add STRUCT_FIELD_TAG handling. 2006-02-15 22:09:45 +00:00
tsystem.h
typeclass.h
unwind-c.c unwind-arm.c (abort): Add prototype here. 2005-11-16 17:08:05 +00:00
unwind-compat.c
unwind-compat.h
unwind-dw2-fde-compat.c
unwind-dw2-fde-darwin.c
unwind-dw2-fde-glibc.c unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Guard against prev_cache_entry == NULL when moving a cache entry to the head of... 2005-12-15 16:17:50 +00:00
unwind-dw2-fde.c
unwind-dw2-fde.h
unwind-dw2.c dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int. 2005-11-17 17:19:10 -08:00
unwind-dw2.h
unwind-generic.h
unwind-pe.h
unwind-sjlj.c unwind-ia64.c (uw_advance_context): New. 2005-11-16 22:10:39 +00:00
unwind.inc unwind-ia64.c (uw_advance_context): New. 2005-11-16 22:10:39 +00:00
value-prof.c
value-prof.h tree-vrp.c (execute_vrp): Do not pass dump argument to. 2006-02-06 18:20:47 +00:00
var-tracking.c cfg.c (dump_flow_info): Get dump flags as an additional parameter. 2006-02-15 09:15:56 +00:00
varasm.c re PR middle-end/19543 ([4.1 only] fortran LOGICAL*8 not consistently distinguished from 32 bit integers) 2006-02-20 00:34:12 +00:00
varray.c r110129@banpei: zack | 2006-01-22 14:51:57 -0800 2006-01-23 15:16:10 +00:00
varray.h varray.h: Allow compilation with a C++ compiler. 2005-12-12 09:14:12 +00:00
vec.c
vec.h * vec.h (safe_grow): Remove duplicated line. 2006-01-30 13:17:12 +00:00
version.c
version.h
vmsdbg.h
vmsdbgout.c alpha.c (alpha_start_function): Use switch_to_section. 2005-12-07 07:53:14 +00:00
web.c tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 2006-01-31 20:56:55 +01:00
xcoff.h
xcoffout.c
xcoffout.h

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.