1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Merge remote-tracking branch 'cdt/master' into sd90

This commit is contained in:
Andrew Gvozdev 2012-09-04 22:45:37 -04:00
commit e7468a6b26
16 changed files with 152 additions and 208 deletions

View file

@ -1,3 +1,9 @@
2012-08-29 Jeff Johnston <jjohnstn@redhat.com>
Resolves: bug #381291
* plugin.xml: Add other types of binary parsers for Autotools target since it can apply to
non-ELF OSes.
2012-08-29 Jeff Johnston <jjohnstn@redhat.com>
Resolves: bug #388354

View file

@ -379,7 +379,7 @@
</tool>
<targetPlatform
archList="all"
binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF"
binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF;org.eclipse.cdt.core.MachO64;org.eclipse.cdt.core.PE;org.eclipse.cdt.core.Cygwin_PE"
id="org.eclipse.linuxtools.cdt.autotools.core.targetPlatform"
isAbstract="false"
name="%Autotools.targetplatform.name"/>

View file

@ -1,13 +1,13 @@
/*******************************************************************************
* Copyright (c) 2009, 2011 Red Hat, Inc.
* 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:
* Red Hat Incorporated - initial API and implementation
*******************************************************************************/
################################################################################
# Copyright (c) 2009, 2011, 2012 Red Hat, Inc.
# 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:
# Red Hat Incorporated - initial API and implementation
################################################################################
Option.configure.configure=configure
Option.configure.general=General
Option.configure.builddir=Build directory

View file

@ -1,4 +1,5 @@
<?xml version='1.0' encoding='utf-8' ?>
<?NLS TYPE="org.eclipse.help.toc"?>
<toc topic="CDT/Autotools/User_Guide/User-Guide.html" label="Autotools Plug-in User Guide">
<topic href="CDT/Autotools/User_Guide/User-Guide.html" label="Autotools Plug-in User Guide">
<topic href="CDT/Autotools/User_Guide/User-Guide.html" label="Introduction"></topic>

View file

@ -1,5 +1,5 @@
#################################################################################
# Copyright (c) 2006, 2008, 2009 Red Hat, Inc.
# Copyright (c) 2006, 2008, 2009, 2012 Red Hat, Inc.
# 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
@ -60,85 +60,6 @@ ShowTooltip.description=Shows the tooltip description for the element at the cur
ACeditor.scope.name=Autoconf Editor
ACeditor.scope.description=Editor for Autoconf Configuration Source Files
Tool.configure=configure
OptionCategory.configure.general=General
Option.configure.name=Name
Option.configure.builddir=Build directory
Option.configure.builddir.tip=Subdirectory off of project where build will occur
Option.configure.configdir=Configure tool directory
Option.configure.configdir.tip=Subdirectory off of project containing configure scripts
Option.configure.cache_file=Name of configuration cache file (--cache-file)
Option.configure.cache_file.tip=Specify the name of the configuration cache file [config.cache]
Option.configure.no_create=Turn off file creation <not advised> (--no-create)
Option.configure.no_create.tip=This tells configuration not to generate the output files as part of configuration
Option.configure.quiet=Turn off checking messages (--quiet)
Option.configure.quiet.tip=This turns off "checking ..." style messages from the configuration console output
Option.configure.help=Display help contents of top-level configuration (--help)
Option.configure.help.tip=Ask configuration file to display its help documentation
Option.configure.version=Display version of autotools used to create configuration (--version)
Option.configure.version.tip=This outputs the version of the Autotools used to create the configuration files
OptionCategory.configure.platform=Platform Specifiers
Option.configure.host=Host platform (--host)
Option.configure.host.tip=Platform that project will run on
Option.configure.target=Target platform (--target)
Option.configure.target.tip=Platform that project will target output for
Option.configure.build=Build platform (--build)
Option.configure.build.tip=Platform where project is being built
OptionCategory.configure.directories=Directory specifiers
Option.configure.prefix=Arch-independent install directory (--prefix)
Option.configure.prefix.tip=Place where architecture-independent files are installed [/usr/local]
Option.configure.exec_prefix=Arch-dependent install directory (--exec-prefix)
Option.configure.exec_prefix.tip=Place where architecture-dependent files are installed [PREFIX]
Option.configure.libdir=Object code library directory (--libdir)
Option.configure.libdir.tip=Place where object code libraries are installed [EPREFIX/lib]
Option.configure.bindir=User executable directory (--bindir)
Option.configure.bindir.tip=Place where binary executables are installed [EPREFIX/bin]
Option.configure.sbindir=System admin executable directory (--sbindir)
Option.configure.sbindir.tip=Place where system admin executables are installed [EPREFIX/sbin]
Option.configure.includedir=C Header file directory (--includdir)
Option.configure.includedir.tip=Place where header files will be installed [PREFIX/include]
Option.configure.datadir=Read-only architecture-independent data (--datadir)
Option.configure.datadir.tip=Place where read-only architecture-independent data is installed [PREFIX/share]
Option.configure.sysconfdir=Read-only single-machine data directory (--syconfdir)
Option.configure.sysconfdir.tip=Place where read-only single-machine data is stored [PREFIX/etc]
Option.configure.infodir=Info file documentation directory (--infodir)
Option.configure.infodir.tip=Place where info files are installed [PREFIX/info]
Option.configure.mandir=Man file documentation directory (--mandir)
Option.configure.mandir.tip=Place where man file documentation is installed [PREFIX/man]
Option.configure.srcdir=Sources directory (--srcdir)
Option.configure.srcdir.tip=Place where configure can find sources [configure directory or ..]
Option.configure.localstatedir=Modifiable single-machine data directory (--localstatedir)
Option.configure.localstatedir.tip=Place where modifiable single-machine data is installed [PREFIX/var]
Option.configure.sharedstatedir=Modifiable architecture-independent data directory (--sharedstatedir)
Option.configure.sharedstatedir.tip=Place where modifiable architecture-independent data is installed [PREFIX/com]
Option.configure.libexecdir=Program executable directory (--libexecdir)
Option.configure.libexecdir=Place where program executables will be installed [EPREFIX/libexec]
Option.configure.oldincludedir=Non-gcc C header file directory (--oldincludedir)
Option.configure.oldincludedir.tip=Place where non-gcc C header files are installed [/usr/include]
OptionCategory.configure.filenames=File-name transformations
Option.configure.program_prefix=Installed program prefix (--program-prefix)
Option.configure.program_prefix.tip=Prepend PREFIX to the beginning of installed program names
Option.configure.program_suffix=Installed program suffix (--program-suffix)
Option.configure.program_suffix.tip=Append SUFFIX to the end of installed program names
Option.configure.program_transform_name=Installed program name transform (--program-transform-name)
Option.configure.program_transform_name.tip=A sed string used to transform installed program names
OptionCategory.configure.features=Features and packages
Option.configure.enable_maintainer_mode=Enable maintainer mode (--enable-maintainer-mode)
Option.configure.enable_maintainer_mode.tip=Specify this to have Makefiles generated with checks for Autotool configuration file changes
Option.configure.user=User-specified configuration options
Option.configure.user.tip=Specify one or more configuration options (e.g. --enable-FEATURE, --disable-FEATURE, or --with-PACKAGE)
Tool.autogen = autogen.sh
OptionCategory.autogen.general=Options
Option.autogen.user=Command line options
Option.autogen.user.tip=Specify options to pass to the top-level autogen.sh script
RedHatVendor.name = Red Hat
Bundle-Name.0 = Autotools UI Plug-in
provider=Eclipse CDT

View file

