test.html: Mention PCH_CXXFLAGS.
authorMark Mitchell <mark@codesourcery.com>
Fri, 27 May 2005 16:24:59 +0000 (16:24 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Fri, 27 May 2005 16:24:59 +0000 (16:24 +0000)
* docs/html/test.html: Mention PCH_CXXFLAGS.
* testsuite/lib/libstdc++.exp: Set PCH_CXXFLAGS by probing for an
available stcd++.h PCH.
* testsuite/libstdc++-dg/normal.exp: Use PCH_CXXFLAGS.

From-SVN: r100264

libstdc++-v3/ChangeLog
libstdc++-v3/docs/html/test.html
libstdc++-v3/testsuite/lib/libstdc++.exp
libstdc++-v3/testsuite/libstdc++-dg/normal.exp

index c773bc2b831f44925a27c767083c6738dcba1981..ab8a1286dd763948e3a4c3f97a47cc74c7cc752b 100644 (file)
@@ -1,3 +1,10 @@
+2005-05-27  Mark Mitchell  <mark@codesourcery.com>
+
+       * docs/html/test.html: Mention PCH_CXXFLAGS.
+       * testsuite/lib/libstdc++.exp: Set PCH_CXXFLAGS by probing for an
+       available stcd++.h PCH.
+       * testsuite/libstdc++-dg/normal.exp: Use PCH_CXXFLAGS.
+
 2005-05-27  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
 
        * src/misc-inst.cc: Remove unnecessary included files.
index d15dc427180a41680a3b18613b68c415996b1ad0..41e0529e6c69fae6fa47dc13622d24fd788b5147 100644 (file)
@@ -427,8 +427,8 @@ Example 4: Testing for compilation errors on line 41
 
 Example 5: Testing with special command line settings, or without the
 use of pre-compiled headers, in particular the stdc++.h.gch file. Any
-options here will override the DEFAULT_CXXFLAGS set up in the
-normal.exp file.
+options here will override the DEFAULT_CXXFLAGS and PCH_CXXFLAGS set
+up in the normal.exp file.
 // { dg-options "-O0" { target *-*-* } }
 </pre>
 
index 2dbf8217938f12f7da711434d5fd47b0d367e22a..bcae3777e750a8b24e37d04ccd128a5ff1f36cde 100644 (file)
@@ -103,14 +103,7 @@ proc libstdc++_init { testfile } {
     # headers, or without assertions.
     global DEFAULT_CXXFLAGS
     if ![info exists DEFAULT_CXXFLAGS] then {
-       # Set up includes for stdc++.h.gch, the precompiled header file.
-       if { [file exists $flags_file] } {
-           set cxxpchflags [exec sh $flags_file --cxxpchflags]
-       } else {
-           set cxxpchflags ""
-       }
-       set DEFAULT_CXXFLAGS " ${cxxpchflags}"
-
+       set DEFAULT_CXXFLAGS ""
        # Host specific goo here.
        if { [string match "powerpc-*-darwin*" $target_triplet] } {
            append DEFAULT_CXXFLAGS " -multiply_defined suppress"
@@ -195,6 +188,28 @@ proc libstdc++_init { testfile } {
         }
     }
 
+    # If a PCH file is available, use it.  We must delay performing
+    # this check until $cxx and such have been initialized because we
+    # perform a test compilation.  (Ideally, gcc --print-file-name would
+    # list PCH files, but it does not.)
+    global PCH_CXXFLAGS
+    if ![info exists PCH_CXXFLAGS] then {
+       set src "config[pid].cc"
+       set f [open $src "w"]
+       puts $f "int main () {}"
+       close $f
+
+       set lines [v3_target_compile $src "config[pid].o" object \
+                  "additional_flags=-include additional_flags=bits/stdc++.h"]
+       if {$lines == "" } {
+           set PCH_CXXFLAGS "-include bits/stdc++.h"
+       } else {
+           set PCH_CXXFLAGS ""
+       }
+       file delete $src
+       v3track PCH_CXXFLAGS 2
+    }
+
     libstdc++_maybe_build_wrapper "${objdir}/testglue.o"
 }
 
index 746c7a8ec3f11dc1a9fd99cc3f38757ec32d09ed..9d2f1a63a9a55b47cf557b5a2243134ba059d1ed 100644 (file)
@@ -87,7 +87,8 @@ set tests [lsort $tests]
 
 # Main loop.
 global DEFAULT_CXXFLAGS
-dg-runtest $tests "" $DEFAULT_CXXFLAGS
+global PCH_CXXFLAGS
+dg-runtest $tests "" "$DEFAULT_CXXFLAGS $PCH_CXXFLAGS"
 
 # All done.
 dg-finish