aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2005-08-24 18:22:12 +0000
committerFariborz Jahanian <fjahanian@gcc.gnu.org>2005-08-24 18:22:12 +0000
commit1a1e6a9d4a1c8cfb8aef4d7f18fe4c68444f9317 (patch)
treeded4a0527da18fb1860de81c2bc1e0f27467e8fb /gcc
parent130869aa4280e1cfc0088c889dd96a93319b9941 (diff)
downloadgcc-1a1e6a9d4a1c8cfb8aef4d7f18fe4c68444f9317.zip
gcc-1a1e6a9d4a1c8cfb8aef4d7f18fe4c68444f9317.tar.gz
gcc-1a1e6a9d4a1c8cfb8aef4d7f18fe4c68444f9317.tar.bz2
Define __PIC__ for darwin targets.
OKed by Mike Stump. From-SVN: r103447
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/darwin.h8
-rw-r--r--gcc/config/rs6000/darwin.h1
-rw-r--r--gcc/testsuite/gcc.dg/pic-macro-define.c10
4 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b20069c..26ea0de 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-08-24 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/darwin.h: define __PIC__
+ * config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
+ TARGET_OS_CPP_BUILTINS macro.
+
2005-08-24 Paolo Bonzini <bonzini@gnu.org>
* config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index c611cb8..08abfbe 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -140,6 +140,14 @@ Boston, MA 02110-1301, USA. */
{ "-unexported_symbols_list", "-Zunexported_symbols_list" }, \
SUBTARGET_OPTION_TRANSLATE_TABLE
+#define SUBTARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ if (flag_pic) \
+ builtin_define ("__PIC__"); \
+ } \
+ while (0)
+
/* These compiler options take n arguments. */
#undef WORD_SWITCH_TAKES_ARG
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 482c6e7..ef1532d 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -55,6 +55,7 @@
builtin_define ("__POWERPC__"); \
builtin_define ("__NATURAL_ALIGNMENT__"); \
darwin_cpp_builtins (pfile); \
+ SUBTARGET_OS_CPP_BUILTINS (); \
} \
while (0)
diff --git a/gcc/testsuite/gcc.dg/pic-macro-define.c b/gcc/testsuite/gcc.dg/pic-macro-define.c
new file mode 100644
index 0000000..7bda6fe
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pic-macro-define.c
@@ -0,0 +1,10 @@
+/* { dg-do run { target "i?86-*-*-darwin" powerpc*-*-darwin* } } */
+/* { dg-options "-fPIC" } */
+
+#if defined __PIC__
+int main() {
+ return 0;
+}
+#else
+ error "NO __PIC__ DEFINED"
+#endif