mpers.awk: avoid redefinition of mpers_ptr_t
Older versions of gcc like those found in RHEL6 fail with the following diagnostics: In file included from block.c:32: ./mpers-m32/struct_blk_user_trace_setup.h:2: error: redefinition of typedef ‘mpers_ptr_t’ mpers_type.h:44: note: previous declaration of ‘mpers_ptr_t’ was here * mpers.awk (END): Add #ifndef guard to mpers_ptr_t typedef. * mpers_test.sh: Update expected output.
This commit is contained in:
@ -234,8 +234,12 @@ END {
|
||||
PROCINFO["sorted_in"] = "compare_indices"
|
||||
for (item in array) {
|
||||
if (array[item]["special"] == "pointer_type") {
|
||||
print "typedef uint" \
|
||||
8 * array_get(item, "byte_size") "_t mpers_ptr_t;"
|
||||
mpers_ptr_t = \
|
||||
"uint" 8 * array_get(item, "byte_size") "_t"
|
||||
print "#ifndef mpers_ptr_t_is_" mpers_ptr_t
|
||||
print "typedef " mpers_ptr_t " mpers_ptr_t;"
|
||||
print "#define mpers_ptr_t_is_" mpers_ptr_t
|
||||
print "#endif"
|
||||
break
|
||||
}
|
||||
}
|
||||
|
@ -81,9 +81,13 @@ typedef struct {
|
||||
EOF
|
||||
|
||||
expected="$mpers_dir/sample.expected"
|
||||
mpers_ptr_t="uint${size}_t"
|
||||
cat > "$expected" <<EOF
|
||||
#include <inttypes.h>
|
||||
typedef uint${size}_t mpers_ptr_t;
|
||||
#ifndef mpers_ptr_t_is_${mpers_ptr_t}
|
||||
typedef ${mpers_ptr_t} mpers_ptr_t;
|
||||
#define mpers_ptr_t_is_${mpers_ptr_t}
|
||||
#endif
|
||||
typedef
|
||||
struct {
|
||||
struct {
|
||||
|
Reference in New Issue
Block a user