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);