@ -74,6 +74,7 @@ public abstract class AbstractIndexerTask extends PDOMWriter {
public static enum UnusedHeaderStrategy { skip, useC, useCPP, useDefaultLanguage, useBoth }
private static final int MAX_ERRORS = 500;
// Order of constants is important. Stronger update types have to precede the weaker ones.
private static enum UpdateKind { REQUIRED_SOURCE, REQUIRED_HEADER, ONE_LINKAGE_HEADER, OTHER_HEADER }
private static class LinkageTask {
@ -119,7 +120,8 @@ public abstract class AbstractIndexerTask extends PDOMWriter {
boolean requestUpdate(IIndexFragmentFile ifile, Object tu, UpdateKind kind) {
if (tu != null)
fTu= tu;
if (kind != null)
// Change fKind only if it becomes stronger as a result.
if (fKind == null || (kind != null && kind.compareTo(fKind) < 0))
fKind= kind;
if (ifile == null) {
@ -638,7 +640,7 @@ public abstract class AbstractIndexerTask extends PDOMWriter {
for (IIndexFragmentFile ifile : indexFiles) {
if (ifile != null) {
IIndexInclude ctx= ifile.getParsedInContext();
if (ctx == null && !indexedUnconditionally) {
if (ctx == null && !indexedUnconditionally && ifile.hasContent()) {
iFilesToRemove.add(ifile);
count++;
} else {
@ -899,7 +901,7 @@ public abstract class AbstractIndexerTask extends PDOMWriter {
final IIndexFragmentFile headerFile = versionTask.fIndexFile;
final int safeguardSize= safeGuard.size();
for(;;) {
while (true) {
// Look for a context and parse the file
IIndexFragmentFile ctxFile = findContextFile(linkageID, map, versionTask, safeGuard, monitor);
if (ctxFile == null || ctxFile == headerFile)
@ -951,7 +953,7 @@ public abstract class AbstractIndexerTask extends PDOMWriter {
final FileVersionTask versionTask, LinkedHashSet<IIndexFile> safeGuard, IProgressMonitor monitor)
throws CoreException, InterruptedException {
IIndexFragmentFile ctxFile= versionTask.fIndexFile;
for(;;) {
while (true) {
IIndexInclude ctxInclude= ctxFile.getParsedInContext();
if (ctxInclude == null)
return ctxFile;
@ -960,7 +962,7 @@ public abstract class AbstractIndexerTask extends PDOMWriter {
if (nextCtx == null)
return nextCtx;
// Found a recursion
// Found a recursion.
if (!safeGuard.add(nextCtx))
return null;
@ -984,7 +986,6 @@ public abstract class AbstractIndexerTask extends PDOMWriter {
}
}
private DependsOnOutdatedFileException parseFile(Object tu, AbstractLanguage lang,
IIndexFileLocation ifl, IScannerInfo scanInfo, FileContext ctx, IProgressMonitor pm)
throws CoreException, InterruptedException {

View file

@ -38,7 +38,7 @@ public class PDOMSetupJob extends Job {
@Override
protected IStatus run(IProgressMonitor monitor) {
monitor.beginTask("", IProgressMonitor.UNKNOWN); //$NON-NLS-1$
while(true) {
while (true) {
ICProject cproject= fManager.getNextProject();
if (cproject == null)
return Status.OK_STATUS;

View file

@ -221,17 +221,16 @@ abstract public class PDOMWriter {
data.fSymbolMap.put(file.includeStatement, new Symbols());
}
// Extract symbols from AST
// Extract symbols from AST.
extractSymbols(data);
// Name resolution
// Name resolution.
resolveNames(data, pm);
// Index update
// Index update.
storeSymbolsInIndex(data, ctx, flushIndex, pm);
// Tasks update
// Tasks update.
if (taskUpdater != null) {
Set<IIndexFileLocation> locations= new HashSet<IIndexFileLocation>();
for (FileInAST file : selectedFiles) {

View file

@ -200,6 +200,7 @@ import org.eclipse.cdt.ui.text.folding.ICFoldingStructureProvider;
import org.eclipse.cdt.internal.core.model.ASTCache.ASTRunnable;
import org.eclipse.cdt.internal.core.pdom.indexer.IndexerPreferences;
import org.eclipse.cdt.internal.corext.util.CModelUtil;
import org.eclipse.cdt.internal.corext.util.CodeFormatterUtil;
import org.eclipse.cdt.internal.ui.CPluginImages;
@ -1286,11 +1287,11 @@ public class CEditor extends TextEditor implements ICEditor, ISelectionChangedLi
try {
IIndexManager indexManager = CCorePlugin.getIndexManager();
if (tuToReset != null) {
indexManager.update(new ICElement[] { tuToReset },
indexManager.update(new ICElement[] { CModelUtil.toOriginal(tuToReset) },
IIndexManager.RESET_INDEX_INCLUSION | IIndexManager.UPDATE_CHECK_TIMESTAMPS);
}
if (tuToAdd != null) {
indexManager.update(new ICElement[] { tuToAdd },
indexManager.update(new ICElement[] { CModelUtil.toOriginal(tuToAdd) },
IIndexManager.FORCE_INDEX_INCLUSION | IIndexManager.UPDATE_CHECK_TIMESTAMPS);
}
} catch (CoreException e) {

View file

@ -12,7 +12,6 @@ package org.eclipse.cdt.debug.ui.breakpointactions;
import java.io.ByteArrayOutputStream;
import java.io.StringReader;
import com.ibm.icu.text.MessageFormat;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@ -31,22 +30,46 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchManager;
import org.eclipse.debug.core.model.IBreakpoint;
import org.eclipse.debug.ui.DebugUITools;
import org.eclipse.ui.progress.WorkbenchJob;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.InputSource;
import org.xml.sax.helpers.DefaultHandler;
import com.ibm.icu.text.MessageFormat;
public class ExternalToolAction extends AbstractBreakpointAction {
private String externalToolName = ""; //$NON-NLS-1$
@Override
public IStatus execute(IBreakpoint breakpoint, IAdaptable context, IProgressMonitor monitor) {
@Override
public IStatus execute(final IBreakpoint breakpoint, final IAdaptable context, final IProgressMonitor monitor) {
Job uiJob = new WorkbenchJob("ExternalToolAction") { //$NON-NLS-1$
{
setPriority(INTERACTIVE);
}
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
return executeInUIThread(breakpoint, context, monitor);
}
};
uiJob.schedule();
try {
uiJob.join();
} catch (InterruptedException e) {
return Status.CANCEL_STATUS;
}
return uiJob.getResult();
}
private IStatus executeInUIThread(IBreakpoint breakpoint, IAdaptable context, IProgressMonitor monitor) {
IStatus errorStatus = null;
ILaunchManager lcm = DebugPlugin.getDefault().getLaunchManager();
try {

View file

@ -50,7 +50,7 @@ public abstract class AbstractBreakpointVMNode extends AbstractVMNode {
/**
* Class that creates the element object for the corresponding breakpoints.
* This element object will be populated in the breakpoitns view to represent
* This element object will be populated in the breakpoints view to represent
* the given breakpoint.
*/
abstract protected Object createBreakpiontElement(IBreakpoint bp);

View file

@ -31,7 +31,7 @@ import org.eclipse.swt.graphics.RGB;
import org.eclipse.ui.IMemento;
/**
* Breakpiont VM Node which uses VM Contexts to populate breakpoint elements
* Breakpoint VM Node which uses VM Contexts to populate breakpoint elements
* in the view. Any actions or other selection listeners which depend on the
* breakpoint object will not work with these elements unless they use the
* adapter mechanism to obtain the breakpoints.

View file

@ -24,7 +24,6 @@ import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.datamodel.IDMContext;
import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext;
import org.eclipse.cdt.dsf.debug.ui.viewmodel.expression.IExpressionVMNode;
import org.eclipse.cdt.dsf.internal.ui.DsfUIPlugin;
import org.eclipse.cdt.dsf.ui.viewmodel.AbstractVMAdapter;
import org.eclipse.cdt.dsf.ui.viewmodel.AbstractVMProvider;
@ -58,15 +57,8 @@ import org.eclipse.jface.viewers.TreePath;
import org.eclipse.ui.IWorkbenchWindow;
/**
* The expression provider is used to populate the contents of the expressions
* view. The node hierarchy in this view is a little different than in a typical
* provider: the expression manager node should be registered as the single child
* of the root node and no nodes should be registered as children of expression node.
* Instead the top level expression nodes should be registered with a call to
* {@link #setExpressionNodes(IExpressionVMNode[])}. And each expression node can
* have its own sub-hierarchy of elements as needed. However all nodes configured
* with this provider (with the exception of the root and the expression manager)
* should implement {@link IExpressionVMNode}.
* The breakpoint provider is used to populate the contents of the breakpoints
* view.
*
* @since 2.1
*/

View file

@ -98,7 +98,7 @@ abstract class DataCache<V> {
}
/**
* Request data from the cache. The cache is valid, it will complete the
* Request data from the cache. If the cache is valid, it will complete the
* request immediately, otherwise data will first be retrieved from the
* source.
* @param req

View file

@ -13,7 +13,7 @@ package org.eclipse.cdt.dsf.debug.ui.viewmodel.breakpoints;
import org.eclipse.debug.core.model.IBreakpoint;
/**
* Breakpoint node which uses raw breakpiont objects (without a wrapper) as
* Breakpoint node which uses raw breakpoint objects (without a wrapper) as
* elements which are populated into the view. The breakpoint objects are
* responsible for supplying their own label and memento providers, as well
* as content provider for any children.

View file

@ -34,7 +34,7 @@ public interface IBreakpointsExtension extends IBreakpoints {
}
/**
* If a given execution context was suspended due hitting a breakpoint,
* If a given execution context was suspended due to hitting a breakpoint,
* this method should return the breakpoints which caused the thread or
* container to suspend.
* <p>