| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CPP_OPENMP_FLAGS. However, later it overwrites these again by their original
value in sbin/ProcessConfiguration.pl (search for FIXME).
This patch implements what the 'FIXME' suggests - accepting the drawbacks that
are mentioned there: that configuration settings not originating from a thorn
might not be forwarded from e.g., a .cactus/config file. MPI was one of these,
but this is now handled differently anyway. With this patch, we would need to
be aware of these and might need to add them to @allowed_opts in the future.
Without the patch however, compilation might fail for perfectly valid setups.
One of these is when using openmp, setting all the corresponding
*_OPENMP_FLAGS, but not setting CPPFLAGS (only CPP_OPENMP_FLAGS). In this case
ProcessConfiguration.pl will set CFLAGS to the version in the config file
(*without* the -openmp), but it will leave CPPFLAGS to the version *with*
-openmp. This later leads to a linker error in external libraries, since
compilation there uses CPPFLAGS (with openmp), but the linker doesn't (It
correctly uses CFLAGS, but this doesn't have openmp flags here).
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5034 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
|
|
|
|
|
|
|
|
|
| |
I have also rewritten and partly redesigned some other features,
correcting some unrelated errors in the course, and simplifying the
code a bit. I have also added some comments.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5029 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5026 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5025 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in interface.ccl. Before f an aliased function is declared in interface.ccl with
PROVIDES FUNCTION fun WITH fun LANGUAGE C
Cactus went into an infinite loop when calling that function. It did so
because it creates a function 'fun' (the first) itself, which then calls (fun)
the second.
Instead, Cactus now produces an error for above declaration. The two 'fun'
must be different for this to work, and Cactus should catch this.
Reported by Frank Loeffler in ticket 1376.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5024 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5021 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow setting parameter values at build time, enabling additional
compiler optimisations. I measured that e.g. ML_BSSN runs 5% to 10%
faster if its parameters are chosen at build time.
This introduces macros CCTK_PARAMETER${thorn}${parameter}. If unset,
the parameter value is taken from the parameter file (default). If set
at compile time, e.g. via a -D option in CPPFLAGS, this overrides the
parameter database, and DECLARE_CCTK_PARAMETERS will always use this
value.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4989 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4984 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4983 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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4973 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4972 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@4969 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
'xargs' command. This shouldn't be necessary on almost all systems, but sadly
is on a few.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4968 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--version' to determine the version of a gnu-type fortran compiler. However, on
bluewaters this returns
{{{
/opt/cray/xt-asyncpe/5.16/bin/ftn: INFO: Compiling with CRAYPE_COMPILE_TARGET=native.
GNU Fortran (GCC) 4.7.2 20120920 (Cray Inc.)
Copyright (C) 2012 Free Software Foundation, Inc.
}}}
The information the script is actually interested in is on the second line, not
the first. Thus, I propose the attached patch (grepping for "GNU" before
choosing the first line). I didn't find a problem with this patch on other
machines, but there might be in case $F77 --version does not contain GNU in the
line with the version.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4958 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
m4 uses square brackets as quotation characters and removes one set of them per
argument call. This affects regular expressions that contain character ranges.
This in turn affect some HAVE_XXX macros where XXX contains invalid characters
eg. XXX=math.h . The attached patch adds an extra level of [] around where the
result is passed to a function. Also it seems as if the system provided
AC_CHECK_FUNCS does not properly quote its third argument when passing it to
AC_CHECK_FUNC. Hence I add an extra round of [] whenever it is used.
This is a mess.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4953 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4949 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4940 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
Following up on a discussion on the Cactus developers mailing list,
this patch introduces a third way of indicating a desired capability:
in addition to REQUIRES and OPTIONAL there is OPTIONAL_IFACTIVE. This
behaves like OPTIONAL, except that the capability relationship only
exists if the thorn providing the capability is active.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4938 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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4931 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4930 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
|
|
|
|
|
|
|
|
| |
Use a pipe when reading output from thorn configuration scripts, and
display the output right away instead of buffering it.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4912 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4911 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4908 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
Will re-investigate after the release in November.
The patch itself is ok.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4902 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
This is discussed in ticket #1075.
Original patch by Erik Schnetter.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4901 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
Add configuration options allowing people to ensure that all thorn
source files make it into the executable. Among other things, this
ensures that each routine has a unique name.
This is disabled by default.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4899 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
Introduce new function CCTKi_VarDataPtrI which does not emit warnings.
Use it when defining CCTK_DECLARE_ARGUMENTS.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4898 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4897 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
Remember variable indices in local static variables.
Use these indices to obtain variable pointers.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4896 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
#1127
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4888 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4883 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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4875 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
patch by Steve Brandt
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4874 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4872 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
this makes the test system less prone to false alarms when quantities larger
than of order unity are involved
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4871 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4870 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4867 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
thorns
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4865 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4863 17b73243-c579-4c4c-a9d2-2d5706c11dac
|