[rfa] Fix PR other/16615, change "can not" to "cannot" throughout docs and code

Message ID fdfe068d-0149-2a6d-1c93-641b0d9d8e6e@codesourcery.com
State New
Headers show
Series
  • [rfa] Fix PR other/16615, change "can not" to "cannot" throughout docs and code
Related show

Commit Message

Sandra Loosemore Dec. 28, 2018, 6 p.m.
I've split the fix for PR other/16615 into a series of 4 proposed 
commits.  3 of the 4 parts are mechanically generated, so I'm only 
posting the actual patch for the remaining piece (part 2).

Part 1 is the result of applying

find . -type f -print | xargs grep -i -l '\<can not\>' | grep -v 
ChangeLog | fgrep -v ./.svn | grep -v 'configure$' | fgrep -v .pot | 
fgrep -v ./libsanitizer | fgrep -v ./zlib | xargs sed -i -e 's,\<can 
not\>,cannot,g' -e 's,\<Can not\>,Cannot,g' -e 's,\<CAN NOT\>,CANNOT,g' 
-e 's,\<can NOT\>,CANNOT,g'

I've excluded ChangeLogs (not interested in rewriting history), .svn 
(for obvious reasons), configure and .pot files (will be regenerated in 
subsequent parts), and libsanitizer and zlib (sources are imported from 
a master copy somewhere else).

Part 2 is the hand-written part, to fix up some instances of "can not" 
broken across lines not caught by the recipe above.

Part 3 regenerates the configure files, and part 4 the gcc.pot file.

Taken individually, all these changes probably qualify as obvious, but 
given how extensive they are and how many files are touched, I thought 
it would be good to get a sanity check on methodology before checking in 
the whole pile.  E.g. are there other files that should be excluded from 
the recipe for part 1?

I did some light testing on x86_64-linux-gnu (I'm not set up to build 
all the language front ends, but C and C++ bootstrap and regression-test 
fine).

-Sandra

Comments

Joseph Myers Dec. 31, 2018, 11:23 p.m. | #1
On Fri, 28 Dec 2018, Sandra Loosemore wrote:

> Taken individually, all these changes probably qualify as obvious, but given

> how extensive they are and how many files are touched, I thought it would be

> good to get a sanity check on methodology before checking in the whole pile.

> E.g. are there other files that should be excluded from the recipe for part 1?


gcc/go/gofrontend/ and libgo/ have their own commit processes involving 
applying fixes to another repository first (and no ChangeLogs).  
Unfortunately the URL to that repository in gcc/go/README.gcc and 
libgo/README.gcc no longer works.

I think the same applies to gcc/d/dmd/, though I'm not sure the process 
there is documented anywhere.  Likewise for parts of libphobos (although 
that has a ChangeLog for the GCC-local build machinery).

The .po files come verbatim from the Translation Project; it's useless to 
patch those locally in GCC since the changes will be overwritten by the 
next copy from the TP.  gettext's fuzzy match machinery should suffice to 
help translators match their old translation of a "can not" message to the 
new "cannot" message.

I don't really think patching such issues in testcases is useful; 
certainly not for the ACATS tests coming from an upstream source.  
(Testsuite .exp files would be more like normal sources in this regard and 
should get spelling fixes etc., but I don't see any such files affected by 
your changes.)

libtool.m4 and ltmain.sh come from upstream libtool; this seems like an 
issue that should be fixed there (if still present, our libtool version is 
very old), not patched locally in GCC.  Not patching libtool.m4 locally 
might eliminate at least some of the configure regenerations.

For tm.texi, make sure the changes exactly correspond to the result of 
regenerating given the target.def changes.

