mirror of
https://github.com/mirror/tinycc.git
synced 2026-08-26 11:43:27 +08:00
div fixes
- Makefile: don't produce unknown targets - libtcc.c: tcc_set_linker(): improve parser - tcc.h: tcc_internal_error(): don't record __FILE__ (for privacy reasons) - tccgen.c: - reject pointer + float operation - use 'int level' for builtin_frame/return_address - save_regs(): remove VT_ARRAY (confuses riscv64-gen) - tccpe.c: store just basename of loaded dlls (rather than full path) - tccpp.c: remove unused TAL defines - *-link.c: add missing ST_FUNC - i386-gen.c: fix thiscall - riscv64-asm.c/arm-asm.c: stay simple C89 - avoid .designators, decl after statement - avoid multiple instances of same static const objects - use skip() instead of next() & expect() - use cstr_printf() instead of snprintf() & cstr_cat() - tcc_error(), expect(): never return
This commit is contained in:
@@ -483,4 +483,11 @@ struct A {
|
||||
# if X(1,2) //undefined function macro
|
||||
# endif
|
||||
|
||||
#elif defined test_pointer_plus_double
|
||||
|
||||
int *invalid_operation(int *p, double d)
|
||||
{
|
||||
return p + d;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -237,3 +237,6 @@ arg[1] = "Y"
|
||||
|
||||
[test_pp_error_2]
|
||||
60_errors_and_warnings.c:483: error: bad preprocessor expression: #if 0 ( 1 , 2 )
|
||||
|
||||
[test_pointer_plus_double]
|
||||
60_errors_and_warnings.c:490: error: invalid operand types for binary operation
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
#ifndef __thiscall
|
||||
#define __thiscall __attribute__((thiscall))
|
||||
#endif
|
||||
#ifndef __cdecl
|
||||
#define __cdecl __attribute__((cdecl))
|
||||
#endif
|
||||
#ifndef __stdcall
|
||||
#define __stdcall __attribute__((stdcall))
|
||||
#endif
|
||||
|
||||
void ( __thiscall * const thisCall1 ) ( void * _this, int a ) = ( void ( __thiscall * ) ( void * _this, int a ) ) 0x4788a0;
|
||||
|
||||
int main() {
|
||||
thisCall1((void*) 0xDEADBEEF, 1000);
|
||||
|
||||
return 1;
|
||||
}
|
||||
Reference in New Issue
Block a user