[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] LLVM/Clang toolchain broken
|
Hi,
At the moment I have:
- created a local bug535565 branch from CDT-9_10_0,
- removed the LLVM-page from Eclipse by removing the LLVM-preference
page in the org.eclipse.cdt.managedbuilder.llvm.ui plugin.xml,
- commented out the code that caused the bugs 535565, 527757 and
probably 500186.
As far as I have tested, it now works for me (Linux, Debian Testing,
i.e. Debian/Bullseye, Clang only). I have attached a patch created by
choosing "Team->Synchronize workspace", select all differences, "create
patch", and then saved it as file.
Some questions...
- Is this enough for getting a minimal real working Clang-support for
the next release of the CDT? If so, what should be my next steps?
If nt: what do you expect?
- Should I remove all the code that is related to the removed LLVM-
preference page?
- What do you hope that I should do more as a minimal effort form
improvement?
- What should be my next steps?
For the future:
- I do not quite understand what Jan means. I do think that rethinking
and documenting some parts of the design would be nice though.
- I do not think that *removing* a separate Clang (LLVM???) plug-in is
the way to go. Although Clang is very compatible with GCC, it also has
specific differences. Copy&paste re-use and manually maintaining
(structural) similarity comes to mind. E.g. GCC and Clang share a lot
of stuff but seem to be surprising unrelated in terms of the CDT-plugin
- I prefer to leave out the non-Clang(++) stuff because I do not know
anything about the LLVM-stuff. I think that the CDT should compile
C/C++ programs.
FWIW: I really *hate* and don't (maybe want to) understand all the
configuration/declarative XML-stuff. I prefer readable real code. Does
anyone knows a readable tutorial for creating Eclipse plug-ins that
explains the whole extension point stuff?
--
Groeten,
Joost Kraaijeveld
Hommelseweg 123
6821 LD Arnhem
06-51855277
diff --git a/.project b/.project
new file mode 100644
index 0000000..fae3081
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.cdt</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
diff --git a/doc/org.eclipse.cdt.doc.isv/reference/.gitignore b/doc/org.eclipse.cdt.doc.isv/reference/.gitignore
deleted file mode 100644
index 94bcabe..0000000
--- a/doc/org.eclipse.cdt.doc.isv/reference/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-api
-extension-points
diff --git a/doc/org.eclipse.cdt.doc.isv/reference/extension-points/index.html b/doc/org.eclipse.cdt.doc.isv/reference/extension-points/index.html
deleted file mode 100644
index a08978b..0000000
--- a/doc/org.eclipse.cdt.doc.isv/reference/extension-points/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2008. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>CDT Extension Points</title>
-<link rel="stylesheet" type="text/css" HREF="../../book.css">
-</head>
-<body>
-<h1>CDT Extension Points</h1>
-<p>The following extension points can be used to extend the capabilities of the
- CDT infrastructure: </p>
-<ul>
- <li><a href="org_eclipse_cdt_core_CBuildConsole.html">org.eclipse.cdt.core.CBuildConsole</a></li>
- <li><a href="org_eclipse_cdt_core_CConfigurationDataProvider.html">org.eclipse.cdt.core.CConfigurationDataProvider</a></li>
- <li><a href="org_eclipse_cdt_core_CIndex.html">org.eclipse.cdt.core.CIndex</a></li>
- <li><a href="org_eclipse_cdt_core_CIndexer.html">org.eclipse.cdt.core.CIndexer</a></li>
- <li><a href="org_eclipse_cdt_core_CodeFormatter.html">org.eclipse.cdt.core.CodeFormatter</a></li>
- <li><a href="org_eclipse_cdt_core_CProject.html">org.eclipse.cdt.core.CProject</a></li>
- <li><a href="org_eclipse_cdt_core_externalSettingsProvider.html">org.eclipse.cdt.core.externalSettingsProvider</a></li>
- <li><a href="org_eclipse_cdt_core_language.html">org.eclipse.cdt.core.language</a></li>
- <li><a href="org_eclipse_cdt_core_PathEntryContainerInitializer.html">org.eclipse.cdt.core.PathEntryContainerInitializer</a></li>
- <li><a href="org_eclipse_cdt_core_ProcessList.html">org.eclipse.cdt.core.ProcessList</a></li>
- <li><a href="org_eclipse_cdt_core_projectConverter.html">org.eclipse.cdt.core.projectConverter</a></li>
- <li><a href="org_eclipse_cdt_core_templateAssociations.html">org.eclipse.cdt.core.templateAssociations</a></li>
- <li><a href="org_eclipse_cdt_core_templateProcessTypes.html">org.eclipse.cdt.core.templateProcessTypes</a></li>
- <li><a href="org_eclipse_cdt_core_templates.html">org.eclipse.cdt.core.templates</a></li>
- <li><a href="org_eclipse_cdt_debug_core_BreakpointActionType.html">org.eclipse.cdt.debug.core.BreakpointActionType</a></li>
- <li><a href="org_eclipse_cdt_debug_core_BreakpointExtension.html">org.eclipse.cdt.debug.core.BreakpointExtension</a></li>
- <li><a href="org_eclipse_cdt_make_core_MakeTargetBuilder.html">org.eclipse.cdt.make.core.MakeTargetBuilder</a></li>
- <li><a href="org_eclipse_cdt_make_core_ScannerConfigurationDiscoveryProfile.html">org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile</a></li>
- <li><a href="org_eclipse_cdt_make_ui_DiscoveryProfilePage.html">org.eclipse.cdt.make.ui.DiscoveryProfilePage</a></li>
- <li><a href="org_eclipse_cdt_managedbuilder_core_buildDefinitions.html">org.eclipse.cdt.managedbuilder.core.buildDefinitions</a></li>
- <li><a href="org_eclipse_cdt_managedbuilder_core_buildProperties.html">org.eclipse.cdt.managedbuilder.core.buildProperties</a></li>
- <li><a href="org_eclipse_cdt_managedbuilder_core_ManagedBuildInfo.html">org.eclipse.cdt.managedbuilder.core.ManagedBuildInfo</a></li>
- <li><a href="org_eclipse_cdt_managedbuilder_core_projectConverter.html">org.eclipse.cdt.managedbuilder.core.projectConverter</a></li>
- <li><a href="org_eclipse_cdt_managedbuilder_core_tcModificationInfo.html">org.eclipse.cdt.managedbuilder.core.tcModificationInfo</a></li>
- <li><a href="org_eclipse_cdt_managedbuilder_ui_newWizardPages.html">org.eclipse.cdt.managedbuilder.ui.newWizardPages</a></li>
- <li><a href="org_eclipse_cdt_ui_CDTWizard.html">org.eclipse.cdt.ui.CDTWizard</a></li>
- <li><a href="org_eclipse_cdt_ui_CHelpProvider.html">org.eclipse.cdt.ui.CHelpProvider</a></li>
- <li><a href="org_eclipse_cdt_ui_completionProposalComputer.html">org.eclipse.cdt.ui.completionProposalComputer</a></li>
- <li><a href="org_eclipse_cdt_ui_ConfigManager.html">org.eclipse.cdt.ui.ConfigManager</a></li>
- <li><a href="org_eclipse_cdt_ui_cPropertyTab.html">org.eclipse.cdt.ui.cPropertyTab</a></li>
- <li><a href="org_eclipse_cdt_ui_DocCommentOwner.html">org.eclipse.cdt.ui.DocCommentOwner</a></li>
- <li><a href="org_eclipse_cdt_ui_foldingStructureProviders.html">org.eclipse.cdt.ui.foldingStructureProviders</a></li>
- <li><a href="org_eclipse_cdt_ui_HelpInfo.html">org.eclipse.cdt.ui.HelpInfo</a></li>
- <li><a href="org_eclipse_cdt_ui_IndexerPage.html">org.eclipse.cdt.ui.IndexerPage</a></li>
- <li><a href="org_eclipse_cdt_ui_newCfgDialog.html">org.eclipse.cdt.ui.newCfgDialog</a></li>
- <li><a href="org_eclipse_cdt_ui_PathContainerPage.html">org.eclipse.cdt.ui.PathContainerPage</a></li>
- <li><a href="org_eclipse_cdt_ui_ProposalFilter.html">org.eclipse.cdt.ui.ProposalFilter</a></li>
- <li><a href="org_eclipse_cdt_ui_quickFixProcessors.html">org.eclipse.cdt.ui.quickFixProcessors</a></li>
- <li><a href="org_eclipse_cdt_ui_textHovers.html">org.eclipse.cdt.ui.textHovers</a></li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/plugin.xml b/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/plugin.xml
index 396d336..a2bd15b 100755
--- a/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/plugin.xml
+++ b/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/plugin.xml
@@ -5116,15 +5116,6 @@
</projectType>
</extension>
<extension
- point="org.eclipse.ui.preferencePages">
- <page
- category="org.eclipse.cdt.ui.preferences.CPluginPreferencePage"
- class="org.eclipse.cdt.managedbuilder.llvm.ui.preferences.LlvmPreferencePage"
- id="org.eclipse.cdt.managedbuilder.llvm.ui.preferences.LlvmPreferencePage"
- name="%page.name">
- </page>
- </extension>
- <extension
point="org.eclipse.core.runtime.preferences">
<initializer
class="org.eclipse.cdt.managedbuilder.llvm.ui.preferences.PreferenceInitializer">
diff --git a/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/util/LlvmResourceListener.java b/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/util/LlvmResourceListener.java
index 10ceecf..93bd1ac 100644
--- a/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/util/LlvmResourceListener.java
+++ b/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/util/LlvmResourceListener.java
@@ -15,7 +15,6 @@
*******************************************************************************/
package org.eclipse.cdt.managedbuilder.llvm.util;
-import org.eclipse.cdt.managedbuilder.llvm.ui.preferences.LlvmPreferenceStore;
import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IResourceChangeListener;
@@ -54,22 +53,36 @@
// }
// }
} else if (event.getType() == IResourceChangeEvent.PRE_BUILD) {
- String os = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$
- if (os.indexOf("win") >= 0) { //$NON-NLS-1$
- LlvmPreferenceStore.addMinGWStdLib();
- // LlvmToolOptionPathUtil.addMissingCppIncludesForMingw(); //TODO: Remove when Scanner Discovery has been fixed
- } else if (os.indexOf("nix") >= 0 || os.indexOf("nux") >= 0 /*|| os.indexOf( "mac") >=0 */) { //$NON-NLS-1$ //$NON-NLS-2$
- LlvmPreferenceStore.addStdLibUnix();
- }
+ /*
+ * JKR (bug 535565):
+ * This is called every time the project properties dialog is closed.
+ * LlvmPreferenceStore.addMinGWStdLib() and LlvmPreferenceStore.addStdLibUnix()
+ * try to find some sensible default settings for LLVM/CLang and *add* it to
+ * *every* project, regardless the consequences. This seems to be a relic from
+ * ancient times and is not needed (is harmful) nowadays, hence commented out.
+ * I think it can safely be removed.
+ */
+ // String os = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$
+ // if (os.indexOf("win") >= 0) { //$NON-NLS-1$
+ // LlvmPreferenceStore.addMinGWStdLib();
+ // // LlvmToolOptionPathUtil.addMissingCppIncludesForMingw(); //TODO: Remove when Scanner Discovery has been fixed
+ // } else if (os.indexOf("nix") >= 0 || os.indexOf("nux") >= 0 /*|| os.indexOf( "mac") >=0 */) { //$NON-NLS-1$ //$NON-NLS-2$
+ // LlvmPreferenceStore.addStdLibUnix();
+ // }
/*
* try to add values (include and library paths and libraries) to
* projects's build configurations to ensure that newly added projects
* have necessary paths.
*/
- LlvmToolOptionPathUtil.addAllIncludesToBuildConf();
- LlvmToolOptionPathUtil.addAllLibsToBuildConf();
- LlvmToolOptionPathUtil.addAllLibPathsToBuildConf();
+ /*
+ * JKR (bug 535565):
+ * I think that this also can be removed: I think that the data is collected by the
+ * removed LLVM-settings page. And if the data cannot be added, how can we collect it?
+ */
+ // LlvmToolOptionPathUtil.addAllIncludesToBuildConf();
+ // LlvmToolOptionPathUtil.addAllLibsToBuildConf();
+ // LlvmToolOptionPathUtil.addAllLibPathsToBuildConf();
} else {
return;
}
diff --git a/visualizer/org.eclipse.cdt.visualizer.ui/.settings/.api_filters b/visualizer/org.eclipse.cdt.visualizer.ui/.settings/.api_filters
new file mode 100644
index 0000000..9f1d3d1
--- /dev/null
+++ b/visualizer/org.eclipse.cdt.visualizer.ui/.settings/.api_filters
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.cdt.visualizer.ui" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="JKR: what should I do about this??" id="923795461">
+ <message_arguments>
+ <message_argument value="1.3.100"/>
+ <message_argument value="1.3.100"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/cdt/visualizer/ui/util/SelectionUtils.java" type="org.eclipse.cdt.visualizer.ui.util.SelectionUtils$EmptySelection">
+ <filter comment="JKR: what should I do about this??" id="337682486">
+ <message_arguments>
+ <message_argument value="org.eclipse.cdt.visualizer.ui.util.SelectionUtils.EmptySelection"/>
+ <message_argument value="java.lang.Iterable"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>