tcg: Move definition of type TCGv

The target-dependant type TCGv must be defined in "tcg/tcg.h" before
including the tracing helper wrappers in "tcg/tcg-op.h".

It also makes more sense to define it here, where other TCG types are
defined too.

Backports commit 5d4e1a1081d3f1ec2908ff0eaebe312389971ab4 from qemu
This commit is contained in:
Lluís Vilanova 2018-02-20 23:09:02 -05:00 committed by Lioncash
parent 7db1bffdee
commit eae07f4767
No known key found for this signature in database
GPG Key ID: 4E3C3CC1031BA9C7
2 changed files with 7 additions and 2 deletions

View File

@ -756,7 +756,6 @@ static inline void tcg_gen_exit_tb(TCGContext *s, uintptr_t val)
void tcg_gen_goto_tb(TCGContext *s, unsigned idx);
#if TARGET_LONG_BITS == 32
#define TCGv TCGv_i32
#define tcg_temp_new(s) tcg_temp_new_i32(s)
#define tcg_global_reg_new tcg_global_reg_new_i32
#define tcg_global_mem_new tcg_global_mem_new_i32
@ -768,7 +767,6 @@ void tcg_gen_goto_tb(TCGContext *s, unsigned idx);
#define tcg_gen_qemu_ld_tl tcg_gen_qemu_ld_i32
#define tcg_gen_qemu_st_tl tcg_gen_qemu_st_i32
#else
#define TCGv TCGv_i64
#define tcg_temp_new(s) tcg_temp_new_i64(s)
#define tcg_global_reg_new tcg_global_reg_new_i64
#define tcg_global_mem_new tcg_global_mem_new_i64

View File

@ -312,6 +312,13 @@ typedef struct TCGv_i32_d *TCGv_i32;
typedef struct TCGv_i64_d *TCGv_i64;
typedef struct TCGv_ptr_d *TCGv_ptr;
typedef TCGv_ptr TCGv_env;
#if TARGET_LONG_BITS == 32
#define TCGv TCGv_i32
#elif TARGET_LONG_BITS == 64
#define TCGv TCGv_i64
#else
#error Unhandled TARGET_LONG_BITS value
#endif
static inline TCGv_i32 QEMU_ARTIFICIAL MAKE_TCGV_I32(intptr_t i)
{