Commit 357480ce by Mark Mitchell

cxxabi.h (_GLIBCXX_NOTHROW): New macro.

	* 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
parent ee72fa38
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> 2007-05-08 Benjamin Kosnik <bkoz@redhat.com>
* include/std/type_traits (make_signed): Remove specializations * include/std/type_traits (make_signed): Remove specializations
...@@ -94,8 +102,12 @@ ...@@ -94,8 +102,12 @@
* testsuite/23_containers/vector/requirements/dr438/ * testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise. constructor_2_neg.cc: Likewise.
>>>>>>> .r124554
2007-05-07 Mark Mitchell <mark@codesourcery.com> 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 * testsuite/22_locale/num_put/put/char/14220.cc: XFAIL on Solaris
2.10. 2.10.
* testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
......
...@@ -53,6 +53,12 @@ ...@@ -53,6 +53,12 @@
#include <cxxabi-forced.h> #include <cxxabi-forced.h>
#ifdef __cplusplus #ifdef __cplusplus
#define _GLIBCXX_NOTHROW throw()
#else
#define _GLIBCXX_NOTHROW __attribute__((nothrow))
#endif
#ifdef __cplusplus
namespace __cxxabiv1 namespace __cxxabiv1
{ {
extern "C" extern "C"
...@@ -137,11 +143,7 @@ namespace __cxxabiv1 ...@@ -137,11 +143,7 @@ namespace __cxxabiv1
// DSO destruction. // DSO destruction.
int int
__cxa_atexit(void (*)(void*), void*, void*) __cxa_atexit(void (*)(void*), void*, void*) _GLIBCXX_NOTHROW;
#ifdef __cplusplus
throw ()
#endif
;
int int
__cxa_finalize(void*); __cxa_finalize(void*);
......
...@@ -398,6 +398,9 @@ proc v3_target_compile_as_c { source dest type options } { ...@@ -398,6 +398,9 @@ proc v3_target_compile_as_c { source dest type options } {
# the includes variable is not likely to include the necessary # the includes variable is not likely to include the necessary
# info. # info.
if { ![file exists $flags_file] } { 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] set version [remote_exec host ${cc} -dumpversion]
# Remove the trailing newline from the output. # Remove the trailing newline from the output.
set version [string trimright [lindex $version 1]] set version [string trimright [lindex $version 1]]
...@@ -406,6 +409,13 @@ proc v3_target_compile_as_c { source dest type options } { ...@@ -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 [remote_exec host ${cc} --print-prog-name=cc1]
set comp_base_dir [lindex $comp_base_dir 1] 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]]]]] 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 includesbase "${comp_base_dir}/include/c++/${version}"
set includestarget "${includesbase}/${machine}" set includestarget "${includesbase}/${machine}"
set cc_final [concat $cc_final "-I$includesbase -I$includestarget"] set cc_final [concat $cc_final "-I$includesbase -I$includestarget"]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment