From a0aeb9153de9118e1186fb84950461f3cb046f76 Mon Sep 17 00:00:00 2001 From: Nathan Ridge Date: Tue, 9 May 2017 22:42:50 -0400 Subject: [PATCH] Bug 516385 - Only use as much space as needed for PDOMCPPAliasTemplate and PDOMCPPAliasTemplateInstance records Change-Id: Ib8e0de13c49f715806d8c29cb4e8cf07182d5f50 --- .../parser/org/eclipse/cdt/internal/core/pdom/PDOM.java | 7 ++++--- .../internal/core/pdom/dom/cpp/PDOMCPPAliasTemplate.java | 2 +- .../core/pdom/dom/cpp/PDOMCPPAliasTemplateInstance.java | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java index ef8800afafb..333e9e7e9a5 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java @@ -284,10 +284,11 @@ public class PDOM extends PlatformObject implements IPDOM { * CDT 9.3 development (versions not supported on the 9.2.x branch) * 207.0 - Store a caller record for macro reference names. * 208.0 - Trigger index rebuild to rebuild corrupted binding reference lists, bug 399147. + * 209.0 - Alias templates and their instances take up more space than required, bug 516385. */ - private static final int MIN_SUPPORTED_VERSION= version(208, 0); - private static final int MAX_SUPPORTED_VERSION= version(208, Short.MAX_VALUE); - private static final int DEFAULT_VERSION = version(208, 0); + private static final int MIN_SUPPORTED_VERSION= version(209, 0); + private static final int MAX_SUPPORTED_VERSION= version(209, Short.MAX_VALUE); + private static final int DEFAULT_VERSION = version(209, 0); private static int version(int major, int minor) { return (major << 16) + minor; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAliasTemplate.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAliasTemplate.java index a69e8ba92a2..9443c989ef2 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAliasTemplate.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAliasTemplate.java @@ -30,7 +30,7 @@ import org.eclipse.core.runtime.CoreException; */ class PDOMCPPAliasTemplate extends PDOMCPPBinding implements ICPPAliasTemplate, IPDOMCPPTemplateParameterOwner { private static final int ALIASED_TYPE_SIZE = Database.TYPE_SIZE; - private static final int TEMPLATE_PARAMS_SIZE = PDOMCPPTemplateTemplateParameter.RECORD_SIZE; + private static final int TEMPLATE_PARAMS_SIZE = Database.PTR_SIZE; @SuppressWarnings("hiding") protected static final int RECORD_SIZE = PDOMCPPBinding.RECORD_SIZE + ALIASED_TYPE_SIZE + TEMPLATE_PARAMS_SIZE; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAliasTemplateInstance.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAliasTemplateInstance.java index 48d79272516..a92c3b2f287 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAliasTemplateInstance.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAliasTemplateInstance.java @@ -28,7 +28,7 @@ class PDOMCPPAliasTemplateInstance extends PDOMCPPTypedef implements ICPPAliasTe private static final int TEMPLATE_DEFINITION_OFFSET = PDOMCPPTypedef.RECORD_SIZE; @SuppressWarnings("hiding") - protected static final int RECORD_SIZE = TEMPLATE_DEFINITION_OFFSET + Database.TYPE_SIZE; + protected static final int RECORD_SIZE = TEMPLATE_DEFINITION_OFFSET + Database.PTR_SIZE; private volatile ICPPAliasTemplate fTemplateDefinition;