summaryrefslogtreecommitdiff
path: root/gdb/testsuite/lib/compiler.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/lib/compiler.c')
-rw-r--r--gdb/testsuite/lib/compiler.c57
1 files changed, 34 insertions, 23 deletions
diff --git a/gdb/testsuite/lib/compiler.c b/gdb/testsuite/lib/compiler.c
index b0f557c1a5f..b1f1f5d5f62 100644
--- a/gdb/testsuite/lib/compiler.c
+++ b/gdb/testsuite/lib/compiler.c
@@ -1,6 +1,6 @@
/* This test file is part of GDB, the GNU debugger.
- Copyright 1995, 1997, 1999, 2003 Free Software Foundation, Inc.
+ Copyright 1995, 1997, 1999, 2003, 2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,36 +19,47 @@
Please email any bugs, comments, and/or additions to this file to:
bug-gdb@prep.ai.mit.edu */
-/* Often the behavior of any particular test depends upon what compiler was
- used to compile the test. As each test is compiled, this file is
- preprocessed by the same compiler used to compile that specific test
- (different tests might be compiled by different compilers, particularly
- if compiled at different times), and used to generate a *.ci (compiler
- info) file for that test.
+/* Sometimes the behavior of a test depends upon the compiler used to
+ compile the test program. A test script can call get_compiler_info
+ to figure out the compiler version and test_compiler_info to test it.
- I.E., when callfuncs is compiled, a callfuncs.ci file will be generated,
- which can then be sourced by callfuncs.exp to give callfuncs.exp access
- to information about the compilation environment.
+ get_compiler_info runs the preprocessor on this file and then eval's
+ the result. This sets various symbols for use by test_compiler_info.
- TODO: It might be a good idea to add expect code that tests each
- definition made with 'set" to see if one already exists, and if so
- warn about conflicts if it is being set to something else. */
+ TODO: make compiler_info a local variable for get_compiler_info and
+ test_compiler_info.
-/* This needs to be kept in sync with whatis.c and gdb.exp(get_compiler_info).
- If this ends up being hairy, we could use a common header file. */
+ TODO: all clients should use test_compiler_info and should not
+ use gcc_compiled, hp_cc_compiler, or hp_aCC_compiler.
-#if defined (__STDC__) || defined (_AIX)
-set signed_keyword_not_used 0
-#else
-set signed_keyword_not_used 1
-#endif
+ TODO: purge signed_keyword_not_used. */
+
+set compiler_info ""
#if defined (__GNUC__)
-set gcc_compiled __GNUC__
set compiler_info [join {gcc __GNUC__ __GNUC_MINOR__ } -]
+set gcc_compiled __GNUC__
#else
set gcc_compiled 0
-set compiler_info ""
#endif
-return 0
+#if defined (__HP_cc)
+set compiler_info [join {hpcc __HP_cc} -]
+set hp_cc_compiler __HP_cc
+#else
+set hp_cc_compiler 0
+#endif
+
+#if defined (__HP_aCC)
+set compiler_info [join {hpacc __HP_aCC} -]
+set hp_aCC_compiler __HP_aCC
+#else
+set hp_aCC_compiler 0
+#endif
+
+/* gdb.base/whatis.exp still uses this */
+#if defined (__STDC__) || defined (_AIX)
+set signed_keyword_not_used 0
+#else
+set signed_keyword_not_used 1
+#endif