summaryrefslogtreecommitdiffstats
path: root/compilerplugins
Commit message (Collapse)AuthorAgeFilesLines
* create an output dir that's already needed by $(shell ...)Luboš Luňák2013-02-071-1/+2
| | | | | | Otherwise there's an error message e.g. during a clean build. Change-Id: I42efd08e014a4ebe25cfd1a497f622e5ea5c39ad
* make sure the default target for compilerplugins is buildingLuboš Luňák2013-02-071-1/+3
| | | | | | | CLANGFORCE was the first in the makefile after c6ffe17631cccf11fbe00479d2169116d494a7da and therefore the default Change-Id: Id3b86a1ea2c27479067f7f55a977da3e6e8a2dfb
* tutorial examples for writing new Clang plugin actionsLuboš Luňák2013-02-029-1/+380
| | | | | | http://wiki.documentfoundation.org/Clang_plugins Change-Id: Ieb4fc186490e81ab961c094ca0a7fcdabc0f348f
* a bit more reliable detection of removed/added sourcesLuboš Luňák2013-02-021-0/+4
| | | | Change-Id: I7fdde46334c648ab6cba54210e31fada87dcfb55
* remove not needed #includeLuboš Luňák2013-02-029-18/+1
| | | | Change-Id: I0fa791733407199db5be2cc9606ac9be1da64188
* append [loplugin] automatically in report() rathen than manually everywhereLuboš Luňák2013-02-026-20/+21
| | | | Change-Id: I2f98622f152ae0c7ac8d1113d6380f686ac7234c
* always use the report() helperLuboš Luňák2013-02-025-29/+30
| | | | Change-Id: I2966fdb5bd98b1ddf718079584acf90a3e3a3700
* move clang plugin that's no longer neededLuboš Luňák2013-02-023-0/+3
| | | | | | | But still keep it in case it'd be needed again, or simply as a starting reference. Change-Id: If519e1320e1bd6dce7746b57172324b33504051e
* move documentation of plugins to the .cxx filesLuboš Luňák2013-02-026-32/+28
| | | | | | It's mostly there already anyway, no need to duplicate it. Change-Id: I5b066f90725a064fb0746e1411900e835e3f66c3
* automatically link all .cxx files in clang/ into the pluginLuboš Luňák2013-02-021-12/+18
| | | | | | | | | This means that just moving sources to the dir will enable the plugin action in that source, without modifying any sources, so those changes would not be accidentally committed when using a rewriter to change LO sources. Change-Id: Ic5a9c52dbf1939a1e78ad39ed6691ce3a1f399df
* avoid having to manuall modify sources when adding a new clang pluginLuboš Luňák2013-02-0216-52/+161
| | | | | | Now each one registers in its .cxx file. Change-Id: I811c0d4400c2bdccc1c287269378d7e8ad8743ce
* move plugin handling to separate source filesLuboš Luňák2013-02-024-156/+212
| | | | Change-Id: Ifa1af34121bda9ca3250d09a3b8a46ea226795ed
* one more config/ -> config_host/ fix after the renameLuboš Luňák2013-02-011-1/+1
| | | | Change-Id: I347790e1ca2ee6a27303d3644aa1459ff76ba4b0
* rewriters no longer create .new files, they modify sources directlyLuboš Luňák2013-01-311-1/+1
| | | | Change-Id: I24bce9dcf46367b5658071ed692d346bb01a83a3
* 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