For changes to include/ and libiberty/, it's helpful to apply them to 
binutils-gdb at the same time as GCC (the shared files and directories 
aren't always exactly in sync between the two repositories, but should be, 
and I'd consider copying a change from one to the other to be obvious).

-- 
Joseph S. Myers
joseph@codesourcery.com
Sandra Loosemore Jan. 8, 2019, 8:57 p.m. | #2
On 12/31/18 4:23 PM, Joseph Myers wrote:
> On Fri, 28 Dec 2018, Sandra Loosemore wrote:

> 

>> Taken individually, all these changes probably qualify as obvious, but given

>> how extensive they are and how many files are touched, I thought it would be

>> good to get a sanity check on methodology before checking in the whole pile.

>> E.g. are there other files that should be excluded from the recipe for part 1?

> 

> gcc/go/gofrontend/ and libgo/ have their own commit processes involving

> applying fixes to another repository first (and no ChangeLogs).

> Unfortunately the URL to that repository in gcc/go/README.gcc and

> libgo/README.gcc no longer works.

> 

> I think the same applies to gcc/d/dmd/, though I'm not sure the process

> there is documented anywhere.  Likewise for parts of libphobos (although

> that has a ChangeLog for the GCC-local build machinery).

> 

> The .po files come verbatim from the Translation Project; it's useless to

> patch those locally in GCC since the changes will be overwritten by the

> next copy from the TP.  gettext's fuzzy match machinery should suffice to

> help translators match their old translation of a "can not" message to the

> new "cannot" message.


OK, it seems simplest to exclude changes to files in all those 
subdirectories that are maintained outside the normal GCC processes.

> I don't really think patching such issues in testcases is useful;

> certainly not for the ACATS tests coming from an upstream source.

> (Testsuite .exp files would be more like normal sources in this regard and

> should get spelling fixes etc., but I don't see any such files affected by

> your changes.)


It turned out to be necessary to touch several of the testcases to match 
changes to diagnostic messages in dg-error, etc; otherwise those tests 
would FAIL.  But in the new iteration of the patch set I've excluded any 
other changes to comments, etc in test cases.

> libtool.m4 and ltmain.sh come from upstream libtool; this seems like an

> issue that should be fixed there (if still present, our libtool version is

> very old), not patched locally in GCC.  Not patching libtool.m4 locally

> might eliminate at least some of the configure regenerations.


OK, I've skipped those files too, and since the only configure changes 
were those resulting from changing libtool.m4 it's no longer to 
regenerate any of them.

> For tm.texi, make sure the changes exactly correspond to the result of

> regenerating given the target.def changes.


Done.

> For changes to include/ and libiberty/, it's helpful to apply them to

> binutils-gdb at the same time as GCC (the shared files and directories

> aren't always exactly in sync between the two repositories, but should be,

> and I'd consider copying a change from one to the other to be obvious).


I've split changes to those directories out into a separate patch so it 
can be applied to the binutils-gdb repository more easily.

Here are the ChangeLogs for the new patch series.  Parts 1, 2, and 3 are 
mechanically generated via sed (etc).  Part 4 is the hand-edited 
changes, identical to part 2 of the previous series except for excluding 
a couple files.  Part 5 is the regenerated gcc.pot file.  Does this 
version look OK to commit?

-Sandra
2019-01-07  Sandra Loosemore  <sandra@codesourcery.com>

	PR other/16615

	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".
2019-01-07  Sandra Loosemore  <sandra@codesourcery.com>

	PR other/16615

	include/
	* libiberty.h: Mechanically replace "can not" with "cannot".
	* plugin-api.h: Likewise.

	libiberty/
	* cp-demangle.c: Mechanically replace "can not" with "cannot".
	* floatformat.c: Likewise.
	* strerror.c: Likewise.
2019-01-07  Sandra Loosemore  <sandra@codesourcery.com>

	PR other/16615

	gcc/testsuite/
	* g++.dg/lto/odr-1_1.C: Update diagnostic message patterns to replace
	"can not" with "cannot".
	* gfortran.dg/common_15.f90: Likewise.
	* gfortran.dg/derived_result_2.f90: Likewise.
	* gfortran.dg/do_check_6.f90: Likewise.
	* gfortran.dg/namelist_args.f90: Likewise.
	* gfortran.dg/negative_unit_check.f90: Likewise.
	* gfortran.dg/pure_formal_3.f90: Likewise.
	* obj-c++.dg/attributes/method-attribute-2.mm: Likewise.
	* obj-c++.dg/exceptions-3.mm: Likewise.
	* obj-c++.dg/exceptions-4.mm: Likewise.
	* obj-c++.dg/exceptions-5.mm: Likewise.
	* obj-c++.dg/property/at-property-23.mm: Likewise.
	* obj-c++.dg/property/dotsyntax-17.mm: Likewise.
	* obj-c++.dg/property/property-neg-7.mm: Likewise.
	* objc.dg/attributes/method-attribute-2.m: Likewise.
	* objc.dg/exceptions-3.m: Likewise.
	* objc.dg/exceptions-4.m: Likewise.
	* objc.dg/exceptions-5.m: Likewise.
	* objc.dg/param-1.m: Likewise.
	* objc.dg/property/at-property-23.m: Likewise.
	* objc.dg/property/dotsyntax-17.m: Likewise.
	* objc.dg/property/property-neg-7.m: Likewise.
2019-01-07  Sandra Loosemore  <sandra@codesourcery.com>

	PR other/16615

	gcc/
	* config/pa/pa.c: Change "can not" to "cannot".
	* gimple-ssa-evrp-analyze.c: Likewise.
	* ipa-icf.c: Likewise.
	* ipa-polymorphic-call.c: Likewise.
	* ipa-pure-const.c: Likewise.
	* lra-constraints.c: Likewise.
	* lra-remat.c: Likewise.
	* reload1.c: Likewise.
	* reorg.c: Likewise.
	* tree-ssa-uninit.c: Likewise.

	gcc/ada/
	* exp_ch11.adb: Change "can not" to "cannot".
	* sem_ch4.adb: Likewise.

	gcc/fortran/
	* expr.c: Change "can not" to "cannot".

	libobjc/
	* objc/runtime.h: Change "can not" to "cannot".
2019-01-07  Sandra Loosemore  <sandra@codesourcery.com>

	PR other/16615

	gcc/po/
	* gcc.pot: Regenerate.
Joseph Myers Jan. 9, 2019, 6:03 p.m. | #3
On Tue, 8 Jan 2019, Sandra Loosemore wrote:

> Here are the ChangeLogs for the new patch series.  Parts 1, 2, and 3 are

> mechanically generated via sed (etc).  Part 4 is the hand-edited changes,

> identical to part 2 of the previous series except for excluding a couple

> files.  Part 5 is the regenerated gcc.pot file.  Does this version look OK to

> commit?


OK.  Presumably the Go and D maintainers may wish to apply those changes 
from the previous patch version, following the processes used for those 
directories.

-- 
Joseph S. Myers
joseph@codesourcery.com

Patch

Index: gcc/ada/exp_ch11.adb
===================================================================
--- gcc/ada/exp_ch11.adb	(revision 267415)
+++ gcc/ada/exp_ch11.adb	(working copy)
@@ -63,9 +63,10 @@  package body Exp_Ch11 is
    --  N is the node on which the warning is placed.
 
    procedure Warn_If_No_Propagation (N : Node_Id);
-   --  Called for an exception raise that is not a local raise (and thus can
-   --  not be optimized to a goto). Issues warning if No_Exception_Propagation
-   --  restriction is set. N is the node for the raise or equivalent call.
+   --  Called for an exception raise that is not a local raise (and thus
+   --  cannot be optimized to a goto). Issues warning if
+   --  No_Exception_Propagation restriction is set.
+   --  N is the node for the raise or equivalent call.
 
    ---------------------------
    -- Expand_At_End_Handler --
Index: gcc/ada/sem_ch4.adb
===================================================================
--- gcc/ada/sem_ch4.adb	(revision 267415)
+++ gcc/ada/sem_ch4.adb	(working copy)
@@ -1908,8 +1908,8 @@  package body Sem_Ch4 is
          while Present (Op_Id) loop
             if Ekind (Op_Id) = E_Operator then
 
-               --  Do not consider operators declared in dead code, they can
-               --  not be part of the resolution.
+               --  Do not consider operators declared in dead code, they
+               --  cannot be part of the resolution.
 
                if Is_Eliminated (Op_Id) then
                   null;
Index: gcc/config/pa/pa.c
===================================================================
--- gcc/config/pa/pa.c	(revision 267415)
+++ gcc/config/pa/pa.c	(working copy)
@@ -1135,8 +1135,8 @@  hppa_legitimize_address (rtx x, rtx oldx
       /* If the newoffset will not fit in 14 bits (ldo), then
 	 handling this would take 4 or 5 instructions (2 to load
 	 the SYMBOL_REF + 1 or 2 to load the newoffset + 1 to
-	 add the new offset and the SYMBOL_REF.)  Combine can
-	 not handle 4->2 or 5->2 combinations, so do not create
+	 add the new offset and the SYMBOL_REF.)  Combine cannot
+	 handle 4->2 or 5->2 combinations, so do not create
 	 them.  */
       if (! VAL_14_BITS_P (newoffset)
 	  && GET_CODE (XEXP (x, 0)) == SYMBOL_REF)
@@ -9835,8 +9835,8 @@  pa_som_tm_clone_table_section (void)
 
 /* On hpux10, the linker will give an error if we have a reference
    in the read-only data section to a symbol defined in a shared
-   library.  Therefore, expressions that might require a reloc can
-   not be placed in the read-only data section.  */
+   library.  Therefore, expressions that might require a reloc
+   cannot be placed in the read-only data section.  */
 
 static section *
 pa_select_section (tree exp, int reloc,
Index: gcc/fortran/expr.c
===================================================================
--- gcc/fortran/expr.c	(revision 267415)
+++ gcc/fortran/expr.c	(working copy)
@@ -5983,12 +5983,14 @@  gfc_check_vardef_context (gfc_expr* e, b
 	  if (context)
 	    {
 	      if (assoc->target->expr_type == EXPR_VARIABLE)
-		gfc_error ("%qs at %L associated to vector-indexed target can"
-			   " not be used in a variable definition context (%s)",
+		gfc_error ("%qs at %L associated to vector-indexed target"
+			   " cannot be used in a variable definition"
+			   " context (%s)",
 			   name, &e->where, context);
 	      else
-		gfc_error ("%qs at %L associated to expression can"
-			   " not be used in a variable definition context (%s)",
+		gfc_error ("%qs at %L associated to expression"
+			   " cannot be used in a variable definition"
+			   " context (%s)",
 			   name, &e->where, context);
 	    }
 	  return false;
Index: gcc/gimple-ssa-evrp-analyze.c
===================================================================
--- gcc/gimple-ssa-evrp-analyze.c	(revision 267415)
+++ gcc/gimple-ssa-evrp-analyze.c	(working copy)
@@ -319,8 +319,8 @@  evrp_range_analyzer::record_ranges_from_
 	    }
 	  else
 	    {
-	      /* We're going to need to unwind this range.  We can
-		 not use VR as that's a stack object.  We have to allocate
+	      /* We're going to need to unwind this range.  We cannot
+		 use VR as that's a stack object.  We have to allocate
 		 a new range and push the old range onto the stack.  We
 		 also have to be very careful about sharing the underlying
 		 bitmaps.  Ugh.  */
Index: gcc/ipa-icf.c
===================================================================
--- gcc/ipa-icf.c	(revision 267415)
+++ gcc/ipa-icf.c	(working copy)
@@ -1160,8 +1160,8 @@  sem_function::merge (sem_item *alias_ite
 		     "profitable (function is too small).\n");
 	}
       /* If user paid attention to mark function noinline, assume it is
-	 somewhat special and do not try to turn it into a wrapper that can
-	 not be undone by inliner.  */
+	 somewhat special and do not try to turn it into a wrapper that
+	 cannot be undone by inliner.  */
       else if (lookup_attribute ("noinline", DECL_ATTRIBUTES (alias->decl)))
 	{
 	  if (dump_file)
Index: gcc/ipa-polymorphic-call.c
===================================================================
--- gcc/ipa-polymorphic-call.c	(revision 267415)
+++ gcc/ipa-polymorphic-call.c	(working copy)
@@ -2202,8 +2202,8 @@  ipa_polymorphic_call_context::combine_wi
 	  updated = true;
 	}
 
-      /* If we do not know how the context is being used, we can
-	 not clear MAYBE_IN_CONSTRUCTION because it may be offseted
+      /* If we do not know how the context is being used, we cannot
+	 clear MAYBE_IN_CONSTRUCTION because it may be offseted
 	 to other component of OUTER_TYPE later and we know nothing
 	 about it.  */
       if (otr_type && maybe_in_construction
Index: gcc/ipa-pure-const.c
===================================================================
--- gcc/ipa-pure-const.c	(revision 267415)
+++ gcc/ipa-pure-const.c	(working copy)
@@ -1792,8 +1792,8 @@  propagate_nothrow (void)
 				   function_or_virtual_thunk_symbol (&avail,
 								     e->caller);
 
-		  /* We can use info about the callee only if we know it can
-		     not be interposed.
+		  /* We can use info about the callee only if we know it
+		     cannot be interposed.
 		     When callee is compiled with non-call exceptions we also
 		     must check that the declaration is bound to current
 		     body as other semantically equivalent body may still
Index: gcc/lra-constraints.c
===================================================================
--- gcc/lra-constraints.c	(revision 267415)
+++ gcc/lra-constraints.c	(working copy)
@@ -2647,8 +2647,8 @@  process_alt_operands (int only_alternati
 		     class which does not have actually enough regs to
 		     hold the value (e.g. x86 AREG for mode requiring
 		     more one general reg).  Therefore we have 2
-		     conditions to check that the reload pseudo can
-		     not hold the mode value.  */
+		     conditions to check that the reload pseudo cannot
+		     hold the mode value.  */
 		  && (!targetm.hard_regno_mode_ok
 		      (ira_class_hard_regs[this_alternative][0],
 		       GET_MODE (*curr_id->operand_loc[nop])))
Index: gcc/lra-remat.c
===================================================================
--- gcc/lra-remat.c	(revision 267415)
+++ gcc/lra-remat.c	(working copy)
@@ -110,8 +110,8 @@  struct cand
 
 /* Vector containing all candidates.  */
 static vec<cand_t> all_cands;
-/* Map: insn -> candidate representing it.  It is null if the insn can
-   not be used for rematerialization.  */
+/* Map: insn -> candidate representing it.  It is null if the insn cannot
+   be used for rematerialization.  */
 static cand_t *insn_to_cand;
 /* A secondary map, for candidates that involve two insns, where the
    second one makes the equivalence.  The candidate must not be used
Index: gcc/reload1.c
===================================================================
--- gcc/reload1.c	(revision 267415)
+++ gcc/reload1.c	(working copy)
@@ -4029,8 +4029,8 @@  update_eliminables_and_spill (void)
 	did_spill = true;
 
 	/* Regardless of the state of spills, if we previously had
-	   a register that we thought we could eliminate, but now can
-	   not eliminate, we must run another pass.
+	   a register that we thought we could eliminate, but now
+	   cannot eliminate, we must run another pass.
 
 	   Consider pseudos which have an entry in reg_equiv_* which
 	   reference an eliminable register.  We must make another pass
Index: gcc/reorg.c
===================================================================
--- gcc/reorg.c	(revision 267415)
+++ gcc/reorg.c	(working copy)
@@ -1066,8 +1066,8 @@  steal_delay_list_from_target (rtx_insn *
 
      We cannot steal the delay list if one of the instructions in the
      current delay_list modifies the condition codes and the jump in the
-     sequence is a conditional jump. We cannot do this because we can
-     not change the direction of the jump because the condition codes
+     sequence is a conditional jump. We cannot do this because we cannot
+     change the direction of the jump because the condition codes
      will effect the direction of the jump in the sequence.  */
 
   CLEAR_RESOURCE (&cc_set);
Index: gcc/tree-ssa-uninit.c
===================================================================
--- gcc/tree-ssa-uninit.c	(revision 267415)
+++ gcc/tree-ssa-uninit.c	(working copy)
@@ -1564,8 +1564,8 @@  is_included_in (pred_chain one_pred, pre
    individual predicate chains (won't be a compile time problem
    as the chains are pretty short).  When the function returns
    false, it does not necessarily mean *PREDS1 is not a superset
-   of *PREDS2, but mean it may not be so since the analysis can
-   not prove it.  In such cases, false warnings may still be
+   of *PREDS2, but mean it may not be so since the analysis cannot
+   prove it.  In such cases, false warnings may still be
    emitted.  */
 
 static bool
Index: libgo/go/cmd/vet/vet_test.go
===================================================================
--- libgo/go/cmd/vet/vet_test.go	(revision 267415)
+++ libgo/go/cmd/vet/vet_test.go	(working copy)
@@ -118,8 +118,8 @@  func TestVet(t *testing.T) {
 func TestVetPrint(t *testing.T) {
 	if runtime.Compiler == "gccgo" {
 		// This test currently fails with gccgo because, in
-		// the absence of standard library sources, gccgo can
-		// not deduce that the standard log package formatting
+		// the absence of standard library sources, gccgo cannot
+		// deduce that the standard log package formatting
 		// functions are just printf wrappers.
 		t.Skip("skipping for gccgo because there are no standard library sources")
 	}
Index: libgo/go/runtime/mgcsweep.go
===================================================================
--- libgo/go/runtime/mgcsweep.go	(revision 267415)
+++ libgo/go/runtime/mgcsweep.go	(working copy)
@@ -301,8 +301,8 @@  func (s *mspan) sweep(preserve bool) boo
 	// checking that no new bits have been set in gcmarkBits since
 	// the span was added to the sweep count. New bits are set by
 	// greyobject. Seeing a new bit means that a live pointer has
-	// appeared that was not found during the mark phase. That can
-	// not happen when pointers are followed strictly. However,
+	// appeared that was not found during the mark phase. That
+	// cannot happen when pointers are followed strictly. However,
 	// with conservative checking, it is possible for a pointer
 	// that will never be used to appear live and to cause a mark
 	// to be added. That is unfortunate in that it causes this
Index: libobjc/objc/runtime.h
===================================================================
--- libobjc/objc/runtime.h	(revision 267415)
+++ libobjc/objc/runtime.h	(working copy)
@@ -224,8 +224,8 @@  objc_EXPORT SEL * sel_copyTypedSelectorL
    This is useful if you have the name of the selector, and would
    really like to get a selector for it that includes the type
    encoding.  Unfortunately, if the program contains multiple selector
-   with the same name but different types, sel_getTypedSelector can
-   not possibly know which one you need, and so will return NULL.
+   with the same name but different types, sel_getTypedSelector cannot
+   possibly know which one you need, and so will return NULL.
 
    Compatibility Note: the Apple/NeXT runtime has untyped selectors,
    so it does not have this function, which is specific to the GNU