aboutsummaryrefslogtreecommitdiff
path: root/src/parsec.cpp
AgeCommit message (Collapse)Author
2017-11-14c-to-zig: handle UO_DerefAndrew Kelley
2017-11-13parsec supports do loopJosh Wolfe
2017-11-13parsec supports post increment/decrement with used resultJosh Wolfe
2017-11-13parsec supports more compound assign operatorsJosh Wolfe
2017-11-13parsec supports bitshift operatorsJosh Wolfe
2017-11-13Merge branch 'parsec' of https://github.com/dimenus/zig into dimenus-parsecAndrew Kelley
2017-11-13parsec supports C comma operatorJosh Wolfe
2017-11-13parsec supports C NULL to pointer implicit castJosh Wolfe
2017-11-13Fixed duplicate decl detection for typedefs/enumsdimenus
2017-11-01WIN32: Linking with the CRT at runtime. (#570)Dimenus
Disclaimer: Forgive me if my format sucks, I've never submitted a PR before! Fixes: #517 I added a few things to allow zig to link with the CRT properly both statically and dynamically. In Visual Studio 2017, Microsoft changed how the c-runtime is factored again. With this change, they also added a COM interface to allow you to query the respective Visual Studio instance for two of them. This does that and also falls back on a registry query for 2015 support. If you're using a Visual Studio instance older than 2015, you'll have to use the existing options available with the zig compiler. Changes are listed below along with a general description of the changes. all_types.cpp: The separate variables for msvc/kern32 have been removed and all win32 libc directory paths have been combined into a ZigList since we're querying more than two directories and differentiating one from another doesn't matter to lld. analyze.cpp: The existing functions were extended to support querying libc libs & libc headers at runtime. codegen.cpp/hpp: Microsoft uses the new 'Universal C Runtime' name now. Doesn't matter from a functionality standpoint. I left the compiler switches as is to not introduce any breaking changes. link.cpp: We're linking 4 libs and generating another in order to support the UCRT. Dynamic: msvcrt/d, vcruntime/d, ucrt/d, legacy_stdio_definitions.lib Static: libcmt/d, libvcruntime/d libucrt/d, legacy_stdio_definitions.lib main.cpp: Update function call names. os.cpp/hpp: COM/Registry interface for querying Windows UCRT/SDK. Sources: [Windows CRT](https://docs.microsoft.com/en-us/cpp/c-runtime-library/crt-library-features) [VS 2015 Breaking Changes](https://msdn.microsoft.com/en-us/library/bb531344.aspx)
2017-10-25cleaner verbose flags and zig build prints failed commandAndrew Kelley
2017-10-21parse-c: improve performanceAndrew Kelley
previously we did linear search to find existing global declarations; now we index using a hash map. building tetris went from taking 5.3 sec to 0.76 sec
2017-10-01fix parse-c testsAndrew Kelley
2017-10-01support linking against MSVC libcAndrew Kelley
2017-10-01implement standard library path searchAndrew Kelley
closes #463 See #302
2017-09-20fix chain assignment semicolonJosh Wolfe
2017-09-20chain assignmentJosh Wolfe
2017-09-21parse-c: support sizeofAndrew Kelley
2017-09-21parse-c: support implicit cast to void *Andrew Kelley
2017-09-21parse-c: support c style castAndrew Kelley
2017-09-20fix assignment needing an lvalueJosh Wolfe
2017-09-21parse-c: array access expressionAndrew Kelley
2017-09-20add sub mul div remJosh Wolfe
2017-09-21parse-c: fix undefined array literalsAndrew Kelley
2017-09-20assignJosh Wolfe
2017-09-20Merge remote-tracking branch 'origin/c-to-zig' into c-to-zigJosh Wolfe
2017-09-20bitwise binary operatorsJosh Wolfe
2017-09-21parse-c: null statementsAndrew Kelley
2017-09-21parse-c: field access expressionsAndrew Kelley
2017-09-20==, !=Josh Wolfe
2017-09-20logical and, logical orJosh Wolfe
2017-09-20Merge remote-tracking branch 'origin/c-to-zig' into c-to-zigJosh Wolfe
2017-09-20if statementJosh Wolfe
2017-09-21parse-c: support function callsAndrew Kelley
2017-09-20parse-c: fix anonymous enumsAndrew Kelley
2017-09-20Merge remote-tracking branch 'origin/c-to-zig' into c-to-zigJosh Wolfe
2017-09-20translate expr++ from c to zigJosh Wolfe
2017-09-20parsec: cleaner shifting code for fixed size typesAndrew Kelley
2017-09-20optimize >>= operator for common caseJosh Wolfe
2017-09-20all parsec tests passingAndrew Kelley
2017-09-20parsec: don't make pointless block in fn bodyAndrew Kelley
2017-09-20Merge branch 'master' into c-to-zigAndrew Kelley
2017-09-13fix up msvc stuff to make it work on linux and macos tooAndrew Kelley
2017-09-11analysis of result usedJosh Wolfe
2017-09-11oh, actually it wasJosh Wolfe
2017-09-11not my segfaultJosh Wolfe
2017-09-11Merge branch 'master' into c-to-zigJosh Wolfe
2017-09-11wip c to zig stuffJosh Wolfe
2017-09-11local varAndrew Kelley
2017-09-11Add support for MSVCJonathan Marler