| Commit message (Collapse) | Author | Age |
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5042 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
for fix
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5039 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
This checks whether the GCC extension __builtin_assume_aligned is
available, which can generate more efficient code when accessing data
via pointers.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5033 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
Check whether static_assert is supported by C++. Define a work-around
if it is not supported.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5014 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See https://trac.einsteintoolkit.org/ticket/1276
Add conditional on the version of the (Intel) compiler for all CCODE. Then, for
C and CXX separately, skip the autoconf-provided values for 'restrict' if the
compiler was found to be bad, and instead let HAVE_CCTK_CXX_RESTRICT remain
undefined and set CCTK_CXX_RESTRICT to empty, which later defines 'restrict' to
empty too (similarly for C).
Because someone might actually want to overwrite this,
CCTK_INTEL_COMPILER_DONT_DISABLE_RESTRICT is checked, and if set, doesn't
disable restrict even for bad compilers.
Also, now all Intel compilers with build dates between 20121010 and 20130313
are flagged 'bad'. Others might need to be added later.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5001 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
Correct autodetection of __builtin_unreachable()
Correct fallback implementation of CCTK_BUILTIN_UNREACHABLE
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4976 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Some C++ autoconf results were erroneously used for C code.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4971 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4965 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4962 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4949 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
Instead of assuming that CCTK_REAL16 is real*16 in Fortran, allow any
real*N for user-specified values of N. This enables using CCTK_REAL16
e.g. with gcc versions that call it real*10.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4935 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
Add autoconf test for __attribute__((__always_inline__)).
Improve autoconf test for _Pragma syntax.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4934 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
Disable OpenMP collapse clause for certain versions of the Intel
compiler that are known to mis-compile them.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4913 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
Check availability of isnan in C++.
Introduce autoconf macros specifying how to call a good version of
isnan in any language.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4881 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
You can now use "restrict" instead of CCTK_RESTRICT in C++.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4812 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4792 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
See https://trac.einsteintoolkit.org/ticket/443
Patch by Roland Haas
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4726 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4704 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update and improve the auto-detection of the "restrict" keyword; add
more test cases to detect more possible failures. Disable testing the
array syntax
void foo (double A[restrict]);
where the "restrict" keyword is given within the square brackets;
instead, one can use the pointer syntax
void foo (double *restrict const A);
which is tested.
Add support for the gcc built-in function "builtin_expect", which
tells the compiler the value that an expression is most likely to
have.
Re-enable the (currently commented out) definitions for attribute(hot)
and attribute(cold).
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4702 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
gcc' __attribute__(__aligned__(...)) if present. This is necessary for
vectorisation.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4662 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
__attribute__((noinline)) if that is supported by the compiler.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4658 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
const
pure
unused
cold
hot
These attributes can be used to annotate declarations of variables,
functions, and member functions to avoid warnings or enable additional
optimisations.
Detect whether the _Pragma directive is recognised. _Pragma can be
used instead of #pragma, but works also inside macros.
Update the detection of the static, inline, and restrict qualifiers to
catch certain compiler errors, and avoids using these attributes with
these compilers.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4578 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Such timing functions are e.g. used by Carpet.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4457 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
functions mallinfo() and mallopt(), and the constant M_MMAP_THRESHOLD.
These are e.g. provided by glibc.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4422 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
always detects it as "not present", even if the message printed to the
screen during configuration says "present". The enclosed patch
corrects this:
Rename the detecting autoconf macro from CCTK_PROG_FORTRAN_REAL16 to
CCTK_FORTRAN_REAL16. This follows the usual autoconf naming
conventions; see e.g. CCTK_CXX_BOOL. Also rename the return value (a
global variable) from fortran_does_real16 to
cctk_cv_have_fortran_real16.
In this macro, use the function AC_TRY_COMPILE instead of
AC_TRY_COMPILER. The difference is that this then only compiles, it
does not try to link and execute. Executing would require handling
cross-compiling in a special way.
Replace the autoconf macro AC_TRY_COMPILE by CCTK_TRY_COMPILE,
correcting an error in handling Fortran programmes. AC_TRY_COMPILE
does not work for Fortran in autoconf 2.13.
Move setting the compiler debug and warning flags further up in
configure.in, so that the Fortran 77 compiler flags, which may be
copied from the Fortran 90 compiler flags, are correct when the
Fortran types are detected. Otherwise the wrong Fortran 77 compiler
may be used for this test.
Add autodetection for all the Fortran types real*4, real*8, real*16,
complex*8, complex*16, and complex*32. Make this result available to
thorns as HAVE_CCTK_FORTRAN_xxx.
Define the CCTK_REALxxx and HAVE_CCTK_REALxxx macros only if the
corresponding real and complex types are available in both C and
Fortran.
Remove some leftover debugging statements.
Tested on Darwin-x86 with gcc and Linux-x86 with Intel.
Touche force-reconfigure.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4351 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
is actually 'restrict'.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4211 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4155 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declare and initialise local variables. They also add the necessary
magic to prevent compiler warnings about unused variables.
If the compiler supports __attribute__((unused)), then use this.
Otherwise, use the existing fallback of taking the variable's
address. In Fortran, use the variable's kind as fallback.
Use these macros in autogenerated code and in "cctk.h".
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4146 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4052 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
C or C++.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3919 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
HAVE_CCTK_<datatype> to be consistent with other configure macros.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3794 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
They have been depricated in beta13.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3792 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3774 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3773 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3640 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Extend routines to handle the new type.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3431 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
| |
CCTK_L2_CACHELINE_BYTES to CCTK_CACHELINE_BYTES
to reflect the fact that for now we set these up to be the
most appropriate cache size to track (usually either L2 or L3)
This is hopefully added such that people don't need to reconfigure
right away, but the old macros will be removed in Beta 14.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3204 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3194 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added #define of SIZEOF_LONG_LONG to cctk_Config.h.in
Added macros which detect the presence of bool in C and restrict in C++.
Currently these define CCTK_... macros but don't #define bool in C or
restrict in C++ as these would be non-standard features which might
conflict with user-written macros or code.
Moved AC_C_RESTRICT macro to aclocal.m4 and renamed it to CCTK_C_RESTRICT to
conform with autoconf naming conventions.
Created macro for detecting presence of bool in CXX and changed to use the
macro.
A little bit of tidying up of cctk_Config.h.in to make the file a bit easier to
read.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3173 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
CCTK_BUILD_OS, CCTK_BUILD_CPU, CCTK_BUILD_VENDOR
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3003 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
'#ifdef CCODE' section so that they aren't seen anymore by Fortran code.
This should fix Cactus/1079.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2889 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2883 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2882 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
way as the const keyword - i.e. if it exists we do
#define restrict restrict
and if it doesn't exist we do
#define restrict
so it is safe to start using the restrict keyword in your C files, they will
still compile with compilers which don't support restrict.
Note that if you had a local variable called 'restrict' in C you will get an
error message, however you would have received one anyway when compiling with
a C99 compliant compiler.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2796 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2574 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2527 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
aren't used anymore in the code.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2225 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2189 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2135 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
(Just forgot to commit this file when I changed the configure script.)
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2125 17b73243-c579-4c4c-a9d2-2d5706c11dac
|