summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-20 14:28:13 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-20 14:28:13 +0000
commitd5871f4048bc6a2633f1791bb0e6796f55cc5659 (patch)
tree012b91656bab137d3a81907c99ac97627aa04a7f
parent8975ab84eed09a7aab2e090edbd75e00531b7ddc (diff)
downloadgcc-d5871f4048bc6a2633f1791bb0e6796f55cc5659.tar.gz
Revert:
2004-02-19 Kazu Hirata <kazu@cs.umass.edu> * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS. * system.h (DEFAULT_SHORT_ENUMS): Poison. * config/cris/cris.h: Remove a comment about DEFAULT_SHORT_ENUMS. * config/ip2k/ip2k.h: Likewise. * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78168 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/cris/cris.h2
-rw-r--r--gcc/config/ip2k/ip2k.h6
-rw-r--r--gcc/doc/tm.texi9
-rw-r--r--gcc/opts.c4
-rw-r--r--gcc/system.h3
6 files changed, 33 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0a8495525ba..5114bfd8b6f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+2004-02-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ Revert:
+ 2004-02-19 Kazu Hirata <kazu@cs.umass.edu>
+ * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
+ * system.h (DEFAULT_SHORT_ENUMS): Poison.
+ * config/cris/cris.h: Remove a comment about
+ DEFAULT_SHORT_ENUMS.
+ * config/ip2k/ip2k.h: Likewise.
+ * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
+
2004-02-20 Mohan Embar <gnustuff@thisiscool.com>
Tom Tromey <tromey@redhat.com>
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 10147b27259..5110f9adbfb 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -567,6 +567,8 @@ extern int target_flags;
/* For compatibility and historical reasons, a char should be signed. */
#define DEFAULT_SIGNED_CHAR 1
+/* No DEFAULT_SHORT_ENUMS, please. */
+
/* Note that WCHAR_TYPE_SIZE is used in cexp.y,
where TARGET_SHORT is not available. */
#undef WCHAR_TYPE
diff --git a/gcc/config/ip2k/ip2k.h b/gcc/config/ip2k/ip2k.h
index 4685d030c1c..6457e8bb3ef 100644
--- a/gcc/config/ip2k/ip2k.h
+++ b/gcc/config/ip2k/ip2k.h
@@ -108,6 +108,12 @@ extern int target_flags;
#define DEFAULT_SIGNED_CHAR 1
+/* #define DEFAULT_SHORT_ENUMS 1
+ This was the default for the IP2k but gcc has a bug (as of 17th May
+ 2001) in the way that library calls to the memory checker functions
+ are issues that screws things up if an enum is not equivalent to
+ an int. */
+
#define SIZE_TYPE "unsigned int"
#define PTRDIFF_TYPE "int"
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index f8e39a7dda1..395eec80893 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -1605,6 +1605,15 @@ always override this default with the options @option{-fsigned-char}
and @option{-funsigned-char}.
@end defmac
+@defmac DEFAULT_SHORT_ENUMS
+A C expression to determine whether to give an @code{enum} type
+only as many bytes as it takes to represent the range of possible values
+of that type. A nonzero value means to do that; a zero value means all
+@code{enum} types should be allocated like @code{int}.
+
+If you don't define the macro, the default is 0.
+@end defmac
+
@defmac SIZE_TYPE
A C expression for a string describing the name of the data type to use
for size values. The typedef name @code{size_t} is defined using the
diff --git a/gcc/opts.c b/gcc/opts.c
index b25ba430f18..45acba3c4f7 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -594,6 +594,10 @@ decode_options (unsigned int argc, const char **argv)
/* Initialize whether `char' is signed. */
flag_signed_char = DEFAULT_SIGNED_CHAR;
+#ifdef DEFAULT_SHORT_ENUMS
+ /* Initialize how much space enums occupy, by default. */
+ flag_short_enums = DEFAULT_SHORT_ENUMS;
+#endif
/* Initialize target_flags before OPTIMIZATION_OPTIONS so the latter can
modify it. */
diff --git a/gcc/system.h b/gcc/system.h
index 644dfe9edf8..31a1b92357f 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -636,8 +636,7 @@ typedef char _Bool;
PROMOTED_MODE EXPAND_BUILTIN_VA_END \
LINKER_DOES_NOT_WORK_WITH_DWARF2 FUNCTION_ARG_KEEP_AS_REFERENCE \
GIV_SORT_CRITERION MAX_LONG_TYPE_SIZE MAX_LONG_DOUBLE_TYPE_SIZE \
- MAX_WCHAR_TYPE_SIZE GCOV_TYPE_SIZE SHARED_SECTION_ASM_OP \
- DEFAULT_SHORT_ENUMS
+ MAX_WCHAR_TYPE_SIZE GCOV_TYPE_SIZE SHARED_SECTION_ASM_OP
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \