gcc/gcc
Matthias Klose 84c1b9d3d4 config-ml.in: Remove references to GCJ.
<toplevel>

2016-11-15  Matthias Klose  <doko@ubuntu.com>

	* config-ml.in: Remove references to GCJ.
	* configure.ac: Likewise.
	* configure: Regenerate.

config/

2016-11-15  Matthias Klose  <doko@ubuntu.com>

	multi.m4: Don't set GCJ.

gcc/

2016-11-15  Matthias Klose  <doko@ubuntu.com>

	* doc/install.texi: Remove references to gcj/libjava.
	* doc/invoke.texi: Likewise.

*/ (where necessary)

2016-11-15  Matthias Klose  <doko@ubuntu.com>

	* configure: Regenerate.

From-SVN: r242433
2016-11-15 16:34:02 +00:00
..
ada Makefile.in: Replace s-interr-hwint.adb with s-interr-vxworks.adb throughout. 2016-11-14 11:45:33 +00:00
c ChangeLog: Fix ChangeLog entry. 2016-11-15 16:43:40 +01:00
c-family ChangeLog: Fix ChangeLog entry. 2016-11-15 16:43:40 +01:00
common [ARC] New option handling, refurbish multilib support. 2016-11-15 16:10:13 +01:00
config [ARC] New option handling, refurbish multilib support. 2016-11-15 16:10:13 +01:00
cp PR c++/78358 - tuple decomposition decltype 2016-11-15 11:32:38 -05:00
doc config-ml.in: Remove references to GCJ. 2016-11-15 16:34:02 +00:00
fortran dump-parse-tree.c (show_code): Add prototype. 2016-11-14 18:15:36 +00:00
ginclude Define TS 18661-1 CR_DECIMAL_DIG in <float.h>. 2016-09-19 22:53:30 +01:00
go runtime: don't crash if signal handler info argument is nil 2016-11-14 23:16:04 +00:00
jit jit: implement gcc_jit_rvalue_set_bool_require_tail_call 2016-05-20 19:12:49 +00:00
lto re PR lto/78129 (-Werror=suggest-final-types leads to -ENOSPC.) 2016-10-31 12:52:23 +00:00
objc Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
objcp ChangeLog formatting fixes. 2016-09-05 21:42:42 +02:00
po * es.po: Update. 2016-11-12 18:51:17 +00:00
testsuite PR c++/78358 - tuple decomposition decltype 2016-11-15 11:32:38 -05:00
ABOUT-GCC-NLS
BASE-VER
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog config-ml.in: Remove references to GCJ. 2016-11-15 16:34:02 +00:00
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog.dataflow
ChangeLog.gimple-classes
ChangeLog.graphite
ChangeLog.jit
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
DATESTAMP Daily bump. 2016-11-15 00:16:15 +00:00
DEV-PHASE
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
LANGUAGES
Makefile.in Fix the Windows native x86-64 build. 2016-11-07 09:17:55 +00:00
ONEWS
README.Portability
acinclude.m4 remove conditional compilation of HAVE_AS_LEB128 code 2016-11-14 10:58:48 +00:00
aclocal.m4
addresses.h
alias.c re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre -mstringop-strategy=libcall) 2016-11-07 14:33:37 +01:00
alias.h
alloc-pool.c
alloc-pool.h
asan.c asan.h (ASAN_STACK_MAGIC_PARTIAL): Remove. 2016-11-09 00:15:35 +02:00
asan.h asan.h (asan_intercepted_p): Handle BUILT_IN_STRCSPN, BUILT_IN_STRPBRK, BUILT_IN_STRSPN and BUILT_IN_STRSTR. 2016-11-09 00:16:58 +02:00
attribs.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
attribs.h Implement C++17 [[maybe_unused]] attribute. 2016-04-25 13:21:49 -04:00
auto-inc-dec.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
auto-profile.c Print indirect call changes in afdo dump file 2016-07-14 02:13:48 +00:00
auto-profile.h
backend.h
basic-block.h
bb-reorder.c bb-reorder.c (reorder_basic_blocks_simple): Clear BB_VISITED before using it. 2016-10-17 12:27:48 +00:00
bb-reorder.h
bitmap.c bitmap.c (bitmap_elem_to_freelist): Set indx to -1. 2016-10-07 10:06:24 +00:00
bitmap.h bitmap.h: Document constraints on bitmap modification while iterating over it. 2016-10-07 11:26:15 +00:00
bt-load.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
builtin-attrs.def 016-07-21 Bernd Edlinger <bernd.edlinger@hotmail.de> 2016-07-21 19:11:26 +00:00
builtin-types.def Add minimal _FloatN, _FloatNx built-in functions. 2016-08-22 12:57:39 +01:00
builtins.c re PR middle-end/77718 (expand_builtin_memcmp swaps args) 2016-11-09 17:21:45 +01:00
builtins.def re PR ada/37139 (DEP prevents using Ada tasking) 2016-10-16 20:13:32 +00:00
builtins.h Fold __builtin_memchr function 2016-10-14 12:09:51 +00:00
caller-save.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
calls.c re PR ada/37139 (DEP prevents using Ada tasking) 2016-10-16 20:13:32 +00:00
calls.h 016-07-21 Bernd Edlinger <bernd.edlinger@hotmail.de> 2016-07-21 19:06:02 +00:00
ccmp.c make targetm.gen_ccmp{first,next} take rtx_insn ** 2016-11-03 09:27:55 +00:00
ccmp.h
cfg-flags.def
cfg.c Use FOR_ALL_BB_FN in a few more places 2016-10-18 21:36:45 +02:00
cfg.h cfg.c (reset_original_copy_tables): New func. 2016-10-13 10:52:00 +00:00
cfganal.c use auto_sbitmap in various places 2016-07-26 10:44:08 +00:00
cfganal.h re PR tree-optimization/71253 (ICE during loop distribution w/ -O2 -ftree-loop-distribution) 2016-05-24 12:40:01 +00:00
cfgbuild.c make LABEL_REF_LABEL a rtx_insn * 2016-10-21 12:32:56 +00:00
cfgbuild.h
cfgcleanup.c make tablejump_p return the label as a rtx_insn * 2016-10-21 12:33:01 +00:00
cfgcleanup.h
cfgexpand.c Introduce -fsanitize-address-use-after-scope 2016-11-07 10:23:38 +00:00
cfgexpand.h
cfghooks.c tree-cfgcleanup.c (tree_forwarder_block_p): Use bb_loop_header_p. 2016-08-05 07:41:45 +00:00
cfghooks.h
cfgloop.c cfgloop.h (struct loop): New field constraints. 2016-07-29 15:44:00 +00:00
cfgloop.h make next/prev nondebug_insn take rtx_insn * 2016-09-22 13:16:23 +00:00
cfgloopanal.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
cfgloopmanip.c re PR rtl-optimization/68212 (Loop unroller breaks basic block frequencies) 2016-10-14 17:10:18 +00:00
cfgloopmanip.h
cfgrtl.c remove cast in delete_insn_chain 2016-11-02 03:46:10 +00:00
cfgrtl.h remove cast in delete_insn_chain 2016-11-02 03:46:10 +00:00
cgraph.c Add IPA VRP 2016-09-20 23:29:05 +00:00
cgraph.h Replace NULL with false as a return value 2016-10-19 10:30:36 +00:00
cgraphbuild.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
cgraphclones.c ipa-inline-transform.c (preserve_function_body_p): Look for first non-thunk clone. 2016-05-18 07:12:46 +00:00
cgraphunit.c cgraphunit.c (analyze_functions): Set node->definition to false to signal symbol removal to... 2016-10-20 08:49:48 +00:00
chkp-builtins.def
cif-code.def ipa-inline-analysis.c (compute_inline_parameters): Disable inlinig into instrumentation thunks. 2016-05-16 19:33:02 +00:00
cilk-builtins.def
cilk-common.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
cilk.h
cilkplus.def
collect-utils.c
collect-utils.h
collect2-aix.c
collect2-aix.h
collect2.c
collect2.h
combine-stack-adj.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
combine.c re PR target/77881 (Non-optimal signed comparison on x86_64 since r146817) 2016-11-15 14:02:28 +00:00
common.md
common.opt Introduce -fprofile-update=prefer-atomic 2016-11-14 12:09:48 +00:00
compare-elim.c use rtx_insn * in various places where it is obvious 2016-11-02 03:44:50 +00:00
conditions.h
config.build
config.gcc [ARC] New option handling, refurbish multilib support. 2016-11-15 16:10:13 +01:00
config.host configure.ac: Add aarch64-*-freebsd*. 2016-10-10 23:31:17 +02:00
config.in configure.ac: Split CHECKING_P into CHECKING_P and ENABLE_EXTRA_CHECKING. 2016-09-30 18:57:49 +00:00
configure remove conditional compilation of HAVE_AS_LEB128 code 2016-11-14 10:58:48 +00:00
configure.ac remove conditional compilation of HAVE_AS_LEB128 code 2016-11-14 10:58:48 +00:00
context.c
context.h
convert.c Implement -Wimplicit-fallthrough. 2016-09-26 09:42:50 +00:00
convert.h
coretypes.h Introduce -fprofile-update=prefer-atomic 2016-11-14 12:09:48 +00:00
coverage.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
coverage.h
cppbuiltin.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
cppbuiltin.h
cppdefault.c
cppdefault.h
cprop.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
cse.c defaults.h (LOAD_EXTEND_OP): Define if not already defined. 2016-11-04 17:42:32 +00:00
cselib.c make LABEL_REF_LABEL a rtx_insn * 2016-10-21 12:32:56 +00:00
cselib.h re PR rtl-optimization/70886 (-frename-registers causes boostrap comparison failures on ia64) 2016-05-02 10:08:59 +00:00
cstamp-h.in
data-streamer-in.c data-streamer-in.c (streamer_read_wide_int): New. 2016-08-06 21:11:26 +00:00
data-streamer-out.c data-streamer-in.c (streamer_read_wide_int): New. 2016-08-06 21:11:26 +00:00
data-streamer.c
data-streamer.h data-streamer-in.c (streamer_read_wide_int): New. 2016-08-06 21:11:26 +00:00
dbgcnt.c
dbgcnt.def use-after-scope fallout 2016-11-08 12:28:33 +00:00
dbgcnt.h
dbxout.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
dbxout.h
dce.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
dce.h
ddg.c use auto_sbitmap in various places 2016-07-26 10:44:08 +00:00
ddg.h
debug.c debug.h (gcc_debug_hooks): Add filename parameter to early_finish hook. 2016-09-20 07:37:53 +00:00
debug.h debug.h (gcc_debug_hooks): Add filename parameter to early_finish hook. 2016-09-20 07:37:53 +00:00
defaults.h defaults.h (LOAD_EXTEND_OP): Define if not already defined. 2016-11-04 17:42:32 +00:00
df-core.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
df-problems.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
df-scan.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
df.h df: make df_problem instances "const" 2016-04-27 18:18:45 +00:00
dfp.c
dfp.h
diagnostic-color.c Introduce class edit_context 2016-09-02 18:00:57 +00:00
diagnostic-color.h
diagnostic-core.h diagnostic-core.h (warning_at_rich_loc_n): Declare. 2016-10-08 17:04:35 +00:00
diagnostic-show-locus.c fix-it hints can't contain newlines 2016-09-15 23:57:01 +00:00
diagnostic.c revert: diagnostic.c (diagnostic_action_after_output): Remove max error handling here .... 2016-10-15 11:08:10 +00:00
diagnostic.def
diagnostic.h Add -fdiagnostics-generate-patch 2016-09-02 19:41:17 +00:00
dojump.c dojump.c (do_jump_by_parts_greater_rtx): Invert probability when swapping the arms of the branch. 2016-10-28 18:10:14 +00:00
dojump.h
dominance.c Update dom_info 2016-10-17 11:05:12 -07:00
dominance.h Update dom_info 2016-10-17 11:05:12 -07:00
domwalk.c domwalk.c (dom_walker::walk): Use RPO order. 2016-10-19 08:39:55 +00:00
domwalk.h
double-int.c hwint.h (HOST_WIDE_INT_0): New define. 2016-07-20 23:59:44 +02:00
double-int.h cse.c: Use HOST_WIDE_INT_M1 instead of ~(HOST_WIDE_INT) 0. 2016-07-20 17:47:33 +02:00
dse.c re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre -mstringop-strategy=libcall) 2016-11-07 18:35:16 +01:00
dumpfile.c Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
dumpfile.h Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
dwarf2asm.c remove conditional compilation of HAVE_AS_LEB128 code 2016-11-14 10:58:48 +00:00
dwarf2asm.h dwarf2asm.h (dw2_asm_output_offset): Add overload with extra offset argument. 2016-09-15 10:22:32 +00:00
dwarf2cfi.c dwarf2cfi: Dump row differences before asserting 2016-11-10 18:43:02 +01:00
dwarf2out.c Fix a GET_MODE_CLASS typo in mem_loc_descriptor 2016-11-15 10:54:12 +00:00
dwarf2out.h dwarf2out.h (struct dw_loc_descr_node): Adjust comment for frame_offset_rel bit. 2016-10-31 20:35:47 +01:00
edit-context.c fix-it hints: insert_before vs insert_after 2016-09-13 16:08:59 +00:00
edit-context.h Introduce class edit_context 2016-09-02 18:00:57 +00:00
emit-rtl.c emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order. 2016-11-07 17:03:55 +00:00
emit-rtl.h separate shrink-wrap: New command-line flag, status flag, hooks, and doc 2016-10-12 17:19:46 +02:00
errors.c
errors.h
et-forest.c Selftest framework 2016-06-06 17:11:30 +00:00
et-forest.h
except.c remove conditional compilation of HAVE_AS_LEB128 code 2016-11-14 10:58:48 +00:00
except.h
exec-tool.in Update copyright years. 2016-01-04 15:30:50 +01:00
explow.c make LABEL_REF_LABEL a rtx_insn * 2016-10-21 12:32:56 +00:00
explow.h Allocate constant size dynamic stack space in the prologue 2016-07-18 13:10:27 +00:00
expmed.c expmed.c (expand_shift_1): Add MAY_FAIL parameter and do not assert that the result is non-zero if it is true. 2016-10-17 22:15:02 +00:00
expmed.h Fix warnings for make profiledbootstrap (PR bootstrap/77788) 2016-10-06 07:33:49 +00:00
expr.c common.opt (flag_evaluation_order): Remove. 2016-11-09 12:37:10 +00:00
expr.h expr.h (copy_blkmode_from_reg): Delete. 2016-11-04 17:44:48 +00:00
fibonacci_heap.c Add selftests for fibonacci_heap 2016-07-20 07:01:48 +00:00
fibonacci_heap.h Add selftests for fibonacci_heap 2016-07-20 07:01:48 +00:00
file-find.c Prevent LTO wrappers to process a recursive execution 2016-07-07 12:03:39 +00:00
file-find.h Prevent LTO wrappers to process a recursive execution 2016-07-07 12:03:39 +00:00
final.c use rtx_insn * in various places where it is obvious 2016-11-02 03:44:50 +00:00
fixed-value.c auto-inc-dec.c (try_merge): Remove break after return. 2016-09-27 20:14:10 +02:00
fixed-value.h
flag-types.h flag-types.h (enum sanitize_code): Add SANITIZE_SHIFT_BASE and SANITIZE_SHIFT_EXPONENT... 2016-11-09 16:37:28 +01:00
flags.h
fold-const-call.c * fold-const-call.c (fold_const_call): Fix up type of s0 and s1. 2016-11-09 18:55:12 +01:00
fold-const-call.h Fold __builtin_str{n}{case}cmp functions 2016-10-14 12:08:27 +00:00
fold-const.c fold-const.c (tree_swap_operands_p): Remove unused arg. 2016-11-09 15:15:28 +00:00
fold-const.h fold-const.c (tree_swap_operands_p): Remove unused arg. 2016-11-09 15:15:28 +00:00
fp-test.c
function-tests.c Add a "compact" mode to print_rtx_function 2016-10-13 13:17:59 +00:00
function.c sched: Do not mix prologue and epilogue insns 2016-10-28 16:39:28 +02:00
function.h Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
fwprop.c defaults.h (LOAD_EXTEND_OP): Define if not already defined. 2016-11-04 17:42:32 +00:00
gcc-ar.c Prevent LTO wrappers to process a recursive execution 2016-07-07 12:03:39 +00:00
gcc-main.c
gcc-plugin.h
gcc-rich-location.c rich_location: add convenience overloads for adding fix-it hints 2016-08-30 13:54:48 +00:00
gcc-rich-location.h rich_location: add convenience overloads for adding fix-it hints 2016-08-30 13:54:48 +00:00
gcc-symtab.h
gcc.c Introduce -fprofile-update=prefer-atomic 2016-11-14 12:09:48 +00:00
gcc.h
gcov-counter.def Remove __gcov_merge_delta (PR bootstrap/77749) 2016-09-27 10:04:39 +00:00
gcov-dump.c
gcov-io.c * gcov-io.c (gcov_open): Deconstify 'mode'. 2016-10-14 10:51:58 +00:00
gcov-io.h Do not use LONG_LONG_TYPE_SIZE in #if macro condition 2016-08-17 06:55:35 +00:00
gcov-iov.c Adapt the numbering scheme (PR gcov-profile/64874) 2016-07-25 08:42:42 +00:00
gcov-tool.c re PR c/7652 (-Wswitch-break : Warn if a switch case falls through) 2016-08-12 10:30:47 +00:00
gcov.c gcov: add new option (--hash-filenames) (PR 2016-08-16 14:14:18 +00:00
gcse-common.c
gcse-common.h
gcse.c make LABEL_REF_LABEL a rtx_insn * 2016-10-21 12:32:56 +00:00
gcse.h
gdbasan.in
gdbhooks.py
gdbinit.in * gdbinit.in: Skip line-map.h. 2016-04-28 15:04:23 -04:00
gen-pass-instances.awk gen-pass-instances.awk (adjust_linenos): INcrement pass_lines[p] by increment rather than double it. 2016-10-26 18:20:54 +02:00
genattr-common.c Make argv const char ** in read_md_files etc 2016-05-06 15:14:05 +00:00
genattr.c genautomata.c cleanup 2016-05-11 21:13:11 +03:00
genattrtab.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
genautomata.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
gencfn-macros.c
gencheck.c
genchecksum.c
gencodes.c Make argv const char ** in read_md_files etc 2016-05-06 15:14:05 +00:00
genconditions.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
genconfig.c make LABEL_REF_LABEL a rtx_insn * 2016-10-21 12:32:56 +00:00
genconstants.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
genemit.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
genenums.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
generic-match-head.c
generic-match.h
genextract.c genextract.c: add [cd]tors to accum_extract 2016-07-13 02:43:23 +00:00
genflags.c Make argv const char ** in read_md_files etc 2016-05-06 15:14:05 +00:00
gengenrtl.c
gengtype-lex.l
gengtype-parse.c
gengtype-state.c
gengtype.c gengtype.c (new_structure): Append to structures list. 2016-11-10 11:49:08 -05:00
gengtype.h
genhooks.c
genmatch.c fold-const.c (tree_swap_operands_p): Remove unused arg. 2016-11-09 15:15:28 +00:00
genmddeps.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
genmddump.c * genmddump.c (main): Convert argv from char ** to const char **. 2016-05-06 22:42:10 +02:00
genmodes.c c-ada-spec.c (dump_ada_function_declaration): Increase buffer size to guarantee it fits the output of the formatted function... 2016-09-01 16:47:49 -06:00
genmultilib fragments.texi (MULTILIB_REUSE): Mention that only options in MULTILIB_OPTIONS should be used. 2016-08-24 09:51:35 +00:00
genopinit.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
genoutput.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
genpeep.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
genpreds.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
genrecog.c make LABEL_REF_LABEL a rtx_insn * 2016-10-21 12:32:56 +00:00
gensupport.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
gensupport.h Introduce class rtx_reader 2016-09-21 20:55:06 +00:00
gentarget-def.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
ggc-common.c
ggc-internal.h
ggc-none.c
ggc-page.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
ggc-tests.c Expose forcibly_ggc_collect and run it after all selftests 2016-10-25 16:46:54 +00:00
ggc.h
gimple-builder.c Makefile.in: Add tree-vrp.h to GTFILES. 2016-08-20 05:43:01 +00:00
gimple-builder.h
gimple-expr.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
gimple-expr.h
gimple-fold.c fold-const.c (tree_swap_operands_p): Remove unused arg. 2016-11-09 15:15:28 +00:00
gimple-fold.h PR middle-end/49905 - Better sanity checking on sprintf src & dest to 2016-09-20 19:39:27 -06:00
gimple-iterator.c
gimple-iterator.h
gimple-laddress.c Makefile.in: Add tree-vrp.h to GTFILES. 2016-08-20 05:43:01 +00:00
gimple-low.c re PR debug/77931 (PASS->FAIL: gdb.cp/namespace.exp: print ina) 2016-10-11 12:52:44 +00:00
gimple-low.h
gimple-match-head.c fold-const.c (tree_swap_operands_p): Remove unused arg. 2016-11-09 15:15:28 +00:00
gimple-match.h gimple-match.h (maybe_build_generic_op): Adjust prototype. 2016-04-20 12:49:58 +00:00
gimple-predict.h
gimple-pretty-print.c Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
gimple-pretty-print.h
gimple-ssa-backprop.c re PR tree-optimization/78312 (wrong code due to ssa-backprop) 2016-11-14 10:33:15 +00:00
gimple-ssa-isolate-paths.c gimple-ssa-isolate-paths.c (is_divmod_with_given_divisor): New function. 2016-11-11 09:00:47 -07:00
gimple-ssa-nonnull-compare.c
gimple-ssa-split-paths.c gimple-ssa-split-paths.c (find_block_to_duplicate_for_splitting_pa): Handle empty else block. 2016-07-05 13:25:47 +00:00
gimple-ssa-sprintf.c PR middle-end/77735 - FAIL: gcc.dg/tree-ssa/builtin-sprintf-warn-1.c 2016-10-24 10:53:20 -06:00
gimple-ssa-store-merging.c [2/2] Add store merging unit tests 2016-11-08 16:04:20 +00:00
gimple-ssa-strength-reduction.c re PR tree-optimization/71915 (A missed opportunity for SLSR) 2016-10-31 03:04:59 +00:00
gimple-ssa-warn-alloca.c Makefile.in (OBJS): Add gimple-ssa-warn-alloca.o. 2016-10-18 21:40:58 +00:00
gimple-ssa.h
gimple-streamer-in.c
gimple-streamer-out.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
gimple-streamer.h
gimple-walk.c
gimple-walk.h
gimple.c Introduce -fsanitize-address-use-after-scope 2016-11-07 10:23:38 +00:00
gimple.def
gimple.h re PR ada/37139 (DEP prevents using Ada tasking) 2016-10-16 20:13:32 +00:00
gimplify-me.c
gimplify-me.h
gimplify.c omp-low.c (lower_omp_target): Fix up argument to is_reference. 2016-11-10 12:38:05 +01:00
gimplify.h gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter default true. 2016-05-03 12:06:19 +00:00
glimits.h Define TS 18661-1 type width macros in <limits.h> and <stdint.h>. 2016-09-09 17:59:43 +01:00
godump.c Implement -Wimplicit-fallthrough. 2016-09-26 09:42:50 +00:00
graph.c use auto_sbitmap in various places 2016-07-26 10:44:08 +00:00
graph.h
graphds.c
graphds.h
graphite-dependences.c
graphite-isl-ast-to-gimple.c re PR tree-optimization/71575 ([graphite] internal compiler error: in copy_cond_phi_nodes, at graphite-isl-ast-to-gimple.c:2500) 2016-11-11 12:54:25 +00:00
graphite-optimize-isl.c
graphite-poly.c
graphite-scop-detection.c Handle NULL def in build_cross_bb_scalars_def 2016-05-07 06:47:07 +00:00
graphite-sese-to-poly.c
graphite.c
graphite.h
gsstruct.def
gstab.h
gsyms.h
gsyslimits.h
gtm-builtins.def
haifa-sched.c haifa-sched.c (call_used_regs_num): Rename to... 2016-10-26 17:07:55 +00:00
hard-reg-set.h Fix PR44281, bad RA with global regs. 2016-05-03 09:35:42 +00:00
hash-map-tests.c Selftest framework 2016-06-06 17:11:30 +00:00
hash-map-traits.h
hash-map.h
hash-set-tests.c Selftest framework 2016-06-06 17:11:30 +00:00
hash-set.h
hash-table.c
hash-table.h
hash-traits.h
highlev-plugin-common.h
hooks.c target.def (additional_allocno_class_p): New. 2016-11-10 17:04:31 +00:00
hooks.h target.def (additional_allocno_class_p): New. 2016-11-10 17:04:31 +00:00
host-default.c
hosthooks-def.h
hosthooks.h
hsa-brig-format.h
hsa-brig.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
hsa-dump.c
hsa-gen.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
hsa-regalloc.c
hsa.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
hsa.h
hw-doloop.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
hw-doloop.h
hwint.c Add inline functions for various bitwise operations. 2016-09-16 15:20:44 -04:00
hwint.h Add inline functions for various bitwise operations. 2016-09-16 15:20:44 -04:00
ifcvt.c make LABEL_REF_LABEL a rtx_insn * 2016-10-21 12:32:56 +00:00
ifcvt.h
inchash.c
inchash.h
incpath.c re PR driver/78206 (bootstrap failure under Apple sandbox that blacklists reads in /usr/local) 2016-11-07 18:33:49 +00:00
incpath.h
init-regs.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
input.c input.c/libcpp: fix lifetimes of path buffers 2016-10-25 19:24:01 +00:00
input.h re PR gcov-profile/46266 (gcov generates data for non-existing file <built-in>) 2016-09-27 13:22:04 +00:00
insn-addr.h
insn-notes.def
internal-fn.c Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
internal-fn.def Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
internal-fn.h Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
intl.c
intl.h
ipa-chkp.c re PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1) 2016-06-15 15:49:40 +00:00
ipa-chkp.h
ipa-comdats.c re PR ipa/78188 (AIX Bootstrap broken by tree-vrp.c change) 2016-11-04 19:20:50 -04:00
ipa-cp.c pr78268.C: New test. 2016-11-13 22:04:36 +00:00
ipa-devirt.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
ipa-hsa.c
ipa-icf-gimple.c * hsa-gen.c (hsa_op_immed::hsa_op_immed Use CONSTRUCTOR_NELTS (...) 2016-09-23 09:34:43 +02:00
ipa-icf-gimple.h
ipa-icf.c ipa-icf.c (sem_function::merge): Do not create a wrapper also if the original function needs a static chain. 2016-11-13 17:23:13 +00:00
ipa-icf.h
ipa-inline-analysis.c ipa-inline-analysis.c (find_foldable_builtin_expect): Use gimple_call_internal_p. 2016-09-26 15:50:13 +00:00
ipa-inline-transform.c Add IPA VRP 2016-09-20 23:29:05 +00:00
ipa-inline.c Add IPA VRP 2016-09-20 23:29:05 +00:00
ipa-inline.h [PR 70646] Store size to inlining predicate conditions 2016-05-18 15:04:23 +02:00
ipa-polymorphic-call.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
ipa-profile.c Add IPA VRP 2016-09-20 23:29:05 +00:00
ipa-prop.c pr78268.C: New test. 2016-11-13 22:04:36 +00:00
ipa-prop.h Fix ice in set_value_range 2016-11-09 01:41:26 +00:00
ipa-pure-const.c re PR sanitizer/77396 (address sanitizer crashes if all static global variables are optimized) 2016-09-02 19:11:42 +02:00
ipa-ref.c
ipa-ref.h
ipa-reference.c
ipa-reference.h
ipa-split.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
ipa-utils.c Add IPA VRP 2016-09-20 23:29:05 +00:00
ipa-utils.h
ipa-visibility.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
ipa.c cgraphunit.c (analyze_functions): Set node->definition to false to signal symbol removal to... 2016-10-20 08:49:48 +00:00
ira-build.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
ira-color.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
ira-conflicts.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
ira-costs.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
ira-emit.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
ira-int.h
ira-lives.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
ira.c target.def (additional_allocno_class_p): New. 2016-11-10 17:04:31 +00:00
ira.h
is-a.h
jump.c use rtx_insn * in various places where it is obvious 2016-11-02 03:44:50 +00:00
langhooks-def.h omp-low.c (lower_omp_target): Fix up argument to is_reference. 2016-11-10 12:38:05 +01:00
langhooks.c omp-low.c (lower_omp_target): Fix up argument to is_reference. 2016-11-10 12:38:05 +01:00
langhooks.h omp-low.c (lower_omp_target): Fix up argument to is_reference. 2016-11-10 12:38:05 +01:00
lcm.c use auto_sbitmap in various places 2016-07-26 10:44:08 +00:00
lcm.h
libfuncs.h builtins.c (expand_builtin_memcmp): Do not emit the call here. 2016-05-13 08:49:20 +00:00
limitx.h
limity.h
lists.c
lock-and-run.sh
loop-doloop.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
loop-init.c loop-init.c (gate): Do not enale RTL loop unroller with -fpeel-loops. 2016-05-31 10:42:59 +00:00
loop-invariant.c re PR tree-optimization/78185 (Wrong branch optimization with -O1 on x86/x86_64) 2016-11-04 08:54:42 +00:00
loop-iv.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
loop-unroll.c re PR rtl-optimization/78241 (wrong code with -funroll-loops) 2016-11-10 18:55:57 +00:00
loop-unroll.h
lower-subreg.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
lower-subreg.h Fix typo in copyright boilerplate 2016-06-14 13:53:50 +00:00
lra-assigns.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
lra-coalesce.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
lra-constraints.c make LABEL_REF_LABEL a rtx_insn * 2016-10-21 12:32:56 +00:00
lra-eliminations.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
lra-int.h re PR rtl-optimization/69847 (Spec 2006 403.gcc slows down with -mlra vs. reload on PowerPC) 2016-08-02 16:07:36 +00:00
lra-lives.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
lra-remat.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
lra-spills.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
lra.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
lra.h
lto-cgraph.c Don't call get_working_sets w/ LTO and -fauto-profile (PR 2016-07-25 11:28:52 +00:00
lto-compress.c
lto-compress.h
lto-opts.c
lto-section-in.c LTO: display file name if LTO version check fails 2016-05-19 15:02:30 +00:00
lto-section-names.h
lto-section-out.c
lto-streamer-in.c Do not fixup edges for a thunk in LTRANS (PR lto/78049) 2016-10-20 15:30:17 +00:00
lto-streamer-out.c tree-vrp.c (evrp_dom_walker::before_dom_children): Ignore backedges when identifying the single predecessor to take conditional... 2016-10-24 11:22:42 +00:00
lto-streamer.c Fix LTO_STREAMER_DEBUG build 2016-10-12 15:18:36 +02:00
lto-streamer.h cgraph.c (cgraph_node::verify_node): Compare against builtin by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE. 2016-07-25 12:35:08 +00:00
lto-wrapper.c
machmode.def
machmode.h machmode.h (mode_complex): Add support to give the complex mode for a given mode. 2016-05-02 23:23:45 +00:00
main.c
match.pd Implement P0217R3 - C++17 structured bindings 2016-11-14 00:02:58 -05:00
mcf.c
mem-stats-traits.h
mem-stats.h
memmodel.h Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
memory-block.cc
memory-block.h
mkconfig.sh
mode-classes.def
mode-switching.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
modulo-sched.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
multiple_target.c * multiple_target.c (pass_data_dispatcher_calls): Fix typo. 2016-08-25 08:07:10 -04:00
omp-builtins.def
omp-low.c omp-low.c (lower_omp_target): Fix up argument to is_reference. 2016-11-10 12:38:05 +01:00
omp-low.h
omp-simd-clone.c re PR middle-end/78025 (ICE in simd_clone_adjust, at omp-simd-clone.c:1126) 2016-10-27 20:51:28 +02:00
opt-functions.awk
opt-gather.awk
opt-include.awk
opt-read.awk
optabs-libfuncs.c builtins.c (expand_builtin_memcmp): Do not emit the call here. 2016-05-13 08:49:20 +00:00
optabs-libfuncs.h
optabs-query.c
optabs-query.h re PR target/78102 (GCC refuses to generate PCMPEQQ instruction for SSE4.1) 2016-10-25 18:26:12 +02:00
optabs-tree.c re PR target/78102 (GCC refuses to generate PCMPEQQ instruction for SSE4.1) 2016-10-25 18:26:12 +02:00
optabs-tree.h re PR target/78102 (GCC refuses to generate PCMPEQQ instruction for SSE4.1) 2016-10-25 18:26:12 +02:00
optabs.c split up some variables to use rtx_insn * more 2016-11-02 03:45:45 +00:00
optabs.def re PR target/78102 (GCC refuses to generate PCMPEQQ instruction for SSE4.1) 2016-10-25 18:26:12 +02:00
optabs.h
optc-gen.awk
optc-save-gen.awk
opth-gen.awk
opts-common.c re PR middle-end/77475 (unnecessary or misleading context in reporting command line problems) 2016-09-13 10:45:36 +02:00
opts-diagnostic.h
opts-global.c
opts.c flag-types.h (enum sanitize_code): Add SANITIZE_SHIFT_BASE and SANITIZE_SHIFT_EXPONENT... 2016-11-09 16:37:28 +01:00
opts.h Fix handling of -fsanitize-recover* options. 2016-09-26 10:55:34 +00:00
output.h
params-enum.h
params-list.h
params-options.h Add tests that test boundary values of params 2016-07-12 15:03:07 +00:00
params.c Offer suggestions for misspelled --param names. 2016-06-30 00:05:39 +00:00
params.def Introduce -fsanitize-address-use-after-scope 2016-11-07 10:23:38 +00:00
params.h Introduce -fsanitize-address-use-after-scope 2016-11-07 10:23:38 +00:00
pass_manager.h Move name_to_pass_map into class pass_manager 2016-05-06 15:18:59 +00:00
passes.c Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
passes.def GIMPLE store merging pass 2016-10-28 14:18:50 +00:00
plugin.c plugin.c (register_plugin_info): Produce an error message if the plugin is not found in the hash table. 2016-10-27 08:38:07 +00:00
plugin.def
plugin.h
postreload-gcse.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
postreload.c defaults.h (LOAD_EXTEND_OP): Define if not already defined. 2016-11-04 17:42:32 +00:00
predict.c re PR middle-end/65950 (exit in main is causing the path to it to become unlikely.) 2016-10-18 08:42:21 -07:00
predict.def predict-12.c: New testcase. 2016-06-26 20:03:35 +00:00
predict.h predict.h (force_edge_cold): Declare. 2016-05-30 10:40:33 +00:00
prefix.c
prefix.h
pretty-print.c re PR tree-optimization/35503 (Warning about restricted pointers?) 2016-11-13 19:38:36 +00:00
pretty-print.h
print-rtl-function.c print-rtl-function.c: add (param) directive to dump 2016-11-09 20:55:03 +00:00
print-rtl.c print-rtl-function.c: add (param) directive to dump 2016-11-09 20:55:03 +00:00
print-rtl.h print-rtl-function.c: add (param) directive to dump 2016-11-09 20:55:03 +00:00
print-tree.c * hsa-gen.c (hsa_op_immed::hsa_op_immed Use CONSTRUCTOR_NELTS (...) 2016-09-23 09:34:43 +02:00
print-tree.h
profile.c Make direct emission of time profiler counter 2016-11-03 15:24:22 +00:00
profile.h
read-md.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
read-md.h read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
read-rtl.c read-md.c: Move various state to within class rtx_reader 2016-10-18 00:19:17 +00:00
real.c Implement C _FloatN, _FloatNx types. 2016-08-19 18:43:26 +01:00
real.h Implement C _FloatN, _FloatNx types. 2016-08-19 18:43:26 +01:00
realmpfr.c
realmpfr.h
recog.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
recog.h
ree.c re PR rtl-optimization/78132 (GCC produces invalid instruction (kmovd and kmovq) for KNL.) 2016-10-28 09:12:52 +02:00
reg-notes.def [DWARF] Enable DW_CFA_VAL_EXPRESSION support 2016-11-03 17:32:03 +00:00
reg-stack.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
regcprop.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
regcprop.h
reginfo.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
regrename.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
regrename.h
regs.h Goodbye REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED 2016-04-30 09:31:52 +09:30
regset.h
regstat.c Goodbye REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED 2016-04-30 09:31:52 +09:30
reload.c defaults.h (LOAD_EXTEND_OP): Define if not already defined. 2016-11-04 17:42:32 +00:00
reload.h
reload1.c defaults.h (LOAD_EXTEND_OP): Define if not already defined. 2016-11-04 17:42:32 +00:00
reorg.c remove cast to rtx_insn * in remove_note 2016-11-02 03:45:59 +00:00
resource.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
resource.h
rtl-chkp.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
rtl-chkp.h
rtl-error.c
rtl-error.h
rtl-iter.h
rtl-tests.c rtx_writer: avoid printing trailing default values 2016-11-07 15:19:17 +00:00
rtl.c make LABEL_REF_LABEL a rtx_insn * 2016-10-21 12:32:56 +00:00
rtl.def Fix comment in rtl.def 2016-04-27 17:54:42 +00:00
rtl.h emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order. 2016-11-07 17:03:55 +00:00
rtlanal.c re PR rtl-optimization/59461 (missed zero-extension elimination in the combiner) 2016-11-11 22:38:33 +00:00
rtlhash.c Update copyright years. 2016-01-04 15:30:50 +01:00
rtlhash.h
rtlhooks-def.h
rtlhooks.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
sancov.c
sanitizer.def asan.h (ASAN_STACK_MAGIC_PARTIAL): Remove. 2016-11-09 00:15:35 +02:00
sanopt.c Introduce -fsanitize-address-use-after-scope 2016-11-07 10:23:38 +00:00
sbitmap.c sbitmap: Remove popcount 2016-04-28 20:43:12 +02:00
sbitmap.h add auto_sbitmap class 2016-07-26 10:43:58 +00:00
sched-deps.c sched: Do not mix prologue and epilogue insns 2016-10-28 16:39:28 +02:00
sched-ebb.c
sched-int.h sched: Do not mix prologue and epilogue insns 2016-10-28 16:39:28 +02:00
sched-rgn.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
sdbout.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
sdbout.h
sel-sched-dump.c
sel-sched-dump.h
sel-sched-ir.c emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order. 2016-11-07 17:03:55 +00:00
sel-sched-ir.h
sel-sched.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
sel-sched.h
selftest-rtl.h Start adding target-specific selftests 2016-11-04 17:05:38 +00:00
selftest-run-tests.c [2/2] Add store merging unit tests 2016-11-08 16:04:20 +00:00
selftest.c Add selftest::read_file 2016-10-12 14:55:47 +00:00
selftest.h [2/2] Add store merging unit tests 2016-11-08 16:04:20 +00:00
sese.c
sese.h
shrink-wrap.c sched: Do not mix prologue and epilogue insns 2016-10-28 16:39:28 +02:00
shrink-wrap.h shrink-wrap: Shrink-wrapping for separate components 2016-10-12 17:32:23 +02:00
signop.h
simplify-rtx.c simplify-rtx: Transform (xor (and (xor A B) C) B) with C const 2016-11-10 01:32:43 +01:00
sparseset.c
sparseset.h
spellcheck-tree.c Fix build of spellcheck-tree.c with older gccs 2016-07-21 17:21:12 +00:00
spellcheck-tree.h Enabling work for C++ handling of misspelled identifiers and typenames 2016-07-20 14:03:03 +00:00
spellcheck.c Offer suggestions for misspelled --param names. 2016-06-30 00:05:39 +00:00
spellcheck.h Offer suggestions for misspelled --param names. 2016-06-30 00:05:39 +00:00
sreal.c Add sreal to selftests 2016-07-20 07:00:50 +00:00
sreal.h ipa-cp.c (ipcp_store_vr_results): Avoid static local var zero. 2016-09-23 11:43:09 +02:00
ssa-iterators.h ssa-iterators.h (ssa_vuse_operand): New inline. 2016-08-18 07:21:11 +00:00
ssa.h Makefile.in: Add tree-vrp.h to GTFILES. 2016-08-20 05:43:01 +00:00
stab.def
stack-ptr-mod.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
statistics.c re PR lto/77305 (-fdump-tree-all and -flto causes ICE) 2016-08-23 07:21:36 +00:00
statistics.h
stmt.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
stmt.h
stor-layout.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
stor-layout.h re PR ada/70759 (Ada rts fails to build with -mabi=ilp32) 2016-04-27 07:49:49 +00:00
store-motion.c make pattern_regs a vec 2016-07-28 11:01:34 +00:00
streamer-hooks.c
streamer-hooks.h
stringpool.c
stringpool.h
substring-locations.c Move class substring_loc from c-family into gcc 2016-09-07 16:56:23 +00:00
substring-locations.h Move class substring_loc from c-family into gcc 2016-09-07 16:56:23 +00:00
symbol-summary.h Symbol summary: refactor usage of gcc_checking_asserts 2016-05-02 09:20:01 +00:00
symtab.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
sync-builtins.def
system.h defaults.h (JCR_SECTION_NAME, [...]): Remove. 2016-10-04 09:49:44 +02:00
target-def.h
target-globals.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
target-globals.h
target-hooks-macros.h
target-insns.def
target.def target.def (additional_allocno_class_p): New. 2016-11-10 17:04:31 +00:00
target.h re PR tree-optimization/52171 (memcmp/strcmp/strncmp can be optimized when the result is tested for [in]equality with 0) 2016-06-03 14:20:53 +00:00
targhooks.c target.def (min_arithmetic_precision): New hook. 2016-10-28 21:04:51 +00:00
targhooks.h target.def (min_arithmetic_precision): New hook. 2016-10-28 21:04:51 +00:00
timevar.c passes.c (execute_todo): Do not push/pop TV_TODO. 2016-08-12 07:38:24 +00:00
timevar.def GIMPLE store merging pass 2016-10-28 14:18:50 +00:00
timevar.h passes.c (execute_todo): Do not push/pop TV_TODO. 2016-08-12 07:38:24 +00:00
tlink.c
toplev.c Implement ~line_maps () 2016-10-25 18:10:44 +00:00
toplev.h Selftest framework 2016-06-06 17:11:30 +00:00
tracer.c tracer: Make bb_seen static 2016-04-28 19:08:39 +02:00
tracer.h
trans-mem.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
trans-mem.h
tree-affine.c Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG. 2016-07-11 15:02:12 +00:00
tree-affine.h
tree-call-cdce.c re PR tree-optimization/78224 (g++ ICE at -O2(-O1 on gcc6) and above in verify_loop_structure, at cfgloop.c:1646) 2016-11-08 08:03:54 +00:00
tree-cfg.c Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
tree-cfg.h tree-cfg.h (should_remove_lhs_p): New predicate. 2016-05-24 13:34:37 +00:00
tree-cfgcleanup.c re PR tree-optimization/71661 (wrong code at -O3) 2016-10-06 10:23:22 -06:00
tree-cfgcleanup.h
tree-chkp-opt.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-chkp.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-chkp.h
tree-chrec.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-chrec.h tree-chrec.c (convert_affine_scev): New parameter. 2016-07-21 10:52:13 +00:00
tree-complex.c re PR c/7652 (-Wswitch-break : Warn if a switch case falls through) 2016-08-12 10:15:57 +00:00
tree-core.h [PR lto/77458] Avoid ICE in offloading with differing _FloatN, _FloatNx types 2016-10-19 12:48:46 +02:00
tree-data-ref.c re PR tree-optimization/77605 (wrong code at -O3 on x86_64-linux-gnu) 2016-09-19 06:55:17 +00:00
tree-data-ref.h re PR tree-optimization/56625 (After if-conversion vectorizer doesn't recognize similar loads) 2016-04-20 15:41:45 +00:00
tree-dfa.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-dfa.h To... 2016-05-18 14:01:31 +00:00
tree-diagnostic.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-diagnostic.h
tree-dump.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-dump.h
tree-eh.c
tree-eh.h
tree-emutls.c
tree-hash-traits.h
tree-hasher.h
tree-if-conv.c Update dom_info 2016-10-17 11:05:12 -07:00
tree-inline.c Implement P0136R1, Rewording inheriting constructors. 2016-11-01 21:50:29 -04:00
tree-inline.h
tree-into-ssa.c Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
tree-into-ssa.h
tree-iterator.c
tree-iterator.h
tree-loop-distribution.c Fix loop distribution bug with merging edges that creates too many edges. 2016-11-10 07:20:59 -08:00
tree-nested.c re PR ada/37139 (DEP prevents using Ada tasking) 2016-10-16 20:13:32 +00:00
tree-nested.h
tree-nrv.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-object-size.c PR tree-optimization/71831 - __builtin_object_size poor results with no 2016-09-01 20:14:50 -06:00
tree-object-size.h PR tree-optimization/71831 - __builtin_object_size poor results with no 2016-09-01 20:14:50 -06:00
tree-outof-ssa.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
tree-outof-ssa.h
tree-parloops.c ipa-inline-analysis.c (find_foldable_builtin_expect): Use gimple_call_internal_p. 2016-09-26 15:50:13 +00:00
tree-parloops.h
tree-pass.h GIMPLE store merging pass 2016-10-28 14:18:50 +00:00
tree-phinodes.c ssa-iterators.h (ssa_vuse_operand): New inline. 2016-08-18 07:21:11 +00:00
tree-phinodes.h ssa-iterators.h (ssa_vuse_operand): New inline. 2016-08-18 07:21:11 +00:00
tree-predcom.c tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only iterates 1 time. 2016-10-13 11:05:53 +00:00
tree-pretty-print.c Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
tree-pretty-print.h
tree-profile.c Introduce -fprofile-update=prefer-atomic 2016-11-14 12:09:48 +00:00
tree-scalar-evolution.c re PR tree-optimization/72772 (Missed SCEV after pass reordering@236440) 2016-08-09 15:01:49 +00:00
tree-scalar-evolution.h tree-scalar-evolution.c (simple_iv_with_niters): New funcion. 2016-07-15 09:04:57 +00:00
tree-sra.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-ssa-address.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-ssa-address.h
tree-ssa-alias.c re PR tree-optimization/78035 (Inconsistency between address comparison and alias analysis) 2016-11-02 08:29:48 +00:00
tree-ssa-alias.h re PR tree-optimization/78035 (Inconsistency between address comparison and alias analysis) 2016-11-02 08:29:48 +00:00
tree-ssa-ccp.c tree-ssa-propagate.h (substitute_and_fold): Adjust prototype. 2016-10-18 07:49:32 +00:00
tree-ssa-ccp.h Patch for performing interprocedural bitwise constant propagation. 2016-08-26 08:05:39 +00:00
tree-ssa-coalesce.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
tree-ssa-coalesce.h
tree-ssa-copy.c tree-ssa-propagate.h (substitute_and_fold): Adjust prototype. 2016-10-18 07:49:32 +00:00
tree-ssa-dce.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-ssa-dom.c fold-const.c (tree_swap_operands_p): Remove unused arg. 2016-11-09 15:15:28 +00:00
tree-ssa-dom.h
tree-ssa-dse.c Fix dump output in dse_optimize_stmt 2016-11-14 14:22:10 +00:00
tree-ssa-forwprop.c re PR tree-optimization/77399 (Poor code generation for vector casts and loads) 2016-10-04 13:40:54 +00:00
tree-ssa-ifcombine.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
tree-ssa-live.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-ssa-live.h
tree-ssa-loop-ch.c invoke.texi (max-loop-headers-insns): Document. 2016-06-08 14:11:51 +00:00
tree-ssa-loop-im.c re PR tree-optimization/78185 (Wrong branch optimization with -O1 on x86/x86_64) 2016-11-04 08:54:42 +00:00
tree-ssa-loop-ivcanon.c use auto_sbitmap in various places 2016-07-26 10:44:08 +00:00
tree-ssa-loop-ivopts.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
tree-ssa-loop-ivopts.h
tree-ssa-loop-manip.c use auto_sbitmap in various places 2016-07-26 10:44:08 +00:00
tree-ssa-loop-manip.h loop splitting 2016-10-20 12:18:32 +00:00
tree-ssa-loop-niter.c re PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes)) 2016-08-16 09:13:50 +00:00
tree-ssa-loop-niter.h re PR tree-optimization/72772 (Missed SCEV after pass reordering@236440) 2016-08-09 15:01:49 +00:00
tree-ssa-loop-prefetch.c re PR tree-optimization/77808 (ICE in duplicate_ssa_name_ptr_info, at tree-ssanames.c:630 starting with r240439) 2016-10-04 15:28:23 +00:00
tree-ssa-loop-split.c fix pr78060 pr78061 pr78088 2016-10-26 12:54:30 +00:00
tree-ssa-loop-unswitch.c re PR tree-optimization/23855 (loop header should also be pulled out of the inner loop too) 2016-08-17 08:11:32 +00:00
tree-ssa-loop.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
tree-ssa-loop.h
tree-ssa-math-opts.c tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg and cmpnop in two steps... 2016-11-14 18:55:05 +00:00
tree-ssa-operands.c Iterator to visit SSA 2016-09-15 02:03:51 +00:00
tree-ssa-operands.h
tree-ssa-phionlycprop.c
tree-ssa-phiopt.c re PR middle-end/78228 (fstrict-overflow breaks code without overflow?) 2016-11-07 12:25:09 +00:00
tree-ssa-phiprop.c re PR tree-optimization/71039 (ICE: verify_ssa failed (error: definition in block 4 does not dominate use in block 5) w/ -O1 and above) 2016-05-10 13:13:59 +00:00
tree-ssa-pre.c re PR tree-optimization/77855 (wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes)) 2016-10-06 12:17:53 +00:00
tree-ssa-propagate.c tree-ssa-propagate.h (substitute_and_fold): Adjust prototype. 2016-10-18 07:49:32 +00:00
tree-ssa-propagate.h tree-ssa-propagate.h (substitute_and_fold): Adjust prototype. 2016-10-18 07:49:32 +00:00
tree-ssa-reassoc.c fold-const.c (tree_swap_operands_p): Remove unused arg. 2016-11-09 15:15:28 +00:00
tree-ssa-sccvn.c fold-const.c (tree_swap_operands_p): Remove unused arg. 2016-11-09 15:15:28 +00:00
tree-ssa-sccvn.h re PR tree-optimization/71901 (ice in find_or_generate_expression) 2016-07-19 10:19:46 +00:00
tree-ssa-scopedtables.c
tree-ssa-scopedtables.h
tree-ssa-sink.c
tree-ssa-strlen.c Add inline functions for various bitwise operations. 2016-09-16 15:20:44 -04:00
tree-ssa-structalias.c re PR tree-optimization/78035 (Inconsistency between address comparison and alias analysis) 2016-11-02 08:29:48 +00:00
tree-ssa-tail-merge.c Do not merge BBs with a different EH landing pads (PR 2016-10-13 10:06:35 +00:00
tree-ssa-ter.c Iterator to visit SSA 2016-09-15 02:03:51 +00:00
tree-ssa-ter.h
tree-ssa-threadbackward.c tree-ssa-threadbackward.c (fsm_find_thread_path): Remove unneeded parameter. 2016-11-15 09:16:49 -07:00
tree-ssa-threadbackward.h
tree-ssa-threadedge.c fold-const.c (tree_swap_operands_p): Remove unused arg. 2016-11-09 15:15:28 +00:00
tree-ssa-threadedge.h
tree-ssa-threadupdate.c re PR tree-optimization/77424 (Identical statements in if-else branches) 2016-10-11 15:41:51 -06:00
tree-ssa-threadupdate.h
tree-ssa-uncprop.c
tree-ssa-uninit.c re PR middle-end/78295 (Spurious -Wuninitialized warning for vector element assignment) 2016-11-11 12:53:36 +00:00
tree-ssa.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-ssa.h
tree-ssanames.c Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
tree-ssanames.h Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 13:51:48 +00:00
tree-stdarg.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-stdarg.h
tree-streamer-in.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-streamer-out.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tree-streamer.c [PR lto/77458] Avoid ICE in offloading with differing _FloatN, _FloatNx types 2016-10-19 12:48:46 +02:00
tree-streamer.h cgraph.c (cgraph_node::verify_node): Compare against builtin by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE. 2016-07-25 12:35:08 +00:00
tree-switch-conversion.c
tree-tailcall.c
tree-vect-data-refs.c tree-vect-data-refs.c (vect_compute_data_ref_alignment): Look at the DR_BASE_ADDRESS object for forcing alignment. 2016-11-09 08:08:58 +00:00
tree-vect-generic.c re PR target/78102 (GCC refuses to generate PCMPEQQ instruction for SSE4.1) 2016-10-25 18:26:12 +02:00
tree-vect-loop-manip.c re PR tree-optimization/78005 (172.mgrid and 450.soplex miscompare) 2016-10-19 11:02:23 +00:00
tree-vect-loop.c tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr. 2016-11-03 09:15:45 +00:00
tree-vect-patterns.c re PR target/78102 (GCC refuses to generate PCMPEQQ instruction for SSE4.1) 2016-10-25 18:26:12 +02:00
tree-vect-slp.c re PR tree-optimization/78205 (BB vectorization confused by too large load groups) 2016-11-08 08:06:42 +00:00
tree-vect-stmts.c re PR target/78007 (Important loop from 482.sphinx3 is not vectorized) 2016-11-09 08:19:05 +00:00
tree-vectorizer.c ipa-inline-analysis.c (find_foldable_builtin_expect): Use gimple_call_internal_p. 2016-09-26 15:50:13 +00:00
tree-vectorizer.h re PR middle-end/37150 (basic-block vectorization misses some unrolled loops) 2016-11-07 08:06:08 +00:00
tree-vrp.c tree-vrp.c (evrp_dom_walker::before_dom_children): Call infer_value_range on stmt ops and update value-ranges. 2016-11-02 08:11:48 +00:00
tree-vrp.h Fix ipa-vrp convert value_range 2016-09-27 03:41:14 +00:00
tree.c Remove a TODO from verify_type_variant 2016-11-07 19:30:26 +01:00
tree.def Fix CASE_CHAIN typos 2016-06-13 18:10:35 +02:00
tree.h Use type_hash_eq langhook in check_qualified_type. 2016-11-03 15:52:58 -04:00
treestruct.def
tsan.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
tsan.h
tsystem.h
typeclass.h
typed-splay-tree.c Improvements to typed_splay_tree 2016-09-02 15:22:21 +00:00
typed-splay-tree.h Improvements to typed_splay_tree 2016-09-02 15:22:21 +00:00
ubsan.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
ubsan.h
valtrack.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
valtrack.h
value-prof.c c-common.c (c_common_truthvalue_conversion): Warn for multiplications in boolean context. 2016-10-24 17:14:41 +00:00
value-prof.h Make direct emission of time profiler counter 2016-11-03 15:24:22 +00:00
var-tracking.c Move MEMMODEL_* from coretypes.h to memmodel.h 2016-10-13 14:17:52 +00:00
varasm.c make LABEL_REF_LABEL a rtx_insn * 2016-10-21 12:32:56 +00:00
varasm.h
varpool.c omp-low.c (lower_omp_target): Fix up argument to is_reference. 2016-11-10 12:38:05 +01:00
vec.c Selftest framework 2016-06-06 17:11:30 +00:00
vec.h vec.h (vNULL): Extend comment to say = vNULL initialization isn't needed for static vars. 2016-09-23 18:59:14 +02:00
version.c
version.h
vmsdbg.h
vmsdbgout.c Fix gcc/vmsdbgout.c:vmsdbg_debug_hooks for "More trivial bits from early LTO debug merge" 2016-10-12 15:08:53 +02:00
vtable-verify.c tree-ssa.c (target_for_debug_bind, [...]): Use VAR_P and/or VAR_OR_FUNCTION_DECL_P macros. 2016-10-09 13:19:48 +02:00
vtable-verify.h
web.c
wide-int-print.cc builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1... 2016-07-19 18:40:55 +02:00
wide-int-print.h
wide-int.cc builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1... 2016-07-19 18:40:55 +02:00
wide-int.h builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1... 2016-07-19 18:40:55 +02:00
xcoff.h
xcoffout.c
xcoffout.h

README.Portability

Copyright (C) 2000-2016 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 now 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.


Avoid unnecessary test before free
----------------------------------

Since SunOS 4 stopped being a reasonable portability target,
(which happened around 2007) there has been no need to guard
against "free (NULL)".  Thus, any guard like the following
constitutes a redundant test:

  if (P)
    free (P);

It is better to avoid the test.[*]
Instead, simply free P, regardless of whether it is NULL.

[*] However, if your profiling exposes a test like this in a
performance-critical loop, say where P is nearly always NULL, and
the cost of calling free on a NULL pointer would be prohibitively
high, consider using __builtin_expect, e.g., like this:

  if (__builtin_expect (ptr != NULL, 0))
    free (ptr);



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.