aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/iresolve.c
diff options
context:
space:
mode:
authorJanne Blomqvist <jb@gcc.gnu.org>2016-12-20 22:46:13 +0200
committerJanne Blomqvist <jb@gcc.gnu.org>2016-12-20 22:46:13 +0200
commita388bdc777f582514f8e8bd94274d920d700782f (patch)
tree1367e04fbdbaddd3e9f1ac2bf0b2e55b92abe8d6 /gcc/fortran/iresolve.c
parent5b1d0fbaea62946c2b95d2007563a4565e231aa2 (diff)
downloadgcc-a388bdc777f582514f8e8bd94274d920d700782f.zip
gcc-a388bdc777f582514f8e8bd94274d920d700782f.tar.gz
gcc-a388bdc777f582514f8e8bd94274d920d700782f.tar.bz2
Use the middle-end boolean_type_node
Use the boolean_type_node setup by the middle-end instead of redefining it. boolean_type_node is not used in GFortran for any ABI-visible stuff, only internally as the type of boolean expressions. There appears to be one exception to this, namely the caf_get* and caf_send* calls which have boolean_type_node arguments. However, on the library side they seem to use C _Bool, so I suspect this might be a case of a argument mismatch that hasn't affected anything so far. The practical effect of this is that the size of such variables will be the same as a C _Bool or C++ bool, that is, on most targets a single byte. Previously we redefined boolean_type_node to be a Fortran default logical kind sized variable, that is 4 or 8 bytes depending on compile options. This might enable slightly more compact code, in case the optimizer determines that the result of such a generated comparison expression needs to be stored in some temporary location rather than being used immediately. Regression tested on x86_64-pc-linux-gnu. 2016-12-20 Janne Blomqvist <jb@gcc.gnu.org> * trans-types.c (gfc_init_types): Don't redefine boolean type node. From-SVN: r243830
Diffstat (limited to 'gcc/fortran/iresolve.c')
0 files changed, 0 insertions, 0 deletions