summaryrefslogtreecommitdiff
path: root/src/md
AgeCommit message (Collapse)AuthorFilesLines
2018-03-24Delete unused files from src/inc (#17186)Jan Kotas1-1/+0
2018-02-17delete unused mirror files (#16423)Sergey Andreenko33-33/+0
2018-01-29Fix metadata format error checking (#16036)Jan Kotas1-0/+5
NextStream_Verify can return NULL for invalid file. Report error for it instead of AVing. Similar check is around the other calls to NextStream_Verify. It was missing here for some reason.
2018-01-23Delete dead code (#15990)Jan Kotas1-7/+0
2017-10-27Delete dead code (#14703)Jan Kotas3-7633/+0
2017-05-22[x86/Linux] Use CDECL (instead of STDCALL) as STDMETHODCALLTYPEJonghyun Park2-3/+3
2017-05-17Finish deleting dead CAS code from CoreLib (#11436)Jan Kotas1-137/+0
Fixes #9321 and deletes CleanupToDoList.cs Delete unmanaged security implementation
2017-05-09Fix static analysis issues (#11466)Koundinya Veluri2-12/+20
Fix static analysis issues
2017-04-03Fix InternalsVisibleTo when it references an assembly with some ↵Koundinya Veluri1-1/+1
DebuggableAttribute flags (#10664) Fixes #3541 - Mask out the DebuggableAttribute bits from when comparing assembly spec flags for matching an InternalsVisibleTo reference to an assembly
2017-03-25Typo correction (#10482)Ofer Zelig1-1/+1
2017-03-23Delete NewMergerJan Kotas11-7101/+1
This was only used as part of C++ link.exe for IJW
2017-03-23Enable FEATURE_METADATA_EMIT_ALL for non-crossgen compilesBruce Forstall6-3/+12
This allows ilasm roundtrip test to work with NetStandard 2.0 changes where C# compiler emits a ".permissionset" attribute into the assembly that ildasm emits. This define enables the APIs that ilasm uses to process this attribute. Re-enable ilasm roundtrip test. Fixes #8418
2017-02-14Remove never defined FEATURE_METADATA_STANDALONE_WINRTdanmosemsft10-51/+19
2017-02-14Remove never defined FEATURE_METADATA_STANDALONE_WINRT_ROdanmosemsft4-59/+0
2017-02-14Remove never defined FEATURE_INCLUDE_ALL_INTERFACESdanmosemsft2-10/+0
2017-02-12Remove never defined FEATURE_FUSIONdanmosemsft5-2466/+0
2017-02-12Remove never defined FEATURE_COMINTEROP_TLB_SUPPORT and files that require ↵danmosemsft3-8837/+0
it to be defined
2017-02-10Remove always defined FEATURE_CORECLRdanmosemsft12-276/+0
2016-12-26Remove files related to legacy build system (#8723)Robert43-1089/+0
2016-12-23Remove all usage of vsnprintf (#8709)Jan Vorlicek1-1/+4
This change removes all usages of vsnprintf and modifies runtime to not to use vsnprintf or _vsnprintf I've also fixed two issues in PAL TRACE function string format parameters that caused crashes when I was trying to run all PAL tests with PAL tracing enabled.
2016-12-01fix permissive C++ code (MSVC /permissive-) (#8337)Phil Christensen3-33/+49
* fix permissive C++ code (MSVC /permissive-) These were found by the C++ compiler group when doing "Real world code" build tests using /permissive-. We are sharing these with you to help you clean up your code before the new version of the compiler comes out. For more information on /permissive- see https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/. ---------------------------- Under /permissive-, skipping the initialization of a variable is not allowed. As an extension the compiler allowed this when there was no destructor for the type. void func(bool b) { if(b) goto END; int value = 0; //error C2362: initialization of 'value' is skipped by 'goto END' int array[10]; //Okay, not initialized. //... value used here END: return; } Fix 1) Limit the scope of value: { int value = 0; //... value used here } END: Fix 2) Initialize/declare value before the 'goto' int value = 0; if(b) goto END; //... value used here END: Fix 3) Don't initialize value in the variable declaration. int value; value = 0 //... value used here END: ------------------- Alternative token representations. The following are reserved as alternative representations for operators: and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq //Can't use reserved names for variables: static int and = 0; // Change name (possibly to 'and_') void func() { _asm { xor edx,edx // xor is reserved, change to uppercase XOR or eax,eax // or is reserved, change to uppercase OR } } * Apply formatting patch. * fixes from code review. I addressed @janvorli requests from the pull request code review.
2016-10-28C++ conformance. (building with /permissive-) (#7855)Phil Christensen1-1/+1
These issues were found when building with the /permissive- flag in the latest version of MSVC. No tests were added/modified because this does not change any behavior. There are a few types of language conformance issues fixed in this: 1) Strict string conversion (this is also covered by the /Zc:strictStrings flag) The 'const' is not implicitly dropped by string literals, which means the following is not allowed: char str = "const string literal"; //error: cannot convert a 'const char' to a 'char*' This fix to to make str 'const char*'. (This can have a domino effect depending on where str is used) 2) Fully qualified inline declarations members inside class struct A { void A::f() { } // Error: illegal qualified name in member declaration, remove redundant 'A::' to fix }; 3) MSVC by default will allows name lookup in a dependent base. This is disabled by /permissive- template <class T> struct B { void f(); }; template <class T> struct D : public B<T> //B is a dependent base because its type depends on the type of T in D<T>. { //One possible fix is to uncomment the following line. If this //were a type we should have 'using typename'... //using B<T>::f; void g() { f(); //Error: identifier not found, one possible fix is change it to 'this->f();' } }; void h() { D<int> d; d.g(); } 4) Warning 4800 has been removed in version 19.1 (1910) of the compiler. For backwards compatability, surround the usage of 4800. This is not related to C++ conformance. #if _MSC_VER <= 1900 // 'BOOL' forcing value to bool 'true' or 'false' #pragma warning(disable: 4800) #endif
2016-07-23The call to printf expects a string argument, but the actual argument was of ↵vinnyrom1-1/+1
class type 'PathString'. (#6422)
2016-05-25WinMD Adapter should only lookup mscorlib in WinMD referencesGaurav Khanna1-1/+3
2016-05-16Initial change to support System.Private.CoreLib.dll as Core Library.Gaurav Khanna1-1/+1
2016-05-07Remove FEATURE_HOSTED_BINDER definition (#4838)Jan Vorlicek1-4/+0
The FEATURE_HOSTED_BINDER is always on so remove it from all the sources.
2016-04-29Add query handling of IUnknown for MergeTokenManager and CMapToken (#4563)shion1-10/+38
2016-03-21Delete legacy netcf compat support (part 1)Jan Kotas1-10/+0
2016-03-09Delete dead codeJan Kotas1-17/+0
- Delete BINDER, STANDALONE_BINDER and MDIL ifdefs
2016-02-29Support long paths in CoreCLR runtime on WindowsJohn Chen (JOCHEN7)2-10/+8
The CoreCLR runtime is updated to support long file paths on Windows. Pending updates to mscorlib.dll, the following scenarios are supported: * Run managed apps from a long path. * Load CoreCLR runtime and framework from a long path. * Load user assemblies from a long path. * Run CrossGen from a long path, with its input/output from a long path. * Generate debug log file at a long path. The following scenarios are not yet supported, and will be fixed in future commits: * Mscorlib.dll and framework assemblies are not yet long path compatible. Note that until mscorlib.dll is fixed, most of the runtime changes can't actually be used. * Support on non-Windows platforms. * Support for debugging and error reporting. * Tools such as ilasm or ildasm.
2016-02-19This Change Adds initial Support for LongFiles in the VM,Rama Krishnan Raghupathy3-80/+64
They are: 1. Wrappers for OS APIs which take or return PATHS 2. Fixing the usage of following Api's: GetEnvironmentVariableW SearchPathW GetShortPathNameW GetLongPathNameW GetModuleFileName Work remaining: Remove fixed size buffers in the VM
2016-01-27Update license headersdotnet-bot137-548/+411
2016-01-21FIx the incremental build for WindowsJan Vorlicek22-22/+22
Conflicts: build.cmd src/dlls/clretwrc/CMakeLists.txt Cleanup
2015-11-23Delete code under !NO_CRT defineJan Kotas9-16/+5
It is always defined - even in internal builds
2015-10-29Port .NET Framework 4.6.1 changesJan Kotas1-0/+4
Core runtime and GC changes from https://github.com/Microsoft/dotnet/blob/master/docs/releases/net461/dotnet461-changes.md that are not in CoreCLR yet [tfs-changeset: 1543382]
2015-10-07correct word spellingあまみや ゆうこ1-1/+1
2015-09-25Fix for 134453: fix prefast warningsRahul Kumar5-11/+30
[tfs-changeset: 1529946]
2015-09-08Replace MAX_PATH with new defines, rest of coreclr.Lakshmi Priya Sekar2-4/+4
2015-08-26Return error upon attemping to create named objects in PAL.Koundinya Veluri2-9/+3
Update PAL APIs that create named objects (mutex, semaphore, event, file mapping) to return a not-supported error code. It was decided to not support cross-process synchronization in PAL at present time due to complexities involved in reliably emulating Windows' behavior. @stephentoub has already made changes on the FX side to throw PlatformNotSupportedException in these cases. Related to issue #1237.
2015-07-29Fix prefast warnings in CLR codeEugene Zemtsov2-2/+2
[tfs-changeset: 1507366]
2015-06-05Fix bug: CoreCLR debugger couldn't make more than one EnC edit to a method. ↵Eugene Zemtsov1-1/+5
Second and all further attempts failed, moreover sometimes VS debugger would crash with AV trying to do EnC. (TFS bug #1172983) [tfs-changeset: 1483755]
2015-05-26Fix warning no-overloaded-virtualJan Vorlicek2-0/+11
This warning is issued when a derived class defines a virtual method with the same name as its base class, but different set of parameters. The base class virtual method is hidden in that case. Clang issues a warning here. To fix the warning, I have added "using Base::Method" to the private section of all the derived classes.
2015-05-26Fix the virtual destructor warningJan Vorlicek8-7/+10
This change changes destructors to be virtual or adds virtual ones where they were missing based on the clang warnings.
2015-05-07Merge changes from parent branchdotnet-bot4-10/+64
[tfs-changeset: 1466545]
2015-04-28Build crossgen for LinuxJohn Chen (JOCHEN7)4-10/+4
- Crossgen is now built as part of coreclr - Crossgen successfully compiles mscorlib.dll - Resulting mscorlib.ni.dll not yet usable
2015-04-28Updating WinRT Projections to use FacadesRyan Byington2-8/+8
WinRT projections currently depend on implementation assemblies like System.Uri living in System.dll. System.Uri has already been moved out of System.dll to Internal.Uri.dll which breaks the projection for System.Uri. This change updates the WinRT projection to understand Facades like System.Runtime to resolve System.Uri. When we load a type like System.Uri we need to know if it is a projected type. We currently do this by comparing the namespace plus type name and assembly however this only works because we know the implementation assembly at compile time. I am changing it so that we use ClassLoader to resolve the typedef and assembly and compare the resolved assembly with the current one. Also removing the cached assemblies as they don’t add a lot of value anymore. [tfs-changeset: 1461733]
2015-04-21Update framework assembly for System.Uri WinRT projection from System.dll to ↵Ryan Byington2-1/+4
Internal.Uri.dll For NetCore for CoreCLR System.Uri was moved from System.dll to Internal.Uri.dll. This change updates the WinRT projection for this change. This is a temporary workaround while we investigate a complete fix and will break phone and .NET 4.6 scenarios. [tfs-changeset: 1457678]
2015-04-20Enable build crossgen.exe from build.cmd.John Chen10-2/+38
Adds and modifies CMakeLists.txt files to enable building of crossgen.exe from build.cmd for x64 processor on Windows. Also adds a step in build.cmd to generate native image for mscorlib. [tfs-changeset: 1456454]
2015-04-01Fix next round of warning typesJan Vorlicek1-8/+0
This change fixes the following warnings: 1) Assignment in a condition should be wrapped in () 2) Priority of && / || should be indicated by parentheses. 3) Unknown #pragma optimize ifdefed out for non MSVC 4) Unused functions deleted or put under #ifdef 5) Extra tokens warning disabling moved to the CMakeLists.txt in the src/inc 6) Self assignment of a member or local variable 7) Assigning ~0 to a bitfield member that was just 8 bit wide It also fixes a bug in the STRESS_LOGxx macro invocation in exceptionhandling.cpp and stackwalk.cpp related to recent adding the DBG_ADDR macro usage. This macro expanded a single parameter into two expressions to extract high / low 32 bits separately. But the STRESS_LOGxx parameters are passed to the StressLog::LogMsg method as follows: (void*)(size_t)(data1) That means that the expanded pair x, y would be inserted as data 1 and that leads to ignoring the x due to the comma operator.
2015-03-26Fix about 12 kinds of warnings over the codebaseJan Vorlicek3-3/+7
This change fixes: 1) Member initiazalization order in class constructor didn't correspond to the member order in some classes 2) Objects with vtables were copied via memcpy. While this is intentional, cast of the pointers to void* is required to silence clang warning 3) Switch case statements containing values of different enums 4) Casting int to pointer 5) Missing return value in methods with _ASSERTE 6) Class name classifier on methods in the .h 7) Invalid position of the DECLSPEC_ALIGN at few places - it had no effect 8) Invalid position of the 'used' attribute 9) Issue with comparing holders to NULL 10) Operator 'new' returning NULL without being marked with throw() or noexcept 11) Variables marked as 'extern' at the declaration / initialization place 12) Data structure declared as struct at one place and forward declared as class at another Some disabled warnings were no longer happening, so options to disable them were removed too