diff --git a/BeefBuild/BeefProj.toml b/BeefBuild/BeefProj.toml
index 67764f90..ee40eb4e 100644
--- a/BeefBuild/BeefProj.toml
+++ b/BeefBuild/BeefProj.toml
@@ -16,8 +16,8 @@ TargetName = "$(ProjectName)_d"
OtherLinkFlags = "$(LinkFlags) Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDEHelper64_d.lib Rpcrt4.lib Ole32.lib"
CLibType = "Dynamic"
BeefLibType = "DynamicDebug"
-DebugCommandArguments = "-workspace=."
-DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist"
+DebugCommandArguments = "-workspace=Elevated -config=Debug -platform=Win64 -verbosity=detailed -clean"
+DebugWorkingDirectory = "c:\\Beef_website\\BeefTools\\BeefInstall"
EnvironmentVars = ["_NO_DEBUG_HEAP=1"]
PreprocessorMacros = ["DEBUG", "CLI"]
@@ -89,4 +89,3 @@ BeefLibType = "Static"
Type = "Folder"
Path = "../IDE/src"
Name = "ide"
-AutoInclude = true
diff --git a/BeefRT/BeefDbg/BeefDbg.vcxproj b/BeefRT/BeefDbg/BeefDbg.vcxproj
index ed515f77..0e7c3021 100644
--- a/BeefRT/BeefDbg/BeefDbg.vcxproj
+++ b/BeefRT/BeefDbg/BeefDbg.vcxproj
@@ -588,6 +588,7 @@
false
MultiThreadedDebug
+ ProgramDatabase
Windows
@@ -612,6 +613,7 @@
false
MultiThreadedDebug
+ ProgramDatabase
Windows
@@ -636,6 +638,7 @@
false
MultiThreadedDebugDLL
+ ProgramDatabase
Windows
diff --git a/BeefRT/BeefRT.vcxproj b/BeefRT/BeefRT.vcxproj
index ae055d27..6e597827 100644
--- a/BeefRT/BeefRT.vcxproj
+++ b/BeefRT/BeefRT.vcxproj
@@ -540,6 +540,7 @@
MultiThreadedDebug
stdcpp17
false
+ ProgramDatabase
Windows
@@ -563,6 +564,7 @@
MultiThreadedDebugDLL
stdcpp17
false
+ ProgramDatabase
Windows
@@ -586,6 +588,7 @@
MultiThreadedDebug
stdcpp17
false
+ ProgramDatabase
Windows
diff --git a/IDE/BeefProj.toml b/IDE/BeefProj.toml
index e339ea8b..1bb38ef9 100644
--- a/IDE/BeefProj.toml
+++ b/IDE/BeefProj.toml
@@ -27,7 +27,7 @@ TargetDirectory = "$(WorkspaceDir)/dist"
TargetName = "BeefIDE_d"
OtherLinkFlags = "$(LinkFlags) Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDEHelper64_d.lib"
CLibType = "Dynamic"
-DebugCommandArguments = "-workspace=c:\\beef\\BeefTools\\LogViewer"
+DebugCommandArguments = "-proddir=C:\\Beef_website\\BeefTools\\BeefInstall\\StubUI"
DebugWorkingDirectory = "c:\\Beef\\IDE\\Tests\\EmptyTest"
EnvironmentVars = ["_NO_DEBUG_HEAP=1"]
@@ -56,7 +56,7 @@ TargetName = "BeefIDE_d2"
OtherLinkFlags = "$(LinkFlags) Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDEHelper64_d.lib BeefySysLib64_d.lib wsock32.lib"
CLibType = "Dynamic"
BeefLibType = "DynamicDebug"
-DebugCommandArguments = "-workspace=c:\\_beef\\testapp"
+DebugCommandArguments = "-workspace=c:\\beef\\ide\\mintest"
DebugWorkingDirectory = "$(ProjectDir)\\dist"
EnvironmentVars = ["_NO_DEBUG_HEAP=1"]
diff --git a/IDE/mintest/BeefSpace.toml b/IDE/mintest/BeefSpace.toml
index 6442203f..fc86df7b 100644
--- a/IDE/mintest/BeefSpace.toml
+++ b/IDE/mintest/BeefSpace.toml
@@ -5,6 +5,7 @@ Projects = {mintest = {Path = "."}, minlib = {Path = "minlib"}, LibA = {Path = "
StartupProject = "mintest"
[Configs.Debug.Win32]
+BfOptimizationLevel = "OgPlus"
InitLocalVariables = true
IntermediateType = "ObjectAndIRCode"
ConfigSelections = {mintest2 = {Enabled = false}}
diff --git a/IDE/mintest/src/main.bf b/IDE/mintest/src/main.bf
index 837df4f4..84fdce26 100644
--- a/IDE/mintest/src/main.bf
+++ b/IDE/mintest/src/main.bf
@@ -1,5 +1,4 @@
-
//♀Farts
//Ãjaxa̐ḁ
@@ -177,6 +176,9 @@ namespace Hey.Dude.Bro
public static int Main(String[] args)
{
+ int* iPtr = null;
+ *iPtr = 123;
+
Blurg.Hey();
/*while (true)
diff --git a/IDE/mintest/src/main3.bf b/IDE/mintest/src/main3.bf
index 7c042f08..981e9635 100644
--- a/IDE/mintest/src/main3.bf
+++ b/IDE/mintest/src/main3.bf
@@ -92,8 +92,50 @@ class Bloozer
int mA;
}
+enum Zorf : IDisposable
+{
+ case A;
+ case B;
+ public void Dispose()
+ {
+ }
+}
+
+class IFaceA
+{
+ public static void Fart()
+ {
+
+ }
+}
+
+class Zlips : IFaceA, IDisposable
+{
+ static void Fart()
+ {
+
+ }
+
+ public void Dispose()
+ {
+ PrintF("Disposed");
+ }
+}
+
+class Testo
+{
+ public this()
+ {
+ PrintF("Testo this %p\n", this);
+ }
+
+ public ~this()
+ {
+ PrintF("Testo ~this %p\n", this);
+ }
+}
class Blurg
{
@@ -107,14 +149,79 @@ class Blurg
}
- void TestIt(int a, int b, int c)
+ void TestIt(String a, String b)
{
}
+ TestStruct GetTS()
+ {
+ return .();
+ }
+
+ static void Test(int a, int b)
+ {
+
+ }
+
+ static void Test(int a, int b, int c)
+ {
+
+ }
+
+ public static void Use(T val) where T : IFaceA
+ {
+ IFaceA.Fart();
+ }
+
public static void Hey()
{
+ Loop:
+ for (int i < 10)
+ {
+ defer
+ {
+ //for ()
+ JLoop: for (int j < 5)
+ {
+ //continue Loop;
+ }
+
+ //break JLoop;
+
+ int z = 3;
+
+ /*void Zorg()
+ {
+
+ }
+
+ Zorg();*/
+ //return;
+
+ //break Loop;
+ }
+ }
+
+ defer
+ {
+ scope:: Testo();
+
+ int i = 0;
+ if (i == 0)
+ scope:: Testo();
+ if (i == 1)
+ scope:: Testo();
+ }
+
+
+ int aaaaaa = 123;
+ if (aaaaaa == 123)
+ return;//A
+
+ int bbbbbbb = 222;
+ return;//B
}
}
diff --git a/IDE/src/IDEApp.bf b/IDE/src/IDEApp.bf
index 00a786c1..846db4fc 100644
--- a/IDE/src/IDEApp.bf
+++ b/IDE/src/IDEApp.bf
@@ -9430,6 +9430,14 @@ namespace IDE
void ShowStartupFile()
{
+ bool hasSourceShown = false;
+ WithSourceViewPanels(scope [&] (panel) =>
+ {
+ hasSourceShown = true;
+ });
+ if (hasSourceShown)
+ return;
+
if (mWorkspace.mStartupProject != null)
{
bool didShow = false;
diff --git a/bin/build.bat b/bin/build.bat
index fb428128..d6e6be81 100644
--- a/bin/build.bat
+++ b/bin/build.bat
@@ -71,6 +71,6 @@ IDE\dist\BeefBuild_d -proddir=BeefTools\BeefPerf -config=Release
@EXIT /b 0
:HADERROR
-@ECHO !!!!!FAILED!!!!!
+@ECHO =================FAILED=================
@POPD
@EXIT /b %ERRORLEVEL%
diff --git a/extern/llvm_build.bat b/extern/llvm_build.bat
index 1cf551b1..0db636ff 100644
--- a/extern/llvm_build.bat
+++ b/extern/llvm_build.bat
@@ -1,26 +1,26 @@
@IF EXIST llvm-project GOTO LLVM_HAS
-git clone --config core.autocrlf=false https://github.com/llvm/llvm-project.git llvm-project_8_0_0
-pushd llvm-project_8_0_0
+git clone --config core.autocrlf=false https://github.com/llvm/llvm-project.git llvm-project_8_0_1
+pushd llvm-project_8_0_1
GOTO :LLVM_SET
:LLVM_HAS
-pushd llvm-project_8_0_0
+pushd llvm-project_8_0_1
git pull origin master
:LLVM_SET
-git checkout llvmorg-8.0.0
+git checkout llvmorg-8.0.1
popd
-@IF EXIST llvm_win64_8_0_0 GOTO HAS_CONFIG
+@IF EXIST llvm_win64_8_0_1 GOTO HAS_CONFIG
-mkdir llvm_win64_8_0_0
-cd llvm_win64_8_0_0
-cmake ../llvm-project_8_0_0/llvm -Thost=x64 -G"Visual Studio 15 2017 Win64"
+mkdir llvm_win64_8_0_1
+cd llvm_win64_8_0_1
+cmake ../llvm-project_8_0_1/llvm -Thost=x64 -G"Visual Studio 15 2017 Win64" -DLLVM_USE_CRT_DEBUG:STRING="MTd" -DLLVM_USE_CRT_RELEASE:STRING="MT"
@GOTO DOBUILD
:HAS_CONFIG
-cd llvm_win64_8_0_0
+cd llvm_win64_8_0_1
@GOTO DOBUILD
:DOBUILD
-cmake --build . --config Debug
+cmake --build . --config Debug
cmake --build . --config Release