PR other/16615 [1/5]
2019-01-09 Sandra Loosemore <sandra@codesourcery.com> PR other/16615 [1/5] contrib/ * mklog: Mechanically replace "can not" with "cannot". gcc/ * Makefile.in: Mechanically replace "can not" with "cannot". * alias.c: Likewise. * builtins.c: Likewise. * calls.c: Likewise. * cgraph.c: Likewise. * cgraph.h: Likewise. * cgraphclones.c: Likewise. * cgraphunit.c: Likewise. * combine-stack-adj.c: Likewise. * combine.c: Likewise. * common/config/i386/i386-common.c: Likewise. * config/aarch64/aarch64.c: Likewise. * config/alpha/sync.md: Likewise. * config/arc/arc.c: Likewise. * config/arc/predicates.md: Likewise. * config/arm/arm-c.c: Likewise. * config/arm/arm.c: Likewise. * config/arm/arm.h: Likewise. * config/arm/arm.md: Likewise. * config/arm/cortex-r4f.md: Likewise. * config/csky/csky.c: Likewise. * config/csky/csky.h: Likewise. * config/darwin-f.c: Likewise. * config/epiphany/epiphany.md: Likewise. * config/i386/i386.c: Likewise. * config/i386/sol2.h: Likewise. * config/m68k/m68k.c: Likewise. * config/mcore/mcore.h: Likewise. * config/microblaze/microblaze.md: Likewise. * config/mips/20kc.md: Likewise. * config/mips/sb1.md: Likewise. * config/nds32/nds32.c: Likewise. * config/nds32/predicates.md: Likewise. * config/pa/pa.c: Likewise. * config/rs6000/e300c2c3.md: Likewise. * config/rs6000/rs6000.c: Likewise. * config/s390/s390.h: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh.md: Likewise. * config/spu/vmx2spu.h: Likewise. * cprop.c: Likewise. * dbxout.c: Likewise. * df-scan.c: Likewise. * doc/cfg.texi: Likewise. * doc/extend.texi: Likewise. * doc/fragments.texi: Likewise. * doc/gty.texi: Likewise. * doc/invoke.texi: Likewise. * doc/lto.texi: Likewise. * doc/md.texi: Likewise. * doc/objc.texi: Likewise. * doc/rtl.texi: Likewise. * doc/tm.texi: Likewise. * dse.c: Likewise. * emit-rtl.c: Likewise. * emit-rtl.h: Likewise. * except.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * fold-const.c: Likewise. * genautomata.c: Likewise. * gimple-fold.c: Likewise. * hard-reg-set.h: Likewise. * ifcvt.c: Likewise. * ipa-comdats.c: Likewise. * ipa-cp.c: Likewise. * ipa-devirt.c: Likewise. * ipa-fnsummary.c: Likewise. * ipa-icf.c: Likewise. * ipa-inline-transform.c: Likewise. * ipa-inline.c: Likewise. * ipa-polymorphic-call.c: Likewise. * ipa-profile.c: Likewise. * ipa-prop.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-reference.c: Likewise. * ipa-split.c: Likewise. * ipa-visibility.c: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-conflicts.c: Likewise. * ira-costs.c: Likewise. * ira-int.h: Likewise. * ira-lives.c: Likewise. * ira.c: Likewise. * ira.h: Likewise. * loop-invariant.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lra-assigns.c: Likewise. * lra-constraints.c: Likewise. * lra-eliminations.c: Likewise. * lra-lives.c: Likewise. * lra-remat.c: Likewise. * lra-spills.c: Likewise. * lra.c: Likewise. * lto-cgraph.c: Likewise. * lto-streamer-out.c: Likewise. * postreload-gcse.c: Likewise. * predict.c: Likewise. * profile-count.h: Likewise. * profile.c: Likewise. * recog.c: Likewise. * ree.c: Likewise. * reload.c: Likewise. * reload1.c: Likewise. * reorg.c: Likewise. * resource.c: Likewise. * rtl.def: Likewise. * rtl.h: Likewise. * rtlanal.c: Likewise. * sched-deps.c: Likewise. * sched-ebb.c: Likewise. * sched-rgn.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched.c: Likewise. * shrink-wrap.c: Likewise. * simplify-rtx.c: Likewise. * symtab.c: Likewise. * target.def: Likewise. * toplev.c: Likewise. * tree-call-cdce.c: Likewise. * tree-cfg.c: Likewise. * tree-complex.c: Likewise. * tree-core.h: Likewise. * tree-eh.c: Likewise. * tree-inline.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-nrv.c: Likewise. * tree-profile.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-phionlycprop.c: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa-uninit.c: Likewise. * tree-ssanames.c: Likewise. * tree-streamer-out.c: Likewise. * tree.c: Likewise. * tree.h: Likewise. * vr-values.c: Likewise. gcc/ada/ * exp_ch9.adb: Mechanically replace "can not" with "cannot". * libgnat/s-regpat.ads: Likewise. * par-ch4.adb: Likewise. * set_targ.adb: Likewise. * types.ads: Likewise. gcc/cp/ * cp-tree.h: Mechanically replace "can not" with "cannot". * parser.c: Likewise. * pt.c: Likewise. gcc/fortran/ * class.c: Mechanically replace "can not" with "cannot". * decl.c: Likewise. * expr.c: Likewise. * gfc-internals.texi: Likewise. * intrinsic.texi: Likewise. * invoke.texi: Likewise. * io.c: Likewise. * match.c: Likewise. * parse.c: Likewise. * primary.c: Likewise. * resolve.c: Likewise. * symbol.c: Likewise. * trans-array.c: Likewise. * trans-decl.c: Likewise. * trans-intrinsic.c: Likewise. * trans-stmt.c: Likewise. gcc/go/ * go-backend.c: Mechanically replace "can not" with "cannot". * go-gcc.cc: Likewise. gcc/lto/ * lto-partition.c: Mechanically replace "can not" with "cannot". * lto-symtab.c: Likewise. * lto.c: Likewise. gcc/objc/ * objc-act.c: Mechanically replace "can not" with "cannot". libbacktrace/ * backtrace.h: Mechanically replace "can not" with "cannot". libgcc/ * config/c6x/libunwind.S: Mechanically replace "can not" with "cannot". * config/tilepro/atomic.h: Likewise. * config/vxlib-tls.c: Likewise. * generic-morestack-thread.c: Likewise. * generic-morestack.c: Likewise. * mkmap-symver.awk: Likewise. libgfortran/ * caf/single.c: Mechanically replace "can not" with "cannot". * io/unit.c: Likewise. libobjc/ * class.c: Mechanically replace "can not" with "cannot". * objc/runtime.h: Likewise. * sendmsg.c: Likewise. liboffloadmic/ * include/coi/common/COIResult_common.h: Mechanically replace "can not" with "cannot". * include/coi/source/COIBuffer_source.h: Likewise. libstdc++-v3/ * include/ext/bitmap_allocator.h: Mechanically replace "can not" with "cannot". From-SVN: r267783
This commit is contained in:
parent
ee0b3cea20
commit
6791469314
@ -236,7 +236,7 @@ def find_changed_funs(hunk):
|
|||||||
|
|
||||||
change = line and re.match(r'^[-+!][^-]', line)
|
change = line and re.match(r'^[-+!][^-]', line)
|
||||||
|
|
||||||
# Top-level comment can not belong to function
|
# Top-level comment cannot belong to function
|
||||||
if re.match(r'^[-+! ]\/\*', line):
|
if re.match(r'^[-+! ]\/\*', line):
|
||||||
fn = None
|
fn = None
|
||||||
|
|
||||||
|
156
gcc/ChangeLog
156
gcc/ChangeLog
@ -1,3 +1,159 @@
|
|||||||
|
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||||||
|
|
||||||
|
PR other/16615
|
||||||
|
|
||||||
|
* Makefile.in: Mechanically replace "can not" with "cannot".
|
||||||
|
* alias.c: Likewise.
|
||||||
|
* builtins.c: Likewise.
|
||||||
|
* calls.c: Likewise.
|
||||||
|
* cgraph.c: Likewise.
|
||||||
|
* cgraph.h: Likewise.
|
||||||
|
* cgraphclones.c: Likewise.
|
||||||
|
* cgraphunit.c: Likewise.
|
||||||
|
* combine-stack-adj.c: Likewise.
|
||||||
|
* combine.c: Likewise.
|
||||||
|
* common/config/i386/i386-common.c: Likewise.
|
||||||
|
* config/aarch64/aarch64.c: Likewise.
|
||||||
|
* config/alpha/sync.md: Likewise.
|
||||||
|
* config/arc/arc.c: Likewise.
|
||||||
|
* config/arc/predicates.md: Likewise.
|
||||||
|
* config/arm/arm-c.c: Likewise.
|
||||||
|
* config/arm/arm.c: Likewise.
|
||||||
|
* config/arm/arm.h: Likewise.
|
||||||
|
* config/arm/arm.md: Likewise.
|
||||||
|
* config/arm/cortex-r4f.md: Likewise.
|
||||||
|
* config/csky/csky.c: Likewise.
|
||||||
|
* config/csky/csky.h: Likewise.
|
||||||
|
* config/darwin-f.c: Likewise.
|
||||||
|
* config/epiphany/epiphany.md: Likewise.
|
||||||
|
* config/i386/i386.c: Likewise.
|
||||||
|
* config/i386/sol2.h: Likewise.
|
||||||
|
* config/m68k/m68k.c: Likewise.
|
||||||
|
* config/mcore/mcore.h: Likewise.
|
||||||
|
* config/microblaze/microblaze.md: Likewise.
|
||||||
|
* config/mips/20kc.md: Likewise.
|
||||||
|
* config/mips/sb1.md: Likewise.
|
||||||
|
* config/nds32/nds32.c: Likewise.
|
||||||
|
* config/nds32/predicates.md: Likewise.
|
||||||
|
* config/pa/pa.c: Likewise.
|
||||||
|
* config/rs6000/e300c2c3.md: Likewise.
|
||||||
|
* config/rs6000/rs6000.c: Likewise.
|
||||||
|
* config/s390/s390.h: Likewise.
|
||||||
|
* config/sh/sh.c: Likewise.
|
||||||
|
* config/sh/sh.md: Likewise.
|
||||||
|
* config/spu/vmx2spu.h: Likewise.
|
||||||
|
* cprop.c: Likewise.
|
||||||
|
* dbxout.c: Likewise.
|
||||||
|
* df-scan.c: Likewise.
|
||||||
|
* doc/cfg.texi: Likewise.
|
||||||
|
* doc/extend.texi: Likewise.
|
||||||
|
* doc/fragments.texi: Likewise.
|
||||||
|
* doc/gty.texi: Likewise.
|
||||||
|
* doc/invoke.texi: Likewise.
|
||||||
|
* doc/lto.texi: Likewise.
|
||||||
|
* doc/md.texi: Likewise.
|
||||||
|
* doc/objc.texi: Likewise.
|
||||||
|
* doc/rtl.texi: Likewise.
|
||||||
|
* doc/tm.texi: Likewise.
|
||||||
|
* dse.c: Likewise.
|
||||||
|
* emit-rtl.c: Likewise.
|
||||||
|
* emit-rtl.h: Likewise.
|
||||||
|
* except.c: Likewise.
|
||||||
|
* expmed.c: Likewise.
|
||||||
|
* expr.c: Likewise.
|
||||||
|
* fold-const.c: Likewise.
|
||||||
|
* genautomata.c: Likewise.
|
||||||
|
* gimple-fold.c: Likewise.
|
||||||
|
* hard-reg-set.h: Likewise.
|
||||||
|
* ifcvt.c: Likewise.
|
||||||
|
* ipa-comdats.c: Likewise.
|
||||||
|
* ipa-cp.c: Likewise.
|
||||||
|
* ipa-devirt.c: Likewise.
|
||||||
|
* ipa-fnsummary.c: Likewise.
|
||||||
|
* ipa-icf.c: Likewise.
|
||||||
|
* ipa-inline-transform.c: Likewise.
|
||||||
|
* ipa-inline.c: Likewise.
|
||||||
|
* ipa-polymorphic-call.c: Likewise.
|
||||||
|
* ipa-profile.c: Likewise.
|
||||||
|
* ipa-prop.c: Likewise.
|
||||||
|
* ipa-pure-const.c: Likewise.
|
||||||
|
* ipa-reference.c: Likewise.
|
||||||
|
* ipa-split.c: Likewise.
|
||||||
|
* ipa-visibility.c: Likewise.
|
||||||
|
* ipa.c: Likewise.
|
||||||
|
* ira-build.c: Likewise.
|
||||||
|
* ira-color.c: Likewise.
|
||||||
|
* ira-conflicts.c: Likewise.
|
||||||
|
* ira-costs.c: Likewise.
|
||||||
|
* ira-int.h: Likewise.
|
||||||
|
* ira-lives.c: Likewise.
|
||||||
|
* ira.c: Likewise.
|
||||||
|
* ira.h: Likewise.
|
||||||
|
* loop-invariant.c: Likewise.
|
||||||
|
* loop-unroll.c: Likewise.
|
||||||
|
* lower-subreg.c: Likewise.
|
||||||
|
* lra-assigns.c: Likewise.
|
||||||
|
* lra-constraints.c: Likewise.
|
||||||
|
* lra-eliminations.c: Likewise.
|
||||||
|
* lra-lives.c: Likewise.
|
||||||
|
* lra-remat.c: Likewise.
|
||||||
|
* lra-spills.c: Likewise.
|
||||||
|
* lra.c: Likewise.
|
||||||
|
* lto-cgraph.c: Likewise.
|
||||||
|
* lto-streamer-out.c: Likewise.
|
||||||
|
* postreload-gcse.c: Likewise.
|
||||||
|
* predict.c: Likewise.
|
||||||
|
* profile-count.h: Likewise.
|
||||||
|
* profile.c: Likewise.
|
||||||
|
* recog.c: Likewise.
|
||||||
|
* ree.c: Likewise.
|
||||||
|
* reload.c: Likewise.
|
||||||
|
* reload1.c: Likewise.
|
||||||
|
* reorg.c: Likewise.
|
||||||
|
* resource.c: Likewise.
|
||||||
|
* rtl.def: Likewise.
|
||||||
|
* rtl.h: Likewise.
|
||||||
|
* rtlanal.c: Likewise.
|
||||||
|
* sched-deps.c: Likewise.
|
||||||
|
* sched-ebb.c: Likewise.
|
||||||
|
* sched-rgn.c: Likewise.
|
||||||
|
* sel-sched-ir.c: Likewise.
|
||||||
|
* sel-sched.c: Likewise.
|
||||||
|
* shrink-wrap.c: Likewise.
|
||||||
|
* simplify-rtx.c: Likewise.
|
||||||
|
* symtab.c: Likewise.
|
||||||
|
* target.def: Likewise.
|
||||||
|
* toplev.c: Likewise.
|
||||||
|
* tree-call-cdce.c: Likewise.
|
||||||
|
* tree-cfg.c: Likewise.
|
||||||
|
* tree-complex.c: Likewise.
|
||||||
|
* tree-core.h: Likewise.
|
||||||
|
* tree-eh.c: Likewise.
|
||||||
|
* tree-inline.c: Likewise.
|
||||||
|
* tree-loop-distribution.c: Likewise.
|
||||||
|
* tree-nrv.c: Likewise.
|
||||||
|
* tree-profile.c: Likewise.
|
||||||
|
* tree-sra.c: Likewise.
|
||||||
|
* tree-ssa-alias.c: Likewise.
|
||||||
|
* tree-ssa-dce.c: Likewise.
|
||||||
|
* tree-ssa-dom.c: Likewise.
|
||||||
|
* tree-ssa-forwprop.c: Likewise.
|
||||||
|
* tree-ssa-loop-im.c: Likewise.
|
||||||
|
* tree-ssa-loop-ivcanon.c: Likewise.
|
||||||
|
* tree-ssa-loop-ivopts.c: Likewise.
|
||||||
|
* tree-ssa-loop-niter.c: Likewise.
|
||||||
|
* tree-ssa-phionlycprop.c: Likewise.
|
||||||
|
* tree-ssa-phiopt.c: Likewise.
|
||||||
|
* tree-ssa-propagate.c: Likewise.
|
||||||
|
* tree-ssa-threadedge.c: Likewise.
|
||||||
|
* tree-ssa-threadupdate.c: Likewise.
|
||||||
|
* tree-ssa-uninit.c: Likewise.
|
||||||
|
* tree-ssanames.c: Likewise.
|
||||||
|
* tree-streamer-out.c: Likewise.
|
||||||
|
* tree.c: Likewise.
|
||||||
|
* tree.h: Likewise.
|
||||||
|
* vr-values.c: Likewise.
|
||||||
|
|
||||||
2019-01-09 Uroš Bizjak <ubizjak@gmail.com>
|
2019-01-09 Uroš Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
* config/i386/i386-protos.h (ix86_expand_xorsign): New prototype.
|
* config/i386/i386-protos.h (ix86_expand_xorsign): New prototype.
|
||||||
|
@ -746,7 +746,7 @@ EXTRA_HEADERS =@extra_headers_list@
|
|||||||
USE_GCC_STDINT = @use_gcc_stdint@
|
USE_GCC_STDINT = @use_gcc_stdint@
|
||||||
|
|
||||||
# The configure script will set this to collect2$(exeext), except on a
|
# The configure script will set this to collect2$(exeext), except on a
|
||||||
# (non-Unix) host which can not build collect2, for which it will be
|
# (non-Unix) host which cannot build collect2, for which it will be
|
||||||
# set to empty.
|
# set to empty.
|
||||||
COLLECT2 = @collect2@
|
COLLECT2 = @collect2@
|
||||||
|
|
||||||
|
@ -1,3 +1,13 @@
|
|||||||
|
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||||||
|
|
||||||
|
PR other/16615
|
||||||
|
|
||||||
|
* exp_ch9.adb: Mechanically replace "can not" with "cannot".
|
||||||
|
* libgnat/s-regpat.ads: Likewise.
|
||||||
|
* par-ch4.adb: Likewise.
|
||||||
|
* set_targ.adb: Likewise.
|
||||||
|
* types.ads: Likewise.
|
||||||
|
|
||||||
2019-01-08 Justin Squirek <squirek@adacore.com>
|
2019-01-08 Justin Squirek <squirek@adacore.com>
|
||||||
|
|
||||||
Revert:
|
Revert:
|
||||||
|
@ -3741,7 +3741,7 @@ package body Exp_Ch9 is
|
|||||||
raise Program_Error;
|
raise Program_Error;
|
||||||
end case;
|
end case;
|
||||||
|
|
||||||
-- When exceptions can not be propagated, we never need to call
|
-- When exceptions cannot be propagated, we never need to call
|
||||||
-- Exception_Complete_Entry_Body.
|
-- Exception_Complete_Entry_Body.
|
||||||
|
|
||||||
if No_Exception_Handlers_Set then
|
if No_Exception_Handlers_Set then
|
||||||
|
@ -347,7 +347,7 @@ package System.Regpat is
|
|||||||
-- N'th parenthesized subexpressions; Matches (0) is for the whole
|
-- N'th parenthesized subexpressions; Matches (0) is for the whole
|
||||||
-- expression.
|
-- expression.
|
||||||
--
|
--
|
||||||
-- Non-capturing parenthesis (introduced with (?:...)) can not be
|
-- Non-capturing parenthesis (introduced with (?:...)) cannot be
|
||||||
-- retrieved and do not count in the match array index.
|
-- retrieved and do not count in the match array index.
|
||||||
--
|
--
|
||||||
-- For instance, if your regular expression is: "a((b*)c+)(d+)", then
|
-- For instance, if your regular expression is: "a((b*)c+)(d+)", then
|
||||||
|
@ -1884,7 +1884,7 @@ package body Ch4 is
|
|||||||
-- called in all contexts where a right parenthesis cannot legitimately
|
-- called in all contexts where a right parenthesis cannot legitimately
|
||||||
-- follow an expression.
|
-- follow an expression.
|
||||||
|
|
||||||
-- Error recovery: can not raise Error_Resync
|
-- Error recovery: cannot raise Error_Resync
|
||||||
|
|
||||||
function P_Expression_No_Right_Paren return Node_Id is
|
function P_Expression_No_Right_Paren return Node_Id is
|
||||||
Expr : constant Node_Id := P_Expression;
|
Expr : constant Node_Id := P_Expression;
|
||||||
|
@ -820,7 +820,7 @@ package body Set_Targ is
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
-- First step: see if the -gnateT switch is present. As we have noted,
|
-- First step: see if the -gnateT switch is present. As we have noted,
|
||||||
-- this has to be done very early, so can not depend on the normal circuit
|
-- this has to be done very early, so cannot depend on the normal circuit
|
||||||
-- for reading switches and setting switches in Opt. The following code
|
-- for reading switches and setting switches in Opt. The following code
|
||||||
-- will set Opt.Target_Dependent_Info_Read_Name if the switch -gnateT=name
|
-- will set Opt.Target_Dependent_Info_Read_Name if the switch -gnateT=name
|
||||||
-- is present in the options string.
|
-- is present in the options string.
|
||||||
|
@ -138,7 +138,7 @@ package Types is
|
|||||||
-- Types Used for Text Buffer Handling --
|
-- Types Used for Text Buffer Handling --
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
-- We can not use type String for text buffers, since we must use the
|
-- We cannot use type String for text buffers, since we must use the
|
||||||
-- standard 32-bit integer as an index value, since we count on all index
|
-- standard 32-bit integer as an index value, since we count on all index
|
||||||
-- values being the same size.
|
-- values being the same size.
|
||||||
|
|
||||||
|
12
gcc/alias.c
12
gcc/alias.c
@ -832,7 +832,7 @@ get_alias_set (tree t)
|
|||||||
{
|
{
|
||||||
alias_set_type set;
|
alias_set_type set;
|
||||||
|
|
||||||
/* We can not give up with -fno-strict-aliasing because we need to build
|
/* We cannot give up with -fno-strict-aliasing because we need to build
|
||||||
proper type representation for possible functions which are build with
|
proper type representation for possible functions which are build with
|
||||||
-fstrict-aliasing. */
|
-fstrict-aliasing. */
|
||||||
|
|
||||||
@ -894,7 +894,7 @@ get_alias_set (tree t)
|
|||||||
/* Handle structure type equality for pointer types, arrays and vectors.
|
/* Handle structure type equality for pointer types, arrays and vectors.
|
||||||
This is easy to do, because the code bellow ignore canonical types on
|
This is easy to do, because the code bellow ignore canonical types on
|
||||||
these anyway. This is important for LTO, where TYPE_CANONICAL for
|
these anyway. This is important for LTO, where TYPE_CANONICAL for
|
||||||
pointers can not be meaningfuly computed by the frotnend. */
|
pointers cannot be meaningfuly computed by the frotnend. */
|
||||||
if (canonical_type_used_p (t))
|
if (canonical_type_used_p (t))
|
||||||
{
|
{
|
||||||
/* In LTO we set canonical types for all types where it makes
|
/* In LTO we set canonical types for all types where it makes
|
||||||
@ -1058,7 +1058,7 @@ get_alias_set (tree t)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Assign the alias set to both p and t.
|
/* Assign the alias set to both p and t.
|
||||||
We can not call get_alias_set (p) here as that would trigger
|
We cannot call get_alias_set (p) here as that would trigger
|
||||||
infinite recursion when p == t. In other cases it would just
|
infinite recursion when p == t. In other cases it would just
|
||||||
trigger unnecesary legwork of rebuilding the pointer again. */
|
trigger unnecesary legwork of rebuilding the pointer again. */
|
||||||
gcc_checking_assert (p == TYPE_MAIN_VARIANT (p));
|
gcc_checking_assert (p == TYPE_MAIN_VARIANT (p));
|
||||||
@ -2061,7 +2061,7 @@ may_be_sp_based_p (rtx x)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* BASE1 and BASE2 are decls. Return 1 if they refer to same object, 0
|
/* BASE1 and BASE2 are decls. Return 1 if they refer to same object, 0
|
||||||
if they refer to different objects and -1 if we can not decide. */
|
if they refer to different objects and -1 if we cannot decide. */
|
||||||
|
|
||||||
int
|
int
|
||||||
compare_base_decls (tree base1, tree base2)
|
compare_base_decls (tree base1, tree base2)
|
||||||
@ -2135,7 +2135,7 @@ compare_base_symbol_refs (const_rtx x_base, const_rtx y_base)
|
|||||||
|
|
||||||
symtab_node *x_node = symtab_node::get_create (x_decl)
|
symtab_node *x_node = symtab_node::get_create (x_decl)
|
||||||
->ultimate_alias_target ();
|
->ultimate_alias_target ();
|
||||||
/* External variable can not be in section anchor. */
|
/* External variable cannot be in section anchor. */
|
||||||
if (!x_node->definition)
|
if (!x_node->definition)
|
||||||
return 0;
|
return 0;
|
||||||
x_base = XEXP (DECL_RTL (x_node->decl), 0);
|
x_base = XEXP (DECL_RTL (x_node->decl), 0);
|
||||||
@ -2651,7 +2651,7 @@ memrefs_conflict_p (poly_int64 xsize, rtx x, poly_int64 ysize, rtx y,
|
|||||||
ways.
|
ways.
|
||||||
|
|
||||||
If both memory references are volatile, then there must always be a
|
If both memory references are volatile, then there must always be a
|
||||||
dependence between the two references, since their order can not be
|
dependence between the two references, since their order cannot be
|
||||||
changed. A volatile and non-volatile reference can be interchanged
|
changed. A volatile and non-volatile reference can be interchanged
|
||||||
though.
|
though.
|
||||||
|
|
||||||
|
@ -6529,7 +6529,7 @@ expand_builtin_atomic_fetch_op (machine_mode mode, tree exp, rtx target,
|
|||||||
gcc_assert (TREE_OPERAND (addr, 0) == fndecl);
|
gcc_assert (TREE_OPERAND (addr, 0) == fndecl);
|
||||||
TREE_OPERAND (addr, 0) = builtin_decl_explicit (ext_call);
|
TREE_OPERAND (addr, 0) = builtin_decl_explicit (ext_call);
|
||||||
|
|
||||||
/* If we will emit code after the call, the call can not be a tail call.
|
/* If we will emit code after the call, the call cannot be a tail call.
|
||||||
If it is emitted as a tail call, a barrier is emitted after it, and
|
If it is emitted as a tail call, a barrier is emitted after it, and
|
||||||
then all trailing code is removed. */
|
then all trailing code is removed. */
|
||||||
if (!ignore)
|
if (!ignore)
|
||||||
|
@ -3145,7 +3145,7 @@ can_implement_as_sibling_call_p (tree exp,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef REG_PARM_STACK_SPACE
|
#ifdef REG_PARM_STACK_SPACE
|
||||||
/* If outgoing reg parm stack space changes, we can not do sibcall. */
|
/* If outgoing reg parm stack space changes, we cannot do sibcall. */
|
||||||
if (OUTGOING_REG_PARM_STACK_SPACE (funtype)
|
if (OUTGOING_REG_PARM_STACK_SPACE (funtype)
|
||||||
!= OUTGOING_REG_PARM_STACK_SPACE (TREE_TYPE (current_function_decl))
|
!= OUTGOING_REG_PARM_STACK_SPACE (TREE_TYPE (current_function_decl))
|
||||||
|| (reg_parm_stack_space != REG_PARM_STACK_SPACE (current_function_decl)))
|
|| (reg_parm_stack_space != REG_PARM_STACK_SPACE (current_function_decl)))
|
||||||
@ -4294,7 +4294,7 @@ expand_call (tree exp, rtx target, int ignore)
|
|||||||
|
|
||||||
emit_move_insn (temp, valreg);
|
emit_move_insn (temp, valreg);
|
||||||
|
|
||||||
/* The return value from a malloc-like function can not alias
|
/* The return value from a malloc-like function cannot alias
|
||||||
anything else. */
|
anything else. */
|
||||||
last = get_last_insn ();
|
last = get_last_insn ();
|
||||||
add_reg_note (last, REG_NOALIAS, temp);
|
add_reg_note (last, REG_NOALIAS, temp);
|
||||||
|
@ -2708,7 +2708,7 @@ cgraph_node::set_pure_flag (bool pure, bool looping)
|
|||||||
return info.changed;
|
return info.changed;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return true when cgraph_node can not return or throw and thus
|
/* Return true when cgraph_node cannot return or throw and thus
|
||||||
it is safe to ignore its side effects for IPA analysis. */
|
it is safe to ignore its side effects for IPA analysis. */
|
||||||
|
|
||||||
bool
|
bool
|
||||||
@ -2722,7 +2722,7 @@ cgraph_node::cannot_return_p (void)
|
|||||||
== (ECF_NORETURN | ECF_NOTHROW));
|
== (ECF_NORETURN | ECF_NOTHROW));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return true when call of edge can not lead to return from caller
|
/* Return true when call of edge cannot lead to return from caller
|
||||||
and thus it is safe to ignore its side effects for IPA analysis
|
and thus it is safe to ignore its side effects for IPA analysis
|
||||||
when computing side effects of the caller.
|
when computing side effects of the caller.
|
||||||
FIXME: We could actually mark all edges that have no reaching
|
FIXME: We could actually mark all edges that have no reaching
|
||||||
|
16
gcc/cgraph.h
16
gcc/cgraph.h
@ -51,7 +51,7 @@ enum symtab_type
|
|||||||
struct GTY((for_user)) section_hash_entry
|
struct GTY((for_user)) section_hash_entry
|
||||||
{
|
{
|
||||||
int ref_count;
|
int ref_count;
|
||||||
char *name; /* As long as this datastructure stays in GGC, we can not put
|
char *name; /* As long as this datastructure stays in GGC, we cannot put
|
||||||
string at the tail of structure of GGC dies in horrible
|
string at the tail of structure of GGC dies in horrible
|
||||||
way */
|
way */
|
||||||
};
|
};
|
||||||
@ -283,7 +283,7 @@ public:
|
|||||||
void *data,
|
void *data,
|
||||||
bool include_overwrite);
|
bool include_overwrite);
|
||||||
|
|
||||||
/* If node can not be interposable by static or dynamic linker to point to
|
/* If node cannot be interposable by static or dynamic linker to point to
|
||||||
different definition, return this symbol. Otherwise look for alias with
|
different definition, return this symbol. Otherwise look for alias with
|
||||||
such property and if none exists, introduce new one. */
|
such property and if none exists, introduce new one. */
|
||||||
symtab_node *noninterposable_alias (void);
|
symtab_node *noninterposable_alias (void);
|
||||||
@ -482,7 +482,7 @@ public:
|
|||||||
/* C++ frontend produce same body aliases and extra name aliases for
|
/* C++ frontend produce same body aliases and extra name aliases for
|
||||||
virtual functions and vtables that are obviously equivalent.
|
virtual functions and vtables that are obviously equivalent.
|
||||||
Those aliases are bit special, especially because C++ frontend
|
Those aliases are bit special, especially because C++ frontend
|
||||||
visibility code is so ugly it can not get them right at first time
|
visibility code is so ugly it cannot get them right at first time
|
||||||
and their visibility needs to be copied from their "masters" at
|
and their visibility needs to be copied from their "masters" at
|
||||||
the end of parsing. */
|
the end of parsing. */
|
||||||
unsigned cpp_implicit_alias : 1;
|
unsigned cpp_implicit_alias : 1;
|
||||||
@ -709,7 +709,7 @@ struct GTY(()) cgraph_local_info {
|
|||||||
/* False when there is something makes versioning impossible. */
|
/* False when there is something makes versioning impossible. */
|
||||||
unsigned versionable : 1;
|
unsigned versionable : 1;
|
||||||
|
|
||||||
/* False when function calling convention and signature can not be changed.
|
/* False when function calling convention and signature cannot be changed.
|
||||||
This is the case when __builtin_apply_args is used. */
|
This is the case when __builtin_apply_args is used. */
|
||||||
unsigned can_change_signature : 1;
|
unsigned can_change_signature : 1;
|
||||||
|
|
||||||
@ -1229,7 +1229,7 @@ public:
|
|||||||
compilation units. */
|
compilation units. */
|
||||||
bool can_be_local_p (void);
|
bool can_be_local_p (void);
|
||||||
|
|
||||||
/* Return true when cgraph_node can not return or throw and thus
|
/* Return true when cgraph_node cannot return or throw and thus
|
||||||
it is safe to ignore its side effects for IPA analysis. */
|
it is safe to ignore its side effects for IPA analysis. */
|
||||||
bool cannot_return_p (void);
|
bool cannot_return_p (void);
|
||||||
|
|
||||||
@ -1577,7 +1577,7 @@ public:
|
|||||||
|
|
||||||
/* Adjust all offsets in contexts by given number of bits. */
|
/* Adjust all offsets in contexts by given number of bits. */
|
||||||
void offset_by (HOST_WIDE_INT);
|
void offset_by (HOST_WIDE_INT);
|
||||||
/* Use when we can not track dynamic type change. This speculatively assume
|
/* Use when we cannot track dynamic type change. This speculatively assume
|
||||||
type change is not happening. */
|
type change is not happening. */
|
||||||
void possible_dynamic_type_change (bool, tree otr_type = NULL);
|
void possible_dynamic_type_change (bool, tree otr_type = NULL);
|
||||||
/* Assume that both THIS and a given context is valid and strenghten THIS
|
/* Assume that both THIS and a given context is valid and strenghten THIS
|
||||||
@ -1709,7 +1709,7 @@ struct GTY((chain_next ("%h.next_caller"), chain_prev ("%h.prev_caller"),
|
|||||||
/* Verify edge count and frequency. */
|
/* Verify edge count and frequency. */
|
||||||
bool verify_count ();
|
bool verify_count ();
|
||||||
|
|
||||||
/* Return true when call of edge can not lead to return from caller
|
/* Return true when call of edge cannot lead to return from caller
|
||||||
and thus it is safe to ignore its side effects for IPA analysis
|
and thus it is safe to ignore its side effects for IPA analysis
|
||||||
when computing side effects of the caller. */
|
when computing side effects of the caller. */
|
||||||
bool cannot_lead_to_return_p (void);
|
bool cannot_lead_to_return_p (void);
|
||||||
@ -2933,7 +2933,7 @@ cgraph_node::can_remove_if_no_direct_calls_and_refs_p (void)
|
|||||||
/* Extern inlines can always go, we will use the external definition. */
|
/* Extern inlines can always go, we will use the external definition. */
|
||||||
if (DECL_EXTERNAL (decl))
|
if (DECL_EXTERNAL (decl))
|
||||||
return true;
|
return true;
|
||||||
/* When function is needed, we can not remove it. */
|
/* When function is needed, we cannot remove it. */
|
||||||
if (force_output || used_from_other_partition)
|
if (force_output || used_from_other_partition)
|
||||||
return false;
|
return false;
|
||||||
if (DECL_STATIC_CONSTRUCTOR (decl)
|
if (DECL_STATIC_CONSTRUCTOR (decl)
|
||||||
|
@ -648,7 +648,7 @@ cgraph_node::create_virtual_clone (vec<cgraph_edge *> redirect_callers,
|
|||||||
DECL_ARGUMENTS (new_decl) = NULL;
|
DECL_ARGUMENTS (new_decl) = NULL;
|
||||||
DECL_INITIAL (new_decl) = NULL;
|
DECL_INITIAL (new_decl) = NULL;
|
||||||
DECL_RESULT (new_decl) = NULL;
|
DECL_RESULT (new_decl) = NULL;
|
||||||
/* We can not do DECL_RESULT (new_decl) = NULL; here because of LTO partitioning
|
/* We cannot do DECL_RESULT (new_decl) = NULL; here because of LTO partitioning
|
||||||
sometimes storing only clone decl instead of original. */
|
sometimes storing only clone decl instead of original. */
|
||||||
|
|
||||||
/* Generate a new name for the new version. */
|
/* Generate a new name for the new version. */
|
||||||
|
@ -1051,7 +1051,7 @@ analyze_functions (bool first_time)
|
|||||||
symtab->state = CONSTRUCTION;
|
symtab->state = CONSTRUCTION;
|
||||||
input_location = UNKNOWN_LOCATION;
|
input_location = UNKNOWN_LOCATION;
|
||||||
|
|
||||||
/* Ugly, but the fixup can not happen at a time same body alias is created;
|
/* Ugly, but the fixup cannot happen at a time same body alias is created;
|
||||||
C++ FE is confused about the COMDAT groups being right. */
|
C++ FE is confused about the COMDAT groups being right. */
|
||||||
if (symtab->cpp_implicit_aliases_done)
|
if (symtab->cpp_implicit_aliases_done)
|
||||||
FOR_EACH_SYMBOL (node)
|
FOR_EACH_SYMBOL (node)
|
||||||
|
@ -540,7 +540,7 @@ combine_stack_adjustments_for_block (basic_block bb)
|
|||||||
Also we need to be careful to not move stack pointer
|
Also we need to be careful to not move stack pointer
|
||||||
such that we create stack accesses outside the allocated
|
such that we create stack accesses outside the allocated
|
||||||
area. We can combine an allocation into the first insn,
|
area. We can combine an allocation into the first insn,
|
||||||
or a deallocation into the second insn. We can not
|
or a deallocation into the second insn. We cannot
|
||||||
combine an allocation followed by a deallocation.
|
combine an allocation followed by a deallocation.
|
||||||
|
|
||||||
The only somewhat frequent occurrence of the later is when
|
The only somewhat frequent occurrence of the later is when
|
||||||
|
@ -530,7 +530,7 @@ target_canonicalize_comparison (enum rtx_code *code, rtx *op0, rtx *op1,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Try to split PATTERN found in INSN. This returns NULL_RTX if
|
/* Try to split PATTERN found in INSN. This returns NULL_RTX if
|
||||||
PATTERN can not be split. Otherwise, it returns an insn sequence.
|
PATTERN cannot be split. Otherwise, it returns an insn sequence.
|
||||||
This is a wrapper around split_insns which ensures that the
|
This is a wrapper around split_insns which ensures that the
|
||||||
reg_stat vector is made larger if the splitter creates a new
|
reg_stat vector is made larger if the splitter creates a new
|
||||||
register. */
|
register. */
|
||||||
|
@ -1411,7 +1411,7 @@ ix86_option_init_struct (struct gcc_options *opts)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* On the x86 -fsplit-stack and -fstack-protector both use the same
|
/* On the x86 -fsplit-stack and -fstack-protector both use the same
|
||||||
field in the TCB, so they can not be used together. */
|
field in the TCB, so they cannot be used together. */
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
ix86_supports_split_stack (bool report ATTRIBUTE_UNUSED,
|
ix86_supports_split_stack (bool report ATTRIBUTE_UNUSED,
|
||||||
|
@ -14780,7 +14780,7 @@ aarch64_simd_dup_constant (rtx vals)
|
|||||||
/* Generate code to load VALS, which is a PARALLEL containing only
|
/* Generate code to load VALS, which is a PARALLEL containing only
|
||||||
constants (for vec_init) or CONST_VECTOR, efficiently into a
|
constants (for vec_init) or CONST_VECTOR, efficiently into a
|
||||||
register. Returns an RTX to copy into the register, or NULL_RTX
|
register. Returns an RTX to copy into the register, or NULL_RTX
|
||||||
for a PARALLEL that can not be converted into a CONST_VECTOR. */
|
for a PARALLEL that cannot be converted into a CONST_VECTOR. */
|
||||||
static rtx
|
static rtx
|
||||||
aarch64_simd_make_constant (rtx vals)
|
aarch64_simd_make_constant (rtx vals)
|
||||||
{
|
{
|
||||||
@ -14818,12 +14818,12 @@ aarch64_simd_make_constant (rtx vals)
|
|||||||
/* Loaded using DUP. */
|
/* Loaded using DUP. */
|
||||||
return const_dup;
|
return const_dup;
|
||||||
else if (const_vec != NULL_RTX)
|
else if (const_vec != NULL_RTX)
|
||||||
/* Load from constant pool. We can not take advantage of single-cycle
|
/* Load from constant pool. We cannot take advantage of single-cycle
|
||||||
LD1 because we need a PC-relative addressing mode. */
|
LD1 because we need a PC-relative addressing mode. */
|
||||||
return const_vec;
|
return const_vec;
|
||||||
else
|
else
|
||||||
/* A PARALLEL containing something not valid inside CONST_VECTOR.
|
/* A PARALLEL containing something not valid inside CONST_VECTOR.
|
||||||
We can not construct an initializer. */
|
We cannot construct an initializer. */
|
||||||
return NULL_RTX;
|
return NULL_RTX;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@
|
|||||||
;; the lock is cleared by a normal load or store. This means we cannot
|
;; the lock is cleared by a normal load or store. This means we cannot
|
||||||
;; expand a ll/sc sequence before reload, lest a register spill is
|
;; expand a ll/sc sequence before reload, lest a register spill is
|
||||||
;; inserted inside the sequence. It is also UNPREDICTABLE whether the
|
;; inserted inside the sequence. It is also UNPREDICTABLE whether the
|
||||||
;; lock is cleared by a TAKEN branch. This means that we can not expand
|
;; lock is cleared by a TAKEN branch. This means that we cannot expand
|
||||||
;; a ll/sc sequence containing a branch (i.e. compare-and-swap) until after
|
;; a ll/sc sequence containing a branch (i.e. compare-and-swap) until after
|
||||||
;; the final basic-block reordering pass.
|
;; the final basic-block reordering pass.
|
||||||
|
|
||||||
|
@ -8477,7 +8477,7 @@ arc_reorg (void)
|
|||||||
Brcc.d b, c, s9
|
Brcc.d b, c, s9
|
||||||
Brcc.d b, u6, s9
|
Brcc.d b, u6, s9
|
||||||
|
|
||||||
For cc={GT, LE, GTU, LEU}, u6=63 can not be allowed,
|
For cc={GT, LE, GTU, LEU}, u6=63 cannot be allowed,
|
||||||
since they are encoded by the assembler as {GE, LT, HS, LS} 64, which
|
since they are encoded by the assembler as {GE, LT, HS, LS} 64, which
|
||||||
does not have a delay slot
|
does not have a delay slot
|
||||||
|
|
||||||
|
@ -696,7 +696,7 @@
|
|||||||
(match_test "REGNO (op) == (TARGET_BIG_ENDIAN ? 59 : 58)")
|
(match_test "REGNO (op) == (TARGET_BIG_ENDIAN ? 59 : 58)")
|
||||||
(match_test "TARGET_V2")))
|
(match_test "TARGET_V2")))
|
||||||
|
|
||||||
; Unfortunately, we can not allow a const_int_operand before reload, because
|
; Unfortunately, we cannot allow a const_int_operand before reload, because
|
||||||
; reload needs a non-void mode to guide it how to reload the inside of a
|
; reload needs a non-void mode to guide it how to reload the inside of a
|
||||||
; {sign_}extend.
|
; {sign_}extend.
|
||||||
(define_predicate "extend_operand"
|
(define_predicate "extend_operand"
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
#include "c-family/c-pragma.h"
|
#include "c-family/c-pragma.h"
|
||||||
#include "stringpool.h"
|
#include "stringpool.h"
|
||||||
|
|
||||||
/* Output C specific EABI object attributes. These can not be done in
|
/* Output C specific EABI object attributes. These cannot be done in
|
||||||
arm.c because they require information from the C frontend. */
|
arm.c because they require information from the C frontend. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -2885,7 +2885,7 @@ arm_option_check_internal (struct gcc_options *opts)
|
|||||||
error ("iWMMXt unsupported under Thumb mode");
|
error ("iWMMXt unsupported under Thumb mode");
|
||||||
|
|
||||||
if (TARGET_HARD_TP && TARGET_THUMB1_P (flags))
|
if (TARGET_HARD_TP && TARGET_THUMB1_P (flags))
|
||||||
error ("can not use -mtp=cp15 with 16-bit Thumb");
|
error ("cannot use -mtp=cp15 with 16-bit Thumb");
|
||||||
|
|
||||||
if (TARGET_THUMB_P (flags) && TARGET_VXWORKS_RTP && flag_pic)
|
if (TARGET_THUMB_P (flags) && TARGET_VXWORKS_RTP && flag_pic)
|
||||||
{
|
{
|
||||||
@ -12327,7 +12327,7 @@ neon_vdup_constant (rtx vals)
|
|||||||
/* Generate code to load VALS, which is a PARALLEL containing only
|
/* Generate code to load VALS, which is a PARALLEL containing only
|
||||||
constants (for vec_init) or CONST_VECTOR, efficiently into a
|
constants (for vec_init) or CONST_VECTOR, efficiently into a
|
||||||
register. Returns an RTX to copy into the register, or NULL_RTX
|
register. Returns an RTX to copy into the register, or NULL_RTX
|
||||||
for a PARALLEL that can not be converted into a CONST_VECTOR. */
|
for a PARALLEL that cannot be converted into a CONST_VECTOR. */
|
||||||
|
|
||||||
rtx
|
rtx
|
||||||
neon_make_constant (rtx vals)
|
neon_make_constant (rtx vals)
|
||||||
@ -12369,13 +12369,13 @@ neon_make_constant (rtx vals)
|
|||||||
return target;
|
return target;
|
||||||
else if (const_vec != NULL_RTX)
|
else if (const_vec != NULL_RTX)
|
||||||
/* Load from constant pool. On Cortex-A8 this takes two cycles
|
/* Load from constant pool. On Cortex-A8 this takes two cycles
|
||||||
(for either double or quad vectors). We can not take advantage
|
(for either double or quad vectors). We cannot take advantage
|
||||||
of single-cycle VLD1 because we need a PC-relative addressing
|
of single-cycle VLD1 because we need a PC-relative addressing
|
||||||
mode. */
|
mode. */
|
||||||
return const_vec;
|
return const_vec;
|
||||||
else
|
else
|
||||||
/* A PARALLEL containing something not valid inside CONST_VECTOR.
|
/* A PARALLEL containing something not valid inside CONST_VECTOR.
|
||||||
We can not construct an initializer. */
|
We cannot construct an initializer. */
|
||||||
return NULL_RTX;
|
return NULL_RTX;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -16063,7 +16063,7 @@ add_minipool_forward_ref (Mfix *fix)
|
|||||||
Mnode * mp;
|
Mnode * mp;
|
||||||
|
|
||||||
/* If the minipool starts before the end of FIX->INSN then this FIX
|
/* If the minipool starts before the end of FIX->INSN then this FIX
|
||||||
can not be placed into the current pool. Furthermore, adding the
|
cannot be placed into the current pool. Furthermore, adding the
|
||||||
new constant pool entry may cause the pool to start FIX_SIZE bytes
|
new constant pool entry may cause the pool to start FIX_SIZE bytes
|
||||||
earlier. */
|
earlier. */
|
||||||
if (minipool_vector_head &&
|
if (minipool_vector_head &&
|
||||||
|
@ -1168,7 +1168,7 @@ enum reg_class
|
|||||||
: GET_MODE_SIZE (MODE) >= 4 ? BASE_REGS \
|
: GET_MODE_SIZE (MODE) >= 4 ? BASE_REGS \
|
||||||
: LO_REGS)
|
: LO_REGS)
|
||||||
|
|
||||||
/* For Thumb we can not support SP+reg addressing, so we return LO_REGS
|
/* For Thumb we cannot support SP+reg addressing, so we return LO_REGS
|
||||||
instead of BASE_REGS. */
|
instead of BASE_REGS. */
|
||||||
#define MODE_BASE_REG_REG_CLASS(MODE) BASE_REG_CLASS
|
#define MODE_BASE_REG_REG_CLASS(MODE) BASE_REG_CLASS
|
||||||
|
|
||||||
@ -1647,7 +1647,7 @@ enum arm_auto_incmodes
|
|||||||
: ARM_REGNO_OK_FOR_BASE_P (REGNO))
|
: ARM_REGNO_OK_FOR_BASE_P (REGNO))
|
||||||
|
|
||||||
/* Nonzero if X can be the base register in a reg+reg addressing mode.
|
/* Nonzero if X can be the base register in a reg+reg addressing mode.
|
||||||
For Thumb, we can not use SP + reg, so reject SP. */
|
For Thumb, we cannot use SP + reg, so reject SP. */
|
||||||
#define REGNO_MODE_OK_FOR_REG_BASE_P(X, MODE) \
|
#define REGNO_MODE_OK_FOR_REG_BASE_P(X, MODE) \
|
||||||
REGNO_MODE_OK_FOR_BASE_P (X, QImode)
|
REGNO_MODE_OK_FOR_BASE_P (X, QImode)
|
||||||
|
|
||||||
@ -1823,7 +1823,7 @@ enum arm_auto_incmodes
|
|||||||
: ARM_REG_OK_FOR_INDEX_P (X))
|
: ARM_REG_OK_FOR_INDEX_P (X))
|
||||||
|
|
||||||
/* Nonzero if X can be the base register in a reg+reg addressing mode.
|
/* Nonzero if X can be the base register in a reg+reg addressing mode.
|
||||||
For Thumb, we can not use SP + reg, so reject SP. */
|
For Thumb, we cannot use SP + reg, so reject SP. */
|
||||||
#define REG_MODE_OK_FOR_REG_BASE_P(X, MODE) \
|
#define REG_MODE_OK_FOR_REG_BASE_P(X, MODE) \
|
||||||
REG_OK_FOR_INDEX_P (X)
|
REG_OK_FOR_INDEX_P (X)
|
||||||
|
|
||||||
|
@ -287,7 +287,7 @@
|
|||||||
; CLOB means that the condition codes are altered in an undefined manner, if
|
; CLOB means that the condition codes are altered in an undefined manner, if
|
||||||
; they are altered at all
|
; they are altered at all
|
||||||
;
|
;
|
||||||
; UNCONDITIONAL means the instruction can not be conditionally executed and
|
; UNCONDITIONAL means the instruction cannot be conditionally executed and
|
||||||
; that the instruction does not use or alter the condition codes.
|
; that the instruction does not use or alter the condition codes.
|
||||||
;
|
;
|
||||||
; NOCOND means that the instruction does not use or alter the condition
|
; NOCOND means that the instruction does not use or alter the condition
|
||||||
@ -7406,7 +7406,7 @@
|
|||||||
)
|
)
|
||||||
|
|
||||||
;; DImode comparisons. The generic code generates branches that
|
;; DImode comparisons. The generic code generates branches that
|
||||||
;; if-conversion can not reduce to a conditional compare, so we do
|
;; if-conversion cannot reduce to a conditional compare, so we do
|
||||||
;; that directly.
|
;; that directly.
|
||||||
|
|
||||||
(define_insn_and_split "*arm_cmpdi_insn"
|
(define_insn_and_split "*arm_cmpdi_insn"
|
||||||
|
@ -115,7 +115,7 @@
|
|||||||
"cortex_r4_fmacs"
|
"cortex_r4_fmacs"
|
||||||
"arm_no_early_mul_dep")
|
"arm_no_early_mul_dep")
|
||||||
|
|
||||||
;; Double precision operations. These can not dual issue.
|
;; Double precision operations. These cannot dual issue.
|
||||||
|
|
||||||
(define_insn_reservation "cortex_r4_fmacd" 20
|
(define_insn_reservation "cortex_r4_fmacd" 20
|
||||||
(and (eq_attr "tune_cortexr4" "yes")
|
(and (eq_attr "tune_cortexr4" "yes")
|
||||||
|
@ -967,7 +967,7 @@ add_csky_minipool_forward_ref (Mfix *fix)
|
|||||||
Mnode *mp;
|
Mnode *mp;
|
||||||
|
|
||||||
/* If the minipool starts before the end of FIX->INSN then this FIX
|
/* If the minipool starts before the end of FIX->INSN then this FIX
|
||||||
can not be placed into the current pool. Furthermore, adding the
|
cannot be placed into the current pool. Furthermore, adding the
|
||||||
new constant pool entry may cause the pool to start FIX_SIZE bytes
|
new constant pool entry may cause the pool to start FIX_SIZE bytes
|
||||||
earlier. */
|
earlier. */
|
||||||
if (minipool_vector_head
|
if (minipool_vector_head
|
||||||
|
@ -923,7 +923,7 @@ extern const int csky_dbx_regno[];
|
|||||||
#define MOVE_MAX 4
|
#define MOVE_MAX 4
|
||||||
|
|
||||||
/* Shift counts are truncated to 6-bits (0 to 63) instead of the expected
|
/* Shift counts are truncated to 6-bits (0 to 63) instead of the expected
|
||||||
5-bits, so we can not define SHIFT_COUNT_TRUNCATED to true for this
|
5-bits, so we cannot define SHIFT_COUNT_TRUNCATED to true for this
|
||||||
target. */
|
target. */
|
||||||
#define SHIFT_COUNT_TRUNCATED 0
|
#define SHIFT_COUNT_TRUNCATED 0
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see
|
|||||||
/* Provide stubs for the hooks defined by darwin.h
|
/* Provide stubs for the hooks defined by darwin.h
|
||||||
TARGET_EXTRA_PRE_INCLUDES, TARGET_EXTRA_INCLUDES
|
TARGET_EXTRA_PRE_INCLUDES, TARGET_EXTRA_INCLUDES
|
||||||
|
|
||||||
As both, gcc and gfortran link in incpath.o, we can not
|
As both, gcc and gfortran link in incpath.o, we cannot
|
||||||
conditionally undefine said hooks if fortran is build.
|
conditionally undefine said hooks if fortran is build.
|
||||||
However, we can define do-nothing stubs of said hooks as
|
However, we can define do-nothing stubs of said hooks as
|
||||||
we are not interested in objc include files in Fortran.
|
we are not interested in objc include files in Fortran.
|
||||||
|
@ -1039,7 +1039,7 @@
|
|||||||
; use next_active_insn to look at the 'following' insn. That should
|
; use next_active_insn to look at the 'following' insn. That should
|
||||||
; exist, because peephole2 runs after reload, and there has to be
|
; exist, because peephole2 runs after reload, and there has to be
|
||||||
; a return after an fp_int insn.
|
; a return after an fp_int insn.
|
||||||
; ??? However, we can not even ordinarily match the preceding insn;
|
; ??? However, we cannot even ordinarily match the preceding insn;
|
||||||
; there is some bug in the generators such that then it leaves out
|
; there is some bug in the generators such that then it leaves out
|
||||||
; the check for PARALLEL before the length check for the then-second
|
; the check for PARALLEL before the length check for the then-second
|
||||||
; main insn. Observed when compiling compatibility-atomic-c++0x.cc
|
; main insn. Observed when compiling compatibility-atomic-c++0x.cc
|
||||||
|
@ -29759,13 +29759,13 @@ ix86_local_alignment (tree exp, machine_mode mode,
|
|||||||
a C99 variable-length array variable always has alignment of at least 16 bytes.
|
a C99 variable-length array variable always has alignment of at least 16 bytes.
|
||||||
|
|
||||||
This was added to allow use of aligned SSE instructions at arrays. This
|
This was added to allow use of aligned SSE instructions at arrays. This
|
||||||
rule is meant for static storage (where compiler can not do the analysis
|
rule is meant for static storage (where compiler cannot do the analysis
|
||||||
by itself). We follow it for automatic variables only when convenient.
|
by itself). We follow it for automatic variables only when convenient.
|
||||||
We fully control everything in the function compiled and functions from
|
We fully control everything in the function compiled and functions from
|
||||||
other unit can not rely on the alignment.
|
other unit cannot rely on the alignment.
|
||||||
|
|
||||||
Exclude va_list type. It is the common case of local array where
|
Exclude va_list type. It is the common case of local array where
|
||||||
we can not benefit from the alignment.
|
we cannot benefit from the alignment.
|
||||||
|
|
||||||
TODO: Probably one should optimize for size only when var is not escaping. */
|
TODO: Probably one should optimize for size only when var is not escaping. */
|
||||||
if (TARGET_64BIT && optimize_function_for_speed_p (cfun)
|
if (TARGET_64BIT && optimize_function_for_speed_p (cfun)
|
||||||
|
@ -26,7 +26,7 @@ along with GCC; see the file COPYING3. If not see
|
|||||||
#undef STACK_REALIGN_DEFAULT
|
#undef STACK_REALIGN_DEFAULT
|
||||||
#define STACK_REALIGN_DEFAULT (TARGET_64BIT ? 0 : 1)
|
#define STACK_REALIGN_DEFAULT (TARGET_64BIT ? 0 : 1)
|
||||||
|
|
||||||
/* Old versions of the Solaris assembler can not handle the difference of
|
/* Old versions of the Solaris assembler cannot handle the difference of
|
||||||
labels in different sections, so force DW_EH_PE_datarel if so. */
|
labels in different sections, so force DW_EH_PE_datarel if so. */
|
||||||
#ifndef HAVE_AS_IX86_DIFF_SECT_DELTA
|
#ifndef HAVE_AS_IX86_DIFF_SECT_DELTA
|
||||||
#undef ASM_PREFERRED_EH_DATA_FORMAT
|
#undef ASM_PREFERRED_EH_DATA_FORMAT
|
||||||
|
@ -2541,7 +2541,7 @@ m68k_call_tls_get_addr (rtx x, rtx eqv, enum m68k_reloc reloc)
|
|||||||
consider (plus (%a5) (const (unspec))) to be a good enough
|
consider (plus (%a5) (const (unspec))) to be a good enough
|
||||||
operand for push, so it forces it into a register. The bad
|
operand for push, so it forces it into a register. The bad
|
||||||
thing about this is that combiner, due to copy propagation and other
|
thing about this is that combiner, due to copy propagation and other
|
||||||
optimizations, sometimes can not later fix this. As a consequence,
|
optimizations, sometimes cannot later fix this. As a consequence,
|
||||||
additional register may be allocated resulting in a spill.
|
additional register may be allocated resulting in a spill.
|
||||||
For reference, see args processing loops in
|
For reference, see args processing loops in
|
||||||
calls.c:emit_library_call_value_1.
|
calls.c:emit_library_call_value_1.
|
||||||
|
@ -533,7 +533,7 @@ extern const enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
|
|||||||
#define SLOW_BYTE_ACCESS TARGET_SLOW_BYTES
|
#define SLOW_BYTE_ACCESS TARGET_SLOW_BYTES
|
||||||
|
|
||||||
/* Shift counts are truncated to 6-bits (0 to 63) instead of the expected
|
/* Shift counts are truncated to 6-bits (0 to 63) instead of the expected
|
||||||
5-bits, so we can not define SHIFT_COUNT_TRUNCATED to true for this
|
5-bits, so we cannot define SHIFT_COUNT_TRUNCATED to true for this
|
||||||
target. */
|
target. */
|
||||||
#define SHIFT_COUNT_TRUNCATED 0
|
#define SHIFT_COUNT_TRUNCATED 0
|
||||||
|
|
||||||
|
@ -124,10 +124,10 @@
|
|||||||
DEFINE_AUTOMATON).
|
DEFINE_AUTOMATON).
|
||||||
|
|
||||||
All define_reservations and define_cpu_units should have unique
|
All define_reservations and define_cpu_units should have unique
|
||||||
names which can not be "nothing".
|
names which cannot be "nothing".
|
||||||
|
|
||||||
o (exclusion_set string string) means that each CPU function unit
|
o (exclusion_set string string) means that each CPU function unit
|
||||||
in the first string can not be reserved simultaneously with each
|
in the first string cannot be reserved simultaneously with each
|
||||||
unit whose name is in the second string and vise versa. CPU
|
unit whose name is in the second string and vise versa. CPU
|
||||||
units in the string are separated by commas. For example, it is
|
units in the string are separated by commas. For example, it is
|
||||||
useful for description CPU with fully pipelined floating point
|
useful for description CPU with fully pipelined floating point
|
||||||
@ -135,18 +135,18 @@
|
|||||||
floating point insns or only double floating point insns.
|
floating point insns or only double floating point insns.
|
||||||
|
|
||||||
o (presence_set string string) means that each CPU function unit in
|
o (presence_set string string) means that each CPU function unit in
|
||||||
the first string can not be reserved unless at least one of units
|
the first string cannot be reserved unless at least one of units
|
||||||
whose names are in the second string is reserved. This is an
|
whose names are in the second string is reserved. This is an
|
||||||
asymmetric relation. CPU units in the string are separated by
|
asymmetric relation. CPU units in the string are separated by
|
||||||
commas. For example, it is useful for description that slot1 is
|
commas. For example, it is useful for description that slot1 is
|
||||||
reserved after slot0 reservation for a VLIW processor.
|
reserved after slot0 reservation for a VLIW processor.
|
||||||
|
|
||||||
o (absence_set string string) means that each CPU function unit in
|
o (absence_set string string) means that each CPU function unit in
|
||||||
the first string can not be reserved only if each unit whose name
|
the first string cannot be reserved only if each unit whose name
|
||||||
is in the second string is not reserved. This is an asymmetric
|
is in the second string is not reserved. This is an asymmetric
|
||||||
relation (actually exclusion set is analogous to this one but it
|
relation (actually exclusion set is analogous to this one but it
|
||||||
is symmetric). CPU units in the string are separated by commas.
|
is symmetric). CPU units in the string are separated by commas.
|
||||||
For example, it is useful for description that slot0 can not be
|
For example, it is useful for description that slot0 cannot be
|
||||||
reserved after slot1 or slot2 reservation for a VLIW processor.
|
reserved after slot1 or slot2 reservation for a VLIW processor.
|
||||||
|
|
||||||
o (define_bypass number out_insn_names in_insn_names) names bypass with
|
o (define_bypass number out_insn_names in_insn_names) names bypass with
|
||||||
@ -169,7 +169,7 @@
|
|||||||
case, you describe common part and use one its name (the 1st
|
case, you describe common part and use one its name (the 1st
|
||||||
parameter) in regular expression in define_insn_reservation. All
|
parameter) in regular expression in define_insn_reservation. All
|
||||||
define_reservations, define results and define_cpu_units should
|
define_reservations, define results and define_cpu_units should
|
||||||
have unique names which can not be "nothing".
|
have unique names which cannot be "nothing".
|
||||||
|
|
||||||
o (define_insn_reservation name default_latency condition regexpr)
|
o (define_insn_reservation name default_latency condition regexpr)
|
||||||
describes reservation of cpu functional units (the 3nd operand)
|
describes reservation of cpu functional units (the 3nd operand)
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
(exclusion_set "r20kc_fpu_add" "r20kc_fpu_mpy, r20kc_fpu_divsqrt")
|
(exclusion_set "r20kc_fpu_add" "r20kc_fpu_mpy, r20kc_fpu_divsqrt")
|
||||||
(exclusion_set "r20kc_fpu_mpy" "r20kc_fpu_divsqrt")
|
(exclusion_set "r20kc_fpu_mpy" "r20kc_fpu_divsqrt")
|
||||||
|
|
||||||
;; After branch any insn can not be issued.
|
;; After branch any insn cannot be issued.
|
||||||
(absence_set "r20kc_iss0,r20kc_iss1" "r20kc_ixub_branch")
|
(absence_set "r20kc_iss0,r20kc_iss1" "r20kc_ixub_branch")
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
@ -127,7 +127,7 @@
|
|||||||
;; register as destination.
|
;; register as destination.
|
||||||
|
|
||||||
;; ??? SB-1 can co-issue a load with a dependent arith insn if it executes on
|
;; ??? SB-1 can co-issue a load with a dependent arith insn if it executes on
|
||||||
;; an EX unit. Can not co-issue if the dependent insn executes on an LS unit.
|
;; an EX unit. Cannot co-issue if the dependent insn executes on an LS unit.
|
||||||
;; SB-1A can always co-issue here.
|
;; SB-1A can always co-issue here.
|
||||||
|
|
||||||
;; A load normally has a latency of zero cycles. In some cases, dependent
|
;; A load normally has a latency of zero cycles. In some cases, dependent
|
||||||
@ -144,7 +144,7 @@
|
|||||||
(eq_attr "type" "load,prefetch"))
|
(eq_attr "type" "load,prefetch"))
|
||||||
"sb1_ls0 | sb1_ls1")
|
"sb1_ls0 | sb1_ls1")
|
||||||
|
|
||||||
;; Can not co-issue fpload with fp exe when in 32-bit mode.
|
;; Cannot co-issue fpload with fp exe when in 32-bit mode.
|
||||||
|
|
||||||
(define_insn_reservation "ir_sb1_fpload" 0
|
(define_insn_reservation "ir_sb1_fpload" 0
|
||||||
(and (eq_attr "cpu" "sb1,sb1a")
|
(and (eq_attr "cpu" "sb1,sb1a")
|
||||||
@ -252,7 +252,7 @@
|
|||||||
(eq_attr "type" "const,arith,logical,move,signext"))
|
(eq_attr "type" "const,arith,logical,move,signext"))
|
||||||
"sb1_ls1 | sb1_ex1 | sb1_ex0")
|
"sb1_ls1 | sb1_ex1 | sb1_ex0")
|
||||||
|
|
||||||
;; On SB-1A, simple alu instructions can not execute on the LS1 unit, and we
|
;; On SB-1A, simple alu instructions cannot execute on the LS1 unit, and we
|
||||||
;; have none of the above problems.
|
;; have none of the above problems.
|
||||||
|
|
||||||
(define_insn_reservation "ir_sb1a_simple_alu" 1
|
(define_insn_reservation "ir_sb1a_simple_alu" 1
|
||||||
|
@ -1354,7 +1354,7 @@ nds32_emit_adjust_frame (rtx to_reg, rtx from_reg, int adjust_value)
|
|||||||
frame_adjust_insn = emit_insn (frame_adjust_insn);
|
frame_adjust_insn = emit_insn (frame_adjust_insn);
|
||||||
|
|
||||||
/* Because (tmp_reg <- full_value) may be split into two
|
/* Because (tmp_reg <- full_value) may be split into two
|
||||||
rtl patterns, we can not set its RTX_FRAME_RELATED_P.
|
rtl patterns, we cannot set its RTX_FRAME_RELATED_P.
|
||||||
We need to construct another (sp <- sp + full_value)
|
We need to construct another (sp <- sp + full_value)
|
||||||
and then insert it into sp_adjust_insn's reg note to
|
and then insert it into sp_adjust_insn's reg note to
|
||||||
represent a frame related expression.
|
represent a frame related expression.
|
||||||
@ -5352,7 +5352,7 @@ nds32_can_use_return_insn (void)
|
|||||||
int sp_adjust;
|
int sp_adjust;
|
||||||
|
|
||||||
/* Prior to reloading, we can't tell how many registers must be saved.
|
/* Prior to reloading, we can't tell how many registers must be saved.
|
||||||
Thus we can not determine whether this function has null epilogue. */
|
Thus we cannot determine whether this function has null epilogue. */
|
||||||
if (!reload_completed)
|
if (!reload_completed)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@
|
|||||||
(not (match_code "high,const,symbol_ref,label_ref")))
|
(not (match_code "high,const,symbol_ref,label_ref")))
|
||||||
{
|
{
|
||||||
/* If the constant op does NOT satisfy Is20 nor Ihig,
|
/* If the constant op does NOT satisfy Is20 nor Ihig,
|
||||||
we can not perform move behavior by a single instruction. */
|
we cannot perform move behavior by a single instruction. */
|
||||||
if (CONST_INT_P (op)
|
if (CONST_INT_P (op)
|
||||||
&& !satisfies_constraint_Is20 (op)
|
&& !satisfies_constraint_Is20 (op)
|
||||||
&& !satisfies_constraint_Ihig (op))
|
&& !satisfies_constraint_Ihig (op))
|
||||||
@ -128,7 +128,7 @@
|
|||||||
(not (match_code "high,const,symbol_ref,label_ref")))
|
(not (match_code "high,const,symbol_ref,label_ref")))
|
||||||
{
|
{
|
||||||
/* If the constant op does NOT satisfy Is20 nor Ihig,
|
/* If the constant op does NOT satisfy Is20 nor Ihig,
|
||||||
we can not perform move behavior by a single instruction. */
|
we cannot perform move behavior by a single instruction. */
|
||||||
if (GET_CODE (op) == CONST_VECTOR
|
if (GET_CODE (op) == CONST_VECTOR
|
||||||
&& !satisfies_constraint_CVs2 (op)
|
&& !satisfies_constraint_CVs2 (op)
|
||||||
&& !satisfies_constraint_CVhi (op))
|
&& !satisfies_constraint_CVhi (op))
|
||||||
|
@ -4013,7 +4013,7 @@ pa_expand_prologue (void)
|
|||||||
the callee registers. */
|
the callee registers. */
|
||||||
if (VAL_14_BITS_P (actual_fsize) && local_fsize == 0)
|
if (VAL_14_BITS_P (actual_fsize) && local_fsize == 0)
|
||||||
merge_sp_adjust_with_store = 1;
|
merge_sp_adjust_with_store = 1;
|
||||||
/* Can not optimize. Adjust the stack frame by actual_fsize
|
/* Cannot optimize. Adjust the stack frame by actual_fsize
|
||||||
bytes. */
|
bytes. */
|
||||||
else
|
else
|
||||||
set_reg_plus_d (STACK_POINTER_REGNUM, STACK_POINTER_REGNUM,
|
set_reg_plus_d (STACK_POINTER_REGNUM, STACK_POINTER_REGNUM,
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
(define_cpu_unit "ppce300c3_decode_0,ppce300c3_decode_1" "ppce300c3_most")
|
(define_cpu_unit "ppce300c3_decode_0,ppce300c3_decode_1" "ppce300c3_most")
|
||||||
|
|
||||||
;; We don't simulate general issue queue (GIC). If we have SU insn
|
;; We don't simulate general issue queue (GIC). If we have SU insn
|
||||||
;; and then SU1 insn, they can not be issued on the same cycle
|
;; and then SU1 insn, they cannot be issued on the same cycle
|
||||||
;; (although SU1 insn and then SU insn can be issued) because the SU
|
;; (although SU1 insn and then SU insn can be issued) because the SU
|
||||||
;; insn will go to SU1 from GIC0 entry. Fortunately, the first cycle
|
;; insn will go to SU1 from GIC0 entry. Fortunately, the first cycle
|
||||||
;; multipass insn scheduling will find the situation and issue the SU1
|
;; multipass insn scheduling will find the situation and issue the SU1
|
||||||
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
;; We could describe completion buffers slots in combination with the
|
;; We could describe completion buffers slots in combination with the
|
||||||
;; retirement units and the order of completion but the result
|
;; retirement units and the order of completion but the result
|
||||||
;; automaton would behave in the same way because we can not describe
|
;; automaton would behave in the same way because we cannot describe
|
||||||
;; real latency time with taking in order completion into account.
|
;; real latency time with taking in order completion into account.
|
||||||
;; Actually we could define the real latency time by querying reserved
|
;; Actually we could define the real latency time by querying reserved
|
||||||
;; automaton units but the current scheduler uses latency time before
|
;; automaton units but the current scheduler uses latency time before
|
||||||
|
@ -8118,7 +8118,7 @@ legitimate_lo_sum_address_p (machine_mode mode, rtx x, int strict)
|
|||||||
recognizes some LO_SUM addresses as valid although this
|
recognizes some LO_SUM addresses as valid although this
|
||||||
function says opposite. In most cases, LRA through different
|
function says opposite. In most cases, LRA through different
|
||||||
transformations can generate correct code for address reloads.
|
transformations can generate correct code for address reloads.
|
||||||
It can not manage only some LO_SUM cases. So we need to add
|
It cannot manage only some LO_SUM cases. So we need to add
|
||||||
code analogous to one in rs6000_legitimize_reload_address for
|
code analogous to one in rs6000_legitimize_reload_address for
|
||||||
LOW_SUM here saying that some addresses are still valid. */
|
LOW_SUM here saying that some addresses are still valid. */
|
||||||
large_toc_ok = (lra_in_progress && TARGET_CMODEL != CMODEL_SMALL
|
large_toc_ok = (lra_in_progress && TARGET_CMODEL != CMODEL_SMALL
|
||||||
@ -28983,7 +28983,7 @@ rs6000_output_function_epilogue (FILE *file)
|
|||||||
length fields that follow. However, if you omit the optional
|
length fields that follow. However, if you omit the optional
|
||||||
fields, the assembler outputs zeros for all optional fields
|
fields, the assembler outputs zeros for all optional fields
|
||||||
anyways, giving each variable length field is minimum length
|
anyways, giving each variable length field is minimum length
|
||||||
(as defined in sys/debug.h). Thus we can not use the .tbtab
|
(as defined in sys/debug.h). Thus we cannot use the .tbtab
|
||||||
pseudo-op at all. */
|
pseudo-op at all. */
|
||||||
|
|
||||||
/* An all-zero word flags the start of the tbtab, for debuggers
|
/* An all-zero word flags the start of the tbtab, for debuggers
|
||||||
|
@ -1047,7 +1047,7 @@ extern const struct s390_processor processor_table[];
|
|||||||
|
|
||||||
/* Target pragma. */
|
/* Target pragma. */
|
||||||
|
|
||||||
/* resolve_overloaded_builtin can not be defined the normal way since
|
/* resolve_overloaded_builtin cannot be defined the normal way since
|
||||||
it is defined in code which technically belongs to the
|
it is defined in code which technically belongs to the
|
||||||
front-end. */
|
front-end. */
|
||||||
#define REGISTER_TARGET_PRAGMAS() \
|
#define REGISTER_TARGET_PRAGMAS() \
|
||||||
|
@ -921,7 +921,7 @@ sh_option_override (void)
|
|||||||
to the pressure on R0. */
|
to the pressure on R0. */
|
||||||
/* Enable sched1 for SH4 if the user explicitly requests.
|
/* Enable sched1 for SH4 if the user explicitly requests.
|
||||||
When sched1 is enabled, the ready queue will be reordered by
|
When sched1 is enabled, the ready queue will be reordered by
|
||||||
the target hooks if pressure is high. We can not do this for
|
the target hooks if pressure is high. We cannot do this for
|
||||||
PIC, SH3 and lower as they give spill failures for R0. */
|
PIC, SH3 and lower as they give spill failures for R0. */
|
||||||
if (!TARGET_HARD_SH4 || flag_pic)
|
if (!TARGET_HARD_SH4 || flag_pic)
|
||||||
flag_schedule_insns = 0;
|
flag_schedule_insns = 0;
|
||||||
|
@ -7170,7 +7170,7 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
;; The use of operand 1 / 2 helps us distinguish case table jumps
|
;; The use of operand 1 / 2 helps us distinguish case table jumps
|
||||||
;; which can be present in structured code from indirect jumps which can not
|
;; which can be present in structured code from indirect jumps which cannot
|
||||||
;; be present in structured code. This allows -fprofile-arcs to work.
|
;; be present in structured code. This allows -fprofile-arcs to work.
|
||||||
|
|
||||||
;; For SH1 processors.
|
;; For SH1 processors.
|
||||||
|
@ -2302,7 +2302,7 @@ static inline vec_int4 vec_unpackh(vec_short8 a)
|
|||||||
|
|
||||||
#ifdef SUPPORT_UNPACK_PIXEL
|
#ifdef SUPPORT_UNPACK_PIXEL
|
||||||
/* Due to type conflicts, unpacking of pixel types and boolean shorts
|
/* Due to type conflicts, unpacking of pixel types and boolean shorts
|
||||||
* can not simultaneously be supported. By default, the boolean short is
|
* cannot simultaneously be supported. By default, the boolean short is
|
||||||
* supported.
|
* supported.
|
||||||
*/
|
*/
|
||||||
static inline vec_uint4 vec_unpackh(vec_pixel8 a)
|
static inline vec_uint4 vec_unpackh(vec_pixel8 a)
|
||||||
@ -2356,7 +2356,7 @@ static inline vec_int4 vec_unpackl(vec_short8 a)
|
|||||||
|
|
||||||
#ifdef SUPPORT_UNPACK_PIXEL
|
#ifdef SUPPORT_UNPACK_PIXEL
|
||||||
/* Due to type conflicts, unpacking of pixel types and boolean shorts
|
/* Due to type conflicts, unpacking of pixel types and boolean shorts
|
||||||
* can not simultaneously be supported. By default, the boolean short is
|
* cannot simultaneously be supported. By default, the boolean short is
|
||||||
* supported.
|
* supported.
|
||||||
*/
|
*/
|
||||||
static inline vec_uint4 vec_unpackl(vec_pixel8 a)
|
static inline vec_uint4 vec_unpackl(vec_pixel8 a)
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||||||
|
|
||||||
|
PR other/16615
|
||||||
|
|
||||||
|
* cp-tree.h: Mechanically replace "can not" with "cannot".
|
||||||
|
* parser.c: Likewise.
|
||||||
|
* pt.c: Likewise.
|
||||||
|
|
||||||
2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
|
2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
* decl.c (grok_reference_init): Improve error location.
|
* decl.c (grok_reference_init): Improve error location.
|
||||||
|
@ -4229,7 +4229,7 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter)
|
|||||||
#define IMPLICIT_CONV_EXPR_NONTYPE_ARG(NODE) \
|
#define IMPLICIT_CONV_EXPR_NONTYPE_ARG(NODE) \
|
||||||
(TREE_LANG_FLAG_1 (IMPLICIT_CONV_EXPR_CHECK (NODE)))
|
(TREE_LANG_FLAG_1 (IMPLICIT_CONV_EXPR_CHECK (NODE)))
|
||||||
|
|
||||||
/* Nonzero means that an object of this type can not be initialized using
|
/* Nonzero means that an object of this type cannot be initialized using
|
||||||
an initializer list. */
|
an initializer list. */
|
||||||
#define CLASSTYPE_NON_AGGREGATE(NODE) \
|
#define CLASSTYPE_NON_AGGREGATE(NODE) \
|
||||||
(LANG_TYPE_CLASS_CHECK (NODE)->non_aggregate)
|
(LANG_TYPE_CLASS_CHECK (NODE)->non_aggregate)
|
||||||
|
@ -1646,7 +1646,7 @@ declarator_can_be_parameter_pack (cp_declarator *declarator)
|
|||||||
|
|
||||||
/* Search for a declarator name, or any other declarator that goes
|
/* Search for a declarator name, or any other declarator that goes
|
||||||
after the point where the ellipsis could appear in a parameter
|
after the point where the ellipsis could appear in a parameter
|
||||||
pack. If we find any of these, then this declarator can not be
|
pack. If we find any of these, then this declarator cannot be
|
||||||
made into a parameter pack. */
|
made into a parameter pack. */
|
||||||
bool found = false;
|
bool found = false;
|
||||||
while (declarator && !found)
|
while (declarator && !found)
|
||||||
|
@ -1925,7 +1925,7 @@ explicit_class_specialization_p (tree type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Print the list of functions at FNS, going through all the overloads
|
/* Print the list of functions at FNS, going through all the overloads
|
||||||
for each element of the list. Alternatively, FNS can not be a
|
for each element of the list. Alternatively, FNS cannot be a
|
||||||
TREE_LIST, in which case it will be printed together with all the
|
TREE_LIST, in which case it will be printed together with all the
|
||||||
overloads.
|
overloads.
|
||||||
|
|
||||||
@ -22065,7 +22065,7 @@ unify (tree tparms, tree targs, tree parm, tree arg, int strict,
|
|||||||
/* If the argument deduction results is a METHOD_TYPE,
|
/* If the argument deduction results is a METHOD_TYPE,
|
||||||
then there is a problem.
|
then there is a problem.
|
||||||
METHOD_TYPE doesn't map to any real C++ type the result of
|
METHOD_TYPE doesn't map to any real C++ type the result of
|
||||||
the deduction can not be of that type. */
|
the deduction cannot be of that type. */
|
||||||
if (TREE_CODE (arg) == METHOD_TYPE)
|
if (TREE_CODE (arg) == METHOD_TYPE)
|
||||||
return unify_method_type_error (explain_p, arg);
|
return unify_method_type_error (explain_p, arg);
|
||||||
|
|
||||||
|
@ -839,7 +839,7 @@ find_avail_set (int regno, rtx_insn *insn, struct cprop_expr *set_ret[2])
|
|||||||
(set (reg X) (reg Y))
|
(set (reg X) (reg Y))
|
||||||
(set (reg Y) (reg X))
|
(set (reg Y) (reg X))
|
||||||
|
|
||||||
This can not happen since the set of (reg Y) would have killed the
|
This cannot happen since the set of (reg Y) would have killed the
|
||||||
set of (reg X) making it unavailable at the start of this block. */
|
set of (reg X) making it unavailable at the start of this block. */
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
@ -2817,7 +2817,7 @@ dbxout_symbol (tree decl, int local ATTRIBUTE_UNUSED)
|
|||||||
/* Do not generate a tag for incomplete records. */
|
/* Do not generate a tag for incomplete records. */
|
||||||
&& COMPLETE_TYPE_P (type)
|
&& COMPLETE_TYPE_P (type)
|
||||||
/* Do not generate a tag for records of variable size,
|
/* Do not generate a tag for records of variable size,
|
||||||
since this type can not be properly described in the
|
since this type cannot be properly described in the
|
||||||
DBX format, and it confuses some tools such as objdump. */
|
DBX format, and it confuses some tools such as objdump. */
|
||||||
&& tree_fits_uhwi_p (TYPE_SIZE (type)))
|
&& tree_fits_uhwi_p (TYPE_SIZE (type)))
|
||||||
{
|
{
|
||||||
|
@ -2982,7 +2982,7 @@ df_uses_record (struct df_collection_rec *collection_rec,
|
|||||||
scanned and regs_asm_clobbered is filled out.
|
scanned and regs_asm_clobbered is filled out.
|
||||||
|
|
||||||
For all ASM_OPERANDS, we must traverse the vector of input
|
For all ASM_OPERANDS, we must traverse the vector of input
|
||||||
operands. We can not just fall through here since then we
|
operands. We cannot just fall through here since then we
|
||||||
would be confused by the ASM_INPUT rtx inside ASM_OPERANDS,
|
would be confused by the ASM_INPUT rtx inside ASM_OPERANDS,
|
||||||
which do not indicate traditional asms unlike their normal
|
which do not indicate traditional asms unlike their normal
|
||||||
usage. */
|
usage. */
|
||||||
|
@ -32,7 +32,7 @@ passes pipeline, and even from @code{GIMPLE} to @code{RTL}.
|
|||||||
|
|
||||||
Often the CFG may be better viewed as integral part of instruction
|
Often the CFG may be better viewed as integral part of instruction
|
||||||
chain, than structure built on the top of it. Updating the compiler's
|
chain, than structure built on the top of it. Updating the compiler's
|
||||||
intermediate representation for instructions can not be easily done
|
intermediate representation for instructions cannot be easily done
|
||||||
without proper maintenance of the CFG simultaneously.
|
without proper maintenance of the CFG simultaneously.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
|
@ -10054,7 +10054,7 @@ register.
|
|||||||
|
|
||||||
@subsubheading Declaring the variable
|
@subsubheading Declaring the variable
|
||||||
|
|
||||||
Global register variables can not have initial values, because an
|
Global register variables cannot have initial values, because an
|
||||||
executable file has no means to supply initial contents for a register.
|
executable file has no means to supply initial contents for a register.
|
||||||
|
|
||||||
When selecting a register, choose one that is normally saved and
|
When selecting a register, choose one that is normally saved and
|
||||||
|
@ -63,7 +63,7 @@ in @code{EXTRA-PARTS}.
|
|||||||
@findex MULTILIB_OPTIONS
|
@findex MULTILIB_OPTIONS
|
||||||
@item MULTILIB_OPTIONS
|
@item MULTILIB_OPTIONS
|
||||||
For some targets, invoking GCC in different ways produces objects
|
For some targets, invoking GCC in different ways produces objects
|
||||||
that can not be linked together. For example, for some targets GCC
|
that cannot be linked together. For example, for some targets GCC
|
||||||
produces both big and little endian code. For these targets, you must
|
produces both big and little endian code. For these targets, you must
|
||||||
arrange for multiple versions of @file{libgcc.a} to be compiled, one for
|
arrange for multiple versions of @file{libgcc.a} to be compiled, one for
|
||||||
each set of incompatible options. When GCC invokes the linker, it
|
each set of incompatible options. When GCC invokes the linker, it
|
||||||
|
@ -362,7 +362,7 @@ referenced. But the memory that the pointer points to is an array of
|
|||||||
find pointers to mark or relocate, which is why it is marked with the
|
find pointers to mark or relocate, which is why it is marked with the
|
||||||
@code{atomic} option.
|
@code{atomic} option.
|
||||||
|
|
||||||
Note that, currently, global variables can not be marked with
|
Note that, currently, global variables cannot be marked with
|
||||||
@code{atomic}; only fields of a struct can. This is a known
|
@code{atomic}; only fields of a struct can. This is a known
|
||||||
limitation. It would be useful to be able to mark global pointers
|
limitation. It would be useful to be able to mark global pointers
|
||||||
with @code{atomic} to make the PCH machinery aware of them so that
|
with @code{atomic} to make the PCH machinery aware of them so that
|
||||||
|
@ -13064,7 +13064,7 @@ most of benefits of whole program optimizations are however lost.
|
|||||||
During the incremental link (by @option{-r}) the linker plugin will default to
|
During the incremental link (by @option{-r}) the linker plugin will default to
|
||||||
@option{rel}. With current interfaces to GNU Binutils it is however not
|
@option{rel}. With current interfaces to GNU Binutils it is however not
|
||||||
possible to link incrementally LTO objects and non-LTO objects into a single
|
possible to link incrementally LTO objects and non-LTO objects into a single
|
||||||
mixed object file. In the case any of object files in incremental link can not
|
mixed object file. In the case any of object files in incremental link cannot
|
||||||
be used for link-time optimization the linker plugin will output warning and
|
be used for link-time optimization the linker plugin will output warning and
|
||||||
use @samp{nolto-rel}. To maintain the whole program optimization it is
|
use @samp{nolto-rel}. To maintain the whole program optimization it is
|
||||||
recommended to link such objects into static library instead. Alternatively it
|
recommended to link such objects into static library instead. Alternatively it
|
||||||
@ -25771,7 +25771,7 @@ if this option were not present.
|
|||||||
@item -mfixed-range=@var{register-range}
|
@item -mfixed-range=@var{register-range}
|
||||||
@opindex mfixed-range
|
@opindex mfixed-range
|
||||||
Generate code treating the given register range as fixed registers.
|
Generate code treating the given register range as fixed registers.
|
||||||
A fixed register is one that the register allocator can not use. This is
|
A fixed register is one that the register allocator cannot use. This is
|
||||||
useful when compiling kernel code. A register range is specified as
|
useful when compiling kernel code. A register range is specified as
|
||||||
two registers separated by a dash. Multiple register ranges can be
|
two registers separated by a dash. Multiple register ranges can be
|
||||||
specified separated by a comma.
|
specified separated by a comma.
|
||||||
@ -28463,7 +28463,7 @@ Note that @option{-mcmodel=large} is incompatible with
|
|||||||
not be reachable in the large code model.
|
not be reachable in the large code model.
|
||||||
|
|
||||||
Note that @option{-mindirect-branch=thunk-extern} is incompatible with
|
Note that @option{-mindirect-branch=thunk-extern} is incompatible with
|
||||||
@option{-fcf-protection=branch} since the external thunk can not be modified
|
@option{-fcf-protection=branch} since the external thunk cannot be modified
|
||||||
to disable control-flow check.
|
to disable control-flow check.
|
||||||
|
|
||||||
@item -mfunction-return=@var{choice}
|
@item -mfunction-return=@var{choice}
|
||||||
|
@ -353,7 +353,7 @@ To simplify development, the GCC pass manager differentiates
|
|||||||
between normal inter-procedural passes and small inter-procedural
|
between normal inter-procedural passes and small inter-procedural
|
||||||
passes. A @emph{small inter-procedural pass}
|
passes. A @emph{small inter-procedural pass}
|
||||||
(@code{SIMPLE_IPA_PASS}) is a pass that does
|
(@code{SIMPLE_IPA_PASS}) is a pass that does
|
||||||
everything at once and thus it can not be executed during WPA in
|
everything at once and thus it cannot be executed during WPA in
|
||||||
WHOPR mode. It defines only the @emph{Execute} stage and during
|
WHOPR mode. It defines only the @emph{Execute} stage and during
|
||||||
this stage it accesses and modifies the function bodies. Such
|
this stage it accesses and modifies the function bodies. Such
|
||||||
passes are useful for optimization at LGEN or LTRANS time and are
|
passes are useful for optimization at LGEN or LTRANS time and are
|
||||||
|
@ -4583,7 +4583,7 @@ The syntax and semantics are otherwise identical to
|
|||||||
|
|
||||||
@deffn {MD Expression} define_special_memory_constraint name docstring exp
|
@deffn {MD Expression} define_special_memory_constraint name docstring exp
|
||||||
Use this expression for constraints that match a subset of all memory
|
Use this expression for constraints that match a subset of all memory
|
||||||
operands: that is, @code{reload} can not make them match by reloading
|
operands: that is, @code{reload} cannot make them match by reloading
|
||||||
the address as it is described for @code{define_memory_constraint} or
|
the address as it is described for @code{define_memory_constraint} or
|
||||||
such address reload is undesirable with the performance point of view.
|
such address reload is undesirable with the performance point of view.
|
||||||
|
|
||||||
@ -6213,8 +6213,8 @@ in a way that the blocks are not required to be aligned according to it in
|
|||||||
all cases. This expected alignment is also in bytes, just like operand 4.
|
all cases. This expected alignment is also in bytes, just like operand 4.
|
||||||
Expected size, when unknown, is set to @code{(const_int -1)}.
|
Expected size, when unknown, is set to @code{(const_int -1)}.
|
||||||
Operand 7 is the minimal size of the block and operand 8 is the
|
Operand 7 is the minimal size of the block and operand 8 is the
|
||||||
maximal size of the block (NULL if it can not be represented as CONST_INT).
|
maximal size of the block (NULL if it cannot be represented as CONST_INT).
|
||||||
Operand 9 is the probable maximal size (i.e.@: we can not rely on it for
|
Operand 9 is the probable maximal size (i.e.@: we cannot rely on it for
|
||||||
correctness, but it can be used for choosing proper code sequence for a
|
correctness, but it can be used for choosing proper code sequence for a
|
||||||
given size).
|
given size).
|
||||||
|
|
||||||
@ -9901,7 +9901,7 @@ the common part by the following construction
|
|||||||
@var{reservation-name} is a string giving name of @var{regexp}.
|
@var{reservation-name} is a string giving name of @var{regexp}.
|
||||||
Functional unit names and reservation names are in the same name
|
Functional unit names and reservation names are in the same name
|
||||||
space. So the reservation names should be different from the
|
space. So the reservation names should be different from the
|
||||||
functional unit names and can not be the reserved name @samp{nothing}.
|
functional unit names and cannot be the reserved name @samp{nothing}.
|
||||||
|
|
||||||
@findex define_bypass
|
@findex define_bypass
|
||||||
@cindex instruction latency time
|
@cindex instruction latency time
|
||||||
@ -9967,7 +9967,7 @@ separated by comma. Currently pattern is one unit or units
|
|||||||
separated by white-spaces.
|
separated by white-spaces.
|
||||||
|
|
||||||
The first construction (@samp{exclusion_set}) means that each
|
The first construction (@samp{exclusion_set}) means that each
|
||||||
functional unit in the first string can not be reserved simultaneously
|
functional unit in the first string cannot be reserved simultaneously
|
||||||
with a unit whose name is in the second string and vice versa. For
|
with a unit whose name is in the second string and vice versa. For
|
||||||
example, the construction is useful for describing processors
|
example, the construction is useful for describing processors
|
||||||
(e.g.@: some SPARC processors) with a fully pipelined floating point
|
(e.g.@: some SPARC processors) with a fully pipelined floating point
|
||||||
@ -9975,7 +9975,7 @@ functional unit which can execute simultaneously only single floating
|
|||||||
point insns or only double floating point insns.
|
point insns or only double floating point insns.
|
||||||
|
|
||||||
The second construction (@samp{presence_set}) means that each
|
The second construction (@samp{presence_set}) means that each
|
||||||
functional unit in the first string can not be reserved unless at
|
functional unit in the first string cannot be reserved unless at
|
||||||
least one of pattern of units whose names are in the second string is
|
least one of pattern of units whose names are in the second string is
|
||||||
reserved. This is an asymmetric relation. For example, it is useful
|
reserved. This is an asymmetric relation. For example, it is useful
|
||||||
for description that @acronym{VLIW} @samp{slot1} is reserved after
|
for description that @acronym{VLIW} @samp{slot1} is reserved after
|
||||||
@ -10030,7 +10030,7 @@ can be described as:
|
|||||||
(absence_set "slot0" "slot1, slot2")
|
(absence_set "slot0" "slot1, slot2")
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
Or @samp{slot2} can not be reserved if @samp{slot0} and unit @samp{b0}
|
Or @samp{slot2} cannot be reserved if @samp{slot0} and unit @samp{b0}
|
||||||
are reserved or @samp{slot1} and unit @samp{b1} are reserved. In
|
are reserved or @samp{slot1} and unit @samp{b1} are reserved. In
|
||||||
this case we could write
|
this case we could write
|
||||||
|
|
||||||
@ -10133,7 +10133,7 @@ are issued into the second pipeline. Integer division and
|
|||||||
multiplication insns can be executed only in the second integer
|
multiplication insns can be executed only in the second integer
|
||||||
pipeline and their results are ready correspondingly in 9 and 4
|
pipeline and their results are ready correspondingly in 9 and 4
|
||||||
cycles. The integer division is not pipelined, i.e.@: the subsequent
|
cycles. The integer division is not pipelined, i.e.@: the subsequent
|
||||||
integer division insn can not be issued until the current division
|
integer division insn cannot be issued until the current division
|
||||||
insn finished. Floating point insns are fully pipelined and their
|
insn finished. Floating point insns are fully pipelined and their
|
||||||
results are ready in 3 cycles. Where the result of a floating point
|
results are ready in 3 cycles. Where the result of a floating point
|
||||||
insn is used by an integer insn, an additional delay of one cycle is
|
insn is used by an integer insn, an additional delay of one cycle is
|
||||||
|
@ -1165,7 +1165,7 @@ in dynamically registering the method.
|
|||||||
To configure the hook, you set the global variable
|
To configure the hook, you set the global variable
|
||||||
@code{__objc_msg_forward2} to a function with the same argument and
|
@code{__objc_msg_forward2} to a function with the same argument and
|
||||||
return types of @code{objc_msg_lookup()}. When
|
return types of @code{objc_msg_lookup()}. When
|
||||||
@code{objc_msg_lookup()} can not find a method implementation, it
|
@code{objc_msg_lookup()} cannot find a method implementation, it
|
||||||
invokes the hook function you provided to get a method implementation
|
invokes the hook function you provided to get a method implementation
|
||||||
to return. So, in practice @code{__objc_msg_forward2} allows you to
|
to return. So, in practice @code{__objc_msg_forward2} allows you to
|
||||||
extend @code{objc_msg_lookup()} by adding some custom code that is
|
extend @code{objc_msg_lookup()} by adding some custom code that is
|
||||||
|
@ -2897,7 +2897,7 @@ in the @code{insv} or @code{extv} pattern.
|
|||||||
The mode @var{m} is the same as the mode that would be used for
|
The mode @var{m} is the same as the mode that would be used for
|
||||||
@var{loc} if it were a register.
|
@var{loc} if it were a register.
|
||||||
|
|
||||||
A @code{sign_extract} can not appear as an lvalue, or part thereof,
|
A @code{sign_extract} cannot appear as an lvalue, or part thereof,
|
||||||
in RTL.
|
in RTL.
|
||||||
|
|
||||||
@findex zero_extract
|
@findex zero_extract
|
||||||
@ -3157,7 +3157,7 @@ given the value @var{x} and the rest of the register is not changed.
|
|||||||
If @var{lval} is a @code{zero_extract}, then the referenced part of
|
If @var{lval} is a @code{zero_extract}, then the referenced part of
|
||||||
the bit-field (a memory or register reference) specified by the
|
the bit-field (a memory or register reference) specified by the
|
||||||
@code{zero_extract} is given the value @var{x} and the rest of the
|
@code{zero_extract} is given the value @var{x} and the rest of the
|
||||||
bit-field is not changed. Note that @code{sign_extract} can not
|
bit-field is not changed. Note that @code{sign_extract} cannot
|
||||||
appear in @var{lval}.
|
appear in @var{lval}.
|
||||||
|
|
||||||
If @var{lval} is @code{(cc0)}, it has no machine mode, and @var{x} may
|
If @var{lval} is @code{(cc0)}, it has no machine mode, and @var{x} may
|
||||||
|
@ -4960,7 +4960,7 @@ or @code{NULL} if this is an indirect call.
|
|||||||
It is not uncommon for limitations of calling conventions to prevent
|
It is not uncommon for limitations of calling conventions to prevent
|
||||||
tail calls to functions outside the current unit of translation, or
|
tail calls to functions outside the current unit of translation, or
|
||||||
during PIC compilation. The hook is used to enforce these restrictions,
|
during PIC compilation. The hook is used to enforce these restrictions,
|
||||||
as the @code{sibcall} md pattern can not fail, or fall over to a
|
as the @code{sibcall} md pattern cannot fail, or fall over to a
|
||||||
``normal'' call. The criteria for successful sibling call optimization
|
``normal'' call. The criteria for successful sibling call optimization
|
||||||
may vary greatly between different architectures.
|
may vary greatly between different architectures.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
@ -2587,7 +2587,7 @@ remove_useless_values (cselib_val *base)
|
|||||||
bool del = false;
|
bool del = false;
|
||||||
|
|
||||||
/* If ANY of the store_infos match the cselib group that is
|
/* If ANY of the store_infos match the cselib group that is
|
||||||
being deleted, then the insn can not be deleted. */
|
being deleted, then the insn cannot be deleted. */
|
||||||
while (store_info)
|
while (store_info)
|
||||||
{
|
{
|
||||||
if ((store_info->group_id == -1)
|
if ((store_info->group_id == -1)
|
||||||
|
@ -1781,7 +1781,7 @@ operand_subword_force (rtx op, poly_uint64 offset, machine_mode mode)
|
|||||||
|
|
||||||
if (mode != BLKmode && mode != VOIDmode)
|
if (mode != BLKmode && mode != VOIDmode)
|
||||||
{
|
{
|
||||||
/* If this is a register which can not be accessed by words, copy it
|
/* If this is a register which cannot be accessed by words, copy it
|
||||||
to a pseudo register. */
|
to a pseudo register. */
|
||||||
if (REG_P (op))
|
if (REG_P (op))
|
||||||
op = copy_to_reg (op);
|
op = copy_to_reg (op);
|
||||||
|
@ -245,7 +245,7 @@ struct GTY(()) rtl_data {
|
|||||||
/* True if dbr_schedule has already been called for this function. */
|
/* True if dbr_schedule has already been called for this function. */
|
||||||
bool dbr_scheduled_p;
|
bool dbr_scheduled_p;
|
||||||
|
|
||||||
/* True if current function can not throw. Unlike
|
/* True if current function cannot throw. Unlike
|
||||||
TREE_NOTHROW (current_function_decl) it is set even for overwritable
|
TREE_NOTHROW (current_function_decl) it is set even for overwritable
|
||||||
function where currently compiled version of it is nothrow. */
|
function where currently compiled version of it is nothrow. */
|
||||||
bool nothrow;
|
bool nothrow;
|
||||||
|
@ -1159,7 +1159,7 @@ sjlj_emit_function_enter (rtx_code_label *dispatch_label)
|
|||||||
|
|
||||||
/* We're storing this libcall's address into memory instead of
|
/* We're storing this libcall's address into memory instead of
|
||||||
calling it directly. Thus, we must call assemble_external_libcall
|
calling it directly. Thus, we must call assemble_external_libcall
|
||||||
here, as we can not depend on emit_library_call to do it for us. */
|
here, as we cannot depend on emit_library_call to do it for us. */
|
||||||
assemble_external_libcall (personality);
|
assemble_external_libcall (personality);
|
||||||
mem = adjust_address (fc, Pmode, sjlj_fc_personality_ofs);
|
mem = adjust_address (fc, Pmode, sjlj_fc_personality_ofs);
|
||||||
emit_move_insn (mem, personality);
|
emit_move_insn (mem, personality);
|
||||||
|
@ -3876,7 +3876,7 @@ expmed_mult_highpart_optab (scalar_int_mode mode, rtx op0, rtx op1,
|
|||||||
|
|
||||||
/* Emit code to multiply OP0 and OP1 (where OP1 is an integer constant),
|
/* Emit code to multiply OP0 and OP1 (where OP1 is an integer constant),
|
||||||
putting the high half of the result in TARGET if that is convenient,
|
putting the high half of the result in TARGET if that is convenient,
|
||||||
and return where the result is. If the operation can not be performed,
|
and return where the result is. If the operation cannot be performed,
|
||||||
0 is returned.
|
0 is returned.
|
||||||
|
|
||||||
MODE is the mode of operation and result.
|
MODE is the mode of operation and result.
|
||||||
|
10
gcc/expr.c
10
gcc/expr.c
@ -1550,7 +1550,7 @@ compare_by_pieces (rtx arg0, rtx arg1, unsigned HOST_WIDE_INT len,
|
|||||||
ALIGN is the maximum alignment we can assume they have.
|
ALIGN is the maximum alignment we can assume they have.
|
||||||
METHOD describes what kind of copy this is, and what mechanisms may be used.
|
METHOD describes what kind of copy this is, and what mechanisms may be used.
|
||||||
MIN_SIZE is the minimal size of block to move
|
MIN_SIZE is the minimal size of block to move
|
||||||
MAX_SIZE is the maximal size of block to move, if it can not be represented
|
MAX_SIZE is the maximal size of block to move, if it cannot be represented
|
||||||
in unsigned HOST_WIDE_INT, than it is mask of all ones.
|
in unsigned HOST_WIDE_INT, than it is mask of all ones.
|
||||||
|
|
||||||
Return the address of the new block, if memcpy is called and returns it,
|
Return the address of the new block, if memcpy is called and returns it,
|
||||||
@ -1789,7 +1789,7 @@ emit_block_move_via_movmem (rtx x, rtx y, rtx size, unsigned int align,
|
|||||||
if (nops >= 8)
|
if (nops >= 8)
|
||||||
{
|
{
|
||||||
create_integer_operand (&ops[6], min_size);
|
create_integer_operand (&ops[6], min_size);
|
||||||
/* If we can not represent the maximal size,
|
/* If we cannot represent the maximal size,
|
||||||
make parameter NULL. */
|
make parameter NULL. */
|
||||||
if ((HOST_WIDE_INT) max_size != -1)
|
if ((HOST_WIDE_INT) max_size != -1)
|
||||||
create_integer_operand (&ops[7], max_size);
|
create_integer_operand (&ops[7], max_size);
|
||||||
@ -1798,7 +1798,7 @@ emit_block_move_via_movmem (rtx x, rtx y, rtx size, unsigned int align,
|
|||||||
}
|
}
|
||||||
if (nops == 9)
|
if (nops == 9)
|
||||||
{
|
{
|
||||||
/* If we can not represent the maximal size,
|
/* If we cannot represent the maximal size,
|
||||||
make parameter NULL. */
|
make parameter NULL. */
|
||||||
if ((HOST_WIDE_INT) probable_max_size != -1)
|
if ((HOST_WIDE_INT) probable_max_size != -1)
|
||||||
create_integer_operand (&ops[8], probable_max_size);
|
create_integer_operand (&ops[8], probable_max_size);
|
||||||
@ -3144,7 +3144,7 @@ set_storage_via_setmem (rtx object, rtx size, rtx val, unsigned int align,
|
|||||||
if (nops >= 8)
|
if (nops >= 8)
|
||||||
{
|
{
|
||||||
create_integer_operand (&ops[6], min_size);
|
create_integer_operand (&ops[6], min_size);
|
||||||
/* If we can not represent the maximal size,
|
/* If we cannot represent the maximal size,
|
||||||
make parameter NULL. */
|
make parameter NULL. */
|
||||||
if ((HOST_WIDE_INT) max_size != -1)
|
if ((HOST_WIDE_INT) max_size != -1)
|
||||||
create_integer_operand (&ops[7], max_size);
|
create_integer_operand (&ops[7], max_size);
|
||||||
@ -3153,7 +3153,7 @@ set_storage_via_setmem (rtx object, rtx size, rtx val, unsigned int align,
|
|||||||
}
|
}
|
||||||
if (nops == 9)
|
if (nops == 9)
|
||||||
{
|
{
|
||||||
/* If we can not represent the maximal size,
|
/* If we cannot represent the maximal size,
|
||||||
make parameter NULL. */
|
make parameter NULL. */
|
||||||
if ((HOST_WIDE_INT) probable_max_size != -1)
|
if ((HOST_WIDE_INT) probable_max_size != -1)
|
||||||
create_integer_operand (&ops[8], probable_max_size);
|
create_integer_operand (&ops[8], probable_max_size);
|
||||||
|
@ -735,7 +735,7 @@ fold_negate_expr (location_t loc, tree t)
|
|||||||
return fold_convert_loc (loc, type, tem);
|
return fold_convert_loc (loc, type, tem);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Like fold_negate_expr, but return a NEGATE_EXPR tree, if T can not be
|
/* Like fold_negate_expr, but return a NEGATE_EXPR tree, if T cannot be
|
||||||
negated in a simpler way. Also allow for T to be NULL_TREE, in which case
|
negated in a simpler way. Also allow for T to be NULL_TREE, in which case
|
||||||
return NULL_TREE. */
|
return NULL_TREE. */
|
||||||
|
|
||||||
@ -8419,7 +8419,7 @@ maybe_canonicalize_comparison (location_t loc, enum tree_code code, tree type,
|
|||||||
|
|
||||||
/* Return whether BASE + OFFSET + BITPOS may wrap around the address
|
/* Return whether BASE + OFFSET + BITPOS may wrap around the address
|
||||||
space. This is used to avoid issuing overflow warnings for
|
space. This is used to avoid issuing overflow warnings for
|
||||||
expressions like &p->x which can not wrap. */
|
expressions like &p->x which cannot wrap. */
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
pointer_may_wrap_p (tree base, tree offset, poly_int64 bitpos)
|
pointer_may_wrap_p (tree base, tree offset, poly_int64 bitpos)
|
||||||
|
@ -1,3 +1,24 @@
|
|||||||
|
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||||||
|
|
||||||
|
PR other/16615
|
||||||
|
|
||||||
|
* class.c: Mechanically replace "can not" with "cannot".
|
||||||
|
* decl.c: Likewise.
|
||||||
|
* expr.c: Likewise.
|
||||||
|
* gfc-internals.texi: Likewise.
|
||||||
|
* intrinsic.texi: Likewise.
|
||||||
|
* invoke.texi: Likewise.
|
||||||
|
* io.c: Likewise.
|
||||||
|
* match.c: Likewise.
|
||||||
|
* parse.c: Likewise.
|
||||||
|
* primary.c: Likewise.
|
||||||
|
* resolve.c: Likewise.
|
||||||
|
* symbol.c: Likewise.
|
||||||
|
* trans-array.c: Likewise.
|
||||||
|
* trans-decl.c: Likewise.
|
||||||
|
* trans-intrinsic.c: Likewise.
|
||||||
|
* trans-stmt.c: Likewise.
|
||||||
|
|
||||||
2019-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
|
2019-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/68426
|
PR fortran/68426
|
||||||
|
@ -630,7 +630,7 @@ gfc_build_class_symbol (gfc_typespec *ts, symbol_attribute *attr,
|
|||||||
|| attr->select_type_temporary || attr->associate_var;
|
|| attr->select_type_temporary || attr->associate_var;
|
||||||
|
|
||||||
if (!attr->class_ok)
|
if (!attr->class_ok)
|
||||||
/* We can not build the class container yet. */
|
/* We cannot build the class container yet. */
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
/* Determine the name of the encapsulating type. */
|
/* Determine the name of the encapsulating type. */
|
||||||
|
@ -2440,7 +2440,7 @@ variable_decl (int elem)
|
|||||||
|
|
||||||
/* At this point, we know for sure if the symbol is PARAMETER and can thus
|
/* At this point, we know for sure if the symbol is PARAMETER and can thus
|
||||||
determine (and check) whether it can be implied-shape. If it
|
determine (and check) whether it can be implied-shape. If it
|
||||||
was parsed as assumed-size, change it because PARAMETERs can not
|
was parsed as assumed-size, change it because PARAMETERs cannot
|
||||||
be assumed-size.
|
be assumed-size.
|
||||||
|
|
||||||
An explicit-shape-array cannot appear under several conditions.
|
An explicit-shape-array cannot appear under several conditions.
|
||||||
@ -5673,7 +5673,7 @@ verify_bind_c_sym (gfc_symbol *tmp_sym, gfc_typespec *ts,
|
|||||||
retval = false;
|
retval = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Scalar variables that are bind(c) can not have the pointer
|
/* Scalar variables that are bind(c) cannot have the pointer
|
||||||
or allocatable attributes. */
|
or allocatable attributes. */
|
||||||
if (tmp_sym->attr.is_bind_c == 1)
|
if (tmp_sym->attr.is_bind_c == 1)
|
||||||
{
|
{
|
||||||
@ -5702,7 +5702,7 @@ verify_bind_c_sym (gfc_symbol *tmp_sym, gfc_typespec *ts,
|
|||||||
gfc_error ("Return type of BIND(C) function %qs at %L cannot "
|
gfc_error ("Return type of BIND(C) function %qs at %L cannot "
|
||||||
"be an array", tmp_sym->name, &(tmp_sym->declared_at));
|
"be an array", tmp_sym->name, &(tmp_sym->declared_at));
|
||||||
|
|
||||||
/* BIND(C) functions can not return a character string. */
|
/* BIND(C) functions cannot return a character string. */
|
||||||
if (bind_c_function && tmp_sym->ts.type == BT_CHARACTER)
|
if (bind_c_function && tmp_sym->ts.type == BT_CHARACTER)
|
||||||
if (tmp_sym->ts.u.cl == NULL || tmp_sym->ts.u.cl->length == NULL
|
if (tmp_sym->ts.u.cl == NULL || tmp_sym->ts.u.cl->length == NULL
|
||||||
|| tmp_sym->ts.u.cl->length->expr_type != EXPR_CONSTANT
|
|| tmp_sym->ts.u.cl->length->expr_type != EXPR_CONSTANT
|
||||||
|
@ -2050,7 +2050,7 @@ scalarize_intrinsic_call (gfc_expr *, bool init_flag);
|
|||||||
1 Simplifying array constructors -- will substitute
|
1 Simplifying array constructors -- will substitute
|
||||||
iterator values.
|
iterator values.
|
||||||
Returns false on error, true otherwise.
|
Returns false on error, true otherwise.
|
||||||
NOTE: Will return true even if the expression can not be simplified. */
|
NOTE: Will return true even if the expression cannot be simplified. */
|
||||||
|
|
||||||
bool
|
bool
|
||||||
gfc_simplify_expr (gfc_expr *p, int type)
|
gfc_simplify_expr (gfc_expr *p, int type)
|
||||||
@ -5981,7 +5981,7 @@ gfc_check_vardef_context (gfc_expr* e, bool pointer, bool alloc_obj,
|
|||||||
if (pointer && is_pointer)
|
if (pointer && is_pointer)
|
||||||
{
|
{
|
||||||
if (context)
|
if (context)
|
||||||
gfc_error ("Variable %qs is PROTECTED and can not appear in a"
|
gfc_error ("Variable %qs is PROTECTED and cannot appear in a"
|
||||||
" pointer association context (%s) at %L",
|
" pointer association context (%s) at %L",
|
||||||
sym->name, context, &e->where);
|
sym->name, context, &e->where);
|
||||||
return false;
|
return false;
|
||||||
@ -5989,7 +5989,7 @@ gfc_check_vardef_context (gfc_expr* e, bool pointer, bool alloc_obj,
|
|||||||
if (!pointer && !is_pointer)
|
if (!pointer && !is_pointer)
|
||||||
{
|
{
|
||||||
if (context)
|
if (context)
|
||||||
gfc_error ("Variable %qs is PROTECTED and can not appear in a"
|
gfc_error ("Variable %qs is PROTECTED and cannot appear in a"
|
||||||
" variable definition context (%s) at %L",
|
" variable definition context (%s) at %L",
|
||||||
sym->name, context, &e->where);
|
sym->name, context, &e->where);
|
||||||
return false;
|
return false;
|
||||||
@ -6001,7 +6001,7 @@ gfc_check_vardef_context (gfc_expr* e, bool pointer, bool alloc_obj,
|
|||||||
if (!pointer && !own_scope && gfc_pure (NULL) && gfc_impure_variable (sym))
|
if (!pointer && !own_scope && gfc_pure (NULL) && gfc_impure_variable (sym))
|
||||||
{
|
{
|
||||||
if (context)
|
if (context)
|
||||||
gfc_error ("Variable %qs can not appear in a variable definition"
|
gfc_error ("Variable %qs cannot appear in a variable definition"
|
||||||
" context (%s) at %L in PURE procedure",
|
" context (%s) at %L in PURE procedure",
|
||||||
sym->name, context, &e->where);
|
sym->name, context, &e->where);
|
||||||
return false;
|
return false;
|
||||||
@ -6075,9 +6075,9 @@ gfc_check_vardef_context (gfc_expr* e, bool pointer, bool alloc_obj,
|
|||||||
if (!gfc_check_vardef_context (assoc->target, pointer, false, false, NULL))
|
if (!gfc_check_vardef_context (assoc->target, pointer, false, false, NULL))
|
||||||
{
|
{
|
||||||
if (context)
|
if (context)
|
||||||
gfc_error ("Associate-name %qs can not appear in a variable"
|
gfc_error ("Associate-name %qs cannot appear in a variable"
|
||||||
" definition context (%s) at %L because its target"
|
" definition context (%s) at %L because its target"
|
||||||
" at %L can not, either",
|
" at %L cannot, either",
|
||||||
name, context, &e->where,
|
name, context, &e->where,
|
||||||
&assoc->target->where);
|
&assoc->target->where);
|
||||||
return false;
|
return false;
|
||||||
|
@ -715,7 +715,7 @@ array member @code{tb_op} indexed by the intrinsic operator's enum
|
|||||||
value. Those need not be packed into @code{gfc_symtree} structures and are
|
value. Those need not be packed into @code{gfc_symtree} structures and are
|
||||||
only @code{gfc_typebound_proc} instances.
|
only @code{gfc_typebound_proc} instances.
|
||||||
|
|
||||||
When an operator call or assignment is found that can not be handled in
|
When an operator call or assignment is found that cannot be handled in
|
||||||
another way (i.e. neither matches an intrinsic nor interface operator
|
another way (i.e. neither matches an intrinsic nor interface operator
|
||||||
definition) but that contains a derived-type expression, all type-bound
|
definition) but that contains a derived-type expression, all type-bound
|
||||||
operators defined on that derived-type are checked for a match with
|
operators defined on that derived-type are checked for a match with
|
||||||
|
@ -6762,7 +6762,7 @@ kind.
|
|||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
After @code{GETARG} returns, the @var{VALUE} argument holds the
|
After @code{GETARG} returns, the @var{VALUE} argument holds the
|
||||||
@var{POS}th command line argument. If @var{VALUE} can not hold the
|
@var{POS}th command line argument. If @var{VALUE} cannot hold the
|
||||||
argument, it is truncated to fit the length of @var{VALUE}. If there are
|
argument, it is truncated to fit the length of @var{VALUE}. If there are
|
||||||
less than @var{POS} arguments specified at the command line, @var{VALUE}
|
less than @var{POS} arguments specified at the command line, @var{VALUE}
|
||||||
will be filled with blanks. If @math{@var{POS} = 0}, @var{VALUE} is set
|
will be filled with blanks. If @math{@var{POS} = 0}, @var{VALUE} is set
|
||||||
@ -6875,7 +6875,7 @@ and of default kind.
|
|||||||
|
|
||||||
@item @emph{Return value}:
|
@item @emph{Return value}:
|
||||||
After @code{GET_COMMAND_ARGUMENT} returns, the @var{VALUE} argument holds the
|
After @code{GET_COMMAND_ARGUMENT} returns, the @var{VALUE} argument holds the
|
||||||
@var{NUMBER}-th command line argument. If @var{VALUE} can not hold the argument, it is
|
@var{NUMBER}-th command line argument. If @var{VALUE} cannot hold the argument, it is
|
||||||
truncated to fit the length of @var{VALUE}. If there are less than @var{NUMBER}
|
truncated to fit the length of @var{VALUE}. If there are less than @var{NUMBER}
|
||||||
arguments specified at the command line, @var{VALUE} will be filled with blanks.
|
arguments specified at the command line, @var{VALUE} will be filled with blanks.
|
||||||
If @math{@var{NUMBER} = 0}, @var{VALUE} is set to the name of the program (on
|
If @math{@var{NUMBER} = 0}, @var{VALUE} is set to the name of the program (on
|
||||||
|
@ -1112,7 +1112,7 @@ time. This option is implied by @option{-Wall}.
|
|||||||
@item -Wdo-subscript
|
@item -Wdo-subscript
|
||||||
@opindex @code{Wdo-subscript}
|
@opindex @code{Wdo-subscript}
|
||||||
Warn if an array subscript inside a DO loop could lead to an
|
Warn if an array subscript inside a DO loop could lead to an
|
||||||
out-of-bounds access even if the compiler can not prove that the
|
out-of-bounds access even if the compiler cannot prove that the
|
||||||
statement is actually executed, in cases like
|
statement is actually executed, in cases like
|
||||||
@smallexample
|
@smallexample
|
||||||
real a(3)
|
real a(3)
|
||||||
|
@ -4619,7 +4619,7 @@ gfc_match_inquire (void)
|
|||||||
&& ((mpz_get_si (inquire->unit->value.integer) == GFC_INTERNAL_UNIT4)
|
&& ((mpz_get_si (inquire->unit->value.integer) == GFC_INTERNAL_UNIT4)
|
||||||
|| (mpz_get_si (inquire->unit->value.integer) == GFC_INTERNAL_UNIT)))
|
|| (mpz_get_si (inquire->unit->value.integer) == GFC_INTERNAL_UNIT)))
|
||||||
{
|
{
|
||||||
gfc_error ("UNIT number in INQUIRE statement at %L can not "
|
gfc_error ("UNIT number in INQUIRE statement at %L cannot "
|
||||||
"be %d", &loc, (int) mpz_get_si (inquire->unit->value.integer));
|
"be %d", &loc, (int) mpz_get_si (inquire->unit->value.integer));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
@ -5144,7 +5144,7 @@ gfc_match_common (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (sym->attr.is_bind_c == 1)
|
if (sym->attr.is_bind_c == 1)
|
||||||
gfc_error_now ("Variable %qs in common block %qs at %C can not "
|
gfc_error_now ("Variable %qs in common block %qs at %C cannot "
|
||||||
"be bind(c) since it is not global", sym->name,
|
"be bind(c) since it is not global", sym->name,
|
||||||
t->name);
|
t->name);
|
||||||
}
|
}
|
||||||
|
@ -3746,7 +3746,7 @@ loop:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we find a statement that can not be followed by an IMPLICIT statement
|
/* If we find a statement that cannot be followed by an IMPLICIT statement
|
||||||
(and thus we can expect to see none any further), type the function result
|
(and thus we can expect to see none any further), type the function result
|
||||||
if it has not yet been typed. Be careful not to give the END statement
|
if it has not yet been typed. Be careful not to give the END statement
|
||||||
to verify_st_order! */
|
to verify_st_order! */
|
||||||
@ -4543,7 +4543,7 @@ parse_associate (void)
|
|||||||
in case of association to a derived-type. */
|
in case of association to a derived-type. */
|
||||||
sym->ts = a->target->ts;
|
sym->ts = a->target->ts;
|
||||||
|
|
||||||
/* Check if the target expression is array valued. This can not always
|
/* Check if the target expression is array valued. This cannot always
|
||||||
be done by looking at target.rank, because that might not have been
|
be done by looking at target.rank, because that might not have been
|
||||||
set yet. Therefore traverse the chain of refs, looking for the last
|
set yet. Therefore traverse the chain of refs, looking for the last
|
||||||
array ref and evaluate that. */
|
array ref and evaluate that. */
|
||||||
|
@ -1570,7 +1570,7 @@ match_actual_arg (gfc_expr **result)
|
|||||||
gfc_set_sym_referenced (sym);
|
gfc_set_sym_referenced (sym);
|
||||||
if (sym->attr.flavor == FL_NAMELIST)
|
if (sym->attr.flavor == FL_NAMELIST)
|
||||||
{
|
{
|
||||||
gfc_error ("Namelist %qs can not be an argument at %L",
|
gfc_error ("Namelist %qs cannot be an argument at %L",
|
||||||
sym->name, &where);
|
sym->name, &where);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -3598,7 +3598,7 @@ gfc_match_rvalue (gfc_expr **result)
|
|||||||
/* F08:C612. */
|
/* F08:C612. */
|
||||||
if (gfc_peek_ascii_char() == '%')
|
if (gfc_peek_ascii_char() == '%')
|
||||||
{
|
{
|
||||||
gfc_error ("The leftmost part-ref in a data-ref can not be a "
|
gfc_error ("The leftmost part-ref in a data-ref cannot be a "
|
||||||
"function reference at %C");
|
"function reference at %C");
|
||||||
m = MATCH_ERROR;
|
m = MATCH_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -1089,7 +1089,7 @@ resolve_common_blocks (gfc_symtree *common_root)
|
|||||||
sym->name, &common_root->n.common->where, &sym->declared_at);
|
sym->name, &common_root->n.common->where, &sym->declared_at);
|
||||||
|
|
||||||
if (sym->attr.external)
|
if (sym->attr.external)
|
||||||
gfc_error ("COMMON block %qs at %L can not have the EXTERNAL attribute",
|
gfc_error ("COMMON block %qs at %L cannot have the EXTERNAL attribute",
|
||||||
sym->name, &common_root->n.common->where);
|
sym->name, &common_root->n.common->where);
|
||||||
|
|
||||||
if (sym->attr.intrinsic)
|
if (sym->attr.intrinsic)
|
||||||
@ -9319,7 +9319,7 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
|
|||||||
default_case->next = if_st;
|
default_case->next = if_st;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Resolve the internal code. This can not be done earlier because
|
/* Resolve the internal code. This cannot be done earlier because
|
||||||
it requires that the sym->assoc of selectors is set already. */
|
it requires that the sym->assoc of selectors is set already. */
|
||||||
gfc_current_ns = ns;
|
gfc_current_ns = ns;
|
||||||
gfc_resolve_blocks (code->block, gfc_current_ns);
|
gfc_resolve_blocks (code->block, gfc_current_ns);
|
||||||
@ -9453,7 +9453,7 @@ resolve_transfer (gfc_code *code)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* C_PTR and C_FUNPTR have private components which means they can not
|
/* C_PTR and C_FUNPTR have private components which means they cannot
|
||||||
be printed. However, if -std=gnu and not -pedantic, allow
|
be printed. However, if -std=gnu and not -pedantic, allow
|
||||||
the component to be printed to help debugging. */
|
the component to be printed to help debugging. */
|
||||||
if (ts->u.derived->ts.f90_type == BT_VOID)
|
if (ts->u.derived->ts.f90_type == BT_VOID)
|
||||||
@ -15311,7 +15311,7 @@ resolve_symbol (gfc_symbol *sym)
|
|||||||
for (; formal; formal = formal->next)
|
for (; formal; formal = formal->next)
|
||||||
if (formal->sym && formal->sym->attr.flavor == FL_NAMELIST)
|
if (formal->sym && formal->sym->attr.flavor == FL_NAMELIST)
|
||||||
{
|
{
|
||||||
gfc_error ("Namelist %qs can not be an argument to "
|
gfc_error ("Namelist %qs cannot be an argument to "
|
||||||
"subroutine or function at %L",
|
"subroutine or function at %L",
|
||||||
formal->sym->name, &sym->declared_at);
|
formal->sym->name, &sym->declared_at);
|
||||||
return;
|
return;
|
||||||
|
@ -4470,7 +4470,7 @@ verify_bind_c_derived_type (gfc_symbol *derived_sym)
|
|||||||
&& curr_comp->ts.u.derived->ts.is_iso_c != 1
|
&& curr_comp->ts.u.derived->ts.is_iso_c != 1
|
||||||
&& curr_comp->ts.u.derived != derived_sym)
|
&& curr_comp->ts.u.derived != derived_sym)
|
||||||
{
|
{
|
||||||
/* This should be allowed; the draft says a derived-type can not
|
/* This should be allowed; the draft says a derived-type cannot
|
||||||
have type parameters if it is has the BIND attribute. Type
|
have type parameters if it is has the BIND attribute. Type
|
||||||
parameters seem to be for making parameterized derived types.
|
parameters seem to be for making parameterized derived types.
|
||||||
There's no need to verify the type if it is c_ptr/c_funptr. */
|
There's no need to verify the type if it is c_ptr/c_funptr. */
|
||||||
|
@ -9078,7 +9078,7 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl,
|
|||||||
TREE_TYPE (len), len, tmp);
|
TREE_TYPE (len), len, tmp);
|
||||||
gfc_add_expr_to_block (&fnblock, tmp);
|
gfc_add_expr_to_block (&fnblock, tmp);
|
||||||
size = size_of_string_in_bytes (c->ts.kind, len);
|
size = size_of_string_in_bytes (c->ts.kind, len);
|
||||||
/* This component can not have allocatable components,
|
/* This component cannot have allocatable components,
|
||||||
therefore add_when_allocated of duplicate_allocatable ()
|
therefore add_when_allocated of duplicate_allocatable ()
|
||||||
is always NULL. */
|
is always NULL. */
|
||||||
tmp = duplicate_allocatable (dcmp, comp, ctype, rank,
|
tmp = duplicate_allocatable (dcmp, comp, ctype, rank,
|
||||||
|
@ -1369,7 +1369,7 @@ gfc_add_assign_aux_vars (gfc_symbol * sym)
|
|||||||
gfc_finish_var_decl (length, sym);
|
gfc_finish_var_decl (length, sym);
|
||||||
gfc_finish_var_decl (addr, sym);
|
gfc_finish_var_decl (addr, sym);
|
||||||
/* STRING_LENGTH is also used as flag. Less than -1 means that
|
/* STRING_LENGTH is also used as flag. Less than -1 means that
|
||||||
ASSIGN_ADDR can not be used. Equal -1 means that ASSIGN_ADDR is the
|
ASSIGN_ADDR cannot be used. Equal -1 means that ASSIGN_ADDR is the
|
||||||
target label's address. Otherwise, value is the length of a format string
|
target label's address. Otherwise, value is the length of a format string
|
||||||
and ASSIGN_ADDR is its address. */
|
and ASSIGN_ADDR is its address. */
|
||||||
if (TREE_STATIC (length))
|
if (TREE_STATIC (length))
|
||||||
|
@ -1432,7 +1432,7 @@ conv_expr_ref_to_caf_ref (stmtblock_t *block, gfc_expr *expr)
|
|||||||
gcc_assert (end != NULL_TREE);
|
gcc_assert (end != NULL_TREE);
|
||||||
/* Multiply with the product of array's stride and
|
/* Multiply with the product of array's stride and
|
||||||
the step of the ref to a virtual upper bound.
|
the step of the ref to a virtual upper bound.
|
||||||
We can not compute the actual upper bound here or
|
We cannot compute the actual upper bound here or
|
||||||
the caflib would compute the extend
|
the caflib would compute the extend
|
||||||
incorrectly. */
|
incorrectly. */
|
||||||
end = fold_build2 (MULT_EXPR, gfc_array_index_type,
|
end = fold_build2 (MULT_EXPR, gfc_array_index_type,
|
||||||
|
@ -6303,7 +6303,7 @@ gfc_trans_allocate (gfc_code * code)
|
|||||||
al_len = se.string_length;
|
al_len = se.string_length;
|
||||||
|
|
||||||
al_len_needs_set = al_len != NULL_TREE;
|
al_len_needs_set = al_len != NULL_TREE;
|
||||||
/* When allocating an array one can not use much of the
|
/* When allocating an array one cannot use much of the
|
||||||
pre-evaluated expr3 expressions, because for most of them the
|
pre-evaluated expr3 expressions, because for most of them the
|
||||||
scalarizer is needed which is not available in the pre-evaluation
|
scalarizer is needed which is not available in the pre-evaluation
|
||||||
step. Therefore gfc_array_allocate () is responsible (and able)
|
step. Therefore gfc_array_allocate () is responsible (and able)
|
||||||
@ -6554,7 +6554,7 @@ gfc_trans_allocate (gfc_code * code)
|
|||||||
information in future loop iterations. */
|
information in future loop iterations. */
|
||||||
if (tmp_expr3_len_flag)
|
if (tmp_expr3_len_flag)
|
||||||
/* No need to reset tmp_expr3_len_flag, because the
|
/* No need to reset tmp_expr3_len_flag, because the
|
||||||
presence of an expr3 can not change within in the
|
presence of an expr3 cannot change within in the
|
||||||
loop. */
|
loop. */
|
||||||
expr3_len = NULL_TREE;
|
expr3_len = NULL_TREE;
|
||||||
}
|
}
|
||||||
|
@ -5539,9 +5539,9 @@ form_reservs_matter (automaton_t automaton)
|
|||||||
if (units_array [unit]->automaton_decl
|
if (units_array [unit]->automaton_decl
|
||||||
== automaton->corresponding_automaton_decl
|
== automaton->corresponding_automaton_decl
|
||||||
&& (cycle >= units_array [unit]->min_occ_cycle_num
|
&& (cycle >= units_array [unit]->min_occ_cycle_num
|
||||||
/* We can not remove queried unit from reservations. */
|
/* We cannot remove queried unit from reservations. */
|
||||||
|| units_array [unit]->query_p
|
|| units_array [unit]->query_p
|
||||||
/* We can not remove units which are used
|
/* We cannot remove units which are used
|
||||||
`exclusion_set', `presence_set',
|
`exclusion_set', `presence_set',
|
||||||
`final_presence_set', `absence_set', and
|
`final_presence_set', `absence_set', and
|
||||||
`final_absence_set'. */
|
`final_absence_set'. */
|
||||||
@ -9207,7 +9207,7 @@ generate (void)
|
|||||||
#define STANDARD_OUTPUT_DESCRIPTION_FILE_SUFFIX ".dfa"
|
#define STANDARD_OUTPUT_DESCRIPTION_FILE_SUFFIX ".dfa"
|
||||||
|
|
||||||
/* The function returns suffix of given file name. The returned
|
/* The function returns suffix of given file name. The returned
|
||||||
string can not be changed. */
|
string cannot be changed. */
|
||||||
static const char *
|
static const char *
|
||||||
file_name_suffix (const char *file_name)
|
file_name_suffix (const char *file_name)
|
||||||
{
|
{
|
||||||
@ -9222,7 +9222,7 @@ file_name_suffix (const char *file_name)
|
|||||||
/* The function returns base name of given file name, i.e. pointer to
|
/* The function returns base name of given file name, i.e. pointer to
|
||||||
first char after last `/' (or `\' for WIN32) in given file name,
|
first char after last `/' (or `\' for WIN32) in given file name,
|
||||||
given file name itself if the directory name is absent. The
|
given file name itself if the directory name is absent. The
|
||||||
returned string can not be changed. */
|
returned string cannot be changed. */
|
||||||
static const char *
|
static const char *
|
||||||
base_file_name (const char *file_name)
|
base_file_name (const char *file_name)
|
||||||
{
|
{
|
||||||
|
@ -380,8 +380,8 @@ fold_gimple_assign (gimple_stmt_iterator *si)
|
|||||||
STRIP_USELESS_TYPE_CONVERSION (val);
|
STRIP_USELESS_TYPE_CONVERSION (val);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
/* We can not use __builtin_unreachable here because it
|
/* We cannot use __builtin_unreachable here because it
|
||||||
can not have address taken. */
|
cannot have address taken. */
|
||||||
val = build_int_cst (TREE_TYPE (val), 0);
|
val = build_int_cst (TREE_TYPE (val), 0);
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
@ -6988,7 +6988,7 @@ fold_const_aggregate_ref_1 (tree t, tree (*valueize) (tree))
|
|||||||
but don't fold. */
|
but don't fold. */
|
||||||
if (maybe_lt (offset, 0))
|
if (maybe_lt (offset, 0))
|
||||||
return NULL_TREE;
|
return NULL_TREE;
|
||||||
/* We can not determine ctor. */
|
/* We cannot determine ctor. */
|
||||||
if (!ctor)
|
if (!ctor)
|
||||||
return NULL_TREE;
|
return NULL_TREE;
|
||||||
return fold_ctor_reference (TREE_TYPE (t), ctor, offset,
|
return fold_ctor_reference (TREE_TYPE (t), ctor, offset,
|
||||||
@ -7013,7 +7013,7 @@ fold_const_aggregate_ref_1 (tree t, tree (*valueize) (tree))
|
|||||||
/* We do not know precise address. */
|
/* We do not know precise address. */
|
||||||
if (!known_size_p (max_size) || maybe_ne (max_size, size))
|
if (!known_size_p (max_size) || maybe_ne (max_size, size))
|
||||||
return NULL_TREE;
|
return NULL_TREE;
|
||||||
/* We can not determine ctor. */
|
/* We cannot determine ctor. */
|
||||||
if (!ctor)
|
if (!ctor)
|
||||||
return NULL_TREE;
|
return NULL_TREE;
|
||||||
|
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||||||
|
|
||||||
|
PR other/16615
|
||||||
|
|
||||||
|
* go-backend.c: Mechanically replace "can not" with "cannot".
|
||||||
|
* go-gcc.cc: Likewise.
|
||||||
|
|
||||||
2019-01-01 Jakub Jelinek <jakub@redhat.com>
|
2019-01-01 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Update copyright years.
|
Update copyright years.
|
||||||
|
@ -82,7 +82,7 @@ go_field_alignment (tree t)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* This is called by the Go frontend proper if the unsafe package was
|
/* This is called by the Go frontend proper if the unsafe package was
|
||||||
imported. When that happens we can not do type-based alias
|
imported. When that happens we cannot do type-based alias
|
||||||
analysis. */
|
analysis. */
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -760,7 +760,7 @@ Gcc_backend::Gcc_backend()
|
|||||||
NULL_TREE),
|
NULL_TREE),
|
||||||
false, false);
|
false, false);
|
||||||
|
|
||||||
// The compiler uses __builtin_unreachable for cases that can not
|
// The compiler uses __builtin_unreachable for cases that cannot
|
||||||
// occur.
|
// occur.
|
||||||
this->define_builtin(BUILT_IN_UNREACHABLE, "__builtin_unreachable", NULL,
|
this->define_builtin(BUILT_IN_UNREACHABLE, "__builtin_unreachable", NULL,
|
||||||
build_function_type(void_type_node, void_list_node),
|
build_function_type(void_type_node, void_list_node),
|
||||||
@ -909,7 +909,7 @@ Gcc_backend::function_type(const Btyped_identifier& receiver,
|
|||||||
if (result == error_mark_node)
|
if (result == error_mark_node)
|
||||||
return this->error_type();
|
return this->error_type();
|
||||||
|
|
||||||
// The libffi library can not represent a zero-sized object. To
|
// The libffi library cannot represent a zero-sized object. To
|
||||||
// avoid causing confusion on 32-bit SPARC, we treat a function that
|
// avoid causing confusion on 32-bit SPARC, we treat a function that
|
||||||
// returns a zero-sized value as returning void. That should do no
|
// returns a zero-sized value as returning void. That should do no
|
||||||
// harm since there is no actual value to be returned. See
|
// harm since there is no actual value to be returned. See
|
||||||
|
@ -674,7 +674,7 @@ struct target_hard_regs {
|
|||||||
with the local stack frame are safe, but scant others. */
|
with the local stack frame are safe, but scant others. */
|
||||||
HARD_REG_SET x_regs_invalidated_by_call;
|
HARD_REG_SET x_regs_invalidated_by_call;
|
||||||
|
|
||||||
/* Call used hard registers which can not be saved because there is no
|
/* Call used hard registers which cannot be saved because there is no
|
||||||
insn for this. */
|
insn for this. */
|
||||||
HARD_REG_SET x_no_caller_save_reg_set;
|
HARD_REG_SET x_no_caller_save_reg_set;
|
||||||
|
|
||||||
|
@ -503,7 +503,7 @@ cond_exec_process_if_block (ce_if_block * ce_info,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* If the conditional jump is more than just a conditional jump,
|
/* If the conditional jump is more than just a conditional jump,
|
||||||
then we can not do conditional execution conversion on this block. */
|
then we cannot do conditional execution conversion on this block. */
|
||||||
if (! onlyjump_p (BB_END (test_bb)))
|
if (! onlyjump_p (BB_END (test_bb)))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
@ -652,7 +652,7 @@ cond_exec_process_if_block (ce_if_block * ce_info,
|
|||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
/* If the conditional jump is more than just a conditional jump, then
|
/* If the conditional jump is more than just a conditional jump, then
|
||||||
we can not do conditional execution conversion on this block. */
|
we cannot do conditional execution conversion on this block. */
|
||||||
if (! onlyjump_p (BB_END (bb)))
|
if (! onlyjump_p (BB_END (bb)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
@ -4022,7 +4022,7 @@ noce_find_if_block (basic_block test_bb, edge then_edge, edge else_edge,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* If the conditional jump is more than just a conditional
|
/* If the conditional jump is more than just a conditional
|
||||||
jump, then we can not do if-conversion on this block. */
|
jump, then we cannot do if-conversion on this block. */
|
||||||
jump = BB_END (test_bb);
|
jump = BB_END (test_bb);
|
||||||
if (! onlyjump_p (jump))
|
if (! onlyjump_p (jump))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -4642,7 +4642,7 @@ find_cond_trap (basic_block test_bb, edge then_edge, edge else_edge)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* If the conditional jump is more than just a conditional jump, then
|
/* If the conditional jump is more than just a conditional jump, then
|
||||||
we can not do if-conversion on this block. Give up for returnjump_p,
|
we cannot do if-conversion on this block. Give up for returnjump_p,
|
||||||
changing a conditional return followed by unconditional trap for
|
changing a conditional return followed by unconditional trap for
|
||||||
conditional trap followed by unconditional return is likely not
|
conditional trap followed by unconditional return is likely not
|
||||||
beneficial and harder to handle. */
|
beneficial and harder to handle. */
|
||||||
|
@ -82,7 +82,7 @@ propagate_comdat_group (struct symtab_node *symbol,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* One COMDAT group can not hold both variables and functions at
|
/* One COMDAT group cannot hold both variables and functions at
|
||||||
a same time. For now we just go to BOTTOM, in future we may
|
a same time. For now we just go to BOTTOM, in future we may
|
||||||
invent special comdat groups for this case. */
|
invent special comdat groups for this case. */
|
||||||
|
|
||||||
@ -127,7 +127,7 @@ propagate_comdat_group (struct symtab_node *symbol,
|
|||||||
|
|
||||||
if (cgraph_node * cn = dyn_cast <cgraph_node *> (symbol2))
|
if (cgraph_node * cn = dyn_cast <cgraph_node *> (symbol2))
|
||||||
{
|
{
|
||||||
/* Thunks can not call across section boundary. */
|
/* Thunks cannot call across section boundary. */
|
||||||
if (cn->thunk.thunk_p)
|
if (cn->thunk.thunk_p)
|
||||||
newgroup = propagate_comdat_group (symbol2, newgroup, map);
|
newgroup = propagate_comdat_group (symbol2, newgroup, map);
|
||||||
/* If we see inline clone, its comdat group actually
|
/* If we see inline clone, its comdat group actually
|
||||||
@ -257,7 +257,7 @@ ipa_comdats (void)
|
|||||||
/* Mark the symbol so we won't waste time visiting it for dataflow. */
|
/* Mark the symbol so we won't waste time visiting it for dataflow. */
|
||||||
symbol->aux = (symtab_node *) (void *) 1;
|
symbol->aux = (symtab_node *) (void *) 1;
|
||||||
}
|
}
|
||||||
/* See symbols that can not be privatized to comdats; that is externally
|
/* See symbols that cannot be privatized to comdats; that is externally
|
||||||
visible symbols or otherwise used ones. We also do not want to mangle
|
visible symbols or otherwise used ones. We also do not want to mangle
|
||||||
user section names. */
|
user section names. */
|
||||||
else if (symbol->externally_visible
|
else if (symbol->externally_visible
|
||||||
|
@ -1129,7 +1129,7 @@ count_callers (cgraph_node *node, void *data)
|
|||||||
int *caller_count = (int *) data;
|
int *caller_count = (int *) data;
|
||||||
|
|
||||||
for (cgraph_edge *cs = node->callers; cs; cs = cs->next_caller)
|
for (cgraph_edge *cs = node->callers; cs; cs = cs->next_caller)
|
||||||
/* Local thunks can be handled transparently, but if the thunk can not
|
/* Local thunks can be handled transparently, but if the thunk cannot
|
||||||
be optimized out, count it as a real use. */
|
be optimized out, count it as a real use. */
|
||||||
if (!cs->caller->thunk.thunk_p || !cs->caller->local.local)
|
if (!cs->caller->thunk.thunk_p || !cs->caller->local.local)
|
||||||
++*caller_count;
|
++*caller_count;
|
||||||
|
@ -244,7 +244,7 @@ type_all_ctors_visible_p (tree t)
|
|||||||
{
|
{
|
||||||
return !flag_ltrans
|
return !flag_ltrans
|
||||||
&& symtab->state >= CONSTRUCTION
|
&& symtab->state >= CONSTRUCTION
|
||||||
/* We can not always use type_all_derivations_known_p.
|
/* We cannot always use type_all_derivations_known_p.
|
||||||
For function local types we must assume case where
|
For function local types we must assume case where
|
||||||
the function is COMDAT and shared in between units.
|
the function is COMDAT and shared in between units.
|
||||||
|
|
||||||
@ -1144,12 +1144,12 @@ warn_types_mismatch (tree t1, tree t2, location_t loc1, location_t loc2)
|
|||||||
verbose. */
|
verbose. */
|
||||||
if (IDENTIFIER_POINTER (n1) != IDENTIFIER_POINTER (n2))
|
if (IDENTIFIER_POINTER (n1) != IDENTIFIER_POINTER (n2))
|
||||||
inform (loc_t1,
|
inform (loc_t1,
|
||||||
"type %qT defined in anonymous namespace can not match "
|
"type %qT defined in anonymous namespace cannot match "
|
||||||
"type %qT across the translation unit boundary",
|
"type %qT across the translation unit boundary",
|
||||||
t1, t2);
|
t1, t2);
|
||||||
else
|
else
|
||||||
inform (loc_t1,
|
inform (loc_t1,
|
||||||
"type %qT defined in anonymous namespace can not match "
|
"type %qT defined in anonymous namespace cannot match "
|
||||||
"across the translation unit boundary",
|
"across the translation unit boundary",
|
||||||
t1);
|
t1);
|
||||||
if (loc_t2_useful)
|
if (loc_t2_useful)
|
||||||
@ -1312,7 +1312,7 @@ odr_types_equivalent_p (tree t1, tree t2, bool warn, bool *warned,
|
|||||||
|| (type_with_linkage_p (TYPE_MAIN_VARIANT (t2))
|
|| (type_with_linkage_p (TYPE_MAIN_VARIANT (t2))
|
||||||
&& type_in_anonymous_namespace_p (TYPE_MAIN_VARIANT (t2))))
|
&& type_in_anonymous_namespace_p (TYPE_MAIN_VARIANT (t2))))
|
||||||
{
|
{
|
||||||
/* We can not trip this when comparing ODR types, only when trying to
|
/* We cannot trip this when comparing ODR types, only when trying to
|
||||||
match different ODR derivations from different declarations.
|
match different ODR derivations from different declarations.
|
||||||
So WARN should be always false. */
|
So WARN should be always false. */
|
||||||
gcc_assert (!warn);
|
gcc_assert (!warn);
|
||||||
@ -2120,7 +2120,7 @@ get_odr_type (tree type, bool insert)
|
|||||||
val->all_derivations_known = type_all_derivations_known_p (type);
|
val->all_derivations_known = type_all_derivations_known_p (type);
|
||||||
for (i = 0; i < BINFO_N_BASE_BINFOS (binfo); i++)
|
for (i = 0; i < BINFO_N_BASE_BINFOS (binfo); i++)
|
||||||
/* For now record only polymorphic types. other are
|
/* For now record only polymorphic types. other are
|
||||||
pointless for devirtualization and we can not precisely
|
pointless for devirtualization and we cannot precisely
|
||||||
determine ODR equivalency of these during LTO. */
|
determine ODR equivalency of these during LTO. */
|
||||||
if (polymorphic_type_binfo_p (BINFO_BASE_BINFO (binfo, i)))
|
if (polymorphic_type_binfo_p (BINFO_BASE_BINFO (binfo, i)))
|
||||||
{
|
{
|
||||||
@ -2467,7 +2467,7 @@ is_cxa_pure_virtual_p (tree target)
|
|||||||
|
|
||||||
/* If TARGET has associated node, record it in the NODES array.
|
/* If TARGET has associated node, record it in the NODES array.
|
||||||
CAN_REFER specify if program can refer to the target directly.
|
CAN_REFER specify if program can refer to the target directly.
|
||||||
if TARGET is unknown (NULL) or it can not be inserted (for example because
|
if TARGET is unknown (NULL) or it cannot be inserted (for example because
|
||||||
its body was already removed and there is no way to refer to it), clear
|
its body was already removed and there is no way to refer to it), clear
|
||||||
COMPLETEP. */
|
COMPLETEP. */
|
||||||
|
|
||||||
@ -2568,7 +2568,7 @@ maybe_record_node (vec <cgraph_node *> &nodes,
|
|||||||
else if (!completep)
|
else if (!completep)
|
||||||
;
|
;
|
||||||
/* We have definition of __cxa_pure_virtual that is not accessible (it is
|
/* We have definition of __cxa_pure_virtual that is not accessible (it is
|
||||||
optimized out or partitioned to other unit) so we can not add it. When
|
optimized out or partitioned to other unit) so we cannot add it. When
|
||||||
not sanitizing, there is nothing to do.
|
not sanitizing, there is nothing to do.
|
||||||
Otherwise declare the list incomplete. */
|
Otherwise declare the list incomplete. */
|
||||||
else if (pure_virtual)
|
else if (pure_virtual)
|
||||||
@ -3805,7 +3805,7 @@ ipa_devirt (void)
|
|||||||
ndropped++;
|
ndropped++;
|
||||||
if (dump_file)
|
if (dump_file)
|
||||||
fprintf (dump_file, "Dropping polymorphic call info;"
|
fprintf (dump_file, "Dropping polymorphic call info;"
|
||||||
" it can not be used by ipa-prop\n");
|
" it cannot be used by ipa-prop\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!opt_for_fn (n->decl, flag_devirtualize_speculatively))
|
if (!opt_for_fn (n->decl, flag_devirtualize_speculatively))
|
||||||
|
@ -307,7 +307,7 @@ set_hint_predicate (predicate **p, predicate new_predicate)
|
|||||||
copy when called in a given context. It is a bitmask of conditions. Bit
|
copy when called in a given context. It is a bitmask of conditions. Bit
|
||||||
0 means that condition is known to be false, while bit 1 means that condition
|
0 means that condition is known to be false, while bit 1 means that condition
|
||||||
may or may not be true. These differs - for example NOT_INLINED condition
|
may or may not be true. These differs - for example NOT_INLINED condition
|
||||||
is always false in the second and also builtin_constant_p tests can not use
|
is always false in the second and also builtin_constant_p tests cannot use
|
||||||
the fact that parameter is indeed a constant.
|
the fact that parameter is indeed a constant.
|
||||||
|
|
||||||
KNOWN_VALS is partial mapping of parameters of NODE to constant values.
|
KNOWN_VALS is partial mapping of parameters of NODE to constant values.
|
||||||
@ -2219,7 +2219,7 @@ analyze_function_body (struct cgraph_node *node, bool early)
|
|||||||
struct predicate p = bb_predicate & will_be_nonconstant;
|
struct predicate p = bb_predicate & will_be_nonconstant;
|
||||||
|
|
||||||
/* We can ignore statement when we proved it is never going
|
/* We can ignore statement when we proved it is never going
|
||||||
to happen, but we can not do that for call statements
|
to happen, but we cannot do that for call statements
|
||||||
because edges are accounted specially. */
|
because edges are accounted specially. */
|
||||||
|
|
||||||
if (*(is_gimple_call (stmt) ? &bb_predicate : &p) != false)
|
if (*(is_gimple_call (stmt) ? &bb_predicate : &p) != false)
|
||||||
@ -2430,7 +2430,7 @@ compute_fn_summary (struct cgraph_node *node, bool early)
|
|||||||
info->account_size_time (2 * ipa_fn_summary::size_scale, 0, t, t);
|
info->account_size_time (2 * ipa_fn_summary::size_scale, 0, t, t);
|
||||||
ipa_update_overall_fn_summary (node);
|
ipa_update_overall_fn_summary (node);
|
||||||
info->self_size = info->size;
|
info->self_size = info->size;
|
||||||
/* We can not inline instrumentation clones. */
|
/* We cannot inline instrumentation clones. */
|
||||||
if (node->thunk.add_pointer_bounds_args)
|
if (node->thunk.add_pointer_bounds_args)
|
||||||
{
|
{
|
||||||
info->inlinable = false;
|
info->inlinable = false;
|
||||||
@ -2471,7 +2471,7 @@ compute_fn_summary (struct cgraph_node *node, bool early)
|
|||||||
node->local.can_change_signature = true;
|
node->local.can_change_signature = true;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Functions calling builtin_apply can not change signature. */
|
/* Functions calling builtin_apply cannot change signature. */
|
||||||
for (e = node->callees; e; e = e->next_callee)
|
for (e = node->callees; e; e = e->next_callee)
|
||||||
{
|
{
|
||||||
tree cdecl = e->callee->decl;
|
tree cdecl = e->callee->decl;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user