| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Closes #1061.
|
| |
|
|
|
| |
Co-authored-by: Luboš Luňák <l.lunak@centrum.cz>
|
| |
|
| |
|
| |
|
|
|
|
| |
Closes #889.
|
|
|
|
| |
This is the next step after a57f70eda32e99221de56f5499079b4f00dc2bc5.
|
|
|
|
| |
This is more or less equivalent to gcc's --specs option except that the
contents of the file have different syntaxes.
|
|
|
|
|
|
|
|
|
|
|
| |
* Support `-specs file.specs` and `--specs file.specs`
ccache currently supports specs files supplied via `-specs=file.specs`
and `--specs=file.specs`, but using a space instead of an `=` will cause
ccache to error out on the subsequent .specs file with
"unsupported source language".
Add support for `-specs file.specs` and `--specs file.specs`.
|
|
|
|
| |
Co-authored-by: Peter Steinberger <steipete@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
“-P” is currently considered too hard, so when it’s used in conjunction
with “-E” the “unsupported compiler option” statistics counter is
increased since “-P” is found before “-E” on the command line.
Improve this by not passing “-P” to the preprocessor so that’s it’s in
effect supported. “-P -E” will then instead bail out on “-E”, increasing
“called for preprocessing” instead.
Closes #812.
|
| |
|
|
|
|
|
|
|
|
| |
-frecord-gcc-switches records the full command line in the object file,
so include the original command line in the hash as suggested by
Lawrence Chan.
Fixes #804.
|
|
|
|
| |
See also 4413d842e23c6fa52ec411951a4ab442f42227de.
|
| |
|
|
|
|
|
| |
Namespace-level constant objects have static storage duration by
default.
|
| |
|
| |
|
|
|
|
| |
Co-authored-by: Cristian Adam <cristian.adam@gmail.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This reduces code dependencies that hamper refactoring.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang creates the internal on-disk representation of modules
in the background on demand as necessary. This means that ccache does
not need to cache that, all that it needs to cache is the actual
compilation result and the dependencies. Which in the case of modules
includes also the module.modulemap files, and Clang outputs such
dependencies correctly only in the depend mode, in the preprocessed
output there is no way to find out the module dependencies.
Therefore support -fmodules in direct depend mode by more or less
ignoring it. Tested with source build of LLVM/Clang configured
with -DLLVM_ENABLE_MODULES=On (and the build actually occassionally
fails because of module problems, but that happens regardless of ccache).
See also pull request #130 (and this reuses the tests from there).
|
|
|
|
| |
Also added test to detect the invalid case TOO_HARD | TAKES_CONCAT_ARG.
|
|
|
|
|
|
|
|
| |
This is done to keep the argument order between -Werror and -Wno-error.
Fixes #451.
(cherry picked from commit 70986342c8948ac2ae974ee98efbcd6865003dc1)
|
|
|
|
|
| |
If you end up on this commit when running “git blame ...”, it’s probably
a good idea to use “git blame -w ...” to ignore whitespace changes.
|
|
The ccache source code will be converted to C++, targeting C++11. This
commit only arranges the existing C-style code to be built as C++ code.
This makes it possible to call new C++ code from old C-style code.
Gradual conversion to C++ functionality and idioms will follow in a slow
and controlled fashion – no big bang rewrites.
The alternative would be to convert code in a top-down fashion, i.e.
only calling legacy C code from new C++ code, not the other way around.
That approach is however not a good idea since the code that will
benefit most from being written in proper C++ is code deep down in the
call chains.
Except for renaming source code files to .cpp and .hpp, this commit
makes minimal changes to make the code base buildable again, for
example:
- Instructs configure.ac to look for a mandatory C++11-compliant
compiler.
- Adds Makefile rules for building C++ code.
- Sets up Travis-CI to pass C++ compiler flags and similar to the build.
- Adds new casts where needed.
- Adds const keywords where needed.
- Renames variables to something else than C++ keywords (e.g.
“template”).
- Rearranges some code to avoid complaints about goto jumps that cross
variable lifetimes.
|