<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang-tools-extra/cpp11-migrate/LoopConvert, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2013-09-04T17:35:07+00:00</updated>
<entry>
<title>Rename cpp11-migrate to clang-modernize.</title>
<updated>2013-09-04T17:35:07+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2013-09-04T17:35:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d9063c46f59f4bec47bcbeddca8ca2f789348c03'/>
<id>urn:sha1:d9063c46f59f4bec47bcbeddca8ca2f789348c03</id>
<content type='text'>
There is no reason to expect this tool to be limited to C++11, it seems
very likely to be of on-going interest. It seems likely to be useful for
modernizing even as new libraries come out in TSes and other formats
than a complete standard. Fundamentally, we need something a bit more
general. After some discussion on the list, going with
'clang-modernize'.

I've tried to do a reasonably comprehensive job of fixing up the names,
but I may still have missed some. Feel free to poke me if you spot any
fallout here. Things I've tried reasonably hard to find and fix:

- cpp11-migrate -&gt; clang-modernize
- Migrator -&gt; Modernizer
- Clean up the introductory documentation that was C++11 specific.

I'll also point out that this tool continues to delight me. =] Also,
a huge thanks to those who have so carefully, thoroughly documented the
tool. The docs here are simply phenomenal. Every tool should be this
well documented. I hope I have updated the documentation reasonably
well, but I'm not very good at documentation, so review much
appreciated.

llvm-svn: 189960
</content>
</entry>
<entry>
<title>cpp11-migrate: Refactor for driver model of operation</title>
<updated>2013-09-03T13:16:02+00:00</updated>
<author>
<name>Edwin Vane</name>
<email>edwin.vane@intel.com</email>
</author>
<published>2013-09-03T13:16:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=147984a8adf15183de3f3a25f74b7b3620e2a1a6'/>
<id>urn:sha1:147984a8adf15183de3f3a25f74b7b3620e2a1a6</id>
<content type='text'>
Re-commit of r189691 and r189689 now with a proper autoconf fix.

Massive simplification of how replacements and file overrides are
handled by the migrator:
* Sources and headers are all treated the same.
* All replacements for a given translation unit are stored in the same
  TranslationUnitReplacements structure.
* Change tracking is updated only from main file; no need for
  propagating "is tracking" flag around.
* Transform base class no longer responsible for applying replacements.
  They are simply stored and main() looks after deduplication and
  application.
* Renamed -yaml-only to -serialize-replacements. Same restrictions apply:
  Can only request one transform. New restriction: formatting cannot also
  be turned on since it's basically a transform.
* If -serialize-replacements is requested, changes to files will not be
  applied on disk.
* Changed behaviour of function generating names for serialized
  replacements: Only the main source file goes into the name of the file
  since a file may contain changes for multiple different files.
* Updated HeaderReplacements LIT test for new serialization behaviour.
  * Replaced old test that ensures replacements are not serialized if
    -serialize-replacements is not provided. New version ensures changes
    are made directly to all files in the translation unit.
* Updated unit tests.
  * Due to major simplification of structures in FileOverrides.h, the
    FileOverridesTest is quite a bit simpler now.

llvm-svn: 189798
</content>
</entry>
<entry>
<title>Revert "cpp11-migrate: Fixing autoconf build after adding libclangReplace dependency"</title>
<updated>2013-08-30T22:09:03+00:00</updated>
<author>
<name>Michael Gottesman</name>
<email>mgottesman@apple.com</email>
</author>
<published>2013-08-30T22:09:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=92d9cb4dd1fcf633e264cbacbcdcd1b5c6f10714'/>
<id>urn:sha1:92d9cb4dd1fcf633e264cbacbcdcd1b5c6f10714</id>
<content type='text'>
Revert "cpp11-migrate: Refactor for driver model of operation"

This reverts commit r189691.
This reverts commit r189689.

This was breaking the phase 1 OS X build for ~2 hours.

https://smooshbase.apple.com/buildbot-internal/builders/phase1%20-%20sanity/builds/9559

I reverted the latter commit since I think the latter depended on the former.

llvm-svn: 189700
</content>
</entry>
<entry>
<title>cpp11-migrate: Refactor for driver model of operation</title>
<updated>2013-08-30T19:28:59+00:00</updated>
<author>
<name>Edwin Vane</name>
<email>edwin.vane@intel.com</email>
</author>
<published>2013-08-30T19:28:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0acd502afe118a82f480d184271fe60e5551746f'/>
<id>urn:sha1:0acd502afe118a82f480d184271fe60e5551746f</id>
<content type='text'>
Massive simplification of how replacements and file overrides are handled by
the migrator:
* Sources and headers are all treated the same.
* All replacements for a given translation unit are stored in the same
  TranslationUnitReplacements structure.
* Change tracking is updated only from main file; no need for
  propagating "is tracking" flag around.
* Transform base class no longer responsible for applying replacements.
  They are simply stored and main() looks after deduplication and
  application.
* Renamed -yaml-only to -serialize-replacements. Same restrictions apply:
  Can only request one transform. New restriction: formatting cannot also
  be turned on since it's basically a transform.
* If -serialize-replacements is requested, changes to files will not be
  applied on disk.
* Changed behaviour of function generating names for serialized
  replacements: Only the main source file goes into the name of the file
  since a file may contain changes for multiple different files.
