summaryrefslogtreecommitdiff
path: root/compilerplugins
AgeCommit message (Collapse)AuthorFilesLines
2013-01-11point to our wiki page on clang rather than clang homepageLuboš Luňák1-1/+1
Change-Id: Ia54040c7ed02e6a2d62dd93890a7d1467dd83a40
2013-01-11fix detection whether to ignore a source file or notLuboš Luňák1-3/+2
When compiling using icecream, the whole input is one file fed from stdin, so getBufferName() is "<stdin>", so get the filename from #line directives. Change-Id: Ie87937b10b0c7e8ddfa57a405b80fd9bde68dd0a
2013-01-06do not set our clang timestamp to the timestamp of the clang binaryLuboš Luňák4-5/+3
If the clang binary comes from a package which had been built before any of our clang related sources were changed the last time, the timestamp would be older and so there would be no rebuild. So do the stamp handling the usual way, clang upgrades will work fine, downgrades will not, but that's the same problem like with downgrading a library and its headers. To somewhat mitigate the problem (Clang plugin doesn't get cleaned by 'make clean'), include the full Clang version (which includes SVN revision) in config_clang.h and make all Clang plugin code include that, so at least configure re-run will trigger a rebuild if necessary. Change-Id: I993197f79e92e36105092c92c33b2e1db343e975
2013-01-05I hate arbitrary integer typesLuboš Luňák1-1/+1
Change-Id: I4c8edfc0ee0390d595c43e384bf6e5f595a7b84f
2013-01-04handle case of SRCDIR == BUILDDIRLuboš Luňák1-1/+1
Change-Id: I9daea65dc28ab13776a7c4319e5d5811515fe160
2013-01-04rewriter plugin for removing forward rtl string declarationsLuboš Luňák4-0/+116
Change-Id: I12bf38985ae62756973c05aacf762ae3c405ac9b
2013-01-04support for removing a statement as a wholeLuboš Luňák2-10/+57
Change-Id: Icb7b017a0c76a6169f0f629bb40bf97449c75837
2013-01-04better handling of which files are processed by clang pluginsLuboš Luňák3-11/+62
Check that only LO's files are processed, as there's no point otherwise. Also warn about files in workdir/solver/builddir, as those are either generated or copies. Try to automatically match include files from solver to srcdir though, as that's where include files are usually included from :(. Change-Id: Ie8389e903f623a9d0e75015091acc0da78e76c3a
2012-12-26fix buildLubos Lunak1-0/+1
2012-12-26better error handling when writing modified sourceLubos Lunak1-10/+17
2012-12-26config_clang.hLubos Lunak2-6/+4
2012-12-11adjust clang plugins for srcdir != builddirLuboš Luňák1-2/+2
Change-Id: Ie4c934b52c4b010703e91f84b83e1fe590b5d187
2012-12-07CLANGPLUGIN_CPPFLAGS did not actually workStephan Bergmann1-6/+2
...it just appeared to work on machines that happen to have /usr/bin/clang. So hoist CLANGDIR/CLANGBUILD from compilerplugins/Makefile-clang.mk to configure.ac instead. Change-Id: Ie5d9c6bb8e9d0caa1583d78c8693f06b69873095
2012-12-05Adapt to current Clang trunkStephan Bergmann1-0/+1
Change-Id: I0aadc7019934841d6864258695a17503918b6c20
2012-12-05Adapt to Clang 3.2Stephan Bergmann7-1/+10
Change-Id: I9e51867198d7677c26cbd97f5d9c85ac13dc90c5
2012-11-20skip 'else' from a macro expansion tooLuboš Luňák2-9/+11
Change-Id: I1a6d70d1554dc5bf8f46940ed62b47ab34983aa7
2012-10-26do not warn about missing area in SAL_DEBUGLuboš Luňák1-7/+23
Change-Id: I99314136cac7f47a5adf8e0e29093ec9fbf4fd90
2012-10-22CLANGPLUGIN_CPPFLAGS for building plugin for Clang in nonstandard locationStephan Bergmann1-1/+1
(i.e., configure with CLANGPLUGIN_CPPFLAGS=-I.../clang-installation/include -I.../clang-build/tools/clang/include) Change-Id: Ic6d2973629103f71c32f44ebba2ac70d137d18e7
2012-10-19only one warning per one SAL_INFO/SAL_WARNLubos Lunak2-0/+9
Change-Id: I5aafe9ed51c86dc31492d205f44fba6b1db137d2
2012-10-15rewriter for postfix->prefix operator++Luboš Luňák4-0/+211
Change-Id: I59a7490ec76b10fd31033d1ceccd1e3eae0ad398
2012-10-15convenience functions for source rewritersLuboš Luňák4-10/+107
Change-Id: I36e2b49bc615db0b12b03ffa755fa51acc6830a0
2012-10-15support for compiler rewritersLuboš Luňák12-23/+188
Change-Id: I12e98ac9fc49ef2007914324006a396d183b778c
2012-10-15some namespacing improvementsLuboš Luňák6-8/+6
Change-Id: I95bd78340519bc1457385561b64c74e938b40bb2
2012-10-14document sallogareas compiler checkLuboš Luňák1-0/+8
Change-Id: I72d25ec9a1acafa2bc451e620d5dc5721d849c42
2012-10-13remove debug outputLuboš Luňák1-4/+4
Change-Id: I719ce8870320f3bddd68fe26cf2c2b941e0a9403
2012-10-13compiler check to compare SAL_WARN/LOG areas against sal/inc/sal/log-areas.doxLuboš Luňák7-9/+166
Some of the areas are guesses I've added after seeing them, whoever feels reponsible for whichever part of the code feel free to adjust them. Change-Id: I2192de84d51cc2bc7c28fa84019d38b465985d15
2012-10-12compilers don't seem to warn about unused variables in the global scopeLuboš Luňák1-0/+2
And this causes at least some problems with extern variables in headers, maybe that could be handled, but it probably wouldn't be trivial to get it exactly right about which location to warn and which ones not. Change-Id: I8974c9ba9493d09165b026ee7a451238f6d90a30
2012-10-12DeclBase::getLocation() gives better location than getLocStart()Luboš Luňák2-3/+3
It usually points to the declaration name rather than its start. Change-Id: Idcb068ed88a783c177ae9dc255595afa0a163a7e
2012-10-12print something when compiling clang plugin tooLuboš Luňák1-0/+2
Change-Id: Ia312533381260a7c506dfd75b9f88c74a8329958
2012-10-12rebuild clang plugin when clang changesLuboš Luňák1-1/+5
Change-Id: Ia4192224d0b217ba2393dc457250cf12febe9306
2012-10-12avoid crash on pointers to functionsLuboš Luňák1-1/+1
Clang's dyn_cast<> crashes on NULL, and getParentFunctionOrMethod() is NULL if the parameter is a part of a pointer-to-function declaration. Change-Id: Iee9eef488746f9a46bc090df8d318f27ad65f0ef
2012-10-12do not report unnamed parameters as unusedLuboš Luňák1-0/+2
Change-Id: I0cc44354085fbee15aa94d23c29830fd40e8d939
2012-10-09note about (not) linking llvm/clang librariesLuboš Luňák1-0/+4
Change-Id: I628e3b99b69d238abc9df3e62e77b30eb85f1a0d
2012-10-09don't check next statement after if body if there's also an else partLuboš Luňák2-3/+8
Change-Id: I04265acd821187f529562691f35ede93b84368fa
2012-10-09ignore macro expansion completely for nowLuboš Luňák1-7/+7
Change-Id: Ie37b83fef1279a0a953de27941e3b342437c81d1
2012-10-09do not analyse system headers in the compiler pluginLuboš Luňák4-4/+22
Change-Id: Ica1e233b45cc778bfdc86cfd608ada7fc261c6c2
2012-10-09do not force compiler plugin warnings to errors with -Werror, for nowLuboš Luňák1-1/+3
Change-Id: I87585fce44e803513d5345709d9723075b9429a1
2012-10-09move some code to a common baseLuboš Luňák6-41/+41
Change-Id: Ife306c69054dfcc20b1339b88a4e14e5333ced71
2012-10-09compiler plugin check for if/while/true bodies with possibly {} missingLuboš Luňák5-1/+206
Change-Id: Ia84c70006b0b8a039b6fea27f3c5cde796f25d03
2012-10-09compiler check for unused variablesLuboš Luňák5-1/+160
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-09initial support for clang compiler pluginsLuboš Luňák7-0/+225
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