Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Oberhuber2017-11-30 10:14:07 -0500
committerNathan Ridge2017-12-01 11:27:46 -0500
commitabf1b13e6bf9943565f371ea91b6291eca071c39 (patch)
tree2ef0c206ffb0ab48f3d50ed5e66208c25f633ae7
parenta4dcbbaf1519cc06676a6c3355a4c594407efd0a (diff)
downloadorg.eclipse.cdt-abf1b13e6bf9943565f371ea91b6291eca071c39.tar.gz
org.eclipse.cdt-abf1b13e6bf9943565f371ea91b6291eca071c39.tar.xz
org.eclipse.cdt-abf1b13e6bf9943565f371ea91b6291eca071c39.zip
Bug 527959 - Fix argument lists for some builtins
- Add volatile variant for __atomic_clear and __atomic_test_and_set - Add missing parameters for __builtin_fmax and related Change-Id: Ib31d1a410b8749f5672d70d7d02ca1dff962c38b Signed-off-by: Martin Oberhuber <mober.at+eclipse@gmail.com>
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/GCCBuiltinSymbolProvider.java26
1 files changed, 14 insertions, 12 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/GCCBuiltinSymbolProvider.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/GCCBuiltinSymbolProvider.java
index 1b46bfd772..a3d89df57e 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/GCCBuiltinSymbolProvider.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/GCCBuiltinSymbolProvider.java
@@ -177,7 +177,9 @@ public class GCCBuiltinSymbolProvider implements IBuiltinBindingsProvider {
function(type, "__atomic_fetch_nadd", typePtr, type, "int");
}
function("bool", "__atomic_test_and_set", "void*", "int");
+ function("bool", "__atomic_test_and_set", "volatile void*", "int");
function("void", "__atomic_clear", "bool*", "int");
+ function("void", "__atomic_clear", "volatile bool*", "int");
function("void", "__atomic_thread_fence", "int");
function("void", "__atomic_signal_fence", "int");
function("bool", "__atomic_always_lock_free", "size_t", "void*");
@@ -263,24 +265,24 @@ public class GCCBuiltinSymbolProvider implements IBuiltinBindingsProvider {
function("double", "__builtin_fabs", "double");
function("float", "__builtin_fabsf", "float");
function("long double", "__builtin_fabsl", "long double");
- function("double", "__builtin_fdim", "double");
- function("float", "__builtin_fdimf", "float");
- function("long double", "__builtin_fdiml", "long double");
+ function("double", "__builtin_fdim", "double", "double");
+ function("float", "__builtin_fdimf", "float", "float");
+ function("long double", "__builtin_fdiml", "long double", "long double");
function("int", "__builtin_ffs", "unsigned int");
function("int", "__builtin_ffsl", "unsigned long");
function("int", "__builtin_ffsll", "unsigned long long");
function("double", "__builtin_floor", "double");
function("float", "__builtin_floorf", "float");
function("long double", "__builtin_floorl", "long double");
- function("double", "__builtin_fma", "double");
- function("float", "__builtin_fmaf", "float");
- function("long double", "__builtin_fmal", "long double");
- function("double", "__builtin_fmax", "double");
- function("float", "__builtin_fmaxf", "float");
- function("long double", "__builtin_fmaxl", "long double");
- function("double", "__builtin_fmin", "double");
- function("float", "__builtin_fminf", "float");
- function("long double", "__builtin_fminl", "long double");
+ function("double", "__builtin_fma", "double", "double", "double");
+ function("float", "__builtin_fmaf", "float", "float", "float");
+ function("long double", "__builtin_fmal", "long double", "long double", "long double");
+ function("double", "__builtin_fmax", "double", "double");
+ function("float", "__builtin_fmaxf", "float", "float");
+ function("long double", "__builtin_fmaxl", "long double", "long double");
+ function("double", "__builtin_fmin", "double", "double");
+ function("float", "__builtin_fminf", "float", "float");
+ function("long double", "__builtin_fminl", "long double", "long double");
function("double", "__builtin_fmod", "double", "double");
function("float", "__builtin_fmodf", "float", "float");
function("long double", "__builtin_fmodl", "long double", "long double");

Back to the top