* Updated HeaderReplacements LIT test for new serialization behaviour.
  * Replaced old test that ensures replacements are not serialized if
    -serialize-replacements is not provided. New version ensures changes
    are made directly to all files in the translation unit.
* Updated unit tests.
  * Due to major simplification of structures in FileOverrides.h, the
    FileOverridesTest is quite a bit simpler now.

Differential Revision: http://llvm-reviews.chandlerc.com/D1545

llvm-svn: 189689
</content>
</entry>
<entry>
<title>cpp11-migrate: Add -for-compilers command line switch.</title>
<updated>2013-07-29T15:58:47+00:00</updated>
<author>
<name>Guillaume Papin</name>
<email>guillaume.papin@epitech.eu</email>
</author>
<published>2013-07-29T15:58:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a3eede2cc2673c6db8f0ef6a05e5e424e07dbacf'/>
<id>urn:sha1:a3eede2cc2673c6db8f0ef6a05e5e424e07dbacf</id>
<content type='text'>
This change add a new option command line option -for-compilers that allows the
user to enable multiple transforms automatically.

Another difference is that now all transforms are enabled by default.

llvm-svn: 187360
</content>
</entry>
<entry>
<title>cpp11-migrate: Register the transforms automatically using llvm::Registry</title>
<updated>2013-07-24T14:24:33+00:00</updated>
<author>
<name>Guillaume Papin</name>
<email>guillaume.papin@epitech.eu</email>
</author>
<published>2013-07-24T14:24:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ebde78c4c6149dfd6dfcddd39ed07e5aec1860ed'/>
<id>urn:sha1:ebde78c4c6149dfd6dfcddd39ed07e5aec1860ed</id>
<content type='text'>
With this change each transform now register a factory. The factories are
registered using an llvm::Registry which makes them available globally.

llvm-svn: 187041
</content>
</entry>
<entry>
<title>cpp11-migrate: Tidying up</title>
<updated>2013-07-08T12:17:37+00:00</updated>
<author>
<name>Edwin Vane</name>
<email>edwin.vane@intel.com</email>
</author>
<published>2013-07-08T12:17:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=aae33677f503c1215b97059c07f3a31d00cce4a2'/>
<id>urn:sha1:aae33677f503c1215b97059c07f3a31d00cce4a2</id>
<content type='text'>
* Some file headers were missing for files in Core/
* Some headers were included but not necessary
* CMakeLists.txt was linking in LLVMSupport even though CMakeLists in subdirs
  were linking it in too.
* StringRefisation of constructors of types in FileOverrides.h
* Other misc cleanups

Author: Guillaume Papin &lt;guillaume.papin@epitech.eu&gt;
llvm-svn: 185811
</content>
</entry>
<entry>
<title>cpp11-migrate: Transforms honour header modification flag</title>
<updated>2013-06-18T15:44:58+00:00</updated>
<author>
<name>Edwin Vane</name>
<email>edwin.vane@intel.com</email>
</author>
<published>2013-06-18T15:44:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ba6b32d1ce34dacaca5df11dfb5e460b1445914a'/>
<id>urn:sha1:ba6b32d1ce34dacaca5df11dfb5e460b1445914a</id>
<content type='text'>
Transforms will now make changes to headers if header modifications have been
enabled.

FIXME: Only UseNullptr contains a cursory header modification test. Other
transforms should have them too.

llvm-svn: 184197
</content>
</entry>
<entry>
<title>cpp11-migrate: Transform now responsible for applying replacements</title>
<updated>2013-06-18T15:31:01+00:00</updated>
<author>
<name>Edwin Vane</name>
<email>edwin.vane@intel.com</email>
</author>
<published>2013-06-18T15:31:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=62c013db6ce8dabac58a313c5e4ca05e75e45881'/>
<id>urn:sha1:62c013db6ce8dabac58a313c5e4ca05e75e45881</id>
<content type='text'>
To make it possible for replacements made to headers as part of transforming
one translation unit to not be visible to the transform of other translation
units, Transform now handles replacement application as part of its
end-of-source handling. Several things were simplified as a result:

- The duplicated code in every transform for applying replacements is now gone
  and replaced with one location in Transform.
- RefactoringTool is no longer used since Transform houses the Replacements
  structure.
- RewriterContainer is now a private implementation detail of Transform (also
  renamed to RewriterManager since its behaviour is slightly different now with
  respect to lifetime of objects).
- There's now no distinction between input and output file state.

Misc notes:

- Interface changes reflected in unit tests.
- Replacements for files other than the main file are assumed to be for headers
  and stored as such.

llvm-svn: 184194
</content>
</entry>
<entry>
<title>cpp11-migrate: Transform now responsible for file content overriding</title>
<updated>2013-06-17T18:18:15+00:00</updated>
<author>
<name>Edwin Vane</name>
<email>edwin.vane@intel.com</email>
</author>
<published>2013-06-17T18:18:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4e11abb59b44dc9eab2f50e6e29f16d3d029bda6'/>
<id>urn:sha1:4e11abb59b44dc9eab2f50e6e29f16d3d029bda6</id>
<content type='text'>
To better support per-translation unit replacements, any real work is being
moved out of ActionFactory and into Transform. In this revision, that means
file override application.

For simplification, Transform no longer inherits from SourceFileCallbacks.
TransformTest required updating as a result.

llvm-svn: 184098
</content>
</entry>
</feed>
