gcc/gcc
Ronan Desplanques 2df253f35e ada: Fix standard output stream for gnatcmd output
Before this patch, the gnat command sent to standard error pieces of
information that are a better match for standard output. This patch
makes this information go to standard output.

gcc/ada/

	* gnatcmd.adb (GNATCmd): Fix standard output stream.
2024-09-02 10:22:50 +02:00
..
ada ada: Fix standard output stream for gnatcmd output 2024-09-02 10:22:50 +02:00
analyzer Daily bump. 2024-07-25 00:19:51 +00:00
c Daily bump. 2024-09-01 00:25:25 +00:00
c-family Daily bump. 2024-09-01 00:25:25 +00:00
common Initial support for AVX10.2 2024-08-12 15:30:07 +08:00
config [PATCH] RISC-V: Optimize the cost of the DFmode register move for RV32. 2024-09-01 22:28:38 -06:00
cp Daily bump. 2024-09-01 00:25:25 +00:00
d Daily bump. 2024-07-22 00:16:38 +00:00
doc c: Add support for unsequenced and reproducible attributes 2024-08-31 15:58:23 +02:00
fortran Daily bump. 2024-09-01 00:25:25 +00:00
ginclude
go compiler: don't assume that ATTRIBUTE_UNUSED is defined 2024-08-07 13:31:25 -07:00
jit Daily bump. 2024-07-25 00:19:51 +00:00
lto
m2 Daily bump. 2024-08-31 00:18:22 +00:00
objc
objcp
po Daily bump. 2024-08-29 00:19:25 +00:00
rtl-ssa late-combine: Preserve INSN_CODE when modifying notes [PR116343] 2024-08-15 16:54:02 +01:00
rust Daily bump. 2024-08-13 00:18:32 +00:00
testsuite ranger: Fix up range computation for CLZ [PR116486] 2024-09-02 09:44:09 +02:00
text-art
ABOUT-GCC-NLS
acinclude.m4
aclocal.m4
addresses.h
adjust-alignment.cc
alias.cc
alias.h
align.h
alloc-pool.cc
alloc-pool.h
array-traits.h
asan.cc ASAN: call initialize_sanitizer_builtins for hwasan [PR115205] 2024-08-20 17:16:06 -07:00
asan.h
attr-fnspec.h
attribs.cc
attribs.h
auto-inc-dec.cc
auto-profile.cc
auto-profile.h
backend.h
BASE-VER
basic-block.h
bb-reorder.cc
bb-reorder.h
bbitmap.h Add new bbitmap<N> class 2024-07-24 16:54:52 +01:00
bitmap.cc
bitmap.h
btfout.cc
builtin-attrs.def
builtin-types.def
builtins.cc expand: Small speed up expansion of __builtin_prefetch 2024-08-30 07:09:07 -07:00
builtins.def OpenMP: Constructors and destructors for "declare target" static aggregates 2024-08-07 19:31:19 +02:00
builtins.h
caller-save.cc
calls.cc c: Add support for unsequenced and reproducible attributes 2024-08-31 15:58:23 +02:00
calls.h
ccmp.cc
ccmp.h
cfg-flags.def
cfg.cc
cfg.h
cfganal.cc
cfganal.h
cfgbuild.cc
cfgbuild.h
cfgcleanup.cc
cfgcleanup.h
cfgexpand.cc optabs-query: Use opt_machine_mode for smallest_int_mode_for_size [PR115495]. 2024-08-23 11:36:05 +02:00
cfgexpand.h
cfghooks.cc
cfghooks.h
cfgloop.cc
cfgloop.h
cfgloopanal.cc
cfgloopmanip.cc
cfgloopmanip.h
cfgrtl.cc
cfgrtl.h
cgraph.cc
cgraph.h
cgraphbuild.cc
cgraphclones.cc
cgraphunit.cc
ChangeLog Daily bump. 2024-09-02 00:16:51 +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-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
ChangeLog-2021
ChangeLog-2022
ChangeLog-2023
ChangeLog.dataflow
ChangeLog.gimple-classes
ChangeLog.graphite
ChangeLog.jit
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
cif-code.def
collect2-aix.cc
collect2-aix.h
collect2.cc
collect2.h
collect-utils.cc
collect-utils.h
color-macros.h
combine-stack-adj.cc
combine.cc combine.cc (make_more_copies): Copy attributes from the original pseudo, PR115883 2024-08-27 01:07:24 +02:00
common.md
common.opt diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
common.opt.urls diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
compare-elim.cc
conditions.h
config.build
config.gcc AVR: Outsource code for avr-specific passes to new avr-passes.cc. 2024-08-29 12:46:42 +02:00
config.host
config.in RISC-V: Add configure check for B extention support 2024-07-30 10:56:58 -07:00
configure Fix bootstap-errors due to enabling -gvariable-location-views 2024-08-26 15:41:06 +02:00
configure.ac Fix bootstap-errors due to enabling -gvariable-location-views 2024-08-26 15:41:06 +02:00
context.cc
context.h
convert.cc
convert.h
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
coretypes.h diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
coroutine-builtins.def
coroutine-passes.cc c++: don't remove labels during coro-early-expand-ifns [PR105104] 2024-08-29 13:53:33 +02:00
coverage.cc optabs-query: Use opt_machine_mode for smallest_int_mode_for_size [PR115495]. 2024-08-23 11:36:05 +02:00
coverage.h
cppbuiltin.cc
cppbuiltin.h
cppdefault.cc
cppdefault.h
cprop.cc
cse.cc
cselib.cc [v2] rtl-optimization/116002 - cselib hash is bad 2024-07-23 09:34:27 +02:00
cselib.h
cstamp-h.in
ctfc.cc
ctfc.h
ctfout.cc
data-streamer-in.cc Partially support streaming of poly_int for offloading. 2024-08-07 23:48:08 +05:30
data-streamer-out.cc
data-streamer.cc Partially support streaming of poly_int for offloading. 2024-08-07 23:48:08 +05:30
data-streamer.h Partially support streaming of poly_int for offloading. 2024-08-07 23:48:08 +05:30
DATESTAMP Daily bump. 2024-09-02 00:16:51 +00:00
dbgcnt.cc
dbgcnt.def Add debug counter for ext_dce 2024-07-17 09:40:10 -07:00
dbgcnt.h
dce.cc
dce.h
ddg.cc
ddg.h
debug.cc
debug.h
defaults.h
DEV-PHASE
df-core.cc
df-problems.cc
df-scan.cc
df.h
dfp.cc
dfp.h
diagnostic-client-data-hooks.h
diagnostic-color.cc diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
diagnostic-color.h
diagnostic-core.h
diagnostic-diagram.h
diagnostic-event-id.h SARIF output: implement embedded URLs in messages (§3.11.6; PR other/116419) 2024-08-29 18:48:32 -04:00
diagnostic-format-json.cc diagnostics: move output formats from diagnostic.{c,h} to their own files 2024-08-26 12:24:22 -04:00
diagnostic-format-sarif.cc SARIF output: implement embedded URLs in messages (§3.11.6; PR other/116419) 2024-08-29 18:48:32 -04:00
diagnostic-format-sarif.h diagnostics: SARIF output: use std::unique_ptr throughout 2024-07-24 18:07:53 -04:00
diagnostic-format-text.cc diagnostics: move output formats from diagnostic.{c,h} to their own files 2024-08-26 12:24:22 -04:00
diagnostic-format-text.h diagnostics: move output formats from diagnostic.{c,h} to their own files 2024-08-26 12:24:22 -04:00
diagnostic-format.h diagnostics: move output formats from diagnostic.{c,h} to their own files 2024-08-26 12:24:22 -04:00
diagnostic-global-context.cc diagnostics: move output formats from diagnostic.{c,h} to their own files 2024-08-26 12:24:22 -04:00
diagnostic-highlight-colors.h diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
diagnostic-label-effects.h
diagnostic-macro-unwinding.cc
diagnostic-macro-unwinding.h
diagnostic-metadata.h
diagnostic-path.cc diagnostics: handle logical locations with NULL name 2024-07-31 20:38:41 -04:00
diagnostic-path.h
diagnostic-show-locus.cc diagnostics: SARIF output: potentially add escaped renderings of source (§3.3.4) 2024-07-24 18:07:54 -04:00
diagnostic-spec.cc c++/modules: Stream warning suppressions [PR115757] 2024-07-26 14:55:36 +10:00
diagnostic-spec.h c++/modules: Stream warning suppressions [PR115757] 2024-07-26 14:55:36 +10:00
diagnostic-url.h
diagnostic.cc pretty-print: reimplement pp_format with a new struct pp_token 2024-08-29 18:48:27 -04:00
diagnostic.def
diagnostic.h diagnostics: move output formats from diagnostic.{c,h} to their own files 2024-08-26 12:24:22 -04:00
digraph.cc
digraph.h
dojump.cc
dojump.h
dominance.cc
dominance.h
domwalk.cc
domwalk.h
double-int.cc
double-int.h
dse.cc Make some smallest_int_mode_for_size calls cope with failure 2024-08-29 14:00:23 +01:00
dump-context.h pretty-print: reimplement pp_format with a new struct pp_token 2024-08-29 18:48:27 -04:00
dumpfile.cc pretty-print: reimplement pp_format with a new struct pp_token 2024-08-29 18:48:27 -04:00
dumpfile.h
dwarf2asm.cc
dwarf2asm.h
dwarf2cfi.cc
dwarf2codeview.cc Write LF_MFUNC_ID types for CodeView struct member functions 2024-08-29 02:53:09 +01:00
dwarf2codeview.h Record member functions in CodeView struct definitions 2024-08-29 02:53:08 +01:00
dwarf2ctf.cc
dwarf2ctf.h
dwarf2out.cc Handle namespaced names for CodeView 2024-08-29 02:53:08 +01:00
dwarf2out.h Handle namespaced names for CodeView 2024-08-29 02:53:08 +01:00
early-remat.cc
edit-context.cc
edit-context.h
emit-rtl.cc
emit-rtl.h
errors.cc
errors.h
escaped_string.h
et-forest.cc
et-forest.h
except.cc Avoid cfg corruption when using sjlj exceptions where loops are present in the assign_params emitted code. 2024-08-12 11:06:17 +01:00
except.h
exec-tool.in gcc: Make exec-tool.in handle missing Binutils more gracefully 2024-07-28 20:02:23 +01:00
explow.cc
explow.h
expmed.cc optabs-query: Use opt_machine_mode for smallest_int_mode_for_size [PR115495]. 2024-08-23 11:36:05 +02:00
expmed.h
expr.cc Optimize initialization of small padded objects 2024-08-31 06:03:12 -03:00
expr.h Optimize initialization of small padded objects 2024-08-31 06:03:12 -03:00
ext-dce.cc [committed][PR rtl-optimization/116544] Fix test for promoted subregs 2024-09-01 22:18:29 -06:00
fibonacci_heap.cc
fibonacci_heap.h
file-find.cc
file-find.h
file-prefix-map.cc
file-prefix-map.h
final.cc final: go down ASHIFT in walk_alter_subreg 2024-08-27 15:31:28 +02:00
fixed-value.cc
fixed-value.h
flag-types.h
flags.h
fold-const-call.cc
fold-const-call.h
fold-const.cc Optimize initialization of small padded objects 2024-08-31 06:03:12 -03:00
fold-const.h
fold-mem-offsets.cc
fp-test.cc
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
function-abi.cc
function-abi.h
function-tests.cc
function.cc Fix pro_and_epilogue for sibcalls at -O0 (PR115255) 2024-07-17 21:24:47 -07:00
function.h Enable musttail tail conversion even when not optimizing 2024-07-17 21:25:27 -07:00
fwprop.cc rtl-ssa: Define INCLUDE_ARRAY 2024-07-25 13:25:32 +01:00
gcc-ar.cc
gcc-main.cc
gcc-plugin.h
gcc-rich-location.cc diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
gcc-rich-location.h diagnostics: SARIF output: potentially add escaped renderings of source (§3.3.4) 2024-07-24 18:07:54 -04:00
gcc-symtab.h
gcc-urlifier.cc
gcc-urlifier.def
gcc-urlifier.h
gcc.cc Don't remove /usr/lib and /lib from when passing to the linker [PR97304/104707] 2024-08-30 07:10:13 -07:00
gcc.h
gcov-counter.def
gcov-dump.cc
gcov-io.cc
gcov-io.h
gcov-tool.cc
gcov.cc json: support std::unique_ptr in array::append and object::set 2024-07-24 18:07:53 -04:00
gcse-common.cc
gcse-common.h
gcse.cc
gcse.h
gdbasan.in
gdbhooks.py gdbhooks: Fix printing of vec with vl_ptr layout 2024-08-30 15:29:34 +01:00
gdbinit.in
gen-pass-instances.awk
genattr-common.cc
genattr.cc
genattrtab.cc genattrtab: Drop enum tags, consolidate type names 2024-07-17 19:34:46 +01:00
genautomata.cc
gencfn-macros.cc
gencheck.cc
genchecksum.cc
gencodes.cc
genconditions.cc
genconfig.cc
genconstants.cc
genemit.cc genemit: Fix handling of explicit parallels for clobbers [PR116058] 2024-08-02 09:36:42 -07:00
genenums.cc
generic-match-head.cc
generic-match.h
genextract.cc
genflags.cc
gengenrtl.cc
gengtype-lex.l
gengtype-parse.cc
gengtype-state.cc
gengtype.cc
gengtype.h
genhooks.cc
genmatch.cc
genmddeps.cc
genmddump.cc
genmodes.cc
genmultilib
genopinit.cc
genoutput.cc genoutput: Accelerate the place_operands function. 2024-08-14 14:01:05 +08:00
genpeep.cc
genpreds.cc
genrecog.cc
gensupport.cc
gensupport.h
gentarget-def.cc
genversion.cc
ggc-common.cc
ggc-internal.h
ggc-none.cc
ggc-page.cc
ggc-tests.cc
ggc.h
gimple-array-bounds.cc
gimple-array-bounds.h
gimple-builder.cc
gimple-builder.h
gimple-expr.cc Don't call clean_symbol_name in create_tmp_var_name [PR116219] 2024-08-07 20:14:31 +02:00
gimple-expr.h
gimple-fold.cc Optimize initialization of small padded objects 2024-08-31 06:03:12 -03:00
gimple-fold.h forwprop: Also dce from added statements from gimple_simplify 2024-08-18 00:10:13 -07:00
gimple-harden-conditionals.cc
gimple-harden-control-flow.cc
gimple-if-to-switch.cc
gimple-isel.cc isel: Don't duplicate comparisons for -O0 nor -fno-tree-ter [PR116101] 2024-07-26 09:52:38 -07:00
gimple-iterator.cc
gimple-iterator.h
gimple-laddress.cc
gimple-loop-interchange.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
gimple-loop-jam.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
gimple-loop-versioning.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
gimple-low.cc
gimple-low.h
gimple-lower-bitint.cc bitint: Use gsi_insert_on_edge rather than gsi_insert_on_edge_immediate [PR115887] 2024-07-17 17:32:21 +02:00
gimple-lower-bitint.h
gimple-match-exports.cc match: Reject non-ssa name/min invariants in gimple_extract [PR116412] 2024-08-20 15:05:37 -07:00
gimple-match-head.cc
gimple-match.h PHIOPT: move factor_out_conditional_operation over to use gimple_match_op 2024-08-18 11:21:39 -07:00
gimple-predicate-analysis.cc
gimple-predicate-analysis.h
gimple-predict.h
gimple-pretty-print.cc
gimple-pretty-print.h
gimple-range-cache.cc Limit equivalency processing in rangers cache. 2024-08-09 14:49:46 -04:00
gimple-range-cache.h
gimple-range-edge.cc
gimple-range-edge.h
gimple-range-fold.cc
gimple-range-fold.h
gimple-range-gori.cc Adjust rangers recomputation depth based on the number of BBs. 2024-08-09 14:49:46 -04:00
gimple-range-gori.h Adjust rangers recomputation depth based on the number of BBs. 2024-08-09 14:49:46 -04:00
gimple-range-infer.cc
gimple-range-infer.h
gimple-range-op.cc ranger: Fix up range computation for CLZ [PR116486] 2024-09-02 09:44:09 +02:00
gimple-range-op.h
gimple-range-path.cc
gimple-range-path.h
gimple-range-phi.cc
gimple-range-phi.h
gimple-range-tests.cc
gimple-range-trace.cc
gimple-range-trace.h
gimple-range.cc
gimple-range.h
gimple-ssa-backprop.cc
gimple-ssa-isolate-paths.cc
gimple-ssa-nonnull-compare.cc
gimple-ssa-sccopy.cc gimple ssa: Put SCCOPY logic into a class 2024-08-06 15:19:11 +02:00
gimple-ssa-split-paths.cc
gimple-ssa-sprintf.cc gimple-ssa-sprintf: Fix typo in range check 2024-07-26 13:34:11 -04:00
gimple-ssa-store-merging.cc
gimple-ssa-strength-reduction.cc slsr: Use simple_dce_from_worklist in SLSR [PR116554] 2024-08-31 23:42:59 -07:00
gimple-ssa-warn-access.cc
gimple-ssa-warn-access.h
gimple-ssa-warn-alloca.cc
gimple-ssa-warn-restrict.cc
gimple-ssa-warn-restrict.h
gimple-ssa.h
gimple-streamer-in.cc
gimple-streamer-out.cc
gimple-streamer.h
gimple-walk.cc
gimple-walk.h
gimple-warn-recursion.cc
gimple.cc
gimple.def
gimple.h
gimplify-me.cc
gimplify-me.h
gimplify.cc Optimize initialization of small padded objects 2024-08-31 06:03:12 -03:00
gimplify.h
glimits.h
godump.cc
graph.cc
graph.h
graphds.cc
graphds.h
graphite-dependences.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
graphite-isl-ast-to-gimple.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
graphite-optimize-isl.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
graphite-poly.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
graphite-scop-detection.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
graphite-sese-to-poly.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
graphite.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
graphite.h
graphviz.cc
graphviz.h
gsstruct.def
gsyms.h
gsyslimits.h
gtm-builtins.def
haifa-sched.cc
hard-reg-set.h
hash-map-tests.cc
hash-map-traits.h
hash-map.h
hash-set-tests.cc
hash-set.h
hash-table.cc
hash-table.h
hash-traits.h
highlev-plugin-common.h
hooks.cc
hooks.h
host-default.cc
hosthooks-def.h
hosthooks.h
hw-doloop.cc
hw-doloop.h
hwint.cc
hwint.h
ifcvt.cc ifcvt: Do not overwrite results in noce_convert_multiple_sets [PR116372, PR116405] 2024-08-23 20:19:55 +02:00
ifcvt.h ifcvt: Handle multiple rewired regs and refactor noce_convert_multiple_sets 2024-08-12 14:57:22 +02:00
inchash.cc
inchash.h constify inchash 2024-07-22 13:00:30 +02:00
incpath.cc
incpath.h
init-regs.cc
input.cc
input.h
insn-addr.h
insn-notes.def
int-vector-builder.h
internal-fn.cc expand: Allow widdening optab when expanding popcount==1 [PR116508] 2024-08-29 08:24:45 -07:00
internal-fn.def optabs/rs6000: Rename iorc and andc to iorn and andn 2024-07-24 07:53:23 -07:00
internal-fn.h
intl.cc
intl.h
ipa-comdats.cc
ipa-cp.cc
ipa-cp.h
ipa-devirt.cc
ipa-fnsummary.cc
ipa-fnsummary.h
ipa-free-lang-data.cc
ipa-icf-gimple.cc Compare loop bounds in ipa-icf 2024-07-22 18:01:57 +02:00
ipa-icf-gimple.h
ipa-icf.cc
ipa-icf.h
ipa-inline-analysis.cc
ipa-inline-transform.cc
ipa-inline.cc
ipa-inline.h
ipa-modref-tree.cc
ipa-modref-tree.h
ipa-modref.cc Fix ICE with -fdump-tree-moref 2024-07-29 10:49:49 +02:00
ipa-modref.h
ipa-param-manipulation.cc
ipa-param-manipulation.h
ipa-polymorphic-call.cc
ipa-predicate.cc
ipa-predicate.h
ipa-profile.cc
ipa-prop.cc Fix accounting of offsets in unadjusted_ptr_and_unit_offset 2024-07-22 18:05:26 +02:00
ipa-prop.h
ipa-pure-const.cc
ipa-ref.cc
ipa-ref.h
ipa-reference.cc
ipa-reference.h
ipa-split.cc
ipa-sra.cc
ipa-strub.cc
ipa-strub.h
ipa-utils.cc
ipa-utils.h
ipa-visibility.cc
ipa.cc
ira-build.cc
ira-color.cc
ira-conflicts.cc
ira-costs.cc
ira-emit.cc
ira-int.h
ira-lives.cc
ira.cc IRA: Ignore debug insns for uses in split_live_ranges_for_shrink_wrap. [PR116179] 2024-08-04 19:44:29 -07:00
ira.h
is-a.h
iterator-utils.h
json.cc json: support std::unique_ptr in array::append and object::set 2024-07-24 18:07:53 -04:00
json.h json.h: fix typo in comment 2024-08-26 12:24:21 -04:00
jump.cc
langhooks-def.h
langhooks.cc
langhooks.h
LANGUAGES
late-combine.cc late-combine: Preserve INSN_CODE when modifying notes [PR116343] 2024-08-15 16:54:02 +01:00
lcm.cc
lcm.h
libfuncs.h
limitx.h
limity.h
lists.cc
lock-and-run.sh
logical-location.h
loop-doloop.cc
loop-init.cc
loop-invariant.cc
loop-iv.cc
loop-unroll.cc
loop-unroll.h
lower-subreg.cc [PATCH] Re-add calling emit_clobber in lower-subreg.cc's resolve_simple_move. 2024-08-25 11:22:21 -06:00
lower-subreg.h
lra-assigns.cc
lra-coalesce.cc
lra-constraints.cc lra: Don't apply eliminations to allocated registers [PR116321] 2024-08-27 09:48:28 +01:00
lra-eliminations.cc LRA: Don't use 0 as initialization for sp_offset 2024-08-27 15:31:28 +02:00
lra-int.h
lra-lives.cc
lra-remat.cc
lra-spills.cc
lra.cc LRA: Fix setup_sp_offset 2024-08-27 15:31:28 +02:00
lra.h
lto-cgraph.cc
lto-compress.cc
lto-compress.h
lto-opts.cc
lto-section-in.cc
lto-section-names.h
lto-section-out.cc
lto-streamer-in.cc Recompute TYPE_MODE and DECL_MODE for aggregate type for acclerator. 2024-08-22 19:25:20 +05:30
lto-streamer-out.cc Partially support streaming of poly_int for offloading. 2024-08-07 23:48:08 +05:30
lto-streamer.cc
lto-streamer.h [PR115394] Remove streamer_debugging and it's uses. 2024-07-10 17:09:01 +05:30
lto-wrapper.cc diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
machmode.def
machmode.h optabs-query: Use opt_machine_mode for smallest_int_mode_for_size [PR115495]. 2024-08-23 11:36:05 +02:00
main.cc
make-unique.h
Makefile.in diagnostics: move output formats from diagnostic.{c,h} to their own files 2024-08-26 12:24:22 -04:00
match.pd i386: Optimize ordered and nonequal 2024-09-02 10:24:31 +08:00
mcf.cc
mem-stats-traits.h
mem-stats.h
memmodel.h
memory-block.cc
memory-block.h
mkconfig.sh
mode-classes.def
mode-switching.cc
modulo-sched.cc
multiple_target.cc
mux-utils.h
obstack-utils.h
omp-api.h
omp-builtins.def OpenMP: Constructors and destructors for "declare target" static aggregates 2024-08-07 19:31:19 +02:00
omp-expand.cc
omp-expand.h
omp-general.cc
omp-general.h
omp-low.cc
omp-low.h
omp-oacc-kernels-decompose.cc
omp-oacc-neuter-broadcast.cc
omp-offload.cc omp-offload.cc: Fix value-expr handling of 'declare target link' vars [PR115637] 2024-08-01 09:06:32 +02:00
omp-offload.h
omp-selectors.h
omp-simd-clone.cc
omp-simd-clone.h
ONEWS
opt-functions.awk
opt-gather.awk
opt-include.awk
opt-problem.cc pretty-print: reimplement pp_format with a new struct pp_token 2024-08-29 18:48:27 -04:00
opt-problem.h
opt-read.awk
opt-suggestions.cc Avoid undefined behaviour in build_option_suggestions 2024-07-20 07:53:23 -04:00
opt-suggestions.h
optabs-libfuncs.cc expr: Allow same precision modes conversion between {ibm_extended, ieee_quad}_format 2024-07-17 00:14:18 -05:00
optabs-libfuncs.h
optabs-query.cc optabs-query: Use opt_machine_mode for smallest_int_mode_for_size [PR115495]. 2024-08-23 11:36:05 +02:00
optabs-query.h
optabs-tree.cc
optabs-tree.h
optabs.cc Make some smallest_int_mode_for_size calls cope with failure 2024-08-29 14:00:23 +01:00
optabs.def optabs/rs6000: Rename iorc and andc to iorn and andn 2024-07-24 07:53:23 -07:00
optabs.h
optc-gen.awk
optc-save-gen.awk [optc-save-gen.awk] Fix streaming of command line options for offloading. 2024-08-20 12:58:54 +05:30
opth-gen.awk
optinfo-emit-json.cc json: support std::unique_ptr in array::append and object::set 2024-07-24 18:07:53 -04:00
optinfo-emit-json.h
optinfo.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
optinfo.h Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
options-urls-cc-gen.awk
opts-common.cc diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
opts-diagnostic.h
opts-global.cc diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
opts-jobserver.h
opts.cc diagnostics: move output formats from diagnostic.{c,h} to their own files 2024-08-26 12:24:22 -04:00
opts.h
ordered-hash-map-tests.cc
ordered-hash-map.h
output.h
pair-fusion.cc rtl-ssa: Define INCLUDE_ARRAY 2024-07-25 13:25:32 +01:00
pair-fusion.h
params.opt
params.opt.urls
pass_manager.h
passes.cc
passes.def Rewrite usage comment at the top of 'gcc/passes.def' 2024-07-19 21:55:23 +02:00
plugin.cc
plugin.def
plugin.h
pointer-query.cc
pointer-query.h
poly-int-types.h
poly-int.h Partially support streaming of poly_int for offloading. 2024-08-07 23:48:08 +05:30
postreload-gcse.cc
postreload.cc
predict.cc
predict.def
predict.h
prefix.cc
prefix.h
pretty-print-format-impl.h SARIF output: implement embedded URLs in messages (§3.11.6; PR other/116419) 2024-08-29 18:48:32 -04:00
pretty-print-markup.h pretty-print: reimplement pp_format with a new struct pp_token 2024-08-29 18:48:27 -04:00
pretty-print-urlifier.h pretty-print: reimplement pp_format with a new struct pp_token 2024-08-29 18:48:27 -04:00
pretty-print.cc SARIF output: implement embedded URLs in messages (§3.11.6; PR other/116419) 2024-08-29 18:48:32 -04:00
pretty-print.h pretty-print: reimplement pp_format with a new struct pp_token 2024-08-29 18:48:27 -04:00
print-rtl-function.cc
print-rtl.cc
print-rtl.h
print-tree.cc
print-tree.h
profile-count.cc
profile-count.h
profile.cc
profile.h
range-op-float.cc
range-op-mixed.h
range-op-ptr.cc range-ops should return the requested boolean type. 2024-07-16 17:22:10 -04:00
range-op.cc
range-op.h
range.cc
range.h
read-md.cc
read-md.h
read-rtl-function.cc
read-rtl-function.h
read-rtl.cc rtl: Enable the use of rtx values with int and mode attributes 2024-08-19 09:46:11 +01:00
README.Portability
real.cc
real.h
realmpfr.cc
realmpfr.h
recog.cc late-combine: Preserve INSN_CODE when modifying notes [PR116343] 2024-08-15 16:54:02 +01:00
recog.h late-combine: Preserve INSN_CODE when modifying notes [PR116343] 2024-08-15 16:54:02 +01:00
ree.cc
reg-notes.def
reg-stack.cc
regcprop.cc
regcprop.h
regenerate-opt-urls.py
reginfo.cc
regrename.cc
regrename.h
regs.h
regset.h
regstat.cc
reload1.cc
reload.cc [committed][PR rtl-optimization/116199] Fix latent bug in reload's SUBREG handling 2024-08-04 13:11:59 -06:00
reload.h
reorg.cc
resource.cc
resource.h
rtl-error.cc
rtl-error.h
rtl-iter.h
rtl-ssa.h rtl-ssa: Define INCLUDE_ARRAY 2024-07-25 13:25:32 +01:00
rtl-tests.cc
rtl.cc
rtl.def
rtl.h Handle arithmetic on eliminated address indices [PR116413] 2024-08-27 09:48:28 +01:00
rtlanal.cc Allow subregs around constant displacements [PR116516] 2024-08-29 14:00:23 +01:00
rtlanal.h
rtlhash.cc
rtlhash.h
rtlhooks-def.h
rtlhooks.cc
rtx-vector-builder.cc
rtx-vector-builder.h
run-rtl-passes.cc
run-rtl-passes.h
sancov.cc
sanitizer.def
sanopt.cc
sbitmap.cc
sbitmap.h
sched-deps.cc
sched-ebb.cc
sched-int.h
sched-rgn.cc
sel-sched-dump.cc
sel-sched-dump.h
sel-sched-ir.cc
sel-sched-ir.h
sel-sched.cc
sel-sched.h
selftest-diagnostic-path.cc
selftest-diagnostic-path.h
selftest-diagnostic-show-locus.h diagnostics: SARIF output: potentially add escaped renderings of source (§3.3.4) 2024-07-24 18:07:54 -04:00
selftest-diagnostic.cc diagnostics: SARIF output: capture #include information (PR 107941; §3.34) 2024-07-26 20:37:31 -04:00
selftest-diagnostic.h diagnostics: add selftests for SARIF output 2024-07-24 18:07:56 -04:00
selftest-json.cc diagnostics: add selftests for SARIF output 2024-07-24 18:07:56 -04:00
selftest-json.h diagnostics: add selftests for SARIF output 2024-07-24 18:07:56 -04:00
selftest-logical-location.cc
selftest-logical-location.h
selftest-rtl.cc
selftest-rtl.h
selftest-run-tests.cc diagnostics: SARIF output: potentially add escaped renderings of source (§3.3.4) 2024-07-24 18:07:54 -04:00
selftest-tree.h
selftest.cc
selftest.h diagnostics: SARIF output: potentially add escaped renderings of source (§3.3.4) 2024-07-24 18:07:54 -04:00
sese.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
sese.h
shortest-paths.h
shrink-wrap.cc
shrink-wrap.h
signop.h
simple-diagnostic-path.cc
simple-diagnostic-path.h
simplify-rtx.cc [PR rtl-optimization/116136] Fix previously latent SUBREG simplification bug 2024-07-31 10:16:59 -06:00
sort.cc
sparseset.cc
sparseset.h
spellcheck-tree.cc
spellcheck-tree.h
spellcheck.cc
spellcheck.h
splay-tree-utils.cc
splay-tree-utils.h Use splay-tree-utils.h in tree-ssa-sccvn [PR30920] 2024-08-12 10:52:29 +01:00
splay-tree-utils.tcc Use splay-tree-utils.h in tree-ssa-sccvn [PR30920] 2024-08-12 10:52:29 +01:00
sreal.cc
sreal.h
ssa-iterators.h
ssa.h
stack-ptr-mod.cc
statistics.cc
statistics.h
stmt.cc
stmt.h
stor-layout.cc optabs-query: Use opt_machine_mode for smallest_int_mode_for_size [PR115495]. 2024-08-23 11:36:05 +02:00
stor-layout.h Recompute TYPE_MODE and DECL_MODE for aggregate type for acclerator. 2024-08-22 19:25:20 +05:30
store-motion.cc
streamer-hooks.cc
streamer-hooks.h
stringpool.cc
stringpool.h
substring-locations.cc diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
substring-locations.h diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
symbol-summary.h
symtab-clones.cc
symtab-clones.h
symtab-thunks.cc
symtab-thunks.h
symtab.cc
sync-builtins.def
system.h
target-def.h
target-globals.cc
target-globals.h
target-hooks-macros.h
target-insns.def
target.def Add TARGET_MODE_CAN_TRANSFER_BITS 2024-08-01 12:27:04 +02:00
target.h Add TARGET_MODE_CAN_TRANSFER_BITS 2024-08-01 12:27:04 +02:00
targhooks.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
targhooks.h middle-end: Implement conditonal store vectorizer pattern [PR115531] 2024-07-22 10:26:21 +01:00
text-range-label.h diagnostics: SARIF output: potentially add escaped renderings of source (§3.3.4) 2024-07-24 18:07:54 -04:00
timevar.cc json: support std::unique_ptr in array::append and object::set 2024-07-24 18:07:53 -04:00
timevar.def
timevar.h
toplev.cc RISC-V: Enable -gvariable-location-views by default 2024-08-22 12:40:07 +02:00
toplev.h
tracer.cc
tracer.h
trans-mem.cc
trans-mem.h
tree-affine.cc
tree-affine.h
tree-call-cdce.cc
tree-cfg.cc Enable musttail tail conversion even when not optimizing 2024-07-17 21:25:27 -07:00
tree-cfg.h
tree-cfgcleanup.cc
tree-cfgcleanup.h
tree-chrec.cc
tree-chrec.h
tree-complex.cc tree-optimization/116463 - complex lowering leaves around dead stmts 2024-08-23 14:37:27 +02:00
tree-core.h middle-end: Remove integer_three_node [PR116537] 2024-08-30 07:09:07 -07:00
tree-data-ref.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-data-ref.h
tree-dfa.cc
tree-dfa.h
tree-diagnostic-client-data-hooks.cc json: support std::unique_ptr in array::append and object::set 2024-07-24 18:07:53 -04:00
tree-diagnostic.cc pretty-print: reimplement pp_format with a new struct pp_token 2024-08-29 18:48:27 -04:00
tree-diagnostic.h pretty-print: reimplement pp_format with a new struct pp_token 2024-08-29 18:48:27 -04:00
tree-dump.cc
tree-dump.h
tree-eh.cc eh: ICE with std::initializer_list and ASan [PR115865] 2024-07-18 10:39:25 -04:00
tree-eh.h
tree-emutls.cc
tree-hash-traits.h
tree-hasher.h
tree-if-conv.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-if-conv.h
tree-inline.cc
tree-inline.h
tree-into-ssa.cc
tree-into-ssa.h
tree-iterator.cc
tree-iterator.h
tree-logical-location.cc
tree-logical-location.h
tree-loop-distribution.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-nested.cc
tree-nested.h
tree-nrv.cc
tree-object-size.cc
tree-object-size.h
tree-outof-ssa.cc
tree-outof-ssa.h
tree-parloops.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-parloops.h
tree-pass.h Enable musttail tail conversion even when not optimizing 2024-07-17 21:25:27 -07:00
tree-phinodes.cc
tree-phinodes.h
tree-predcom.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-pretty-print-markup.h diagnostics: add highlight-a vs highlight-b in colorization and pp_markup 2024-07-13 10:34:51 -04:00
tree-pretty-print.cc
tree-pretty-print.h
tree-profile.cc
tree-scalar-evolution.cc middle-end: fix 0 offset creation and folding [PR115936] 2024-07-17 16:22:14 +01:00
tree-scalar-evolution.h
tree-sra.cc sra: Avoid risking x87 magling binary representation of a replacement (PR 58416) 2024-08-21 14:49:29 +02:00
tree-sra.h
tree-ssa-address.cc
tree-ssa-address.h
tree-ssa-alias-compare.h
tree-ssa-alias.cc
tree-ssa-alias.h
tree-ssa-ccp.cc tree-optimization/116057 - wrong code with CCP and vector CTORs 2024-07-24 14:08:44 +02:00
tree-ssa-ccp.h
tree-ssa-coalesce.cc
tree-ssa-coalesce.h
tree-ssa-copy.cc
tree-ssa-dce.cc
tree-ssa-dce.h
tree-ssa-dom.cc
tree-ssa-dom.h
tree-ssa-dse.cc
tree-ssa-dse.h
tree-ssa-forwprop.cc tree-optimization/116460 - ICE with DCE in forwprop 2024-08-27 09:14:30 +02:00
tree-ssa-ifcombine.cc
tree-ssa-live.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-ssa-live.h
tree-ssa-loop-ch.cc
tree-ssa-loop-im.cc tree-optimization/116079 - store motion and clobbers 2024-07-25 12:44:57 +02:00
tree-ssa-loop-ivcanon.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-ssa-loop-ivopts.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-ssa-loop-ivopts.h
tree-ssa-loop-manip.cc optabs-query: Use opt_machine_mode for smallest_int_mode_for_size [PR115495]. 2024-08-23 11:36:05 +02:00
tree-ssa-loop-manip.h
tree-ssa-loop-niter.cc
tree-ssa-loop-niter.h
tree-ssa-loop-prefetch.cc middle-end: Remove integer_three_node [PR116537] 2024-08-30 07:09:07 -07:00
tree-ssa-loop-split.cc
tree-ssa-loop-unswitch.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-ssa-loop.cc
tree-ssa-loop.h
tree-ssa-math-opts.cc Match: Support form 1 for scalar signed integer .SAT_ADD 2024-08-28 08:53:32 +08:00
tree-ssa-math-opts.h
tree-ssa-operands.cc
tree-ssa-operands.h
tree-ssa-phiopt.cc phiopt: Ignore some nop statements in heursics [PR116098] 2024-08-31 09:16:40 -07:00
tree-ssa-phiprop.cc
tree-ssa-pre.cc
tree-ssa-propagate.cc
tree-ssa-propagate.h
tree-ssa-reassoc.cc tree-reassoc.cc: PR tree-optimization/116139 Don't assert when forming fully-pipelined FMAs on wide MULT targets 2024-08-05 16:37:47 +05:30
tree-ssa-reassoc.h
tree-ssa-sccvn.cc tree-optimization/116406 - ICE with int<->float punning prevention 2024-08-21 15:37:05 +02:00
tree-ssa-sccvn.h
tree-ssa-scopedtables.cc
tree-ssa-scopedtables.h
tree-ssa-sink.cc
tree-ssa-strlen.cc
tree-ssa-strlen.h
tree-ssa-structalias.cc Maintain complex constraint vector order during PTA solving 2024-07-25 08:37:36 +02:00
tree-ssa-tail-merge.cc
tree-ssa-ter.cc
tree-ssa-ter.h
tree-ssa-threadbackward.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-ssa-threadedge.cc tree-optimization/116166 - forward jump-threading going wild 2024-08-07 09:14:21 +02:00
tree-ssa-threadedge.h tree-optimization/116166 - forward jump-threading going wild 2024-08-07 09:14:21 +02:00
tree-ssa-threadupdate.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-ssa-threadupdate.h
tree-ssa-uncprop.cc
tree-ssa-uninit.cc
tree-ssa.cc ssa: Fix up maybe_rewrite_mem_ref_base complex type handling [PR116034] 2024-07-23 10:51:32 +02:00
tree-ssa.h
tree-ssanames.cc
tree-ssanames.h
tree-stdarg.cc
tree-stdarg.h
tree-streamer-in.cc Recompute TYPE_MODE and DECL_MODE for aggregate type for acclerator. 2024-08-22 19:25:20 +05:30
tree-streamer-out.cc Recompute TYPE_MODE and DECL_MODE for aggregate type for acclerator. 2024-08-22 19:25:20 +05:30
tree-streamer.cc
tree-streamer.h
tree-switch-conversion.cc gimple ssa: switchconv: Use __builtin_popcount and support more types in exp transform [PR116355] 2024-08-28 15:50:40 +02:00
tree-switch-conversion.h gimple ssa: switchconv: Use __builtin_popcount and support more types in exp transform [PR116355] 2024-08-28 15:50:40 +02:00
tree-tailcall.cc PR116019: Improve tail call error message 2024-07-26 09:31:54 -07:00
tree-vect-data-refs.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-vect-generic.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-vect-loop-manip.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-vect-loop.cc load and store-lanes with SLP 2024-09-02 08:50:32 +02:00
tree-vect-patterns.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-vect-slp-patterns.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-vect-slp.cc load and store-lanes with SLP 2024-09-02 08:50:32 +02:00
tree-vect-stmts.cc load and store-lanes with SLP 2024-09-02 08:50:32 +02:00
tree-vector-builder.cc
tree-vector-builder.h
tree-vectorizer.cc Use std::unique_ptr for optinfo_item 2024-08-29 18:48:16 -04:00
tree-vectorizer.h load and store-lanes with SLP 2024-09-02 08:50:32 +02:00
tree-vrp.cc
tree-vrp.h
tree.cc middle-end: Remove integer_three_node [PR116537] 2024-08-30 07:09:07 -07:00
tree.def
tree.h middle-end: Remove integer_three_node [PR116537] 2024-08-30 07:09:07 -07:00
treestruct.def
tristate.cc
tristate.h
tsan.cc
tsan.h
tsystem.h
typeclass.h
typed-splay-tree.cc
typed-splay-tree.h
ubsan.cc
ubsan.h
unique-argv.h diagnostics: SARIF output: add "arguments" property (§3.20.2) 2024-07-24 18:07:55 -04:00
valtrack.cc
valtrack.h
value-pointer-equiv.cc Fix Xcode 16 build break with NULL != nullptr 2024-07-12 16:56:06 +01:00
value-pointer-equiv.h
value-prof.cc
value-prof.h
value-query.cc
value-query.h
value-range-pretty-print.cc
value-range-pretty-print.h
value-range-storage.cc
value-range-storage.h
value-range.cc
value-range.h Value Range: Add range op for builtin isnormal 2024-08-15 11:27:11 +08:00
value-relation.cc Check for SSA_NAME not in the IL yet. 2024-07-19 17:39:40 -04:00
value-relation.h
var-tracking.cc
varasm.cc Do not use caller-saved registers for COMDAT functions 2024-07-18 13:14:39 +00:00
varasm.h
varpool.cc
vec-perm-indices.cc
vec-perm-indices.h
vec.cc
vec.h
vector-builder.h
vmsdbg.h
vmsdbgout.cc
vr-values.cc
vr-values.h
vtable-verify.cc
vtable-verify.h
warning-control.cc c++/modules: Stream warning suppressions [PR115757] 2024-07-26 14:55:36 +10:00
web.cc
wide-int-bitmask.h
wide-int-print.cc
wide-int-print.h
wide-int.cc wide-int: Fix up mul_internal overflow checking [PR116224] 2024-08-06 11:09:33 +02:00
wide-int.h
xcoff.h

Copyright (C) 2000-2024 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
---------------

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.