Commit Graph

13 Commits

Author SHA1 Message Date
Stephan Bergmann
1f078fcadd Prepare dual-mode compiler plugin feature
...which can act as either a rewriter or a non-rewriter that emits warnings.

Also added COMPILER_PLUGIN_WARNINGS_ONLY=X to demote warnings from plugin X from
errors to warnings, even under --enable-werror.

Change-Id: I05361936240a890515c6bba2459565417c1746b7
2014-01-27 13:12:33 +01:00
Andras Timar
b55259eeb5 typo fixes
Change-Id: Ia5f104bfd707bcf4e159c78ca2764c861fb0b6d9
2013-12-20 15:55:00 +01:00
Luboš Luňák
857a392654 make it possible to limit what files will be modified by a compiler plugin
Change-Id: I4e3e8f5ca5e5b5b59b1bd067281f90940dd893b1
2013-02-09 18:48:31 +01:00
Luboš Luňák
1b535267df treat all source files as not up to date only with FORCE_COMPILE_ALL
So running the compiler plugin can be done either with FORCE_COMPILE_ALL=1
for simplicity, running the plugin on all source files for the target,
or it's possible to use make's -W option (or touch files manually) to
run it only for selected files.

Change-Id: Ifa82bbe91dc1e179af9db8fbf99271bcf03a1d47
2013-02-09 18:48:31 +01:00
Luboš Luňák
4fd910a096 tutorial examples for writing new Clang plugin actions
http://wiki.documentfoundation.org/Clang_plugins

Change-Id: Ieb4fc186490e81ab961c094ca0a7fcdabc0f348f
2013-02-02 22:59:46 +01:00
Luboš Luňák
a1c61eb112 move documentation of plugins to the .cxx files
It's mostly there already anyway, no need to duplicate it.

Change-Id: I5b066f90725a064fb0746e1411900e835e3f66c3
2013-02-02 22:59:44 +01:00
Luboš Luňák
9b11db8486 rewriters no longer create .new files, they modify sources directly
Change-Id: I24bce9dcf46367b5658071ed692d346bb01a83a3
2013-01-31 14:48:43 +01:00
Luboš Luňák
03910bdfd9 point to our wiki page on clang rather than clang homepage
Change-Id: Ia54040c7ed02e6a2d62dd93890a7d1467dd83a40
2013-01-11 14:58:58 +01:00
Luboš Luňák
0349c738da support for compiler rewriters
Change-Id: I12e98ac9fc49ef2007914324006a396d183b778c
2012-10-15 15:40:33 +02:00
Luboš Luňák
1d5c2d8368 document sallogareas compiler check
Change-Id: I72d25ec9a1acafa2bc451e620d5dc5721d849c42
2012-10-14 11:55:24 +02:00
Luboš Luňák
d4aa136e97 compiler plugin check for if/while/true bodies with possibly {} missing
Change-Id: Ia84c70006b0b8a039b6fea27f3c5cde796f25d03
2012-10-09 17:25:27 +02:00
Luboš Luňák
13e39545ea compiler check for unused variables
This is for variables that the compiler itself cannot figure out
(e.g. non-trivial ctors). The classes need to be marked manually.

Change-Id: I0109972e11e20578b1adc32065f701a871ee21aa
2012-10-09 17:25:27 +02:00
Luboš Luňák
02a8d36ebf initial support for clang compiler plugins
The plugin is intentionally built using a custom Makefile,
because it's used by gbuild, so I don't want to build the plugin
using gbuild too. It is also intentionally not placed under workdir/,
as that is cleaned by 'make clean', the plugin is cleaned only
by 'make distclean', so that cleaning it doesn't cause ccache misses.
No actual functionality in the plugin itself yet.

Change-Id: Ic05eba8d6260eec123c9e699eb5385abfe1b832f
2012-10-09 17:25:27 +02:00