diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/META-INF/MANIFEST.MF
index 975856a6c97..47736545589 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/META-INF/MANIFEST.MF
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.cdt.managedbuilder.xlc.ui; singleton := true
-Bundle-Version: 5.0.0.qualifier
+Bundle-Version: 6.0.0.qualifier
Bundle-Activator: org.eclipse.cdt.managedbuilder.xlc.ui.XLCUIPlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.properties
index aa945629633..8ebdcd94629 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.properties
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.properties
@@ -61,6 +61,7 @@ OptionCategory.Comp = Compatibility
OptionCategory.Misc=Miscellaneous
OptionCategory.Assembler=Assembler Options
OptionCategory.General=General
+OptionCategory.objcc=Object code control
# generic names used by multiple options
@@ -170,11 +171,16 @@ Option.funcset=Place instructions for each function in a separate object file co
Option.ppline=Enable generation of #line directive in the preprocessed output (-qppline)
Option.upconv=Preserve the unsigned specification when performing integral promotions (-qupconv)
Option.namemangling=Name mangling scheme for external symbol names (-qnamemangling=)
+Option.namemangling.v10.name=Name mangling scheme for external symbol names (-qnamemangling=)
Option.namemangling.ansi = ANSI (-qnamemangling=ansi)
Option.namemangling.v6 = VisualAge(R) C++ v6 (-qnamemangling=v6)
Option.namemangling.v5 = VisualAge(R) C++ v5 (-qnamemangling=v5)
Option.namemangling.v4 = VisualAge(R) C++ v4 (-qnamemangling=v4)
Option.namemangling.v3 = Compatibility mode (-qnamemangling=v3)
+Option.namemangling.v7=IBM XL C/C++ v7 (-qnamemangling=v7)
+Option.namemangling.v8=IBM XL C/C++ v8 (-qnamemangling=v8)
+Option.namemangling.v9=IBM XL C/C++ v9 (-qnamemangling=v9)
+Option.namemangling.v10=IBM XL C/C++ v10 (-qnamemangling=v10)
Option.objectmodel = Object model (-qobjmodel=)
Option.objectmodel.classic = classic (-qobjmodel=classic)
Option.objectmodel.ibm = IBM(R) (-qobjmodel=ibm)
@@ -187,9 +193,15 @@ Option.staticinline = Treat inline functions as static (-qstaticinline)
Option.statsym = Add static variables to the symbol table (-qstatsym)
Option.threaded = Enable multi-threaded execution (-qthreaded)
Option.unique = Generate unique names for static constructor/deconstructor file compilation units (-qunique)
+Option.unique.v10 = Generate unique names for static constructor/deconstructor file compilation units (-qunique)
Option.novftable = Do not generate virtual function table (-qnovftable)
Option.vrsave = Maintain the VRSAVE register (-qvrsave)
Option.weaksymbol = Generate weak symbols (-qweaksymbol)
+Option.macros=Emit macro definitions to preprocessed output (-qshowmacros)
+Option.macros.all=all (-qshowmacros=all)
+Option.macros.pre=predefined (-qshowmacros=pre)
+Option.macros.nopre=no macros (-qshowmacros=nopre)
+Options.timestamps=Suppress insert of implicit timestamps into an object file (-qnotimestamps)
# Optimization options
Option.OptLevel = Optimization level
@@ -253,8 +265,12 @@ Option.optimization.procunknown = Mark functions as unknown (-qprocunknown=)
Option.optimization.showpdf = Add additional call and block count profiling information to the executable (-qshowpdf)
Option.optimization.smallstack = Reduce the size of the stack frame (-qsmallstack)
Option.optimization.smp = Enable parallelization of code (-qsmp)
+Option.optimization.smp.v10 = Specify parallelization of code (-qsmp=name1:name2:...:nameN)
+Option.optimization.smp.v10.tooltip=Possible values: nostackcheck, opt, norec_locks, noomp, nonested_par, \nexplicit, auto, omp, nested_par, noauto, noexplicit, noopt, rec_locks, \nschedule=(runtime | auto | affinity=n | dynamic=n | guided=n | static=n), stackcheck, threshold=n
Option.optimization.Spill = Specify the register allocation spill area (-qspill=)
-Option.optimization.Strict = Turn off aggressive optimizations (-qstrict)
+Option.optimization.Strict=Turn off aggressive optimizations (-qstrict)
+Option.optimization.Strict.v10 = Specify the optimizations (-qstrict=name1:name2:...:nameN)
+Option.optimization.Strict.v10.tooltip=Possible values: all, none, precision, noprecision, exceptions, noexceptions, \nieeefp, noieeefp, nans, nonans, infinities, noinfinities, subnormals, nosubnormals, \nzerosigns, nozerosigns, operationprecision, nooperationprecision, order, noorder, \nassociation, noassociation, reductionorder, noreductionorder, guards, noguards, library, nolibrary
Option.optimization.loopinduction = Loop induction settings
Option.optimization.strict_induction = Strict induction
Option.optimization.nostrict_induction = No induction
@@ -328,6 +344,13 @@ Option.t = Add prefix to designated programs (-t)
Option.maxmem = Amount of memory used during optimization (-qmaxmem=)
Option.path = Alternate program name for compiler components (-qpath=)
Option.tls = Specify the thread local storage model (-qtls=)
+Option.tls.unsupported=unsupported
+Option.tls.default=default
+Option.tls.global-dynamic=global-dynamic
+Option.tls.initial-exec=initial-exec
+Option.tls.local-dynamic=local-dynamic
+Option.tls.local-exec=local-exec
+Option.tls.notls=No tls
# Listings and Messages options
Option.V = Report information on the progress of compilation (-V)
@@ -349,7 +372,7 @@ Option.halt.warning = Warning (-qhalt=w)
Option.halt.error = Error (-qhalt=e)
Option.halt.severeError = Severe error (-qhalt=s)
Option.halt.unrecoverableError = Unrecoverable error (-qhalt=u)
-Option.info = Produce informational messages (-qinfo= )
+Option.info = Produce informational messages (-qinfo=)
Option.list = Produce a compiler listing that includes an object listing (-qlist)
Option.listopt = Produce a compiler listing that displays all options in effect(-qlistopt)
Option.phsinfo = Report the time taken in each compilation phase (-qphsinfo)
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml
index d5d431bd1ea..ba2771ebe5b 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml
@@ -218,6 +218,17 @@
builtIn="true"
value="__IBMC__">
+
+
+
+
+
@@ -836,6 +909,7 @@
+
+
+
+
+
@@ -2805,7 +2949,7 @@
+
+
+
-
-
-
-
+
= 0; k --)
+ {
+ String version = (String) applicList.get(k);
+
+ if (versionOrder.contains(version))
+ {
+ validVersion = version;
+ break;
+ }
+ }
+
+ //if version that applicability starts with doesn't exist - config error
+ if (validVersion == null)
+ return false;
+
+ //compare if current compiler version is greater than the applicability version
+ if (versionOrder.indexOf(currentVersion) > versionOrder.indexOf(validVersion))
+ return true;
+ }
+
+
+ return false;
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionEnabled(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
+ */
+ public boolean isOptionEnabled(IBuildObject configuration,
+ IHoldsOptions holder, IOption option) {
+ return isApplicable(configuration, holder, option);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionUsedInCommandLine(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
+ */
+ public boolean isOptionUsedInCommandLine(IBuildObject configuration,
+ IHoldsOptions holder, IOption option) {
+ return isApplicable(configuration, holder, option);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.managedbuilder.core.IOptionApplicability#isOptionVisible(org.eclipse.cdt.managedbuilder.core.IBuildObject, org.eclipse.cdt.managedbuilder.core.IHoldsOptions, org.eclipse.cdt.managedbuilder.core.IOption)
+ */
+ public boolean isOptionVisible(IBuildObject configuration,
+ IHoldsOptions holder, IOption option) {
+ return isApplicable(configuration, holder, option);
+ }
+
+}
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCompilerPropertyPage.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCompilerPropertyPage.java
index a7ba60a341c..edf7538500c 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCompilerPropertyPage.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCompilerPropertyPage.java
@@ -45,16 +45,13 @@ public class XLCompilerPropertyPage extends FieldEditorPreferencePage implements
{
// always return true, as we don't want to fail cases when compiler is installed remotely
// just warn user
- if (getPage() != null)
+ if (!super.doCheckState())
{
- if (!super.doCheckState())
- {
- getPage().setMessage(Messages.XLCompilerPropertyPage_2, IMessageProvider.WARNING);
- }
- else
- {
- getPage().setMessage(originalMessage, 0);
- }
+ setMessage(Messages.XLCompilerPropertyPage_2, IMessageProvider.WARNING);
+ }
+ else
+ {
+ setMessage(originalMessage);
}
return true;
@@ -90,7 +87,8 @@ public class XLCompilerPropertyPage extends FieldEditorPreferencePage implements
fPathEditor.setStringValue(currentPath);
String[] versionEntries = {PreferenceConstants.P_XL_COMPILER_VERSION_8_NAME,
- PreferenceConstants.P_XL_COMPILER_VERSION_9_NAME};
+ PreferenceConstants.P_XL_COMPILER_VERSION_9_NAME,
+ PreferenceConstants.P_XL_COMPILER_VERSION_10_NAME};
Composite versionParent = getFieldEditorParent();
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/applicability.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/applicability.properties
new file mode 100644
index 00000000000..0a1edb7b766
--- /dev/null
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/applicability.properties
@@ -0,0 +1,31 @@
+###############################################################################
+# Copyright (c) 2007, 2008 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+xlc.applicability.version.order=v8.0,v9.0,v10.1
+
+xlc.c.compiler.option.optimization.arch=v8.0
+xlc.c.compiler.option.optimization.arch.9.0=v9.0+
+xlc.c.compiler.option.optimization.tune=v8.0
+xlc.c.compiler.option.optimization.tune.9.0=v9.0+
+xlc.c.compiler.option.ifp.dfp=v9.0+
+xlc.c.compiler.option.preprocessor.PreprocessRemoveComments=v9.0+
+xlc.c.compiler.option.ecd.optdebug=v9.0+
+xlc.c.compiler.option.optimization.smp=v8.0,v9.0
+xlc.c.compiler.option.optimization.smp.v10=v10.1
+xlc.c.compiler.option.optimization.strict=v8.0,v9.0
+xlc.c.compiler.option.optimization.strict.v10=v10.1
+org.eclipse.cdt.managedbuilder.xlc.ui.cpp.option.output.unique.v10=v10.1
+org.eclipse.cdt.managedbuilder.xlc.ui.cpp.option.namemangling=v8.0,v9.0
+org.eclipse.cdt.managedbuilder.xlc.ui.cpp.option.namemangling.v10=v10.1
+xlc.c.compiler.option.cc.tls=v8.0,v9.0
+xlc.c.compiler.option.cc.tls.v10=v10.1
+xlc.c.compiler.option.output.macros=v10.1
+xlc.c.compiler.option.output.timestamps=v10.1
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardPage.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardPage.java
index 3177ee34713..b019827ea28 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardPage.java
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardPage.java
@@ -172,6 +172,7 @@ public class XLCSettingsWizardPage extends MBSCustomPage {
// populate the combo
fVersionCombo.add(PreferenceConstants.P_XL_COMPILER_VERSION_8_NAME);
fVersionCombo.add(PreferenceConstants.P_XL_COMPILER_VERSION_9_NAME);
+ fVersionCombo.add(PreferenceConstants.P_XL_COMPILER_VERSION_10_NAME);
// set the default based on the workbench preference
String compilerVersion = prefStore.getString(PreferenceConstants.P_XLC_COMPILER_VERSION);