From 787d0e16422cbfe473407b9209aeb2c8bf23e0ae Mon Sep 17 00:00:00 2001 From: Nathan Ridge Date: Fri, 26 Dec 2014 20:34:01 -0500 Subject: [PATCH] Bug 456131 - Remove duplicate builtin symbol for __atomic_add_fetch Change-Id: Icb753202c7678ec75f603edac003dbd199513b07 Signed-off-by: Nathan Ridge Reviewed-on: https://git.eclipse.org/r/38787 Tested-by: Hudson CI Reviewed-by: Sergey Prigogin Tested-by: Sergey Prigogin --- .../eclipse/cdt/core/parser/tests/ast2/AST2Tests.java | 9 ++++++++- .../core/dom/parser/GCCBuiltinSymbolProvider.java | 1 - 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java index c29e67c77e7..2475c998b30 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java @@ -158,7 +158,6 @@ public class AST2Tests extends AST2TestBase { String code= getAboveComment(); parseAndCheckBindings(code, C, useGnuExtensions); parseAndCheckBindings(code, CPP, useGnuExtensions); - } protected IASTTranslationUnit parseAndCheckBindings(String code) throws Exception { @@ -7567,4 +7566,12 @@ public class AST2Tests extends AST2TestBase { public void testExpressionLabelReference_84144() throws Exception { parseAndCheckBindings(true); } + + // int version = 0; + // int NextVersion() { + // return __atomic_add_fetch(&version, 1, 5); + // } + public void testAtomicBuiltin_bug456131() throws Exception { + parseAndCheckBindings(true); + } } 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 627b08e459d..0ad48f9f77e 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 @@ -153,7 +153,6 @@ public class GCCBuiltinSymbolProvider implements IBuiltinBindingsProvider { function("bool", "__atomic_compare_exchange", typePtr, typePtr, typePtr, "int", "int", "int"); function(type, "__atomic_add_fetch", typePtr, type, "int"); function(type, "__atomic_sub_fetch", typePtr, type, "int"); - function(type, "__atomic_add_fetch", typePtr, type, "int"); function(type, "__atomic_and_fetch", typePtr, type, "int"); function(type, "__atomic_xor_fetch", typePtr, type, "int"); function(type, "__atomic_or_fetch", typePtr, type, "int");