aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/gdbhelpers
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2019-11-11 18:29:09 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2019-11-25 21:38:11 +0100
commit10b89d60b671642031675e839556aa63d76b634c (patch)
tree69488673ad1228b8ec35efcaf4ae7dba5c4dee69 /gdbhelpers
parent3d5151318d14884164d3a5cb440b926334879e5a (diff)
downloadsparse-dev-10b89d60b671642031675e839556aa63d76b634c.tar.gz
spec: get rid of all specifier MOD_XXX
Modifiers like MOD_CHAR, MOD_LONG, ... are used to keep track of the size/rank of integers and floats. But this is problematic: * they use 5 of the precious modifiers bits * they're not really modifiers but the base of the primitive types * a 'long double' has MOD_LONGLONG set Change this by using instead the explicit notion of 'rank'. The advanatges are: * using only 3 bits (in struct symbol) * free 5 modifier bits * follow closely the definition & rules of the standard * things like integer promotion are slightly simpler. Note: this is somewhat experimental as I'm not yet convinced that everything is correct (but the testsuite is OK and gives the same result for a defconfig + allyesconfig build of the kernel). Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'gdbhelpers')
-rw-r--r--gdbhelpers15
1 files changed, 0 insertions, 15 deletions
diff --git a/gdbhelpers b/gdbhelpers
index 8d186cee..9488a607 100644
--- a/gdbhelpers
+++ b/gdbhelpers
@@ -119,21 +119,6 @@ define gdb_show_ctype
if ($arg0->modifiers & MOD_UNSIGNED)
printf "MOD_UNSIGNED "
end
- if ($arg0->modifiers & MOD_CHAR)
- printf "MOD_CHAR "
- end
- if ($arg0->modifiers & MOD_SHORT)
- printf "MOD_SHORT "
- end
- if ($arg0->modifiers & MOD_LONG)
- printf "MOD_LONG "
- end
- if ($arg0->modifiers & MOD_LONGLONG)
- printf "MOD_LONGLONG "
- end
- if ($arg0->modifiers & MOD_LONGLONGLONG)
- printf "MOD_LONGLONGLONG "
- end
if ($arg0->modifiers & MOD_INLINE)
printf "MOD_INLINE "
end