]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
darwin.c (darwin_assemble_visibility): Treat VISIBILITY_INTERNAL as hidden.
authorJason Merrill <jason@redhat.com>
Thu, 4 Oct 2012 15:38:43 +0000 (11:38 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 4 Oct 2012 15:38:43 +0000 (11:38 -0400)
* config/darwin.c (darwin_assemble_visibility): Treat
VISIBILITY_INTERNAL as hidden.

* config/darwin-c.c (find_subframework_file): Add missing const.
(framework_construct_pathname): Likewise.

From-SVN: r192085

gcc/ChangeLog
gcc/config/darwin-c.c
gcc/config/darwin.c
gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C
gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C

index 959086c98b1c3de789e5bcb7152b9274f1f0d463..5bffbc4fa0552c34bb1d579ea2cab24d458f2605 100644 (file)
@@ -1,3 +1,11 @@
+2012-10-04  Jason Merrill  <jason@redhat.com>
+
+       * config/darwin.c (darwin_assemble_visibility): Treat
+       VISIBILITY_INTERNAL as hidden.
+
+       * config/darwin-c.c (find_subframework_file): Add missing const.
+       (framework_construct_pathname): Likewise.
+
 2012-10-04  Florian Weimer  <fweimer@redhat.com>
 
        * doc/cpp.texi (Pragmas): Document #pragma GCC warning, #pragma
index a642f66c40dc0ec876e4fb9b2d949cdf06e75756..8e48c30575af03117c6c41ee98ed200e893b1326 100644 (file)
@@ -267,7 +267,7 @@ static struct framework_header framework_header_dirs[] = {
 static char *
 framework_construct_pathname (const char *fname, cpp_dir *dir)
 {
-  char *buf;
+  const char *buf;
   size_t fname_len, frname_len;
   cpp_dir *fast_dir;
   char *frname;
@@ -344,7 +344,7 @@ find_subframework_file (const char *fname, const char *pname)
 {
   char *sfrname;
   const char *dot_framework = ".framework/";
-  char *bufptr;
+  const char *bufptr;
   int sfrname_len, i, fname_len;
   struct cpp_dir *fast_dir;
   static struct cpp_dir subframe_dir;
index 54c92d16b7583371928378f48365ae34b24f1f0d..5a9f50a9fdbf497547ea245cfa582bcd3bcddbf6 100644 (file)
@@ -2623,7 +2623,7 @@ darwin_assemble_visibility (tree decl, int vis)
 {
   if (vis == VISIBILITY_DEFAULT)
     ;
-  else if (vis == VISIBILITY_HIDDEN)
+  else if (vis == VISIBILITY_HIDDEN || vis == VISIBILITY_INTERNAL)
     {
       fputs ("\t.private_extern ", asm_out_file);
       assemble_name (asm_out_file,
@@ -2631,7 +2631,7 @@ darwin_assemble_visibility (tree decl, int vis)
       fputs ("\n", asm_out_file);
     }
   else
-    warning (OPT_Wattributes, "internal and protected visibility attributes "
+    warning (OPT_Wattributes, "protected visibility attribute "
             "not supported in this configuration; ignored");
 }
 
index 4300d1ab16ac0e40a09c6b05f80a5c39b715f519..b8133909a7f3bc6ac3c5fe1f21ddca35e3dd1255 100644 (file)
@@ -1,7 +1,7 @@
 /* Test that #pragma GCC visibility does not override class member specific settings. */
 /* { dg-do compile } */
 /* { dg-require-visibility "internal" } */
-/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" { target { ! *-*-solaris2* } } } } */
+/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" { target { ! *-*-solaris2* } { ! *-*-darwin* } } } }*/
 /* { dg-final { scan-assembler "\\.(internal|hidden).*Foo.methodEv" { target *-*-solaris2* } } } */
 
 #pragma GCC visibility push(hidden)
index f566cd2f4191099cb8933c3742d2687ac000fd8f..3ceaf4a2523589cd51dac27edb1156dea0ca87d7 100644 (file)
@@ -1,7 +1,7 @@
 /* Test that #pragma GCC visibility does not override class member specific settings. */
 /* { dg-do compile } */
 /* { dg-require-visibility "internal" } */
-/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" { target { ! *-*-solaris2* } } } } */
+/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" { target { ! *-*-solaris2* } { ! *-*-darwin* } } } } */
 /* { dg-final { scan-assembler "\\.(internal|hidden).*Foo.methodEv" { target *-*-solaris2* } } } */
 
 #pragma GCC visibility push(hidden)