aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
AgeCommit message (Collapse)Author
2017-10-14build-exe allows direct export of WinMainCRTStartupAndrew Kelley
2017-09-30remove zigrtAndrew Kelley
adds test case for #394 partially reverts a32b5929ccf8cbf79396d8924097a1a911985dac
2017-09-24windows gui hello worldAndrew Kelley
2017-09-23improvements to windows supportAndrew Kelley
See #302
2017-09-20parsec: cleaner shifting code for fixed size typesAndrew Kelley
2017-09-17fix crash when enum has invalid fieldAndrew Kelley
closes #468
2017-09-14depend on embedded SoftFloat-3d instead of __float128Andrew Kelley
See #302 See #467
2017-09-11Add support for MSVCJonathan Marler
2017-09-10fix uninitialized variableAndrew Kelley
2017-09-09more compile errors for non-const variables of thingsAndrew Kelley
closes #456
2017-09-05rename parseh to parsecAndrew Kelley
2017-09-05fix void return node and param name nodes, fix dupe macrosAndrew Kelley
all tests passing
2017-09-01c-to-zig: return statementAndrew Kelley
2017-08-30align syntax: align(4) instead of align 4Andrew Kelley
closes #37
2017-08-30generic functions can access comptime args in align valueAndrew Kelley
See #37
2017-08-29more alignment improvementsAndrew Kelley
* add alignment capability for fn protos * add @alignCast * fix some ast rendering code * fix some ir rendering code * add error for pointer cast increasing alignment * update allocators in std to correctly align See #37
2017-08-29ptrCast gives compile error for increasing alignmentAndrew Kelley
See #37
2017-08-29prevent implicitly increasing pointer alignmentAndrew Kelley
See #37
2017-08-29pass all tests without triggering assertionsAndrew Kelley
fixes tests when targeting darwin
2017-08-29introduce align keywordAndrew Kelley
* remove `@setGlobalAlign` * add align keyword for setting alignment on functions and variables. * loads and stores use alignment from pointer * memcpy, memset use alignment from pointer * add syntax for pointer alignment * slices can have volatile * add u2, i2 primitives * ignore preferred align and use abi align everywhere * back to only having alignOf builtin. preferredAlignOf is too tricky to be useful. See #432. Partial revert of e726925e802eddab53cbfd9aacbc5eefe95c356f. See #37
2017-08-28Merge branch 'embed-lld'Andrew Kelley
Zig now depends on LLVM 5.0.0. For the latest version that supports LLVM 4.0.1, use 2a49c876be76dc98996a3251310728ad32b22363. Unfortunately we had to embed LLD into Zig due to some MACH-O related LLD bugs. One of them is already upstream and another is awaiting feedback on the llvm-dev mailing list. You can use cmake option -DZIG_FORCE_EXTERNAL_LLD=ON to still use external LLD if you want to live with the MACH-O bugs or if your system LLD is patched. Closes #273
2017-08-27macos passing all tests except for building a shared libraryAndrew Kelley
see #273
2017-08-27progress toward tests passing on MacOSAndrew Kelley
2017-08-26codegen for enums chooses best order of tag and union fieldsAndrew Kelley
closes #396
2017-08-26fixups from previous commitAndrew Kelley
See #396
2017-08-26use most_aligned_member+padding to represent enum unionsscurest
2017-08-20fix not propagating parseh aliases through pub use declsAndrew Kelley
2017-08-20compile-time f32, f64 operations are now correctly lossyAndrew Kelley
previously we used the bigfloat abstraction to do all compile-time float math. but runtime code and comptime code are supposed to get the same result. so now if you add a f32 to a f32 at compile time it does it with f32 math instead of the bigfloat. float literals still get the bigfloat math. closes #424
2017-08-19add compile error for globally shadowing a primitive typeAndrew Kelley
closes #423
2017-08-19bit shifting safetyAndrew Kelley
* add u3, u4, u5, u6, u7 and i3, i4, i5, i6, i7 * shift operations shift amount parameter type is integer with log2 bit width of other param - This enforces not violating undefined behavior on shift amount >= bit width with the type system * clean up math.log, math.ln, math.log2, math.log10 closes #403
2017-08-17fix wrong value for clz, ctz at compile timeAndrew Kelley
closes #418 also make clz, ctz return smaller integer bit widths and use smaller integer bit widths for enum tag types
2017-08-16compiler_rt implementations for __fixuns* functionsAndrew Kelley
* add u128 and i128 integer types * add f128 floating point type * implement big integer multiplication (See #405)
2017-08-06fix constant debug info when number literal is 0Andrew Kelley
2017-08-05fix initializing undefined and crash when casting to invalid typeAndrew Kelley
closes #408
2017-07-08better bigint/bigfloat implementationAndrew Kelley
2017-06-14progress toward windows hello world workingAndrew Kelley
2017-06-03compileError builtin includes "referenced by" notesAndrew Kelley
to help track down the cause closes #278
2017-05-27const global values can reference each otherAndrew Kelley
Before, if you did something like: ``` const hi1 = "hi"; const hi2 = hi1; ``` This would create the "hi" data twice in the built object. But since the value is const we don't have to duplicate the data, now we take advantage of this fact. closes #336
2017-05-26implicitly cast by value var args parameters to const referencesAndrew Kelley
See #336
2017-05-26fix segfault with array of generic functionsAndrew Kelley
closes #377
2017-05-25fix segfault with array of variadic functionsAndrew Kelley
closes #377
2017-05-23building with mingw for windowsAndrew Kelley
2017-05-21add error for break/continue exiting defer expressionAndrew Kelley
See #284
2017-05-17typeId builtin instead of isInteger, isFloat, etcAndrew Kelley
closes #373
2017-05-16fix printf format specifierAndrew Kelley
2017-05-09inline function call with builtin function instead...Andrew Kelley
...of special syntax. partially reverts 41144a8566a6fbd779403f6b69424bb640c94a7f closes #306
2017-05-09ability to slice ptr to hard coded integer at comptimeAndrew Kelley
closes #369
2017-05-07switch expression - add compile errorsAndrew Kelley
* for duplicate integer value * for missing integer values * for missing else prong see #43
2017-05-06builtin functions for division and remainder divisionAndrew Kelley
* add `@divTrunc` and `@divFloor` functions * add `@rem` and `@mod` functions * add compile error for `/` and `%` with signed integers * add `.bit_count` for float primitive types closes #217
2017-05-03add compile error for shadowing variableAndrew Kelley
closes #360