Commit Graph

244 Commits

Author SHA1 Message Date
Steve Robb
fab3d634d9 Forward declarations of DelegateWrapper functions removed from generated headers.
#codereview robert.manuszewski

[CL 2587625 by Steve Robb in Main branch]
2015-06-15 14:06:46 -04:00
Steve Robb
0709480948 New IsSorted algorithm.
New FindSortedStringCaseInsensitive algorithm, which binary searches strings in an array.
Many UHT string tests replaced with FindSortedStringCaseInsensitive.
FPropertySpecifier moved to UHT.

#codereview robert.manuszewski

[CL 2587588 by Steve Robb in Main branch]
2015-06-15 13:40:28 -04:00
Mikolaj Sieluzycki
b32e1ebdbe Fix missing metadata (ConversionRoot) after UHT parsing.
#codereview Robert.Manuszewski

[CL 2582509 by Mikolaj Sieluzycki in Main branch]
2015-06-10 08:07:36 -04:00
Jaroslaw Palczynski
3901c239a4 UE-16079: Creating Factory in Runtime Module is not possible and has strange error.
Fixed UHT to detect that a parent class hasn't been parsed before it's child and display a better error message.

[CL 2573515 by Jaroslaw Palczynski in Main branch]
2015-06-02 02:12:11 -04:00
Steve Robb
f9352385b0 Prevent UFunctions from having array parameters.
#codereview robert.manuszewski

[CL 2570760 by Steve Robb in Main branch]
2015-05-29 13:22:43 -04:00
Robert Manuszewski
f26442b5f7 Fixing UHT not finding ScriptGeneratorPlugin
[CL 2566688 by Robert Manuszewski in Main branch]
2015-05-27 11:12:26 -04:00
Gareth Martin
3a245ca05a Disallow UClass* properties from having the "Instanced" keyword
[CL 2565043 by Gareth Martin in Main branch]
2015-05-26 11:51:04 -04:00
Mikolaj Sieluzycki
ac339b4bbb Make UEnums tightly packed.
[CL 2564612 by Mikolaj Sieluzycki in Main branch]
2015-05-26 03:36:08 -04:00
Jaroslaw Palczynski
86fb0d52a1 UE-12916: Attempting to use the GameplayTags module in a binary code project will result in build failures in Visual Studio.
[CL 2562196 by Jaroslaw Palczynski in Main branch]
2015-05-22 02:54:27 -04:00
Maciej Mroz
b5d72fa9a2 More strict restrictions related to WeakObjectPtr exposed to blueprint. No arrays on weakobjptr. No lazy pointers. UE-15033
#codereview Jon.Lietz, Zak.Middleton, Richard.Hinckley, Nick.Whiting

[CL 2561280 by Maciej Mroz in Main branch]
2015-05-21 15:24:44 -04:00
Marc Audy
958cfbab16 Re-enable warning about virtual Blueprint Implementable Events
[CL 2558570 by Marc Audy in Main branch]
2015-05-20 09:10:28 -04:00
Maciej Mroz
3785f18c8f CIS fix
[CL 2553564 by Maciej Mroz in Main branch]
2015-05-15 17:12:17 -04:00
Maciej Mroz
dd3c13654b UE-14387 Support for AssetPtr references in Blueprints
Early version:
- New BP types: Asset and AssetClass
- Now implicit conversion (in Blueprint) from Asset to Object
- Explicit conversion node: K2Node_ConvertAsset
- EX_AssetConst script instruction to store StringAssetReference in bytecode.

#codereview Nick.Whiting, Mike.Beach

[CL 2553506 by Maciej Mroz in Main branch]
2015-05-15 16:44:55 -04:00
Marc Audy
64c7f7dbd5 Use PRAGMA_ENABLE_DEPRECATION_WARNINGS instead of PRAGMA_POP in generated code
[CL 2548037 by Marc Audy in Main branch]
2015-05-12 17:44:46 -04:00
Steve Robb
07b1559496 Improved error message for missing UHT types.
#codereview robert.manuszewski

[CL 2547263 by Steve Robb in Main branch]
2015-05-12 10:49:46 -04:00
Robert Manuszewski
cff51abde4 Fixing hot-reload not updating derived classes if the base class layout changed resulting in the derived class layout changes without changing the overall class size.
[CL 2540792 by Robert Manuszewski in Main branch]
2015-05-07 05:55:26 -04:00
Mike Fricker
290f5e6d82 Miscellaneous fixes for Clang on windows
These changes allow UE4 to compile and run (in Debug) on Clang 3.7 alpha (r231657 only!)
  - Disabled editor source file discovery (crashes with Clang currently)
  - Disabled FThreadIdleStats in UnrealHeaderTool with Clang on Windows (causes link errors due to inlining bugs with Clang and DLL imports)
  - Use MSVC linker by default, even when compiling with Clang (can be tweaked with bAllowClangLinker)
  - Enabled shadow variable warnings on Windows with Clang
  - Limited max size of reflection code source files (Clang on Windows crashes with huge source files)
  - Fixed UE4 deprecation warnings not showing up when using Clang on Windows
  - Make sure initialization list order only triggers a warning on Clang for Windows

