mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Better error for int Foo(int a) declarations #1516
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
- Const vector -> const slice implicit conversion.
|
- Const vector -> const slice implicit conversion.
|
||||||
- Slicing arrays, slices and bytes at compile time #1466.
|
- Slicing arrays, slices and bytes at compile time #1466.
|
||||||
- Better error for `int a[4] = ...`. #1518
|
- Better error for `int a[4] = ...`. #1518
|
||||||
|
- Better error for `int Foo(int a)` declarations #1516
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
- `Unsupported int[*] $x = { 1, 2, 3, 4 }` #1489.
|
- `Unsupported int[*] $x = { 1, 2, 3, 4 }` #1489.
|
||||||
|
|||||||
@@ -1134,6 +1134,14 @@ static inline Decl *parse_global_declaration(ParseContext *c)
|
|||||||
{
|
{
|
||||||
if (token_is_some_ident(c->tok))
|
if (token_is_some_ident(c->tok))
|
||||||
{
|
{
|
||||||
|
if ((c->tok == TOKEN_TYPE_IDENT || c->tok == TOKEN_CONST_IDENT) &&
|
||||||
|
c->lexer.token_type == TOKEN_LPAREN)
|
||||||
|
{
|
||||||
|
PRINT_ERROR_HERE("This looks like the beginning of a C style function declaration. "
|
||||||
|
"Unfortunately it seems to be missing the initial 'fn' and "
|
||||||
|
"the function name does not start with a lower case.");
|
||||||
|
return poisoned_decl;
|
||||||
|
}
|
||||||
PRINT_ERROR_HERE("I expected a variable name here, but global variables need to start with lower case.");
|
PRINT_ERROR_HERE("I expected a variable name here, but global variables need to start with lower case.");
|
||||||
return poisoned_decl;
|
return poisoned_decl;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ fn void! rc_crypt() @test
|
|||||||
char[200] x;
|
char[200] x;
|
||||||
String text = "The quick brown fox jumps over the lazy dog.";
|
String text = "The quick brown fox jumps over the lazy dog.";
|
||||||
rc.crypt(text, &x);
|
rc.crypt(text, &x);
|
||||||
char[*] res = x`2ac2fecdd8fbb84638e3a4
|
char[*] res = x'2ac2fecdd8fbb84638e3a4
|
||||||
820eb205cc8e29c28b9d5d
|
820eb205cc8e29c28b9d5d
|
||||||
6b2ef974f311964971c90e
|
6b2ef974f311964971c90e
|
||||||
8b9ca16467ef2dc6fc3520`;
|
8b9ca16467ef2dc6fc3520';
|
||||||
assert(res[:text.len] == x[:text.len]);
|
assert(res[:text.len] == x[:text.len]);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user