| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| | |
sizeof now uses compute_int which again binary searches for correct value.
|
| |
| |
| |
| | |
Fixes #435
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is broken on GCC due to a GCC bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80005
It doesn't matter whether we use <> or "" in our checks because we run
them from an empty temporary directory anyway.
Includes a test for all this.
Closes https://github.com/mesonbuild/meson/issues/1458
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On 32-bit Linux and BSD, all libcs support this. Musl always enables it,
and UClibc behaves like Glibc unless it's built without large file
support (which is a terrible idea).
http://wiki.musl-libc.org/wiki/FAQ#Q:_do_i_need_to_define_LARGEFILE64_SOURCE_to_get_64bit_off_t_.3F
https://git.uclibc.org/uClibc/tree/include/features.h#n326
macOS now only ships 64-bit, so this is irrelevant there.
32-bit Windows and older versions of Bionic do not have transparent
large file support and you must use lseek64, etc there, so this won't
affect those. Newer Bionic versions behave like Glibc in theory.
https://msdn.microsoft.com/en-us/library/1yee101t.aspx
http://code.google.com/p/android/issues/detail?id=64613
Includes a linuxlike test for this.
Closes https://github.com/mesonbuild/meson/issues/1032
|
|
|
|
|
|
|
| |
These compilers are available in MinGW and can be built on macOS.
More interestingly, `gcc` is a wrapper around `clang` on macOS, so we
will detect the compiler type incorrectly on macOS without this.
|
|
|
|
| |
when enabling colored output.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
It's only useful to use those when you have to override include dirs
or library paths by appending them from various sources according to
the priority order, or if the compiler args need to be converted from
Unix/GCC-style to native (MSVC, for instance) style.
Sanity checks match neither of these.
Closes https://github.com/mesonbuild/meson/issues/1351
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose of this class is to make it possible to sanely generate
compiler command-lines by ensuring that new arguments appended or added
to a list of arguments properly override previous arguments.
For instance:
>>> a = CompilerArgs(['-Lfoo', '-DBAR'])
>>> a += ['-Lgah', '-DTAZ']
>>> print(a)
['-Lgah', '-Lfoo', '-DBAR', '-DTAZ']
Arguments will be de-duped if it is safe to do so. Currently, this is
only done for -I and -L arguments (previous occurances are removed when
a new one is added) and arguments that once added cannot be overriden
such as -pipe are removed completely.
|
|\
| |
| | |
Add prefix before including limits.h in has_function checks
|
| |
| |
| |
| |
| | |
MSVC does not have built-ins, so this is totally useless. Instead, add
a test for intrinsics to ensure that we do find them.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use a single check for both cases when we have includes and when we
don't. This way we ensure three things:
1. Built-in checks are 100% reliable with clang and on macOS since clang
implements __has_builtin
2. When the #include is present, this ensures that __builtin_func is not
checked for (because of MSYS, and because it is faster)
3. We fallback to checking __builtin_func when all else fails
|
| |
| |
| |
| |
| |
| |
| |
| | |
prefix might define _GNU_SOURCE, which *must* be defined before your
first include of limits.h, so we must define it first.
There's not really any downsides to including limits.h after the
prefix.
|
| | |
|
| |
| |
| |
| | |
This makes it much clearer what each placeholder will be formatted to.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our "43 has function" test should also work with clang and icc on Linux,
so enable them. Also detect builtins with __has_builtin if available,
which is much faster on clang.
There is a feature request for the same with GCC too:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66970
|
| |
| |
| |
| |
| |
| |
| | |
If it's available, it's much much faster than doing #include
+ preprocess. Speeds up has_header checks by about 40% for me.
Currently, only Clang supports this
|
| | |
|
|/ |
|
|\
| |
| | |
Fix llvmir and assembly
|
| |
| |
| |
| |
| |
| |
| |
| | |
These two are also C-like sources, so don't ignore them in
backends/ninjabackend.py:generate_target() when we call
is_source() on the list of generated sources for that target.
Closes #1318
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
fix some linting errors
|
| |
| |
| |
| |
| |
| | |
E127: continuation line over-indented for visual indent
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
| |
| |
| |
| |
| |
| | |
E202: whitespace before ']'
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
| |
| |
| |
| |
| |
| | |
And fix the list of supported file suffixes, and use .f90 for all
fortran tests since ifort, the Intel Fortran compiler ignores files
ending with .f95, .f03, and .f08
|
| |
| |
| |
| |
| | |
Without this, ICC sometimes gets confused and thinks that the included
header is a C header instead of a C++ header.
|
| |
| |
| |
| | |
Makes it totally clear what extra args are added by each warning level.
|
| |
| |
| |
| |
| |
| | |
It is not (no longer?) supported by Clang:
error: invalid value 'gnu++03' in '-std=gnu++03'
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Compiler versions 15.0 and later actually ignore invalid values for the
-std= option unless `-diag-error 10159` is passed, so we need to put
that in the unit test.
I have tested this with versions 14.0.3, 15.0.6, 16.0.4, and 17.0.1.
Would be great if someone could test with 13.x.y
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added IntelCompiler, IntelCCompiler and IntelCCompiler.
environments.py has been changed to detect icc and icpc.
ninjabackend changed for proper pch generation.
ICC 17.0.0 does not support C++13 (that's why default arguments tests fails).
Test 25 object extraction fails due to some unescaped whitespaces.
Some test with vala fail because of successful build, although they
should fail, as warning do not exit with failure.
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
| |
E124: closing bracket does not match visual indentation
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|
|
|
|
|
| |
E265: block comment should start with '# '
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|
|
|
|
|
| |
E231: missing whitespace after ','
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|
|
|
|
|
| |
E226: missing whitespace around arithmetic operator
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|
|
|
|
|
| |
E225: missing whitespace around operator
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
| |
|
|
|
|
|
| |
The -fmake-deps command does not segfault anymore, and if it is used
with "=" there will also be no "file not found" error.
|
|
|
|
| |
All D compilers use the system linker, which is very convenient here.
|
| |
|
|\
| |
| | |
Trivial cleanups in code
|
| |
| |
| |
| | |
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|