mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
0.5.4: Hash variables accept designated initializers. @safemacro overrides the need for @ in macro names. Fixes to macro context evaluation. Updated allocator api. Removed install_win_reqs.bat. Deterministic @init for MacOS. Fixed temp memory issue with formatter. Support LLVM 19. Add support to compare bitstructs using == and !=. Support Windows .def files. Removed invalid grammar from grammar.y. Support compile time folding of &|^~ for bitstructs. output project setting now respected. Fix issue where constants were not properly constant folded. Add temp_push/pop. Aliased declarations caused errors when used in initializers. Fix export output. Fix of const ternary #1118. Fix of $$MODULE in nested macros #1117. Fix debug info on globals. out now correctly detects subscript[] use #1116. Lateral implicit imports removed. Default to '.' if no libdir is specified. Improved error messages for --lib. Fix raylib snake example. Overzealous local escape check corrected #1127. Improved yacc grammar #1128. --linker argument #1067. Fixes to the matrix operations #1130. Added GenericList.
This commit is contained in:
committed by
Christoffer Lerno
parent
c673101bbb
commit
748c737e8f
24
test/test_suite/functions/pointer_escape.c3
Normal file
24
test/test_suite/functions/pointer_escape.c3
Normal file
@@ -0,0 +1,24 @@
|
||||
int[*] foo = {1,2,3};
|
||||
fn int* bar(int index)
|
||||
{
|
||||
int* array = &foo;
|
||||
return &array[index];
|
||||
}
|
||||
|
||||
fn int* baz(int index)
|
||||
{
|
||||
int[] array = &foo;
|
||||
return &array[index];
|
||||
}
|
||||
|
||||
fn int* abc(int index)
|
||||
{
|
||||
int[3] array;
|
||||
return &array[1]; // #error: invalid once the function returns
|
||||
}
|
||||
|
||||
fn int* abc2(int index)
|
||||
{
|
||||
int val;
|
||||
return &val; // #error: invalid once the function returns
|
||||
}
|
||||
Reference in New Issue
Block a user