* config/i386/pmm_malloc.h (posix_memalign): If __cplusplus,
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jan 2006 08:17:15 +0000 (08:17 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jan 2006 08:17:15 +0000 (08:17 +0000)
make the prototype extern "C" and add throw ().

* g++.dg/other/i386-2.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109318 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/pmm_malloc.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/other/i386-2.C [new file with mode: 0644]

index 754f14f..90d37de 100644 (file)
@@ -1,5 +1,8 @@
 2006-01-04  Jakub Jelinek  <jakub@redhat.com>
 
+       * config/i386/pmm_malloc.h (posix_memalign): If __cplusplus,
+       make the prototype extern "C" and add throw ().
+
        PR target/25554
        * config/i386/i386.md (testqi_ext_3): Ensure len is positive
        and pos non-negative and pos + len <= 32.
index ae09aad..744ac6d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2006 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
 
 /* We can't depend on <stdlib.h> since the prototype of posix_memalign
    may not be visible.  */
+#ifndef __cplusplus
 extern int posix_memalign (void **, size_t, size_t);
+#else
+extern "C" int posix_memalign (void **, size_t, size_t) throw ();
+#endif
 
 static __inline void *
 _mm_malloc (size_t size, size_t alignment)
index 7dda6a1..1e33d4c 100644 (file)
@@ -1,5 +1,7 @@
 2006-01-04  Jakub Jelinek  <jakub@redhat.com>
 
+       * g++.dg/other/i386-2.C: New test.
+
        PR target/25554
        * gcc.c-torture/compile/20051228-1.c: New test.
 
diff --git a/gcc/testsuite/g++.dg/other/i386-2.C b/gcc/testsuite/g++.dg/other/i386-2.C
new file mode 100644 (file)
index 0000000..b988f9d
--- /dev/null
@@ -0,0 +1,12 @@
+/* Test that {,x,e,p}mmintrin.h and mm_malloc.h are
+   usable with -pedantic-errors.  */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-pedantic-errors -msse3" } */
+
+#include <mmintrin.h>
+#include <xmmintrin.h>
+#include <emmintrin.h>
+#include <pmmintrin.h>
+#include <mm_malloc.h>
+
+int dummy;