Other changes:
  - Fixed issues with pushed pragmas not getting popped (PRAGMA_ENABLE_DEPRECATION_WARNINGS)
  - Removed EMIT_DEPRECATED_WARNING_MESSAGE, wasn't used
  - Fixed various third party library includes not being treated as system headers (prevents compiler warnings)

To test Clang on Windows (beta!!):

- Get latest UE4 main branch (4.9)

- Install LLVM+Clang for Windows version r231657.  It's a quick install, you don't need to compile anything yourself.

- Open UEBuildWindows.cs, and change bCompileWithClang to true.  Be careful not to check that in.  We'll probably make this config-driven later, after the Clang toolchain gets more mature.

- Switch to Debug Editor configuration.  (See below for more info.)

- Rebuild the game or engine

Notes:

- You must use Clang r231657 (3.7.0 alpha).  There are no other releases that I've found that are able to compile UE4 successfully.  Most of the newer releases crash during compiling, and older releases aren't able to digest Windows header files well enough.

- Compiling in Development currently will not work due to bugs with Clangs handling of inlining and DLL exports.  Monolithic builds should work, though.

- Occasionally you may see runtime crashes (stack overflows or access violations) when running UE4 compiled with Clang on Windows.  These may very well be bugs in Clang (remember, we're using an alpha release of Clang 3.7.0.)  Unfortunately without better debugger support, it can be difficult to workaround these

- When debugging, you will only have functions and line numbers, no variables or parameters.  Clang only has preliminary support for Microsoft's PDB format currently.
XGE is fully supported with Clang on Windows.  Best case rebuild times I've seen are 3.5 minutes in Debug.

- Shared PCHs aren't supported yet (similar to on Mac and Linux), so iterative compile times may be slower compared to Visual C++.  However the Clang compiler is actually quite fast for rebuilds, probably because of missing debug info though.

- There may be some compiler warnings that are different between Mac/Linux and Windows.  We haven't done a line-by-line comparison yet.

- Build products and executables for Clang and VC++ overlap on disk.  So you have to rebuild to switch back and forth.  Sorry.

- Clang on Windows has a few bugs that we've had to work around.  You might see some strange things from time to time.  Every new release of Clang has different behavior on Windows.

- We still use the VC++ Linker, even when compiling using Clang.  The new Clang linker (lld.exe) can be enabled with bAllowClangLinker but it will crash when linking some modules.  It also doesn't produce usable debug symbols by Visual Studio (yet).

#codereview mikolaj.sieluzycki

[CL 2532260 by Mike Fricker in Main branch]
2015-04-30 14:24:21 -04:00
Steve Robb
1421ef3d6f Fix for the skipping of DECLARE_MULTICAST_DELEGATE declarations.
Bunch of extra checks for this kind of failure in future.
Some scope bracing fixes.

#codereview robert.manuszewski

[CL 2531944 by Steve Robb in Main branch]
2015-04-30 10:25:31 -04:00
Mikolaj Sieluzycki
1d9f070cb1 Fix for inheriting show/hide categories from parent class.
#codereview Robert.Manuszewski
#lockdown Zachary.EdgertonJones

[CL 2522495 by Mikolaj Sieluzycki in Main branch]
2015-04-23 05:02:17 -04:00
Ben Marsh
8be8504edc Remove some of the tedious layers of indirection from the plugin manager.
[CL 2521707 by Ben Marsh in Main branch]
2015-04-22 16:41:13 -04:00
Steve Robb
bbfd1b466f Shadowed variable fix.
#codereview robert.manuszewski

[CL 2521593 by Steve Robb in Main branch]
2015-04-22 15:48:01 -04:00
Marc Audy
6b9642b23a Fix UHT shadow variables
#codereview Steve.Robb, Dmitry.Rekman, Terence.Burns

[CL 2521443 by Marc Audy in Main branch]
2015-04-22 14:47:12 -04:00
Dmitry Rekman
ceeeac094f Shadowing fixes.
#codereview Steve.Robb, Marc.Audy, Jaroslaw.Palczynski

[CL 2521402 by Dmitry Rekman in Main branch]
2015-04-22 14:31:04 -04:00
Steve Robb
83203b555a Shadowed variables fixed.
#codereview robert.manuszewski,terence.burns,marc.audy

[CL 2521372 by Steve Robb in Main branch]
2015-04-22 14:15:56 -04:00
Steve Robb
3adc5f8c15 Function with a TArray<UClass*> return value added to test, to check for bad generated code in exec function.
#codereview robert.manuszewski

[CL 2520776 by Steve Robb in Main branch]
2015-04-22 05:58:59 -04:00