summaryrefslogtreecommitdiffstats
path: root/compilerplugins
Commit message (Collapse)AuthorAgeFilesLines
* point to our wiki page on clang rather than clang homepageLuboš Luňák2013-01-111-1/+1
| | | | Change-Id: Ia54040c7ed02e6a2d62dd93890a7d1467dd83a40
* fix detection whether to ignore a source file or notLuboš Luňák2013-01-111-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
* do not set our clang timestamp to the timestamp of the clang binaryLuboš Luňák2013-01-064-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
* I hate arbitrary integer typesLuboš Luňák2013-01-051-1/+1
| | | | Change-Id: I4c8edfc0ee0390d595c43e384bf6e5f595a7b84f
* handle case of SRCDIR == BUILDDIRLuboš Luňák2013-01-041-1/+1
| | | | Change-Id: I9daea65dc28ab13776a7c4319e5d5811515fe160
* rewriter plugin for removing forward rtl string declarationsLuboš Luňák2013-01-044-0/+116
| | | | Change-Id: I12bf38985ae62756973c05aacf762ae3c405ac9b
* support for removing a statement as a wholeLuboš Luňák2013-01-042-10/+57
| | | | Change-Id: Icb7b017a0c76a6169f0f629bb40bf97449c75837
* better handling of which files are processed by clang pluginsLuboš Luňák2013-01-043-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
* fix buildLubos Lunak2012-12-261-0/+1
|
* better error handling when writing modified sourceLubos Lunak2012-12-261-10/+17
|
* config_clang.hLubos Lunak2012-12-262-6/+4
|
* adjust clang plugins for srcdir != builddirLuboš Luňák2012-12-111-2/+2
| | | | Change-Id: Ie4c934b52c4b010703e91f84b83e1fe590b5d187
* CLANGPLUGIN_CPPFLAGS did not actually workStephan Bergmann2012-12-071-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
* Adapt to current Clang trunkStephan Bergmann2012-12-051-0/+1
| | | | Change-Id: I0aadc7019934841d6864258695a17503918b6c20
* Adapt to Clang 3.2Stephan Bergmann2012-12-057-1/+10
| | | | Change-Id: I9e51867198d7677c26cbd97f5d9c85ac13dc90c5
* skip 'else' from a macro expansion tooLuboš Luňák2012-11-202-9/+11
| | | | Change-Id: I1a6d70d1554dc5bf8f46940ed62b47ab34983aa7
* do not warn about missing area in SAL_DEBUGLuboš Luňák2012-10-261-7/+23
| | | | Change-Id: I99314136cac7f47a5adf8e0e29093ec9fbf4fd90
* CLANGPLUGIN_CPPFLAGS for building plugin for Clang in nonstandard locationStephan Bergmann2012-10-221-1/+1
| | | | | | | (i.e., configure with CLANGPLUGIN_CPPFLAGS=-I.../clang-installation/include -I.../clang-build/tools/clang/include) Change-Id: Ic6d2973629103f71c32f44ebba2ac70d137d18e7
* only one warning per one SAL_INFO/SAL_WARNLubos Lunak2012-10-192-0/+9
| | | | Change-Id: I5aafe9ed51c86dc31492d205f44fba6b1db137d2
* rewriter for postfix->prefix operator++Luboš Luňák2012-10-154-0/+211
| | | | Change-Id: I59a7490ec76b10fd31033d1ceccd1e3eae0ad398
* convenience functions for source rewritersLuboš Luňák2012-10-154-10/+107
| | | | Change-Id: I36e2b49bc615db0b12b03ffa755fa51acc6830a0
* support for compiler rewritersLuboš Luňák2012-10-1512-23/+188
| | | | Change-Id: I12e98ac9fc49ef2007914324006a396d183b778c
* some namespacing improvementsLuboš Luňák2012-10-156-8/+6
| | | | Change-Id: I95bd78340519bc1457385561b64c74e938b40bb2
* document sallogareas compiler checkLuboš Luňák2012-10-141-0/+8
| | | | Change-Id: I72d25ec9a1acafa2bc451e620d5dc5721d849c42
* remove debug outputLuboš Luňák2012-10-131-4/+4
| | | | Change-Id: I719ce8870320f3bddd68fe26cf2c2b941e0a9403
* compiler check to compare SAL_WARN/LOG areas against sal/inc/sal/log-areas.doxLuboš Luňák2012-10-137-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
* compilers don't seem to warn about unused variables in the global scopeLuboš Luňák2012-10-121-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
* DeclBase::getLocation() gives better location than getLocStart()Luboš Luňák2012-10-122-3/+3
| | | | | | It usually points to the declaration name rather than its start. Change-Id: Idcb068ed88a783c177ae9dc255595afa0a163a7e
* print something when compiling clang plugin tooLuboš Luňák2012-10-121-0/+2
| | | | Change-Id: Ia312533381260a7c506dfd75b9f88c74a8329958
* rebuild clang plugin when clang changesLuboš Luňák2012-10-121-1/+5
| | | | Change-Id: Ia4192224d0b217ba2393dc457250cf12febe9306
* avoid crash on pointers to functionsLuboš Luňák2012-10-121-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
* do not report unnamed parameters as unusedLuboš Luňák2012-10-121-0/+2
| | | | Change-Id: I0cc44354085fbee15aa94d23c29830fd40e8d939
* note about (not) linking llvm/clang librariesLuboš Luňák2012-10-091-0/+4
| | | | Change-Id: I628e3b99b69d238abc9df3e62e77b30eb85f1a0d
* don't check next statement after if body if there's also an else partLuboš Luňák2012-10-092-3/+8
| | | | Change-Id: I04265acd821187f529562691f35ede93b84368fa
* ignore macro expansion completely for nowLuboš Luňák2012-10-091-7/+7
| | | | Change-Id: Ie37b83fef1279a0a953de27941e3b342437c81d1
* do not analyse system headers in the compiler pluginLuboš Luňák2012-10-094-4/+22
| | | | Change-Id: Ica1e233b45cc778bfdc86cfd608ada7fc261c6c2
* do not force compiler plugin warnings to errors with -Werror, for nowLuboš Luňák2012-10-091-1/+3
| | | | Change-Id: I87585fce44e803513d5345709d9723075b9429a1
* move some code to a common baseLuboš Luňák2012-10-096-41/+41
| | | | Change-Id: Ife306c69054dfcc20b1339b88a4e14e5333ced71
* compiler plugin check for if/while/true bodies with possibly {} missingLuboš Luňák2012-10-095-1/+206
| | | | Change-Id: Ia84c70006b0b8a039b6fea27f3c5cde796f25d03
* compiler check for unused variablesLuboš Luňák2012-10-095-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
* initial support for clang compiler pluginsLuboš Luňák2012-10-097-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