Skip to main content
summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorMarc-Andre Laperle2013-06-09 00:03:25 +0000
committerMarc-Andre Laperle2013-06-09 00:04:53 +0000
commit7dd2b7922d4e4d96d9aab3d07d9b7f8bff833fb3 (patch)
treef562945c25fe7421a06653affb5a507e2718f9c6 /llvm
parent10feb88f56c7d14e33b70cf560db102ce48e32ab (diff)
downloadorg.eclipse.cdt-7dd2b7922d4e4d96d9aab3d07d9b7f8bff833fb3.tar.gz
org.eclipse.cdt-7dd2b7922d4e4d96d9aab3d07d9b7f8bff833fb3.tar.xz
org.eclipse.cdt-7dd2b7922d4e4d96d9aab3d07d9b7f8bff833fb3.zip
Bug 409915 - LLVM support throws NPE
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Diffstat (limited to 'llvm')
-rwxr-xr-xllvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/ui/LlvmEnvironmentVariableSupplier.java34
-rwxr-xr-xllvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/ui/preferences/LlvmPreferenceStore.java3
2 files changed, 24 insertions, 13 deletions
diff --git a/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/ui/LlvmEnvironmentVariableSupplier.java b/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/ui/LlvmEnvironmentVariableSupplier.java
index 6960e49dd82..2e622779271 100755
--- a/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/ui/LlvmEnvironmentVariableSupplier.java
+++ b/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/ui/LlvmEnvironmentVariableSupplier.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010-2013 Nokia Siemens Networks Oyj, Finland.
+ * Copyright (c) 2010, 2013 Nokia Siemens Networks Oyj, Finland.
* 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
@@ -9,6 +9,7 @@
* Nokia Siemens Networks - initial implementation
* Leo Hippelainen - Initial implementation
* Petri Tuononen - Initial implementation
+ * Marc-Andre Laperle (Ericsson)
*******************************************************************************/
package org.eclipse.cdt.managedbuilder.llvm.ui;
@@ -313,16 +314,27 @@ public class LlvmEnvironmentVariableSupplier implements
public static String getMinGWStdLib() {
//get mingw bin path
IPath mingwBinPath = MingwEnvironmentVariableSupplier.getBinDir();
- StringBuilder sB = new StringBuilder(mingwBinPath.toOSString());
- //drop bin
- sB.delete(sB.length()-3, sB.length());
- //append mingw lib subdir
- sB.append("lib\\gcc\\mingw32\\"); //$NON-NLS-1$
- //get all files in the directory
- File f = new File(sB.toString());
- //append the first dir
- sB.append(f.list()[0]);
- return sB.toString();
+ if (mingwBinPath != null) {
+ StringBuilder sB = new StringBuilder(mingwBinPath.toOSString());
+ // drop bin
+ if (sB.length() >= 3) {
+ sB.delete(sB.length() - 3, sB.length());
+ // append mingw lib subdir
+ sB.append("lib\\gcc\\mingw32\\"); //$NON-NLS-1$
+ // get all files in the directory
+ File f = new File(sB.toString());
+ if (f.isDirectory()) {
+ String[] list = f.list();
+ if (list.length > 0) {
+ // append the first dir
+ sB.append(list[0]);
+ return sB.toString();
+ }
+ }
+ }
+ }
+
+ return null;
}
/**
diff --git a/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/ui/preferences/LlvmPreferenceStore.java b/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/ui/preferences/LlvmPreferenceStore.java
index 35f90fd75b6..fe6842ab545 100755
--- a/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/ui/preferences/LlvmPreferenceStore.java
+++ b/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/ui/preferences/LlvmPreferenceStore.java
@@ -301,12 +301,11 @@ public class LlvmPreferenceStore {
public static void addMinGWStdLib() {
String path = LlvmEnvironmentVariableSupplier.getMinGWStdLib();
- String lib = "stdc++"; //$NON-NLS-1$
if (path != null) {
//add to preference store
appendLibraryPath(path);
// ProjectIndex.rebuiltIndex(proj);
- appendLibrary(lib);
+ appendLibrary("stdc++"); //$NON-NLS-1$
}
}

Back to the top