From c37051ea902ed28300d3238db4f49f90f5d9ce28 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 24 Aug 2011 14:13:19 -0400 Subject: [PATCH 01/22] Add the core fragments to the core test dependencies. --- core/org.eclipse.cdt.core.tests/pom.xml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/core/org.eclipse.cdt.core.tests/pom.xml b/core/org.eclipse.cdt.core.tests/pom.xml index 887a223955e..38ffaf21cb5 100644 --- a/core/org.eclipse.cdt.core.tests/pom.xml +++ b/core/org.eclipse.cdt.core.tests/pom.xml @@ -31,5 +31,28 @@ + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + + + org.eclipse.cdt.core.linux.x86 + 5.2.0-SNAPSHOT + eclipse-plugin + + + org.eclipse.cdt.core.linux.x86_64 + 5.2.0-SNAPSHOT + eclipse-plugin + + + + + + From 1d4e841ea6c4e0db396bad1d5a0b7b588cc966e0 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 24 Aug 2011 14:30:44 -0400 Subject: [PATCH 02/22] Fix up version in core.test dependencies. --- core/org.eclipse.cdt.core.tests/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.core.tests/pom.xml b/core/org.eclipse.cdt.core.tests/pom.xml index 38ffaf21cb5..d07424a6483 100644 --- a/core/org.eclipse.cdt.core.tests/pom.xml +++ b/core/org.eclipse.cdt.core.tests/pom.xml @@ -41,12 +41,12 @@ org.eclipse.cdt.core.linux.x86 - 5.2.0-SNAPSHOT + 5.2.0 eclipse-plugin org.eclipse.cdt.core.linux.x86_64 - 5.2.0-SNAPSHOT + 5.2.0 eclipse-plugin From dabed9f3db2aefeff48ace6ff485eb9bfa3760b6 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 24 Aug 2011 15:32:13 -0400 Subject: [PATCH 03/22] Comment out core.test deps. Need to find out how to specify versions. --- core/org.eclipse.cdt.core.tests/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.core.tests/pom.xml b/core/org.eclipse.cdt.core.tests/pom.xml index d07424a6483..0c3699a0a19 100644 --- a/core/org.eclipse.cdt.core.tests/pom.xml +++ b/core/org.eclipse.cdt.core.tests/pom.xml @@ -31,7 +31,7 @@ - + From 0b1aec3226f84f728f9b37576d917f75a4a2d448 Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Thu, 25 Aug 2011 09:08:13 -0400 Subject: [PATCH 04/22] Bug 349736: DSF-GDB breakpoint deleted when modifying thread filter --- .../ui/breakpoints/GdbThreadFilterEditor.java | 32 ++++++++++++------- .../gdb/internal/ui/breakpoints/Messages.java | 5 ++- .../ui/breakpoints/Messages.properties | 3 ++ .../dsf/mi/service/MIBreakpointsManager.java | 2 +- 4 files changed, 29 insertions(+), 13 deletions(-) diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GdbThreadFilterEditor.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GdbThreadFilterEditor.java index d3206875d7d..3b4ae72dd26 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GdbThreadFilterEditor.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/GdbThreadFilterEditor.java @@ -24,16 +24,16 @@ import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.debug.service.IProcesses; -import org.eclipse.cdt.dsf.debug.service.IRunControl; +import org.eclipse.cdt.dsf.debug.service.IProcesses.IProcessDMContext; import org.eclipse.cdt.dsf.debug.service.IProcesses.IThreadDMContext; import org.eclipse.cdt.dsf.debug.service.IProcesses.IThreadDMData; +import org.eclipse.cdt.dsf.debug.service.IRunControl; import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext; import org.eclipse.cdt.dsf.debug.service.IRunControl.IExecutionDMContext; import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService; import org.eclipse.cdt.dsf.gdb.breakpoints.CBreakpointGdbThreadsFilterExtension; import org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin; import org.eclipse.cdt.dsf.gdb.launching.GdbLaunch; -import org.eclipse.cdt.dsf.gdb.service.IGDBBackend; import org.eclipse.cdt.dsf.mi.service.IMIExecutionDMContext; import org.eclipse.cdt.dsf.mi.service.IMIProcesses; import org.eclipse.cdt.dsf.service.DsfServicesTracker; @@ -256,7 +256,7 @@ public class GdbThreadFilterEditor { private void createThreadViewer(Composite parent) { Label label = new Label(parent, SWT.NONE); - label.setText("&Restrict to Selected Targets and Threads:"); //$NON-NLS-1$ + label.setText(Messages.GdbThreadFilterEditor_RestrictToSelected); label.setFont(parent.getFont()); label.setLayoutData(new GridData()); GridData data = new GridData(GridData.FILL_BOTH); @@ -388,7 +388,7 @@ public class GdbThreadFilterEditor { IContainerDMContext[] containerDmcs = (IContainerDMContext[])getData(); rm.setData(containerDmcs); } else { - rm.setStatus(getFailStatus(IDsfStatusConstants.INVALID_STATE, "Wront type of container contexts.")); //$NON-NLS-1$ + rm.setStatus(getFailStatus(IDsfStatusConstants.INVALID_STATE, "Wrong type of container contexts.")); //$NON-NLS-1$ } rm.done(); } @@ -458,7 +458,7 @@ public class GdbThreadFilterEditor { class ContainerLabelQuery extends Query { @Override - protected void execute(DataRequestMonitor rm) { + protected void execute(final DataRequestMonitor rm) { if (!session.isActive()) { rm.setStatus(getFailStatus(IDsfStatusConstants.INVALID_STATE, "Container's session not active.")); //$NON-NLS-1$ rm.done(); @@ -466,13 +466,22 @@ public class GdbThreadFilterEditor { } DsfServicesTracker tracker = new DsfServicesTracker(GdbUIPlugin.getBundleContext(), session.getId()); - IGDBBackend backend = tracker.getService(IGDBBackend.class); - if (backend != null) { - rm.setData(backend.getProgramPath().toOSString()); + IProcesses processService = tracker.getService(IProcesses.class); + IProcessDMContext procDmc = DMContexts.getAncestorOfType(container, IProcessDMContext.class); + if (processService != null && procDmc != null) { + processService.getExecutionData( + procDmc, + new DataRequestMonitor(ImmediateExecutor.getInstance(), rm) { + @Override + public void handleSuccess() { + rm.setData(getData().getName()); + rm.done(); + } + }); } else { - rm.setStatus(getFailStatus(IDsfStatusConstants.INVALID_STATE, "GDB Backend not accessible.")); //$NON-NLS-1$ + rm.setStatus(getFailStatus(IDsfStatusConstants.INVALID_STATE, "Processes service not accessible.")); //$NON-NLS-1$ + rm.done(); } - rm.done(); tracker.dispose(); } } @@ -511,7 +520,8 @@ public class GdbThreadFilterEditor { ImmediateExecutor.getInstance(), rm) { @Override protected void handleSuccess() { - final StringBuilder builder = new StringBuilder("Thread["); //$NON-NLS-1$ + final StringBuilder builder = new StringBuilder(Messages.GdbThreadFilterEditor_Thread); + builder.append("["); //$NON-NLS-1$ builder.append(((IMIExecutionDMContext)thread).getThreadId()); builder.append("] "); //$NON-NLS-1$ builder.append(getData().getId()); diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/Messages.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/Messages.java index 2eeb0e892b3..38b8bed6d9c 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/Messages.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/Messages.java @@ -31,7 +31,10 @@ public class Messages extends NLS { public static String TracepointPropertyPage_PassCount; public static String TracepointPropertyPage_Class; public static String TracepointPropertyPage_Enabled; - + + public static String GdbThreadFilterEditor_Thread; + public static String GdbThreadFilterEditor_RestrictToSelected; + static { // initialize resource bundle NLS.initializeMessages(Messages.class.getName(), Messages.class); diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/Messages.properties b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/Messages.properties index 010a6b7dbd6..95a0dd2ac43 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/Messages.properties +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/breakpoints/Messages.properties @@ -29,3 +29,6 @@ TracepointPropertyPage_IgnoreCount=&Ignore count: TracepointPropertyPage_PassCount=&Pass count: TracepointPropertyPage_Class=Class: TracepointPropertyPage_Enabled=Enabled + +GdbThreadFilterEditor_Thread=Thread +GdbThreadFilterEditor_RestrictToSelected=&Restrict to Selected Processes and Threads: \ No newline at end of file diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java index 3b3f673684e..8350f969927 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java @@ -1669,7 +1669,7 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo // Extract the thread IDs (if there is none, we are covered) for (IContainerDMContext ctxt : targets) { - if (DMContexts.isAncestorOf(ctxt, context)) { + if (ctxt.equals(context) || DMContexts.isAncestorOf(ctxt, context)) { threads.add(filterExtension.getThreadFilters(ctxt)); } } From 38461736027a4054e6d6be8e0ff0d5468cbbc2b4 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Sat, 27 Aug 2011 15:41:36 -0400 Subject: [PATCH 05/22] Fix up feature poms to have the correct artifactIds. --- build/org.eclipse.cdt.gnu.build-feature/pom.xml | 2 +- cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml | 2 +- debug/org.eclipse.cdt.gdb-feature/pom.xml | 2 +- debug/org.eclipse.cdt.gnu.debug-feature/pom.xml | 2 +- dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml | 2 +- dsf/org.eclipse.cdt.examples.dsf-feature/pom.xml | 2 +- jtag/org.eclipse.cdt.debug.gdbjtag-feature/pom.xml | 2 +- lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/pom.xml | 2 +- memory/org.eclipse.cdt.debug.ui.memory-feature/pom.xml | 2 +- releng/org.eclipse.cdt-feature/pom.xml | 2 +- releng/org.eclipse.cdt.platform-feature/pom.xml | 2 +- releng/org.eclipse.cdt.sdk-feature/pom.xml | 2 +- upc/org.eclipse.cdt.bupc-feature/pom.xml | 2 +- upc/org.eclipse.cdt.core.parser.upc.sdk.feature/pom.xml | 2 +- xlc/org.eclipse.cdt.xlc.sdk-feature/pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/build/org.eclipse.cdt.gnu.build-feature/pom.xml b/build/org.eclipse.cdt.gnu.build-feature/pom.xml index 3f346e92611..2fa1e844ea7 100644 --- a/build/org.eclipse.cdt.gnu.build-feature/pom.xml +++ b/build/org.eclipse.cdt.gnu.build-feature/pom.xml @@ -11,6 +11,6 @@ ../../pom.xml - org.eclipse.cdt.gnu.build-feature + org.eclipse.cdt.gnu.build eclipse-feature diff --git a/cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml b/cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml index 5e69295e395..9036e2c5a6b 100644 --- a/cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml +++ b/cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml @@ -12,6 +12,6 @@ 1.0.0-SNAPSHOT - org.eclipse.cdt.build.crossgcc-feature + org.eclipse.cdt.build.crossgcc eclipse-feature diff --git a/debug/org.eclipse.cdt.gdb-feature/pom.xml b/debug/org.eclipse.cdt.gdb-feature/pom.xml index 9557483fafa..451ed3db30a 100644 --- a/debug/org.eclipse.cdt.gdb-feature/pom.xml +++ b/debug/org.eclipse.cdt.gdb-feature/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - org.eclipse.cdt.gdb-feature + org.eclipse.cdt.gdb eclipse-feature 7.0.0-SNAPSHOT diff --git a/debug/org.eclipse.cdt.gnu.debug-feature/pom.xml b/debug/org.eclipse.cdt.gnu.debug-feature/pom.xml index 5398f7632aa..032cc3f120f 100644 --- a/debug/org.eclipse.cdt.gnu.debug-feature/pom.xml +++ b/debug/org.eclipse.cdt.gnu.debug-feature/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - org.eclipse.cdt.gnu.debug-feature + org.eclipse.cdt.gnu.debug eclipse-feature 7.1.0-SNAPSHOT diff --git a/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml b/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml index 9dfaab0d04a..749f64554c5 100644 --- a/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml +++ b/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml @@ -12,6 +12,6 @@ 4.0.0-SNAPSHOT - org.eclipse.cdt.gdb.dsf-feature + org.eclipse.cdt.gdb.dsf eclipse-feature diff --git a/dsf/org.eclipse.cdt.examples.dsf-feature/pom.xml b/dsf/org.eclipse.cdt.examples.dsf-feature/pom.xml index 4441f062917..78790207f08 100644 --- a/dsf/org.eclipse.cdt.examples.dsf-feature/pom.xml +++ b/dsf/org.eclipse.cdt.examples.dsf-feature/pom.xml @@ -12,6 +12,6 @@ 2.1.0-SNAPSHOT - org.eclipse.cdt.examples.dsf-feature + org.eclipse.cdt.examples.dsf eclipse-feature diff --git a/jtag/org.eclipse.cdt.debug.gdbjtag-feature/pom.xml b/jtag/org.eclipse.cdt.debug.gdbjtag-feature/pom.xml index c944e575329..78c464fc855 100644 --- a/jtag/org.eclipse.cdt.debug.gdbjtag-feature/pom.xml +++ b/jtag/org.eclipse.cdt.debug.gdbjtag-feature/pom.xml @@ -12,6 +12,6 @@ 7.0.0-SNAPSHOT - org.eclipse.cdtdebug.gdbjtag-feature + org.eclipse.cdtdebug.gdbjtag eclipse-feature diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/pom.xml b/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/pom.xml index ff465dede44..2f6b972d9b5 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/pom.xml +++ b/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/pom.xml @@ -12,6 +12,6 @@ 5.2.0-SNAPSHOT - org.eclipse.cdt.core.lrparser.sdk.feature + org.eclipse.cdt.core.lrparser.sdk eclipse-feature diff --git a/memory/org.eclipse.cdt.debug.ui.memory-feature/pom.xml b/memory/org.eclipse.cdt.debug.ui.memory-feature/pom.xml index 2fca78c685c..84938e56c37 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory-feature/pom.xml +++ b/memory/org.eclipse.cdt.debug.ui.memory-feature/pom.xml @@ -12,6 +12,6 @@ 2.1.100-SNAPSHOT - org.eclipse.cdt.debug.ui.memory-feature + org.eclipse.cdt.debug.ui.memory eclipse-feature diff --git a/releng/org.eclipse.cdt-feature/pom.xml b/releng/org.eclipse.cdt-feature/pom.xml index 6d0c62769e1..44b7d33a088 100644 --- a/releng/org.eclipse.cdt-feature/pom.xml +++ b/releng/org.eclipse.cdt-feature/pom.xml @@ -11,6 +11,6 @@ ../../pom.xml - org.eclipse.cdt-feature + org.eclipse.cdt eclipse-feature diff --git a/releng/org.eclipse.cdt.platform-feature/pom.xml b/releng/org.eclipse.cdt.platform-feature/pom.xml index ed7f836a907..0e8e246dc42 100644 --- a/releng/org.eclipse.cdt.platform-feature/pom.xml +++ b/releng/org.eclipse.cdt.platform-feature/pom.xml @@ -11,6 +11,6 @@ ../../pom.xml - org.eclipse.cdt.platform-feature + org.eclipse.cdt.platform eclipse-feature diff --git a/releng/org.eclipse.cdt.sdk-feature/pom.xml b/releng/org.eclipse.cdt.sdk-feature/pom.xml index 8d8fb0696a3..f22a2469a54 100644 --- a/releng/org.eclipse.cdt.sdk-feature/pom.xml +++ b/releng/org.eclipse.cdt.sdk-feature/pom.xml @@ -11,6 +11,6 @@ ../../pom.xml - org.eclipse.cdt.sdk-feature + org.eclipse.cdt.sdk eclipse-feature diff --git a/upc/org.eclipse.cdt.bupc-feature/pom.xml b/upc/org.eclipse.cdt.bupc-feature/pom.xml index 8a069b6827d..314702433d6 100644 --- a/upc/org.eclipse.cdt.bupc-feature/pom.xml +++ b/upc/org.eclipse.cdt.bupc-feature/pom.xml @@ -12,6 +12,6 @@ 1.0.3-SNAPSHOT - org.eclipse.cdt.bupc-feature + org.eclipse.cdt.bupc eclipse-feature diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/pom.xml b/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/pom.xml index a5db8467e60..69d6b7a1e4c 100644 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/pom.xml +++ b/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/pom.xml @@ -12,6 +12,6 @@ 5.1.0-SNAPSHOT - org.eclipse.cdt.core.parser.upc.sdk.feature + org.eclipse.cdt.core.parser.upc.sdk eclipse-feature diff --git a/xlc/org.eclipse.cdt.xlc.sdk-feature/pom.xml b/xlc/org.eclipse.cdt.xlc.sdk-feature/pom.xml index 89d8d8b564f..365fa594a01 100644 --- a/xlc/org.eclipse.cdt.xlc.sdk-feature/pom.xml +++ b/xlc/org.eclipse.cdt.xlc.sdk-feature/pom.xml @@ -12,6 +12,6 @@ 6.1.0-SNAPSHOT - org.eclipse.cdt.xlc.sdk-feature + org.eclipse.cdt.xlc.sdk eclipse-feature From aa472310d9ee2afa82eb1790f4e251ef099d1732 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Sat, 27 Aug 2011 15:51:48 -0400 Subject: [PATCH 06/22] gdb plug-in and feature have same id. Doesn't work with Maven. --- debug/org.eclipse.cdt.gdb-feature/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/debug/org.eclipse.cdt.gdb-feature/pom.xml b/debug/org.eclipse.cdt.gdb-feature/pom.xml index 451ed3db30a..37e0cb11ad3 100644 --- a/debug/org.eclipse.cdt.gdb-feature/pom.xml +++ b/debug/org.eclipse.cdt.gdb-feature/pom.xml @@ -11,6 +11,7 @@ ../../pom.xml + org.eclipse.cdt.features org.eclipse.cdt.gdb eclipse-feature 7.0.0-SNAPSHOT From db272b5b008ec545c23e2a2b04979c1c4e8f9518 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Sat, 27 Aug 2011 15:58:46 -0400 Subject: [PATCH 07/22] Get rid of more conflicts. --- cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml | 1 + dsf/org.eclipse.cdt.examples.dsf-feature/pom.xml | 1 + releng/org.eclipse.cdt-feature/pom.xml | 1 + releng/org.eclipse.cdt.sdk-feature/pom.xml | 1 + 4 files changed, 4 insertions(+) diff --git a/cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml b/cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml index 9036e2c5a6b..f3266838a2b 100644 --- a/cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml +++ b/cross/org.eclipse.cdt.build.crossgcc-feature/pom.xml @@ -12,6 +12,7 @@ 1.0.0-SNAPSHOT + org.eclipse.cdt.features org.eclipse.cdt.build.crossgcc eclipse-feature diff --git a/dsf/org.eclipse.cdt.examples.dsf-feature/pom.xml b/dsf/org.eclipse.cdt.examples.dsf-feature/pom.xml index 78790207f08..a64ad8a12d0 100644 --- a/dsf/org.eclipse.cdt.examples.dsf-feature/pom.xml +++ b/dsf/org.eclipse.cdt.examples.dsf-feature/pom.xml @@ -12,6 +12,7 @@ 2.1.0-SNAPSHOT + org.eclipse.cdt.features org.eclipse.cdt.examples.dsf eclipse-feature diff --git a/releng/org.eclipse.cdt-feature/pom.xml b/releng/org.eclipse.cdt-feature/pom.xml index 44b7d33a088..028f479703a 100644 --- a/releng/org.eclipse.cdt-feature/pom.xml +++ b/releng/org.eclipse.cdt-feature/pom.xml @@ -11,6 +11,7 @@ ../../pom.xml + org.eclipse.cdt.features org.eclipse.cdt eclipse-feature diff --git a/releng/org.eclipse.cdt.sdk-feature/pom.xml b/releng/org.eclipse.cdt.sdk-feature/pom.xml index f22a2469a54..ac901feebff 100644 --- a/releng/org.eclipse.cdt.sdk-feature/pom.xml +++ b/releng/org.eclipse.cdt.sdk-feature/pom.xml @@ -11,6 +11,7 @@ ../../pom.xml + org.eclipse.cdt.features org.eclipse.cdt.sdk eclipse-feature From 82272a796535b23d3884a047cfb2c0628ee884d6 Mon Sep 17 00:00:00 2001 From: Marc-Andre Laperle Date: Sun, 28 Aug 2011 14:38:02 -0400 Subject: [PATCH 08/22] Bug 355006 - NPE using Implement method on template function --- .../resources/refactoring/ImplementMethod.rts | 19 +++++++++++++++++++ .../ImplementMethodRefactoring.java | 13 +++++++------ .../ui/refactoring/utils/NodeHelper.java | 17 +++++++++++------ 3 files changed, 37 insertions(+), 12 deletions(-) diff --git a/core/org.eclipse.cdt.ui.tests/resources/refactoring/ImplementMethod.rts b/core/org.eclipse.cdt.ui.tests/resources/refactoring/ImplementMethod.rts index ba804a149a3..7fc4d475cc9 100644 --- a/core/org.eclipse.cdt.ui.tests/resources/refactoring/ImplementMethod.rts +++ b/core/org.eclipse.cdt.ui.tests/resources/refactoring/ImplementMethod.rts @@ -838,3 +838,22 @@ void TestClass::foo() { } +//!Bug 355006 - NPE implementing template function +//#org.eclipse.cdt.ui.tests.refactoring.implementmethod.ImplementMethodRefactoringTest +//@.config +filename=A.h +infos=1 +//@A.h + +/*$*/template void func(T&);/*$$*/ + +//= + +template void func(T&); + +template inline void func(T& ) +{ +} + + + diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java index bf101d1f1e6..510c842227f 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java @@ -260,15 +260,16 @@ public class ImplementMethodRefactoring extends CRefactoring2 { IASTFunctionDefinition functionDefinition = nodeFactory.newFunctionDefinition(declSpecifier, createdMethodDeclarator, nodeFactory.newCompoundStatement()); functionDefinition.setParent(unit); - if (NodeHelper.isContainedInTemplateDeclaration(declarationParent)) { - ICPPASTTemplateDeclaration templateDeclaration = nodeFactory.newTemplateDeclaration(functionDefinition); - templateDeclaration.setParent(unit); + ICPPASTTemplateDeclaration templateDeclaration = NodeHelper.findContainedTemplateDecalaration(declarationParent); + if (templateDeclaration != null) { + ICPPASTTemplateDeclaration newTemplateDeclaration = nodeFactory.newTemplateDeclaration(functionDefinition); + newTemplateDeclaration.setParent(unit); - for (ICPPASTTemplateParameter templateParameter : ((ICPPASTTemplateDeclaration) declarationParent.getParent().getParent() ).getTemplateParameters()) { - templateDeclaration.addTemplateParameter(templateParameter.copy(CopyStyle.withLocations)); + for (ICPPASTTemplateParameter templateParameter : templateDeclaration.getTemplateParameters()) { + newTemplateDeclaration.addTemplateParameter(templateParameter.copy(CopyStyle.withLocations)); } - return templateDeclaration; + return newTemplateDeclaration; } return functionDefinition; } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/NodeHelper.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/NodeHelper.java index fac66b73716..3aad6f7f999 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/NodeHelper.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/NodeHelper.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2009 Institute for Software, HSR Hochschule fuer Technik + * Copyright (c) 2008, 2011 Institute for Software, HSR Hochschule fuer Technik * Rapperswil, University of applied sciences and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -212,11 +212,16 @@ public class NodeHelper { } public static boolean isContainedInTemplateDeclaration(IASTNode node) { - if (node == null) { - return false; - } else if (node instanceof ICPPASTTemplateDeclaration) { - return true; + return findContainedTemplateDecalaration(node) != null; + } + + public static ICPPASTTemplateDeclaration findContainedTemplateDecalaration(IASTNode node) { + while (node != null) { + if (node instanceof ICPPASTTemplateDeclaration) { + return (ICPPASTTemplateDeclaration) node; + } + node = node.getParent(); } - return isContainedInTemplateDeclaration(node.getParent()); + return null; } } From dce3efe73399ecb1c1c2bd810800aa7e9c5f453a Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Sun, 28 Aug 2011 19:35:40 -0700 Subject: [PATCH 09/22] Bug 356037 - "No break at the end of case" warning for a case statement produced by macro expansion. --- .../OSGI-INF/l10n/bundle.properties | 6 +- .../internal/checkers/CaseBreakChecker.java | 32 +++-- .../checkers/CaseBreakCheckerTest.java | 116 ++++++++---------- 3 files changed, 72 insertions(+), 82 deletions(-) diff --git a/codan/org.eclipse.cdt.codan.checkers/OSGI-INF/l10n/bundle.properties b/codan/org.eclipse.cdt.codan.checkers/OSGI-INF/l10n/bundle.properties index a59ba9ebebb..e25a9205617 100644 --- a/codan/org.eclipse.cdt.codan.checkers/OSGI-INF/l10n/bundle.properties +++ b/codan/org.eclipse.cdt.codan.checkers/OSGI-INF/l10n/bundle.properties @@ -52,7 +52,7 @@ problem.name.FormatString = Format String Vulnerability checker.name.AssignmentToItself = Assignment to itself problem.messagePattern.AssignmentToItself = Assignment to itself ''{0}'' problem.name.AssignmentToItself = Assignment to itself -problem.description.AssignmentToItself = Finds expression where left and right side of the assignment is the same, i.e. 'var = var' +problem.description.AssignmentToItself = Finds expression where left and right sides of the assignment are the same, i.e. 'var = var' checker.name.ReturnStyle = Return with parenthesis problem.name.ReturnStyle = Return with parenthesis problem.messagePattern.ReturnStyle = Return statement has invalid style. Return value should be surrounded by parenthesis @@ -60,10 +60,10 @@ problem.description.ReturnStyle = Checks for return statements that do no return checker.name.SuspiciousSemicolon = Suspicious semicolon problem.name.SuspiciousSemicolon = Suspicious semicolon problem.messagePattern.SuspiciousSemicolon = Suspicious semicolon -problem.description.SuspiciousSemicolon = A semicolon is used as a null statement in a condition. For example, 'if(expression);' +problem.description.SuspiciousSemicolon = A semicolon is used as a null statement in a condition. For example, 'if (expression);' checker.name.CaseBreak = No break at end of case problem.description.CaseBreak = Looks for "case" statements which end without a "break" statement -problem.messagePattern.CaseBreak = No break at the end of this case +problem.messagePattern.CaseBreak = No break at the end of case binding.checker.name = Problem Binding Checker problem.description.G = Name resolution problem found by the indexer problem.messagePattern.G = Symbol ''{0}'' could not be resolved diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/CaseBreakChecker.java b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/CaseBreakChecker.java index dfd564bbb40..20da627cbc6 100644 --- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/CaseBreakChecker.java +++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/CaseBreakChecker.java @@ -1,13 +1,14 @@ /******************************************************************************* - * Copyright (c) 2010,2011 Gil Barash + * Copyright (c) 2010, 2011 Gil Barash * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Gil Barash - Initial implementation - * Elena laskavaia - Rewrote checker to reduce false positives in complex cases + * Gil Barash - Initial implementation + * Elena laskavaia - Rewrote checker to reduce false positives in complex cases + * Sergey Prigogin (Google) *******************************************************************************/ package org.eclipse.cdt.codan.internal.checkers; @@ -50,8 +51,7 @@ public class CaseBreakChecker extends AbstractIndexAstChecker implements IChecke } /** - * This visitor looks for "switch" statements and invokes "SwitchVisitor" on - * them. + * This visitor looks for "switch" statements and invokes "SwitchVisitor" on them. */ class SwitchFindingVisitor extends ASTVisitor { SwitchFindingVisitor() { @@ -67,7 +67,7 @@ public class CaseBreakChecker extends AbstractIndexAstChecker implements IChecke * - "continue" * - "goto" (does not check that the goto actually exists the * switch) - * - "thorw" + * - "throw" * - "exit" */ protected boolean isBreakOrExitStatement(IASTStatement statement) { @@ -83,7 +83,7 @@ public class CaseBreakChecker extends AbstractIndexAstChecker implements IChecke IASTSwitchStatement switchStmt = (IASTSwitchStatement) statement; IASTStatement body = switchStmt.getBody(); if (body instanceof IASTCompoundStatement) { - // if not it is not really a switch + // If not it is not really a switch IASTStatement[] statements = ((IASTCompoundStatement) body).getStatements(); IASTStatement prevCase = null; for (int i = 0; i < statements.length; i++) { @@ -97,16 +97,16 @@ public class CaseBreakChecker extends AbstractIndexAstChecker implements IChecke if (isCaseStatement(curr)) { prevCase = curr; } - // next is case or end of switch - means this one is the last + // Next is case or end of switch - means this one is the last if (prevCase != null && (isCaseStatement(next) || next == null)) { - // check that current statement end with break or any other exit statement + // Check that current statement end with break or any other exit statement if (!_checkEmptyCase && isCaseStatement(curr) && next != null) { - continue; // empty case & we don't care + continue; // Empty case and we don't care } if (!_checkLastCase && next == null) { - continue; // last case and we don't care + continue; // Last case and we don't care } - if (isFallThroughStamement(curr)) { + if (!isProducedByMacroExpansion(prevCase) && isFallThroughStamement(curr)) { IASTComment comment = null; if (next != null) { comment = getLeadingComment(next); @@ -139,7 +139,7 @@ public class CaseBreakChecker extends AbstractIndexAstChecker implements IChecke } /** - * @param nextstatement + * @param body * @return */ public boolean isFallThroughStamement(IASTStatement body) { @@ -171,13 +171,11 @@ public class CaseBreakChecker extends AbstractIndexAstChecker implements IChecke IASTFileLocation astLocation = astNode.getFileLocation(); int line = astLocation.getEndingLineNumber(); IProblemLocationFactory locFactory = getRuntime().getProblemLocationFactory(); - return locFactory.createProblemLocation(getFile(), -1, - -1, line); + return locFactory.createProblemLocation(getFile(), -1, -1, line); } /** - * Checks if the given statement is a result of macro expansion with a - * possible + * Checks if the given statement is a result of macro expansion with a possible * exception for the trailing semicolon. * * @param statement the statement to check. diff --git a/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/CaseBreakCheckerTest.java b/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/CaseBreakCheckerTest.java index 083aff6960c..92799531245 100644 --- a/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/CaseBreakCheckerTest.java +++ b/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/CaseBreakCheckerTest.java @@ -6,7 +6,8 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Gil Barash - Initial implementation + * Gil Barash - Initial implementation + * Sergey Prigogin (Google) *******************************************************************************/ package org.eclipse.cdt.codan.core.internal.checkers; @@ -383,11 +384,11 @@ public class CaseBreakCheckerTest extends CheckerTestCase { } // void foo(void) { - // int a, b; - // switch( a ) { - // case 1: - // b = 2; - // } + // int a, b; + // switch( a ) { + // case 1: + // b = 2; + // } // } public void testLastCaseIgnore() { setLast(false); @@ -474,12 +475,12 @@ public class CaseBreakCheckerTest extends CheckerTestCase { } // void foo(void) { - // int a; - // switch( a ) { - // case 2: + // int a; + // switch( a ) { + // case 2: // break; - // case 1: - // } + // case 1: + // } // } public void testEmptyLastCaseError() { String code = getAboveComment(); @@ -493,31 +494,32 @@ public class CaseBreakCheckerTest extends CheckerTestCase { } // void foo(int a) { - // switch( a ) { - // case 2: + // switch( a ) { + // case 2: // if (a*2<10) - // return; + // return; // else - // break; - // case 1: - // break; - // } + // break; + // case 1: + // break; + // } // } public void testIf() { String code = getAboveComment(); loadCodeAndRun(code); checkNoErrors(); } + // void foo(int a) { - // switch( a ) { - // case 2: + // switch(a) { + // case 2: // if (a*2<10) - // return; + // return; // else - // a++; - // case 1: - // break; - // } + // a++; + // case 1: + // break; + // } // } public void testIfErr() { String code = getAboveComment(); @@ -525,53 +527,43 @@ public class CaseBreakCheckerTest extends CheckerTestCase { checkErrorLine(7); } -// #define DEFINE_BREAK {break;} -// void foo ( int a ) -// { -// switch ( a ) -// { -// case 1: -// DEFINE_BREAK // <-- Warning: No break at the end of this case -// } -// } + // #define DEFINE_BREAK {break;} + // void foo(int a) { + // switch (a) { + // case 1: + // DEFINE_BREAK // No warning here + // } + // } public void testBreakInBraces() { String code = getAboveComment(); loadCodeAndRun(code); checkNoErrors(); } - -// #define MY_MACRO(i) \ -// case i: \ -// { \ -// break; \ -// } -// -// void f() -// { -// int x; -// switch (x) -// { -// MY_MACRO(1) // WARNING HERE -// } -// } - + // #define MY_MACRO(i) \ + // case i: { \ + // } + // + // void f() { + // int x; + // switch (x) { + // MY_MACRO(1) // No warning here + // } + // } public void testInMacro() { String code = getAboveComment(); loadCodeAndRun(code); checkNoErrors(); } - //void foo() - //{ - //switch(0) - //default: - //{ - //} - //} - public void testEmptyCompoundStatement() { - String code = getAboveComment(); - loadCodeAndRun(code); - checkErrorLine(6); - } + // void foo() { + // switch (0) + // default: { + // } + // } + public void testEmptyCompoundStatement() { + String code = getAboveComment(); + loadCodeAndRun(code); + checkErrorLine(4); + } } From e972ac9ea5fe05521931319398a752e95a7e2856 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Sun, 28 Aug 2011 20:35:50 -0700 Subject: [PATCH 10/22] Bug 356040 - Invalid "Unused declaration of variable" warning. --- .../UnusedSymbolInFileScopeChecker.java | 31 +++++++++++-------- .../UnusedSymbolInFileScopeCheckerTest.java | 15 ++++++--- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/UnusedSymbolInFileScopeChecker.java b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/UnusedSymbolInFileScopeChecker.java index 8ef51bdcf2b..8341c1a9a9d 100644 --- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/UnusedSymbolInFileScopeChecker.java +++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/UnusedSymbolInFileScopeChecker.java @@ -6,7 +6,8 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Andrew Gvozdev - initial API and implementation + * Andrew Gvozdev - initial API and implementation + * Sergey Prigogin (Google) *******************************************************************************/ package org.eclipse.cdt.codan.internal.checkers; @@ -90,11 +91,11 @@ public class UnusedSymbolInFileScopeChecker extends AbstractIndexAstChecker { } private boolean isAnyCandidate() { - return externFunctionDeclarations.size() > 0 || - staticFunctionDeclarations.size() > 0 || - staticFunctionDefinitions.size() > 0 || - externVariableDeclarations.size() > 0 || - staticVariableDeclarations.size() > 0; + return !externFunctionDeclarations.isEmpty() || + !staticFunctionDeclarations.isEmpty() || + !staticFunctionDefinitions.isEmpty() || + !externVariableDeclarations.isEmpty() || + !staticVariableDeclarations.isEmpty(); } public void processAst(IASTTranslationUnit ast) { @@ -138,16 +139,15 @@ public class UnusedSymbolInFileScopeChecker extends AbstractIndexAstChecker { } } else if (binding instanceof IVariable) { if (storageClass == IASTDeclSpecifier.sc_extern) { - IASTInitializer initializer = decl.getInitializer(); - // initializer makes "extern" declaration to become definition do not count these - if (initializer==null) { + // Initializer makes "extern" declaration to become definition do not count these + if (decl.getInitializer() == null) { externVariableDeclarations.put(binding, decl); } } else if (storageClass == IASTDeclSpecifier.sc_static) { IType type = ((IVariable) binding).getType(); - // account for class constructor and avoid possible false positive + // Account for class constructor and avoid possible false positive if (!(type instanceof ICPPClassType) && !(type instanceof IProblemType)) { - // check if initializer disqualifies it + // Check if initializer disqualifies it IASTInitializer initializer = decl.getInitializer(); IASTInitializerClause clause = null; if (initializer instanceof IASTEqualsInitializer) { @@ -156,7 +156,7 @@ public class UnusedSymbolInFileScopeChecker extends AbstractIndexAstChecker { } else if (initializer instanceof ICPPASTConstructorInitializer) { ICPPASTConstructorInitializer constructorInitializer = (ICPPASTConstructorInitializer) initializer; IASTInitializerClause[] args = constructorInitializer.getArguments(); - if (args.length==1) + if (args.length == 1) clause = args[0]; } if (clause instanceof IASTLiteralExpression) { @@ -232,7 +232,12 @@ public class UnusedSymbolInFileScopeChecker extends AbstractIndexAstChecker { staticFunctionDefinitions.remove(binding); } - if (!(parentNode instanceof IASTDeclarator)) { + if (parentNode instanceof IASTDeclarator) { + // Initializer makes "extern" declaration to become definition. + if (((IASTDeclarator) parentNode).getInitializer() != null) { + externVariableDeclarations.remove(binding); + } + } else { externVariableDeclarations.remove(binding); staticVariableDeclarations.remove(binding); } diff --git a/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/UnusedSymbolInFileScopeCheckerTest.java b/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/UnusedSymbolInFileScopeCheckerTest.java index 7206e8b7852..4cd1d7964fa 100644 --- a/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/UnusedSymbolInFileScopeCheckerTest.java +++ b/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/UnusedSymbolInFileScopeCheckerTest.java @@ -6,7 +6,8 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Andrew Gvozdev - initial API and implementation + * Andrew Gvozdev - initial API and implementation + * Sergey Prigogin (Google) *******************************************************************************/ package org.eclipse.cdt.codan.core.internal.checkers; @@ -17,7 +18,6 @@ import org.eclipse.cdt.codan.internal.checkers.UnusedSymbolInFileScopeChecker; /** * Test for {@see UnusedSymbolInFileScopeChecker} class - * */ public class UnusedSymbolInFileScopeCheckerTest extends CheckerTestCase { @Override @@ -222,8 +222,15 @@ public class UnusedSymbolInFileScopeCheckerTest extends CheckerTestCase { checkNoErrors(); } - // extern int test_var=0; // not quite legal but some compilers allow that - public void testExternVariable_Definition() throws IOException { + // extern const int test_var=0; // not quite legal but some compilers allow that + public void testExternVariable_Definition1() throws IOException { + loadCodeAndRun(getAboveComment()); + checkNoErrors(); + } + + // extern const int test_var; + // const int test_var = 0; + public void testExternVariable_Definition2() throws IOException { loadCodeAndRun(getAboveComment()); checkNoErrors(); } From fc5265dad580fa608aecbe78e9efb208d4870f98 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Mon, 29 Aug 2011 17:00:45 -0700 Subject: [PATCH 11/22] Added ability to suppress unused variable and function warnings for code produced by macro expansion. --- .../checkers/CheckersMessages.properties | 10 +-- .../checkers/StatementHasNoEffectChecker.java | 4 +- .../UnusedSymbolInFileScopeChecker.java | 80 +++++++++++-------- .../cdt/codan/core/cxx/CxxAstUtils.java | 2 +- 4 files changed, 55 insertions(+), 41 deletions(-) diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/CheckersMessages.properties b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/CheckersMessages.properties index 6ba43171f76..44fcb0651d3 100644 --- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/CheckersMessages.properties +++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/CheckersMessages.properties @@ -9,17 +9,17 @@ # Alena Laskavaia - initial API and implementation ############################################################################### CaseBreakChecker_DefaultNoBreakCommentDescription=Comment text to suppress the problem: -CaseBreakChecker_EmptyCaseDescription=Check also empty case statement (except if last) -CaseBreakChecker_LastCaseDescription=Check also the last case statement +CaseBreakChecker_EmptyCaseDescription=Check also empty 'case' statement (except if last) +CaseBreakChecker_LastCaseDescription=Check also the last 'case' statement CatchByReference_ReportForUnknownType=Report a problem if type cannot be resolved NamingConventionFunctionChecker_LabelNamePattern=Name Pattern NamingConventionFunctionChecker_ParameterMethods=Also check C++ method names ReturnChecker_Param0=Also check functions with implicit return value GenericParameter_ParameterExceptions=Exceptions (value of the problem argument) GenericParameter_ParameterExceptionsItem=Value of the argument -StatementHasNoEffectChecker_ParameterMacro=Report problem in statements that comes from macro expansion -SuggestedParenthesisChecker_SuggestParanthesesAroundNot=Suggest parenthesis around not operator -SuspiciousSemicolonChecker_ParamAfterElse=Report an error if semicolon is right after else statement +StatementHasNoEffectChecker_ParameterMacro=Report problem in statements that come from macro expansion +SuggestedParenthesisChecker_SuggestParanthesesAroundNot=Suggest parenthesis around 'not' operator +SuspiciousSemicolonChecker_ParamAfterElse=Report an error if semicolon is right after 'else' statement SuspiciousSemicolonChecker_ParamElse=Do not report an error after 'if' when 'else' exists ProblemBindingChecker_Candidates=Candidates are: diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/StatementHasNoEffectChecker.java b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/StatementHasNoEffectChecker.java index ed023fb8870..f1d39829241 100644 --- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/StatementHasNoEffectChecker.java +++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/StatementHasNoEffectChecker.java @@ -57,9 +57,7 @@ public class StatementHasNoEffectChecker extends AbstractIndexAstChecker { if (stmt instanceof IASTExpressionStatement) { IASTExpression expression = ((IASTExpressionStatement) stmt).getExpression(); if (hasNoEffect(expression)) { - boolean inMacro = CxxAstUtils.getInstance().isInMacro(expression); - boolean shouldReportInMacro = shouldReportInMacro(); - if (inMacro && !shouldReportInMacro) + if (!shouldReportInMacro() && CxxAstUtils.isInMacro(expression)) return PROCESS_SKIP; String arg = expression.getRawSignature(); if (!isFilteredArg(arg)) diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/UnusedSymbolInFileScopeChecker.java b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/UnusedSymbolInFileScopeChecker.java index 8341c1a9a9d..54390de9ece 100644 --- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/UnusedSymbolInFileScopeChecker.java +++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/UnusedSymbolInFileScopeChecker.java @@ -19,6 +19,7 @@ import java.util.Map; import java.util.Map.Entry; import org.eclipse.cdt.codan.checkers.CodanCheckersActivator; +import org.eclipse.cdt.codan.core.cxx.CxxAstUtils; import org.eclipse.cdt.codan.core.cxx.model.AbstractIndexAstChecker; import org.eclipse.cdt.codan.core.model.IProblem; import org.eclipse.cdt.codan.core.model.IProblemWorkingCopy; @@ -55,6 +56,7 @@ public class UnusedSymbolInFileScopeChecker extends AbstractIndexAstChecker { public static final String ER_UNUSED_VARIABLE_DECLARATION_ID = "org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem"; //$NON-NLS-1$ public static final String ER_UNUSED_FUNCTION_DECLARATION_ID = "org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem"; //$NON-NLS-1$ public static final String ER_UNUSED_STATIC_FUNCTION_ID = "org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem"; //$NON-NLS-1$ + public static final String PARAM_MACRO_ID = "macro"; //$NON-NLS-1$ public static final String PARAM_EXCEPT_ARG_LIST = "exceptions"; //$NON-NLS-1$ private Map externFunctionDeclarations = new HashMap(); @@ -72,6 +74,7 @@ public class UnusedSymbolInFileScopeChecker extends AbstractIndexAstChecker { @Override public void initPreferences(IProblemWorkingCopy problem) { super.initPreferences(problem); + addPreference(problem, PARAM_MACRO_ID, CheckersMessages.StatementHasNoEffectChecker_ParameterMacro, Boolean.TRUE); if (problem.getId().equals(ER_UNUSED_VARIABLE_DECLARATION_ID)) { unusedVariableProblem = problem; ListProblemPreference pref = addListPreference(problem, PARAM_EXCEPT_ARG_LIST, @@ -132,41 +135,51 @@ public class UnusedSymbolInFileScopeChecker extends AbstractIndexAstChecker { int storageClass = simpleDeclaration.getDeclSpecifier().getStorageClass(); if (binding instanceof IFunction) { - if (storageClass == IASTDeclSpecifier.sc_extern || storageClass == IASTDeclSpecifier.sc_unspecified) { - externFunctionDeclarations.put(binding, decl); - } else if (storageClass == IASTDeclSpecifier.sc_static) { - staticFunctionDeclarations.put(binding, decl); - } - } else if (binding instanceof IVariable) { - if (storageClass == IASTDeclSpecifier.sc_extern) { - // Initializer makes "extern" declaration to become definition do not count these - if (decl.getInitializer() == null) { - externVariableDeclarations.put(binding, decl); + if (storageClass == IASTDeclSpecifier.sc_extern || + storageClass == IASTDeclSpecifier.sc_unspecified) { + if (shouldReportInMacro(ER_UNUSED_FUNCTION_DECLARATION_ID) || + !CxxAstUtils.isInMacro(astName)) { + externFunctionDeclarations.put(binding, decl); } } else if (storageClass == IASTDeclSpecifier.sc_static) { - IType type = ((IVariable) binding).getType(); - // Account for class constructor and avoid possible false positive - if (!(type instanceof ICPPClassType) && !(type instanceof IProblemType)) { - // Check if initializer disqualifies it - IASTInitializer initializer = decl.getInitializer(); - IASTInitializerClause clause = null; - if (initializer instanceof IASTEqualsInitializer) { - IASTEqualsInitializer equalsInitializer = (IASTEqualsInitializer) initializer; - clause = equalsInitializer.getInitializerClause(); - } else if (initializer instanceof ICPPASTConstructorInitializer) { - ICPPASTConstructorInitializer constructorInitializer = (ICPPASTConstructorInitializer) initializer; - IASTInitializerClause[] args = constructorInitializer.getArguments(); - if (args.length == 1) - clause = args[0]; + if (shouldReportInMacro(ER_UNUSED_STATIC_FUNCTION_ID) || + !CxxAstUtils.isInMacro(astName)) { + staticFunctionDeclarations.put(binding, decl); + } + } + } else if (binding instanceof IVariable) { + if (shouldReportInMacro(ER_UNUSED_VARIABLE_DECLARATION_ID) || + !CxxAstUtils.isInMacro(astName)) { + if (storageClass == IASTDeclSpecifier.sc_extern) { + // Initializer makes "extern" declaration to become definition do not count these + if (decl.getInitializer() == null) { + externVariableDeclarations.put(binding, decl); } - if (clause instanceof IASTLiteralExpression) { - IASTLiteralExpression literalExpression = (IASTLiteralExpression) clause; - String literal = literalExpression.toString(); - if (isFilteredOut(literal, unusedVariableProblem, PARAM_EXCEPT_ARG_LIST)) - continue; + } else if (storageClass == IASTDeclSpecifier.sc_static) { + IType type = ((IVariable) binding).getType(); + // Account for class constructor and avoid possible false positive + if (!(type instanceof ICPPClassType) && !(type instanceof IProblemType)) { + // Check if initializer disqualifies it + IASTInitializer initializer = decl.getInitializer(); + IASTInitializerClause clause = null; + if (initializer instanceof IASTEqualsInitializer) { + IASTEqualsInitializer equalsInitializer = (IASTEqualsInitializer) initializer; + clause = equalsInitializer.getInitializerClause(); + } else if (initializer instanceof ICPPASTConstructorInitializer) { + ICPPASTConstructorInitializer constructorInitializer = (ICPPASTConstructorInitializer) initializer; + IASTInitializerClause[] args = constructorInitializer.getArguments(); + if (args.length == 1) + clause = args[0]; + } + if (clause instanceof IASTLiteralExpression) { + IASTLiteralExpression literalExpression = (IASTLiteralExpression) clause; + String literal = literalExpression.toString(); + if (isFilteredOut(literal, unusedVariableProblem, PARAM_EXCEPT_ARG_LIST)) + continue; + } + + staticVariableDeclarations.put(binding, decl); } - - staticVariableDeclarations.put(binding, decl); } } } @@ -315,7 +328,7 @@ public class UnusedSymbolInFileScopeChecker extends AbstractIndexAstChecker { clearCandidates(); // release memory } - public boolean isFilteredOut(String arg, IProblem problem, String exceptionListParamId) { + private boolean isFilteredOut(String arg, IProblem problem, String exceptionListParamId) { Object[] arr = (Object[]) getPreference(problem, exceptionListParamId); for (int i = 0; i < arr.length; i++) { String str = (String) arr[i]; @@ -325,4 +338,7 @@ public class UnusedSymbolInFileScopeChecker extends AbstractIndexAstChecker { return false; } + private boolean shouldReportInMacro(String errorId) { + return (Boolean) getPreference(getProblemById(errorId, getFile()), PARAM_MACRO_ID); + } } diff --git a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/CxxAstUtils.java b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/CxxAstUtils.java index b297756c364..e7214b3016d 100644 --- a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/CxxAstUtils.java +++ b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/CxxAstUtils.java @@ -121,7 +121,7 @@ public final class CxxAstUtils { return (IType) typeName; } - public boolean isInMacro(IASTNode node) { + public static boolean isInMacro(IASTNode node) { IASTNodeSelector nodeSelector = node.getTranslationUnit().getNodeSelector(node.getTranslationUnit().getFilePath()); IASTFileLocation fileLocation = node.getFileLocation(); IASTPreprocessorMacroExpansion macro = nodeSelector.findEnclosingMacroExpansion(fileLocation.getNodeOffset(), From 35821c3d27d5a2b2c052e98070718f019cbc5c1d Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 30 Aug 2011 09:57:53 -0400 Subject: [PATCH 12/22] Fix up platform.source feature. --- .../org.eclipse.cdt.platform.source-feature/.project | 11 +++++++++++ .../org.eclipse.cdt.platform.source-feature/pom.xml | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 releng/org.eclipse.cdt.platform.source-feature/.project diff --git a/releng/org.eclipse.cdt.platform.source-feature/.project b/releng/org.eclipse.cdt.platform.source-feature/.project new file mode 100644 index 00000000000..80a46454838 --- /dev/null +++ b/releng/org.eclipse.cdt.platform.source-feature/.project @@ -0,0 +1,11 @@ + + + org.eclipse.cdt.platform.source-feature + + + + + + + + diff --git a/releng/org.eclipse.cdt.platform.source-feature/pom.xml b/releng/org.eclipse.cdt.platform.source-feature/pom.xml index 54a16327fea..01bd67f5360 100644 --- a/releng/org.eclipse.cdt.platform.source-feature/pom.xml +++ b/releng/org.eclipse.cdt.platform.source-feature/pom.xml @@ -11,6 +11,6 @@ ../../pom.xml - org.eclipse.cdt.platform.source-feature + org.eclipse.cdt.platform.source eclipse-feature From cd48424346492b97303211c006114385a25c7e55 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 30 Aug 2011 10:17:10 -0400 Subject: [PATCH 13/22] Fix gnu.build.source feature. --- .../.project | 17 +++++++++++++++++ .../pom.xml | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 build/org.eclipse.cdt.gnu.build.source-feature/.project diff --git a/build/org.eclipse.cdt.gnu.build.source-feature/.project b/build/org.eclipse.cdt.gnu.build.source-feature/.project new file mode 100644 index 00000000000..de91d0ffbf7 --- /dev/null +++ b/build/org.eclipse.cdt.gnu.build.source-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.cdt.gnu.build.source-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/build/org.eclipse.cdt.gnu.build.source-feature/pom.xml b/build/org.eclipse.cdt.gnu.build.source-feature/pom.xml index c6e6e2d2705..af16118eb22 100644 --- a/build/org.eclipse.cdt.gnu.build.source-feature/pom.xml +++ b/build/org.eclipse.cdt.gnu.build.source-feature/pom.xml @@ -11,6 +11,6 @@ ../../pom.xml - org.eclipse.cdt.gnu.build.source-feature + org.eclipse.cdt.gnu.build.source eclipse-feature From 006ca6f42a089831a1ac701ae1bb95f61e2a5771 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 30 Aug 2011 10:33:59 -0400 Subject: [PATCH 14/22] Fixing up more features. --- debug/org.eclipse.cdt.gdb.source-feature/.project | 11 +++++++++++ debug/org.eclipse.cdt.gdb.source-feature/pom.xml | 2 +- .../org.eclipse.cdt.gnu.debug.source-feature/.project | 11 +++++++++++ .../org.eclipse.cdt.gnu.debug.source-feature/pom.xml | 2 +- .../org.eclipse.cdt.gnu.dsf.source-feature/.project | 11 +++++++++++ .../org.eclipse.cdt.gnu.dsf.source-feature/pom.xml | 2 +- windows/org.eclipse.cdt.msw-feature/pom.xml | 2 +- 7 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 debug/org.eclipse.cdt.gdb.source-feature/.project create mode 100644 debug/org.eclipse.cdt.gnu.debug.source-feature/.project create mode 100644 dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/.project diff --git a/debug/org.eclipse.cdt.gdb.source-feature/.project b/debug/org.eclipse.cdt.gdb.source-feature/.project new file mode 100644 index 00000000000..39edfc3dd84 --- /dev/null +++ b/debug/org.eclipse.cdt.gdb.source-feature/.project @@ -0,0 +1,11 @@ + + + org.eclipse.cdt.gdb.source-feature + + + + + + + + diff --git a/debug/org.eclipse.cdt.gdb.source-feature/pom.xml b/debug/org.eclipse.cdt.gdb.source-feature/pom.xml index 640772e3b98..e3fdacbef54 100644 --- a/debug/org.eclipse.cdt.gdb.source-feature/pom.xml +++ b/debug/org.eclipse.cdt.gdb.source-feature/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - org.eclipse.cdt.gdb.source-feature + org.eclipse.cdt.gdb.source eclipse-feature 7.0.0-SNAPSHOT diff --git a/debug/org.eclipse.cdt.gnu.debug.source-feature/.project b/debug/org.eclipse.cdt.gnu.debug.source-feature/.project new file mode 100644 index 00000000000..711ce10aadf --- /dev/null +++ b/debug/org.eclipse.cdt.gnu.debug.source-feature/.project @@ -0,0 +1,11 @@ + + + org.eclipse.cdt.gnu.debug.source-feature + + + + + + + + diff --git a/debug/org.eclipse.cdt.gnu.debug.source-feature/pom.xml b/debug/org.eclipse.cdt.gnu.debug.source-feature/pom.xml index d3dad153249..24535c68052 100644 --- a/debug/org.eclipse.cdt.gnu.debug.source-feature/pom.xml +++ b/debug/org.eclipse.cdt.gnu.debug.source-feature/pom.xml @@ -11,7 +11,7 @@ ../../pom.xml - org.eclipse.cdt.gnu.debug.source-feature + org.eclipse.cdt.gnu.debug.source eclipse-feature 7.1.0-SNAPSHOT diff --git a/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/.project b/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/.project new file mode 100644 index 00000000000..6d0324d5e15 --- /dev/null +++ b/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/.project @@ -0,0 +1,11 @@ + + + org.eclipse.cdt.gnu.dsf.source-feature + + + + + + + + diff --git a/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml b/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml index ec4f9e758ec..15a36c3d118 100644 --- a/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml +++ b/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml @@ -12,6 +12,6 @@ 4.0.0-SNAPSHOT - org.eclipse.cdt.gdb.dsf.source-feature + org.eclipse.cdt.gdb.dsf.source eclipse-feature diff --git a/windows/org.eclipse.cdt.msw-feature/pom.xml b/windows/org.eclipse.cdt.msw-feature/pom.xml index c9dc94c493e..969f4461b16 100644 --- a/windows/org.eclipse.cdt.msw-feature/pom.xml +++ b/windows/org.eclipse.cdt.msw-feature/pom.xml @@ -12,6 +12,6 @@ 1.0.0-SNAPSHOT - org.eclipse.cdt.msw-feature + org.eclipse.cdt.msw eclipse-feature From 4d20b76b48eb4fd6a1457a6160c9f05690da570b Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 30 Aug 2011 10:53:09 -0400 Subject: [PATCH 15/22] Fix up the name of the gnu.dsf feature in the pom. --- dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml b/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml index 749f64554c5..5ffe2566091 100644 --- a/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml +++ b/dsf-gdb/org.eclipse.cdt.gnu.dsf-feature/pom.xml @@ -12,6 +12,6 @@ 4.0.0-SNAPSHOT - org.eclipse.cdt.gdb.dsf + org.eclipse.cdt.gnu.dsf eclipse-feature From 51bd7c5a0afd2ad71649b1e356d26256fa2dd72d Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 30 Aug 2011 13:37:55 -0400 Subject: [PATCH 16/22] fixed up the pom id for features. Removed the fragment jar files. --- core/org.eclipse.cdt.core.aix/cdtaix.jar | Bin 3715 -> 0 bytes core/org.eclipse.cdt.core.linux/cdt_linux.jar | Bin 3736 -> 0 bytes core/org.eclipse.cdt.core.macosx/cdt_macosx.jar | Bin 3146 -> 0 bytes .../org.eclipse.cdt.core.solaris/cdt_solaris.jar | Bin 3128 -> 0 bytes core/org.eclipse.cdt.core.win32/cdt_win32.jar | Bin 3641 -> 0 bytes .../pom.xml | 2 +- .../pom.xml | 3 ++- .../pom.xml | 3 ++- p2/org.eclipse.cdt.p2-feature/pom.xml | 3 ++- .../pom.xml | 3 ++- util/org.eclipse.cdt.util-feature/pom.xml | 3 ++- xlc/org.eclipse.cdt.xlc.source.feature/pom.xml | 3 ++- 12 files changed, 13 insertions(+), 7 deletions(-) delete mode 100644 core/org.eclipse.cdt.core.aix/cdtaix.jar delete mode 100644 core/org.eclipse.cdt.core.linux/cdt_linux.jar delete mode 100644 core/org.eclipse.cdt.core.macosx/cdt_macosx.jar delete mode 100644 core/org.eclipse.cdt.core.solaris/cdt_solaris.jar delete mode 100644 core/org.eclipse.cdt.core.win32/cdt_win32.jar diff --git a/core/org.eclipse.cdt.core.aix/cdtaix.jar b/core/org.eclipse.cdt.core.aix/cdtaix.jar deleted file mode 100644 index 4736cf86eda7b30910481316d76ea3f2473f63d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3715 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 Igni@b{~zUzE&u=k diff --git a/core/org.eclipse.cdt.core.macosx/cdt_macosx.jar b/core/org.eclipse.cdt.core.macosx/cdt_macosx.jar deleted file mode 100644 index e70f582c8d47ab5915d7ecbbf0a11687122304f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3146 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 Y2ZyvClA4CB!$7)vNJi3z{Hp-?FFZ$^_W%F@ diff --git a/core/org.eclipse.cdt.core.solaris/cdt_solaris.jar b/core/org.eclipse.cdt.core.solaris/cdt_solaris.jar deleted file mode 100644 index 490f0273d09c722b3749aade2b9b3db44cf4393c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3128 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 diff --git a/core/org.eclipse.cdt.core.win32/cdt_win32.jar b/core/org.eclipse.cdt.core.win32/cdt_win32.jar deleted file mode 100644 index b72115589c36046f8fdc505ed4af2e19d1004853..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3641 zcmb7{2{hFE8^#$F8X`l;(jvn!$kKLP9IpK4Eev%2UK3`3ZSSS^ zpqA5>B23FbN!scNaeh}R6U88zAdI|2JwOP;wnyMn)G6!hdK`p7Hqqe}<b>)ptZ9_ifk~tHeQE=AI-y+Pt;ZH=2qgAYV^EJ zNoC@X{XBI)Mi|JS2DE}vDdSF0Mi7U=Ve>0zOr7!%v^ZdpUbzoo$zqN?PI)a6lChm>w;@(^qQX^8oHoi4gLWTy0C+@ zc+cmw3v)J8hQPoj$t(>r`^e=L&4Tv7j6#`&7y~4rV2`=Q52|K)5Z4gDR+xzKcX9j}xv$$&yD7aGSk?6A< zhke=ZspY5(jKjzWLkQ)bH-LESuI24xS* zEq4JiruVqwdF@c?2d@V0FO3Hj4_Ip*tg<8E2KuB*l*`joBGixss5gPo{mSDpk|6)s zrnFlxegIW+X%U4gTs%5X%1b4_Z=fS+M>8DpR zCpLhB27DkD@n^H|w982=$(>L_qa99VPkK#bc`ftbx_}&ZdpEMOidN*^2Xh`)_36;g z;ye&oaVVQoe0@$l=v7vUWmIHU-C4!gr5YYdq9kQ^{Um4v_NJ8-376+e3NhklYV9M| z5oHl!z*E5Bt_sdO+7}H9mvKS|G>z@W7Ffim54<7L_Tg)f_ZCxNm7@^hnpBQnP7=3R z8sga}h*FRpINOCy(?j1V;Fxi>bF(m@EhrB*V1Ke$#rwd~wmTMh>kpSZ44d3~ZSv&y;3*x&?7m(sI@S0rL2llN@@IMA-aUK3_*Gra) zcycDAy2CZN1iGog#|HGfRP%Ii5$Px~A7x*C?Ihwls zyFZ5LAQy8JE9)qENS4VIgBL?gH=p8V-~}bOV~+A09Li>cCY~klb0XfU2gR6Gtkj}h zWkF^hSb=m=i|*PWeugt6+8mb(to_6|P44GALcz>XIf8Op-Q%S+B>dELwJMofQqY+u zB$9-jYkuMrm{}rGDBf9e{b_$*e{

O`GT(1*D(@i)@4ev`DZZN&AK?C%%`(?{sha zAyyI`ngA=Hq#PZq<9Jgtno?fp4JhwTuI-t*8R=?%)`uk;4ZnVuLp?*~Ws6&kXl~hn zrO{#@R&0^0e8JNstP0<8yR1*RNaFRQTf+?Q1B~jN>>=hKAAv{TUVxB$sB|^D=;j+R z=nR!RYf^AXlh@{Kx3uM;b{CfcNpM&;;=Dz5ViAhbRd(g=`h%5-etMfmSr>4X;tPS2@kT6V?EesorQcu=LmvlD10V?Y9l`C1hRJC`cSo0{8+9H(cF6|A=%H<=COzMp7&xIOmq&Q2j|x+W>uQkxq?e(N`+Cx zz{Llca!pZlKKc0;#0U3PF}cv_`2|ro#O`o;f8~+`>{Ah~{(D?6sM1<>JWF^>nT|a6 ziFIK-@nJ!LheaIPE3GlVDBGPO?;T@XB_*Z60t)eNpQ_#^2Y|8nOm zfIu^tpco>-Z_qHQWm{i$Eh=)^hf*5MH~shU`Ql2fBv$;58Zn%eWBgu*lNCR1d@OKE z*S88|5l~O=idnO2Uz$|tA|)(mhDrJl-wL9-#rlst^I)QO>tr+pz6F3GBx z>a|^IJg6BJxz0NXyW|9{-v~WBZ)1>4kRVmyiKxTz)6c;o&rFtqFcrl6e4`_KNliAE zYGy=wCU*>Jkw45pGEH%vZcWRnva?wa8U2Tr9Pu8Gyg&sz$ZC15>snqragmCMrqYLo zG<7RLU#h-)x3$`!!Z?P}fGW(Y!}&UcZCvZQIW=dsDnwxft-q`J3%K=>A>f zO*GyrHkwrgVdHiSl(&2S9F=z*JzpI=;QVXnCOU7`W-nUWtzO&CEs*}TdlRL1+>$?W ze+SmTj@d-(ofwzj#e42VRuS0LO*x@om9fl3GqoHBm__S{PaX7PQ^XY%NnXRq> diff --git a/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml b/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml index 15a36c3d118..e87ca2cfe37 100644 --- a/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml +++ b/dsf-gdb/org.eclipse.cdt.gnu.dsf.source-feature/pom.xml @@ -12,6 +12,6 @@ 4.0.0-SNAPSHOT - org.eclipse.cdt.gdb.dsf.source + org.eclipse.cdt.gnu.dsf.source eclipse-feature diff --git a/jtag/org.eclipse.cdt.debug.gdbjtag-feature/pom.xml b/jtag/org.eclipse.cdt.debug.gdbjtag-feature/pom.xml index 78c464fc855..a020ea9615a 100644 --- a/jtag/org.eclipse.cdt.debug.gdbjtag-feature/pom.xml +++ b/jtag/org.eclipse.cdt.debug.gdbjtag-feature/pom.xml @@ -12,6 +12,7 @@ 7.0.0-SNAPSHOT - org.eclipse.cdtdebug.gdbjtag + org.eclipse.cdt.features + org.eclipse.cdt.debug.gdbjtag eclipse-feature diff --git a/lrparser/org.eclipse.cdt.core.lrparser.source.feature/pom.xml b/lrparser/org.eclipse.cdt.core.lrparser.source.feature/pom.xml index 4b49629a7ef..e70437ff8d7 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.source.feature/pom.xml +++ b/lrparser/org.eclipse.cdt.core.lrparser.source.feature/pom.xml @@ -11,7 +11,8 @@ ../../pom.xml + org.eclipse.cdt.features 5.2.0-SNAPSHOT - org.eclipse.cdt.core.lrparser.source.feature + org.eclipse.cdt.core.lrparser.source eclipse-feature diff --git a/p2/org.eclipse.cdt.p2-feature/pom.xml b/p2/org.eclipse.cdt.p2-feature/pom.xml index 3016643ba12..2cbde6f9d5e 100644 --- a/p2/org.eclipse.cdt.p2-feature/pom.xml +++ b/p2/org.eclipse.cdt.p2-feature/pom.xml @@ -11,7 +11,8 @@ ../../pom.xml + org.eclipse.cdt.features 1.0.0-SNAPSHOT - org.eclipse.cdt.p2-feature + org.eclipse.cdt.p2 eclipse-feature diff --git a/upc/org.eclipse.cdt.core.parser.upc.source.feature/pom.xml b/upc/org.eclipse.cdt.core.parser.upc.source.feature/pom.xml index 424facea986..589c5e15a0c 100644 --- a/upc/org.eclipse.cdt.core.parser.upc.source.feature/pom.xml +++ b/upc/org.eclipse.cdt.core.parser.upc.source.feature/pom.xml @@ -11,7 +11,8 @@ ../../pom.xml + org.eclipse.cdt.features 5.1.0-SNAPSHOT - org.eclipse.cdt.core.parser.upc.source.feature + org.eclipse.cdt.core.parser.upc.source eclipse-feature diff --git a/util/org.eclipse.cdt.util-feature/pom.xml b/util/org.eclipse.cdt.util-feature/pom.xml index ee2668cccd5..35d10b8f8b2 100644 --- a/util/org.eclipse.cdt.util-feature/pom.xml +++ b/util/org.eclipse.cdt.util-feature/pom.xml @@ -12,6 +12,7 @@ 5.1.0-SNAPSHOT - org.eclipse.cdt.util-feature + org.eclipse.cdt.features + org.eclipse.cdt.util eclipse-feature diff --git a/xlc/org.eclipse.cdt.xlc.source.feature/pom.xml b/xlc/org.eclipse.cdt.xlc.source.feature/pom.xml index 3fca6e7739b..6635b5a7e91 100644 --- a/xlc/org.eclipse.cdt.xlc.source.feature/pom.xml +++ b/xlc/org.eclipse.cdt.xlc.source.feature/pom.xml @@ -12,6 +12,7 @@ 6.1.0-SNAPSHOT - org.eclipse.cdt.xlc.source.feature + org.eclipse.cdt.features + org.eclipse.cdt.xlc.source eclipse-feature From a9fafd90a4418fd010ea60cd06f6fbfac6949a62 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 30 Aug 2011 14:28:28 -0400 Subject: [PATCH 17/22] Fix id of codan.test. --- codan/org.eclipse.cdt.codan.core.test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codan/org.eclipse.cdt.codan.core.test/pom.xml b/codan/org.eclipse.cdt.codan.core.test/pom.xml index 7e3644fc28a..8162828c0ef 100644 --- a/codan/org.eclipse.cdt.codan.core.test/pom.xml +++ b/codan/org.eclipse.cdt.codan.core.test/pom.xml @@ -12,7 +12,7 @@ 1.0.0-SNAPSHOT - org.eclipse.cdt.codan.core.tests + org.eclipse.cdt.codan.core.test eclipse-test-plugin From 4e8b1285b22b89bdf72e3615c7a0897ed1961ac6 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 30 Aug 2011 16:48:24 -0400 Subject: [PATCH 18/22] clean up last of the plug-in jars. --- core/org.eclipse.cdt.core.aix/build.properties | 4 ++-- core/org.eclipse.cdt.core.linux/build.properties | 4 ++-- core/org.eclipse.cdt.core.macosx/build.properties | 4 ++-- core/org.eclipse.cdt.core.solaris/build.properties | 4 ++-- core/org.eclipse.cdt.core.win32/build.properties | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/core/org.eclipse.cdt.core.aix/build.properties b/core/org.eclipse.cdt.core.aix/build.properties index 60ff641b21e..1c593888d45 100644 --- a/core/org.eclipse.cdt.core.aix/build.properties +++ b/core/org.eclipse.cdt.core.aix/build.properties @@ -8,9 +8,9 @@ # Contributors: # IBM Corporation - initial API and implementation ############################################################################### -source.cdtaix.jar = src/ +source.. = src/ bin.includes = fragment.xml,\ - cdtaix.jar,\ + .,\ about.html,\ META-INF/,\ os/ diff --git a/core/org.eclipse.cdt.core.linux/build.properties b/core/org.eclipse.cdt.core.linux/build.properties index 0fb31b9d170..6542e91cbdf 100644 --- a/core/org.eclipse.cdt.core.linux/build.properties +++ b/core/org.eclipse.cdt.core.linux/build.properties @@ -10,8 +10,8 @@ ############################################################################### bin.includes = fragment.xml,\ about.html,\ - cdt_linux.jar,\ + .,\ META-INF/ src.includes = about.html,\ library/ -source.cdt_linux.jar = src/ +source.. = src/ diff --git a/core/org.eclipse.cdt.core.macosx/build.properties b/core/org.eclipse.cdt.core.macosx/build.properties index dbce6b0a223..fc76b9bff0c 100644 --- a/core/org.eclipse.cdt.core.macosx/build.properties +++ b/core/org.eclipse.cdt.core.macosx/build.properties @@ -10,9 +10,9 @@ ############################################################################### bin.includes = fragment.xml,\ about.html,\ - cdt_macosx.jar,\ + .,\ os/,\ META-INF/ src.includes = about.html,\ library/ -source.cdt_macosx.jar = src/ +source.. = src/ diff --git a/core/org.eclipse.cdt.core.solaris/build.properties b/core/org.eclipse.cdt.core.solaris/build.properties index 2d1a77f10b3..682baefa984 100644 --- a/core/org.eclipse.cdt.core.solaris/build.properties +++ b/core/org.eclipse.cdt.core.solaris/build.properties @@ -11,8 +11,8 @@ bin.includes = fragment.xml,\ about.html,\ os/,\ - cdt_solaris.jar,\ + .,\ META-INF/ src.includes = about.html,\ library/ -source.cdt_solaris.jar = src/ +source.. = src/ diff --git a/core/org.eclipse.cdt.core.win32/build.properties b/core/org.eclipse.cdt.core.win32/build.properties index 7b3db958ad3..3805517ebdd 100644 --- a/core/org.eclipse.cdt.core.win32/build.properties +++ b/core/org.eclipse.cdt.core.win32/build.properties @@ -10,8 +10,8 @@ ############################################################################### bin.includes = fragment.xml,\ about.html,\ - cdt_win32.jar,\ + .,\ META-INF/ src.includes = about.html,\ library/ -source.cdt_win32.jar = src/ +source.. = src/ From 74e02da61726df568cd70857b2b863ff320ae05b Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 30 Aug 2011 16:53:54 -0400 Subject: [PATCH 19/22] Got the core.tests to install the CDT feature. --- core/org.eclipse.cdt.core.tests/pom.xml | 38 ++++++++++--------------- pom.xml | 3 +- 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/core/org.eclipse.cdt.core.tests/pom.xml b/core/org.eclipse.cdt.core.tests/pom.xml index 0c3699a0a19..348e188df82 100644 --- a/core/org.eclipse.cdt.core.tests/pom.xml +++ b/core/org.eclipse.cdt.core.tests/pom.xml @@ -15,6 +15,14 @@ org.eclipse.cdt.core.tests eclipse-test-plugin + + + cdt.repo + file:/${basedir}/../../releng/org.eclipse.cdt.repo/target/repository + p2 + + + @@ -28,31 +36,15 @@ **/AutomatedIntegrationSuite.* true + + + org.eclipse.cdt.feature.group + 8.0.0.${buildQualifier} + p2-installable-unit + + - diff --git a/pom.xml b/pom.xml index d95c11aa363..ce12fd108ca 100644 --- a/pom.xml +++ b/pom.xml @@ -149,6 +149,8 @@ dsf/org.eclipse.cdt.examples.dsf.pda.ui dsf/org.eclipse.cdt.examples.dsf-feature + releng/org.eclipse.cdt.repo + core/org.eclipse.cdt.core.tests core/org.eclipse.cdt.ui.tests build/org.eclipse.cdt.managedbuilder.core.tests @@ -161,7 +163,6 @@ debug/org.eclipse.cdt.debug.ui.tests --> - releng/org.eclipse.cdt.repo From 29a103a4e76481ac25b13b6adebe25c18a559670 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Tue, 30 Aug 2011 14:44:22 -0700 Subject: [PATCH 20/22] Bug 356239 - ClassCastException in ClassTypeHelper.getOwnMethods. --- .../AbstractClassInstantiationChecker.java | 29 ++++++++++--------- .../core/dom/parser/cpp/ClassTypeHelper.java | 5 ++-- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/AbstractClassInstantiationChecker.java b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/AbstractClassInstantiationChecker.java index 41714eb89bc..8b5e66ceb3d 100644 --- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/AbstractClassInstantiationChecker.java +++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/AbstractClassInstantiationChecker.java @@ -7,6 +7,7 @@ * * Contributors: * Anton Gorenkov - initial implementation + * Sergey Prigogin (Google) *******************************************************************************/ package org.eclipse.cdt.codan.internal.checkers; @@ -30,6 +31,7 @@ import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration; import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.ast.IBinding; +import org.eclipse.cdt.core.dom.ast.IProblemBinding; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionCallExpression; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamedTypeSpecifier; @@ -179,22 +181,23 @@ public class AbstractClassInstantiationChecker extends AbstractIndexAstChecker { } /** - * Checks whether specified type (class or typedef to the class) is abstract class. - * If it is - reports violations on each pure virtual method + * Checks whether specified type (class or typedef to the class) is an abstract class. + * If it is, reports violations on each pure virtual method */ private void reportProblemsIfAbstract(IType typeToCheck, IASTNode problemNode ) { IType unwindedType = CxxAstUtils.getInstance().unwindTypedef(typeToCheck); - if (unwindedType instanceof ICPPClassType) { - ICPPClassType classType = (ICPPClassType) unwindedType; - ICPPMethod[] pureVirtualMethods = pureVirtualMethodsCache.get(classType); - if (pureVirtualMethods == null) { - pureVirtualMethods = ClassTypeHelper.getPureVirtualMethods(classType); - pureVirtualMethodsCache.put(classType, pureVirtualMethods); - } - - for (ICPPMethod method : pureVirtualMethods) { - reportProblem(ER_ID, problemNode, resolveName(classType), resolveName(method)); - } + if (!(unwindedType instanceof ICPPClassType) || unwindedType instanceof IProblemBinding) { + return; + } + ICPPClassType classType = (ICPPClassType) unwindedType; + ICPPMethod[] pureVirtualMethods = pureVirtualMethodsCache.get(classType); + if (pureVirtualMethods == null) { + pureVirtualMethods = ClassTypeHelper.getPureVirtualMethods(classType); + pureVirtualMethodsCache.put(classType, pureVirtualMethods); + } + + for (ICPPMethod method : pureVirtualMethods) { + reportProblem(ER_ID, problemNode, resolveName(classType), resolveName(method)); } } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java index 3c2a28382f9..6b0624416ca 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java @@ -310,12 +310,13 @@ public class ClassTypeHelper { /** * Returns methods either declared by the given class or generated by the compiler. Does not * include methods declared in base classes. - * @param classType - * @return */ private static ObjectSet getOwnMethods(ICPPClassType classType) { ObjectSet set= new ObjectSet(4); set.addAll(classType.getDeclaredMethods()); + if (classType instanceof IProblemBinding) { + return set; + } ICPPClassScope scope= (ICPPClassScope) classType.getCompositeScope(); set.addAll(scope.getImplicitMethods()); return set; From c10cd94cd204aae0fbe247d2843efb223472da23 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 31 Aug 2011 10:07:26 -0400 Subject: [PATCH 21/22] Add staging the repo for the next build in the chain. --- releng/org.eclipse.cdt.repo/pom.xml | 43 +++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/releng/org.eclipse.cdt.repo/pom.xml b/releng/org.eclipse.cdt.repo/pom.xml index e21aa8d8182..9f6aecb9e60 100644 --- a/releng/org.eclipse.cdt.repo/pom.xml +++ b/releng/org.eclipse.cdt.repo/pom.xml @@ -14,4 +14,47 @@ 8.0.0-SNAPSHOT org.eclipse.cdt.repo eclipse-repository + + + /home/data/httpd/download.eclipse.org/tools/cdt/builds/hudson/cdt-maint + + + + + production + + + + maven-antrun-plugin + + + deploy + install + + run + + + + + + + + + + + + + + + + + + + + + From 47557f2d04a78dde37582b259dafce6c975dd1df Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 31 Aug 2011 10:40:33 -0400 Subject: [PATCH 22/22] Fix typo on pom. --- releng/org.eclipse.cdt.repo/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releng/org.eclipse.cdt.repo/pom.xml b/releng/org.eclipse.cdt.repo/pom.xml index 9f6aecb9e60..f53ed42631c 100644 --- a/releng/org.eclipse.cdt.repo/pom.xml +++ b/releng/org.eclipse.cdt.repo/pom.xml @@ -35,7 +35,7 @@ - +