]> gcc.gnu.org Git - gcc.git/commitdiff
cxxabi.h (_GLIBCXX_NOTHROW): New macro.
authorMark Mitchell <mmitchel@gcc.gnu.org>
Wed, 9 May 2007 05:21:36 +0000 (05:21 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Wed, 9 May 2007 05:21:36 +0000 (05:21 +0000)
* libstdc++-v3/libsupc++/cxxabi.h (_GLIBCXX_NOTHROW): New macro.
(__cxa_atexit): Use it.

* testsuite/lib/libstdc++.exp (v3_target_compile_as_c): For
installed-tree testing, search more include directories.

From-SVN: r124565

libstdc++-v3/ChangeLog
libstdc++-v3/libsupc++/cxxabi.h
libstdc++-v3/testsuite/lib/libstdc++.exp

index a7f62f99ed64e222d80337ab27fb753e18c5e8a5..2e8282eba07025e9d62fb84e1481c7259293bff8 100644 (file)
@@ -1,3 +1,11 @@
+2007-05-07  Mark Mitchell  <mark@codesourcery.com>
+
+       * libstdc++-v3/libsupc++/cxxabi.h (_GLIBCXX_NOTHROW): New macro.
+       (__cxa_atexit): Use it.
+
+       * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): For
+       installed-tree testing, search more include directories.
+
 2007-05-08  Benjamin Kosnik  <bkoz@redhat.com>
 
        * include/std/type_traits (make_signed): Remove specializations
        * testsuite/23_containers/vector/requirements/dr438/
        constructor_2_neg.cc: Likewise.
 
+>>>>>>> .r124554
 2007-05-07  Mark Mitchell  <mark@codesourcery.com>
 
+       * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): For
+       installed-tree testing, search more include directories.
+
        * testsuite/22_locale/num_put/put/char/14220.cc: XFAIL on Solaris
        2.10.
        * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
index 7f0307834d358860d35ca6c80a4fad44a46edefc..d75515e07c42c944c2e8a7e063029676d3d50569 100644 (file)
 #include <bits/cxxabi_tweaks.h>
 #include <cxxabi-forced.h>
  
+#ifdef __cplusplus
+#define _GLIBCXX_NOTHROW throw() 
+#else
+#define _GLIBCXX_NOTHROW __attribute__((nothrow))
+#endif
+
 #ifdef __cplusplus
 namespace __cxxabiv1
 {  
@@ -137,11 +143,7 @@ namespace __cxxabiv1
 
   // DSO destruction.
   int
-  __cxa_atexit(void (*)(void*), void*, void*)
-#ifdef __cplusplus
-    throw ()
-#endif
-    ;
+  __cxa_atexit(void (*)(void*), void*, void*) _GLIBCXX_NOTHROW;
 
   int
   __cxa_finalize(void*);
index b990f46bed5885c8804a91ef28bde283419a2a86..7a27ad1977dec247298e9ed7efbfe6a4dab0fcd8 100644 (file)
@@ -398,6 +398,9 @@ proc v3_target_compile_as_c { source dest type options } {
     # the includes variable is not likely to include the necessary
     # info.
     if { ![file exists $flags_file] } {
+       # ??? We need a --print-include-dirs option to GCC, so that
+       # we can avoid these hacks.  The heuristics here will not
+       # work with non-standard --with-includedir= options.
        set version [remote_exec host ${cc} -dumpversion]
        # Remove the trailing newline from the output.
        set version [string trimright [lindex $version 1]]
@@ -406,6 +409,13 @@ proc v3_target_compile_as_c { source dest type options } {
        set comp_base_dir [remote_exec host ${cc} --print-prog-name=cc1]
        set comp_base_dir [lindex $comp_base_dir 1]
        set comp_base_dir [file dirname [file dirname [file dirname [file dirname [file dirname $comp_base_dir]]]]]
+       # For a cross compiler, the header files will be located in a
+       # machine-specific subdirectory.
+       set crossbase "${comp_base_dir}/${machine}/include/c++/${version}"
+       set crosstarget "${crossbase}/${machine}"
+       set cc_final [concat $cc_final "-I$crossbase -I$crosstarget"]
+       # For a native compiler, the header files will be located at 
+       # the top level.
        set includesbase "${comp_base_dir}/include/c++/${version}"
        set includestarget "${includesbase}/${machine}"
        set cc_final [concat $cc_final "-I$includesbase -I$includestarget"]
This page took 0.068156 seconds and 5 git commands to generate.