From: Aaron Ballman Date: Thu, 18 May 2023 15:49:33 +0000 (-0400) Subject: Remove unreferenced files from Clang's website X-Git-Tag: upstream/17.0.6~8002 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=153d9b9371c3adf719cad4307e395692caa752ac;p=platform%2Fupstream%2Fllvm.git Remove unreferenced files from Clang's website None of these files are referenced by anything else on the website, and the content for these files is quite dated or experiments that did not pan out. I used a few search engines to see if others were linking to this content (esp the libstdc++ patches) and did not find significant evidence that they were. --- diff --git a/clang/www/carbon-compile.png b/clang/www/carbon-compile.png deleted file mode 100644 index e8516c7..0000000 Binary files a/clang/www/carbon-compile.png and /dev/null differ diff --git a/clang/www/clang_video-05-25-2007.html b/clang/www/clang_video-05-25-2007.html deleted file mode 100755 index 4f669f4..0000000 --- a/clang/www/clang_video-05-25-2007.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - 2007 LLVM Developer's Meeting - - - - - - - Redirecting to the new page - - diff --git a/clang/www/clang_video-07-25-2007.html b/clang/www/clang_video-07-25-2007.html deleted file mode 100755 index 38661c5..0000000 --- a/clang/www/clang_video-07-25-2007.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - LLVM 2.0 and Beyond! - - - - - - - Redirecting to the new page - - diff --git a/clang/www/cxx_compatibility.html b/clang/www/cxx_compatibility.html deleted file mode 100755 index 1dfb492..0000000 --- a/clang/www/cxx_compatibility.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - Clang - C++ Compatibility - - - - - - - - -
- - -

Clang's C++ Compatibility

- - -

The Clang C++ compatibility page has moved. You will be directed to its new home in 5 seconds.

- -
- - diff --git a/clang/www/demo/DemoInfo.html b/clang/www/demo/DemoInfo.html deleted file mode 100644 index 9656ba7..0000000 --- a/clang/www/demo/DemoInfo.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - -Demo page information - - - - - -

Demo page information

- -

Press "back" or click here to return to the demo -page.

- -

Hints and Advice

- - - - -

Demangle C++ names with C++ filt

- -

-Select this option if you want to run the output LLVM IR through "c++filt", -which converts 'mangled' C++ names to their unmangled version. -Note that LLVM code produced will not be lexically valid, but it will -be easier to understand. -

- -

Run link-time optimizer

- -

-Select this option to run the LLVM link-time optimizer, which is designed to -optimize across files in your application. Since the demo page doesn't allow -you to upload multiple files at once, and does not link in any libraries, we -configured the demo page optimizer to assume there are no calls -coming in from outside the source file, allowing it to optimize more -aggressively.

- -

Note that you have to define 'main' in your program for this -to make much of a difference. -

- -

Show detailed pass statistics

- -

-Select this option to enable compilation timings and statistics from various -optimizers.

- - -

Analyze generated bytecode

- -

-Select this option to run the llvm-bcanalyzer tool -on the generated bytecode, which introspects into the format of the .bc file -itself.

- - -

Show C++ API code

- -

-Select this option to run the llvm2cpp tool -on the generated bytecode, which auto generates the C++ API calls that could -be used to create the .bc file. -

- - - diff --git a/clang/www/demo/cathead.png b/clang/www/demo/cathead.png deleted file mode 100644 index 3bf1a45..0000000 Binary files a/clang/www/demo/cathead.png and /dev/null differ diff --git a/clang/www/demo/index.cgi b/clang/www/demo/index.cgi deleted file mode 100644 index d20a3f9..0000000 --- a/clang/www/demo/index.cgi +++ /dev/null @@ -1,462 +0,0 @@ -#!/usr/dcs/software/supported/bin/perl -# LLVM Web Demo script -# - -use strict; -use CGI; -use POSIX; -use Mail::Send; -use warnings; - -$| = 1; - -my $ROOT = "/tmp/webcompile"; -#my $ROOT = "/home/vadve/lattner/webcompile"; - -open( STDERR, ">&STDOUT" ) or die "can't redirect stderr to stdout"; - -if ( !-d $ROOT ) { mkdir( $ROOT, 0777 ); } - -my $LOGFILE = "$ROOT/log.txt"; -my $FORM_URL = 'index.cgi'; -my $MAILADDR = 'sabre@nondot.org'; -my $CONTACT_ADDRESS = 'Questions or comments? Discuss on the LLVM forum.'; -my $LOGO_IMAGE_URL = 'cathead.png'; -my $TIMEOUTAMOUNT = 20; -$ENV{'LD_LIBRARY_PATH'} = '/home/vadve/shared/localtools/fc1/lib/'; - -my @PREPENDPATHDIRS = - ( - '/home/vadve/shared/llvm-gcc4.0-2.1/bin/', - '/home/vadve/shared/llvm-2.1/Release/bin'); - -my $defaultsrc = "#include \n#include \n\n" . - "int power(int X) {\n if (X == 0) return 1;\n" . - " return X*power(X-1);\n}\n\n" . - "int main(int argc, char **argv) {\n" . - " printf(\"%d\\n\", power(atoi(argv[0])));\n}\n"; - -sub getname { - my ($extension) = @_; - for ( my $count = 0 ; ; $count++ ) { - my $name = - sprintf( "$ROOT/_%d_%d%s", $$, $count, $extension ); - if ( !-f $name ) { return $name; } - } -} - -my $c; - -sub barf { - print "", @_, "\n"; - print $c->end_html; - system("rm -f $ROOT/locked"); - exit 1; -} - -sub writeIntoFile { - my $extension = shift @_; - my $contents = join "", @_; - my $name = getname($extension); - local (*FILE); - open( FILE, ">$name" ) or barf("Can't write to $name: $!"); - print FILE $contents; - close FILE; - return $name; -} - -sub addlog { - my ( $source, $pid, $result ) = @_; - open( LOG, ">>$LOGFILE" ); - my $time = scalar localtime; - my $remotehost = $ENV{'REMOTE_ADDR'}; - print LOG "[$time] [$remotehost]: $pid\n"; - print LOG "<<<\n$source\n>>>\nResult is: <<<\n$result\n>>>\n"; - close LOG; -} - -sub dumpFile { - my ( $header, $file ) = @_; - my $result; - open( FILE, "$file" ) or barf("Can't read $file: $!"); - while () { - $result .= $_; - } - close FILE; - my $UnhilightedResult = $result; - my $HtmlResult = - "

$header

\n
\n" . $c->escapeHTML($result) . "\n
\n"; - if (wantarray) { - return ( $UnhilightedResult, $HtmlResult ); - } - else { - return $HtmlResult; - } -} - -sub syntaxHighlightLLVM { - my ($input) = @_; - $input =~ s@\b(void|i8|i1|i16|i32|i64|float|double|type|label|opaque)\b@$1@g; - $input =~ s@\b(add|sub|mul|div|rem|and|or|xor|setne|seteq|setlt|setgt|setle|setge|phi|tail|call|cast|to|shl|shr|vaarg|vanext|ret|br|switch|invoke|unwind|malloc|alloca|free|load|store|getelementptr|begin|end|true|false|declare|global|constant|const|internal|uninitialized|external|implementation|linkonce|weak|appending|null|to|except|not|target|endian|pointersize|big|little|volatile)\b@$1@g; - - # Add links to the FAQ. - $input =~ s@(_ZNSt8ios_base4Init[DC]1Ev)@$1@g; - $input =~ s@\bundef\b@undef@g; - return $input; -} - -sub mailto { - my ( $recipient, $body ) = @_; - my $msg = - new Mail::Send( Subject => "LLVM Demo Page Run", To => $recipient ); - my $fh = $msg->open(); - print $fh $body; - $fh->close(); -} - -$c = new CGI; -print $c->header; - -print < - - - Try out LLVM in your browser! - - - - -
- Try out LLVM in your browser! -
- -
- - -EOF - -if ( -f "$ROOT/locked" ) { - my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$locktime) = - stat("$ROOT/locked"); - my $currtime = time(); - if ($locktime + 60 > $currtime) { - print "This page is already in use by someone else at this "; - print "time, try reloading in a second or two. Meow!
'\n"; - exit 0; - } -} - -system("touch $ROOT/locked"); - -print <

-END - -print $c->start_multipart_form( 'POST', $FORM_URL ); - -my $source = $c->param('source'); - - -# Start the user out with something valid if no code. -$source = $defaultsrc if (!defined($source)); - -print '
'; - -print "Type your source code in below: (hints and -advice)
\n"; - -print $c->textarea( - -name => "source", - -rows => 16, - -columns => 60, - -default => $source -), "
"; - -print "Or upload a file: "; -print $c->filefield( -name => 'uploaded_file', -default => '' ); - -print "

\n"; - - -print '

'; - -print "

General Options

"; - -print "Source language: ", - $c->radio_group( - -name => 'language', - -values => [ 'C', 'C++' ], - -default => 'C' - ), "

"; - -print $c->checkbox( - -name => 'linkopt', - -label => 'Run link-time optimizer', - -checked => 'checked' - ),' ?
'; - -print $c->checkbox( - -name => 'showstats', - -label => 'Show detailed pass statistics' - ), ' ?
'; - -print $c->checkbox( - -name => 'cxxdemangle', - -label => 'Demangle C++ names' - ),' ?

'; - - -print "

Output Options

"; - -print $c->checkbox( - -name => 'showbcanalysis', - -label => 'Show detailed bytecode analysis' - ),' ?
'; - -print $c->checkbox( - -name => 'showllvm2cpp', - -label => 'Show LLVM C++ API code' - ), ' ?'; - -print "
"; - -print "

", $c->submit(-value=> 'Compile Source Code'), - "
\n", $c->endform; - -print "\n

If you have questions about the LLVM code generated by the -front-end, please check the FAQ and -the demo page hints section. -

\n"; - -$ENV{'PATH'} = ( join ( ':', @PREPENDPATHDIRS ) ) . ":" . $ENV{'PATH'}; - -sub sanitychecktools { - my $sanitycheckfail = ''; - - # insert tool-specific sanity checks here - $sanitycheckfail .= ' llvm-dis' - if `llvm-dis --help 2>&1` !~ /ll disassembler/; - - $sanitycheckfail .= ' llvm-gcc' - if ( `llvm-gcc --version 2>&1` !~ /Free Software Foundation/ ); - - $sanitycheckfail .= ' llvm-ld' - if `llvm-ld --help 2>&1` !~ /llvm linker/; - - $sanitycheckfail .= ' llvm-bcanalyzer' - if `llvm-bcanalyzer --help 2>&1` !~ /bcanalyzer/; - - barf( -"
The demo page is currently unavailable. [tools: ($sanitycheckfail ) failed sanity check]" - ) - if $sanitycheckfail; -} - -sanitychecktools(); - -sub try_run { - my ( $program, $commandline, $outputFile ) = @_; - my $retcode = 0; - - eval { - local $SIG{ALRM} = sub { die "timeout"; }; - alarm $TIMEOUTAMOUNT; - $retcode = system($commandline); - alarm 0; - }; - if ( $@ and $@ =~ /timeout/ ) { - barf("Program $program took too long, compile time limited for the web script, sorry!\n"); - } - if ( -s $outputFile ) { - print scalar dumpFile( "Output from $program", $outputFile ); - } - #print "

Finished dumping command output.

\n"; - if ( WIFEXITED($retcode) && WEXITSTATUS($retcode) != 0 ) { - barf( -"$program exited with an error. Please correct source and resubmit.

\n" . -"Please note that this form only allows fully formed and correct source" . -" files. It will not compile fragments of code.

" - ); - } - if ( WIFSIGNALED($retcode) != 0 ) { - my $sig = WTERMSIG($retcode); - barf( - "Ouch, $program caught signal $sig. Sorry, better luck next time!\n" - ); - } -} - -my %suffixes = ( - 'Java' => '.java', - 'JO99' => '.jo9', - 'C' => '.c', - 'C++' => '.cc', - 'Stacker' => '.st', - 'preprocessed C' => '.i', - 'preprocessed C++' => '.ii' -); -my %languages = ( - '.jo9' => 'JO99', - '.java' => 'Java', - '.c' => 'C', - '.i' => 'preprocessed C', - '.ii' => 'preprocessed C++', - '.cc' => 'C++', - '.cpp' => 'C++', - '.st' => 'Stacker' -); - -my $uploaded_file_name = $c->param('uploaded_file'); -if ($uploaded_file_name) { - if ($source) { - barf( -"You must choose between uploading a file and typing code in. You can't do both at the same time." - ); - } - $uploaded_file_name =~ s/^.*(\.[A-Za-z]+)$/$1/; - my $language = $languages{$uploaded_file_name}; - $c->param( 'language', $language ); - - print "

Processing uploaded file. It looks like $language.

\n"; - my $fh = $c->upload('uploaded_file'); - if ( !$fh ) { - barf( "Error uploading file: " . $c->cgi_error ); - } - while (<$fh>) { - $source .= $_; - } - close $fh; -} - -if ($c->param('source')) { - print $c->hr; - my $extension = $suffixes{ $c->param('language') }; - barf "Unknown language; can't compile\n" unless $extension; - - # Add a newline to the source here to avoid a warning from gcc. - $source .= "\n"; - - # Avoid security hole due to #including bad stuff. - $source =~ -s@(\n)?#include.*[<"](.*\.\..*)[">].*\n@$1#error "invalid #include file $2 detected"\n@g; - - my $inputFile = writeIntoFile( $extension, $source ); - my $pid = $$; - - my $bytecodeFile = getname(".bc"); - my $outputFile = getname(".llvm-gcc.out"); - my $timerFile = getname(".llvm-gcc.time"); - - my $stats = ''; - if ( $extension eq ".st" ) { - $stats = "-stats -time-passes " - if ( $c->param('showstats') ); - try_run( "llvm Stacker front-end (stkrc)", - "stkrc $stats -o $bytecodeFile $inputFile > $outputFile 2>&1", - $outputFile ); - } else { - #$stats = "-Wa,--stats,--time-passes,--info-output-file=$timerFile" - $stats = "-ftime-report" - if ( $c->param('showstats') ); - try_run( "llvm C/C++ front-end (llvm-gcc)", - "llvm-gcc -emit-llvm -W -Wall -O2 $stats -o $bytecodeFile -c $inputFile > $outputFile 2>&1", - $outputFile ); - } - - if ( $c->param('showstats') && -s $timerFile ) { - my ( $UnhilightedResult, $HtmlResult ) = - dumpFile( "Statistics for front-end compilation", $timerFile ); - print "$HtmlResult\n"; - } - - if ( $c->param('linkopt') ) { - my $stats = ''; - my $outputFile = getname(".gccld.out"); - my $timerFile = getname(".gccld.time"); - $stats = "--stats --time-passes --info-output-file=$timerFile" - if ( $c->param('showstats') ); - my $tmpFile = getname(".bc"); - try_run( - "optimizing linker (llvm-ld)", -"llvm-ld $stats -o=$tmpFile $bytecodeFile > $outputFile 2>&1", - $outputFile - ); - system("mv $tmpFile.bc $bytecodeFile"); - system("rm $tmpFile"); - - if ( $c->param('showstats') && -s $timerFile ) { - my ( $UnhilightedResult, $HtmlResult ) = - dumpFile( "Statistics for optimizing linker", $timerFile ); - print "$HtmlResult\n"; - } - } - - print " Bytecode size is ", -s $bytecodeFile, " bytes.\n"; - - my $disassemblyFile = getname(".ll"); - try_run( "llvm-dis", - "llvm-dis -o=$disassemblyFile $bytecodeFile > $outputFile 2>&1", - $outputFile ); - - if ( $c->param('cxxdemangle') ) { - print " Demangling disassembler output.\n"; - my $tmpFile = getname(".ll"); - system("c++filt < $disassemblyFile > $tmpFile 2>&1"); - system("mv $tmpFile $disassemblyFile"); - } - - my ( $UnhilightedResult, $HtmlResult ); - if ( -s $disassemblyFile ) { - ( $UnhilightedResult, $HtmlResult ) = - dumpFile( "Output from LLVM disassembler", $disassemblyFile ); - print syntaxHighlightLLVM($HtmlResult); - } - else { - print "

Hmm, that's weird, llvm-dis didn't produce any output.

\n"; - } - - if ( $c->param('showbcanalysis') ) { - my $analFile = getname(".bca"); - try_run( "llvm-bcanalyzer", "llvm-bcanalyzer $bytecodeFile > $analFile 2>&1", - $analFile); - } - if ($c->param('showllvm2cpp') ) { - my $l2cppFile = getname(".l2cpp"); - try_run("llvm2cpp","llvm2cpp $bytecodeFile -o $l2cppFile 2>&1", - $l2cppFile); - } - - # Get the source presented by the user to CGI, convert newline sequences to simple \n. - my $actualsrc = $c->param('source'); - $actualsrc =~ s/\015\012/\n/go; - # Don't log this or mail it if it is the default code. - if ($actualsrc ne $defaultsrc) { - addlog( $source, $pid, $UnhilightedResult ); - - my ( $ip, $host, $lg, $lines ); - chomp( $lines = `wc -l < $inputFile` ); - $lg = $c->param('language'); - $ip = $c->remote_addr(); - chomp( $host = `host $ip` ) if $ip; - mailto( $MAILADDR, - "--- Query: ---\nFrom: ($ip) $host\nInput: $lines lines of $lg\n" - . "C++ demangle = " - . ( $c->param('cxxdemangle') ? 1 : 0 ) - . ", Link opt = " - . ( $c->param('linkopt') ? 1 : 0 ) . "\n\n" - . ", Show stats = " - . ( $c->param('showstats') ? 1 : 0 ) . "\n\n" - . "--- Source: ---\n$source\n" - . "--- Result: ---\n$UnhilightedResult\n" ); - } - unlink( $inputFile, $bytecodeFile, $outputFile, $disassemblyFile ); -} - -print $c->hr, "
$CONTACT_ADDRESS
", $c->end_html; -system("rm $ROOT/locked"); -exit 0; diff --git a/clang/www/demo/syntax.css b/clang/www/demo/syntax.css deleted file mode 100644 index 90daf5f..0000000 --- a/clang/www/demo/syntax.css +++ /dev/null @@ -1,4 +0,0 @@ -/* LLVM syntax highlighting for the Web */ - -.llvm_type { font-style: oblique; color: green } -.llvm_keyword { font-weight: bold; color: blue } diff --git a/clang/www/demo/what is this directory.txt b/clang/www/demo/what is this directory.txt deleted file mode 100644 index a1306ac0..0000000 --- a/clang/www/demo/what is this directory.txt +++ /dev/null @@ -1,15 +0,0 @@ -This is for the LLVM+Clang browser based demo. -It is supposed to work like the LLVM+GCC demo here: http://llvm.org/demo/ but for the BSD licensed Clang instead. - -Perhaps it could also be used for getting crash information and details on errors.... I'm not sure if this would require some major changes or not to report this info. Maybe also adding ways that people can use it to test for errors and a way to report such errors would also be good. - -Status: -Anyways, right now, these file a basically just a copy of the LLVM+GCC demo (no changes have been made). The files don't even work right in this location on the server. As such, someone will need to edit the file or rewrite it. - -If nobody in the LLVM community has the skills, one suggestion would be to post a request on a friendly Perl forum and see if anybody might be interested in taking on the challenge. - -Alternatively, you could try a PHP, Python, Ruby, or Lisp mailing list and see if there are any takers who would be interested (and willing to do a rewrite to their language of choice). - --- -BTW, once this feature was working, my intention was to link to it from the index.html page in the section entitled: -Try Clang \ No newline at end of file diff --git a/clang/www/feature-compile1.png b/clang/www/feature-compile1.png deleted file mode 100644 index cec7c48..0000000 Binary files a/clang/www/feature-compile1.png and /dev/null differ diff --git a/clang/www/feature-compile2.png b/clang/www/feature-compile2.png deleted file mode 100644 index 0eb9300..0000000 Binary files a/clang/www/feature-compile2.png and /dev/null differ diff --git a/clang/www/feature-memory1.png b/clang/www/feature-memory1.png deleted file mode 100644 index 29368aa..0000000 Binary files a/clang/www/feature-memory1.png and /dev/null differ diff --git a/clang/www/libstdc++4.4-clang0x.patch b/clang/www/libstdc++4.4-clang0x.patch deleted file mode 100644 index db43583..0000000 --- a/clang/www/libstdc++4.4-clang0x.patch +++ /dev/null @@ -1,608 +0,0 @@ -This patch was generated from the headers installed by MacPorts -gcc-4.4 on OS X 10.6. You can apply it there with -`cd /opt/local/include/gcc44/c++ ; sudo patch -p1 _M_impl._M_head, __list._M_impl._M_head); } - - /** -diff -ur a/bits/move.h b/bits/move.h ---- a/bits/move.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/move.h 2011-03-29 10:33:39.000000000 -0700 -@@ -48,13 +48,35 @@ - - template - inline _Tp&& -- forward(typename std::identity<_Tp>::type&& __t) -+ forward(typename std::remove_reference<_Tp>::type& __t) -+#ifdef __clang__ -+ { return static_cast<_Tp&&>(__t); } -+#else - { return __t; } -+#endif -+ -+ template -+ inline _Tp&& -+ forward(typename std::remove_reference<_Tp>::type&& __t) -+ { -+#ifdef __clang__ -+ static_assert(!std::is_lvalue_reference<_Tp>::value, -+ "Can't instantiate this forward() with an" -+ " lvalue reference type."); -+ return static_cast<_Tp&&>(__t); -+#else -+ return __t; -+#endif -+ } - - template - inline typename std::remove_reference<_Tp>::type&& - move(_Tp&& __t) -+#ifdef __clang__ -+ { return static_cast::type&&>(__t); } -+#else - { return __t; } -+#endif - - _GLIBCXX_END_NAMESPACE - -diff -ur a/bits/shared_ptr.h b/bits/shared_ptr.h ---- a/bits/shared_ptr.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/shared_ptr.h 2011-03-31 16:40:45.000000000 -0700 -@@ -833,7 +833,7 @@ - { return _M_refcount._M_get_use_count(); } - - void -- swap(__shared_ptr<_Tp, _Lp>&& __other) // never throws -+ swap(__shared_ptr<_Tp, _Lp>& __other) // never throws - { - std::swap(_M_ptr, __other._M_ptr); - _M_refcount._M_swap(__other._M_refcount); -@@ -943,16 +943,6 @@ - swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) - { __a.swap(__b); } - -- template -- inline void -- swap(__shared_ptr<_Tp, _Lp>&& __a, __shared_ptr<_Tp, _Lp>& __b) -- { __a.swap(__b); } -- -- template -- inline void -- swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>&& __b) -- { __a.swap(__b); } -- - // 2.2.3.9 shared_ptr casts - /** @warning The seemingly equivalent - * shared_ptr<_Tp, _Lp>(static_cast<_Tp*>(__r.get())) -@@ -1372,16 +1362,6 @@ - swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) - { __a.swap(__b); } - -- template -- inline void -- swap(shared_ptr<_Tp>&& __a, shared_ptr<_Tp>& __b) -- { __a.swap(__b); } -- -- template -- inline void -- swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>&& __b) -- { __a.swap(__b); } -- - // 20.8.13.2.10 shared_ptr casts. - template - inline shared_ptr<_Tp> -diff -ur a/bits/stl_bvector.h b/bits/stl_bvector.h ---- a/bits/stl_bvector.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_bvector.h 2011-05-02 23:34:46.000000000 -0700 -@@ -743,11 +743,7 @@ - } - - void --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(vector&& __x) --#else - swap(vector& __x) --#endif - { - std::swap(this->_M_impl._M_start, __x._M_impl._M_start); - std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); -diff -ur a/bits/stl_deque.h b/bits/stl_deque.h ---- a/bits/stl_deque.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_deque.h 2011-03-29 10:33:39.000000000 -0700 -@@ -1395,11 +1395,7 @@ - * std::swap(d1,d2) will feed to this function. - */ - void --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(deque&& __x) --#else - swap(deque& __x) --#endif - { - std::swap(this->_M_impl._M_start, __x._M_impl._M_start); - std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); -diff -ur a/bits/stl_iterator.h b/bits/stl_iterator.h ---- a/bits/stl_iterator.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_iterator.h 2011-03-29 10:33:39.000000000 -0700 -@@ -913,7 +913,7 @@ - - reference - operator*() const -- { return *_M_current; } -+ { return std::move(*_M_current); } - - pointer - operator->() const -diff -ur a/bits/stl_list.h b/bits/stl_list.h ---- a/bits/stl_list.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_list.h 2011-03-29 10:33:39.000000000 -0700 -@@ -1106,11 +1106,7 @@ - * function. - */ - void --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(list&& __x) --#else - swap(list& __x) --#endif - { - _List_node_base::swap(this->_M_impl._M_node, __x._M_impl._M_node); - -@@ -1160,6 +1156,12 @@ - } - } - -+#ifdef __GXX_EXPERIMENTAL_CXX0X__ -+ void -+ splice(iterator __position, list& __x) -+ { splice(__position, std::move(__x)); } -+#endif -+ - /** - * @brief Insert element from another %list. - * @param position Iterator referencing the element to insert before. -@@ -1187,6 +1189,12 @@ - this->_M_transfer(__position, __i, __j); - } - -+#ifdef __GXX_EXPERIMENTAL_CXX0X__ -+ void -+ splice(iterator __position, list& __x, iterator __i) -+ { splice(__position, std::move(__x), __i); } -+#endif -+ - /** - * @brief Insert range from another %list. - * @param position Iterator referencing the element to insert before. -@@ -1217,6 +1225,13 @@ - } - } - -+#ifdef __GXX_EXPERIMENTAL_CXX0X__ -+ void -+ splice(iterator __position, list& __x, iterator __first, -+ iterator __last) -+ { splice(__position, std::move(__x), __first, __last); } -+#endif -+ - /** - * @brief Remove all elements equal to value. - * @param value The value to remove. -@@ -1287,6 +1302,10 @@ - void - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - merge(list&& __x); -+ -+ void -+ merge(list& __x) -+ { merge(std::move(__x)); } - #else - merge(list& __x); - #endif -@@ -1307,6 +1326,11 @@ - void - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - merge(list&&, _StrictWeakOrdering); -+ -+ template -+ void -+ merge(list& __l, _StrictWeakOrdering __comp) -+ { merge(std::move(__l), __comp); } - #else - merge(list&, _StrictWeakOrdering); - #endif -diff -ur a/bits/stl_map.h b/bits/stl_map.h ---- a/bits/stl_map.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_map.h 2011-03-29 10:33:39.000000000 -0700 -@@ -608,11 +608,7 @@ - * that std::swap(m1,m2) will feed to this function. - */ - void --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(map&& __x) --#else - swap(map& __x) --#endif - { _M_t.swap(__x._M_t); } - - /** -diff -ur a/bits/stl_multimap.h b/bits/stl_multimap.h ---- a/bits/stl_multimap.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_multimap.h 2011-03-29 10:33:39.000000000 -0700 -@@ -544,11 +544,7 @@ - * std::swap(m1,m2) will feed to this function. - */ - void --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(multimap&& __x) --#else - swap(multimap& __x) --#endif - { _M_t.swap(__x._M_t); } - - /** -diff -ur a/bits/stl_multiset.h b/bits/stl_multiset.h ---- a/bits/stl_multiset.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_multiset.h 2011-03-29 10:33:39.000000000 -0700 -@@ -376,11 +376,7 @@ - * std::swap(s1,s2) will feed to this function. - */ - void --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(multiset&& __x) --#else - swap(multiset& __x) --#endif - { _M_t.swap(__x._M_t); } - - // insert/erase -diff -ur a/bits/stl_pair.h b/bits/stl_pair.h ---- a/bits/stl_pair.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_pair.h 2011-03-29 10:33:39.000000000 -0700 -@@ -84,10 +84,21 @@ - : first(__a), second(__b) { } - - #ifdef __GXX_EXPERIMENTAL_CXX0X__ -- template -+ template::value>::type> -+ pair(_U1&& __x, const _T2& __y) -+ : first(std::forward<_U1>(__x)), second(__y) { } -+ -+ template::value>::type> -+ pair(const _T1& __x, _U2&& __y) -+ : first(__x), second(std::forward<_U2>(__y)) { } -+ -+ template::value -+ && std::is_convertible<_U2, _T2>::value>::type> - pair(_U1&& __x, _U2&& __y) -- : first(std::forward<_U1>(__x)), -- second(std::forward<_U2>(__y)) { } -+ : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } - - pair(pair&& __p) - : first(std::move(__p.first)), -@@ -107,11 +118,19 @@ - second(std::move(__p.second)) { } - - // http://gcc.gnu.org/ml/libstdc++/2007-08/msg00052.html -+ -+#if 0 -+ // This constructor is incompatible with libstdc++-4.6, and it -+ // interferes with passing NULL pointers to the 2-argument -+ // constructors, so we disable it. map::emplace isn't -+ // implemented in libstdc++-4.4 anyway, and that's what this -+ // constructor was here for. - template - pair(_U1&& __x, _Arg0&& __arg0, _Args&&... __args) - : first(std::forward<_U1>(__x)), - second(std::forward<_Arg0>(__arg0), - std::forward<_Args>(__args)...) { } -+#endif - - pair& - operator=(pair&& __p) -@@ -131,7 +150,7 @@ - } - - void -- swap(pair&& __p) -+ swap(pair& __p) - { - using std::swap; - swap(first, __p.first); -diff -ur a/bits/stl_queue.h b/bits/stl_queue.h ---- a/bits/stl_queue.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_queue.h 2011-05-02 23:36:15.000000000 -0700 -@@ -249,7 +249,7 @@ - - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - void -- swap(queue&& __q) -+ swap(queue& __q) - { c.swap(__q.c); } - #endif - }; -@@ -550,7 +550,7 @@ - - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - void -- swap(priority_queue&& __pq) -+ swap(priority_queue& __pq) - { - using std::swap; - c.swap(__pq.c); -diff -ur a/bits/stl_set.h b/bits/stl_set.h ---- a/bits/stl_set.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_set.h 2011-03-29 10:33:39.000000000 -0700 -@@ -383,11 +383,7 @@ - * std::swap(s1,s2) will feed to this function. - */ - void --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(set&& __x) --#else - swap(set& __x) --#endif - { _M_t.swap(__x._M_t); } - - // insert/erase -diff -ur a/bits/stl_stack.h b/bits/stl_stack.h ---- a/bits/stl_stack.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_stack.h 2011-05-02 23:36:36.000000000 -0700 -@@ -213,7 +213,7 @@ - - #ifdef __GXX_EXPERIMENTAL_CXX0X__ - void -- swap(stack&& __s) -+ swap(stack& __s) - { c.swap(__s.c); } - #endif - }; -diff -ur a/bits/stl_tree.h b/bits/stl_tree.h ---- a/bits/stl_tree.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_tree.h 2011-03-29 10:33:39.000000000 -0700 -@@ -675,11 +675,7 @@ - { return _M_get_Node_allocator().max_size(); } - - void --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(_Rb_tree&& __t); --#else - swap(_Rb_tree& __t); --#endif - - // Insert/erase. - pair -@@ -1104,11 +1100,7 @@ - typename _Compare, typename _Alloc> - void - _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&& __t) --#else - swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __t) --#endif - { - if (_M_root() == 0) - { -diff -ur a/bits/stl_vector.h b/bits/stl_vector.h ---- a/bits/stl_vector.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/stl_vector.h 2011-03-29 10:33:39.000000000 -0700 -@@ -923,11 +923,7 @@ - * std::swap(v1,v2) will feed to this function. - */ - void --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(vector&& __x) --#else - swap(vector& __x) --#endif - { - std::swap(this->_M_impl._M_start, __x._M_impl._M_start); - std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); -diff -ur a/bits/unique_ptr.h b/bits/unique_ptr.h ---- a/bits/unique_ptr.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/bits/unique_ptr.h 2011-03-31 16:40:45.000000000 -0700 -@@ -204,7 +204,7 @@ - } - - void -- swap(unique_ptr&& __u) -+ swap(unique_ptr& __u) - { - using std::swap; - swap(_M_t, __u._M_t); -@@ -350,7 +350,7 @@ - void reset(_Up) = delete; - - void -- swap(unique_ptr&& __u) -+ swap(unique_ptr& __u) - { - using std::swap; - swap(_M_t, __u._M_t); -@@ -389,18 +389,6 @@ - unique_ptr<_Tp, _Tp_Deleter>& __y) - { __x.swap(__y); } - -- template -- inline void -- swap(unique_ptr<_Tp, _Tp_Deleter>&& __x, -- unique_ptr<_Tp, _Tp_Deleter>& __y) -- { __x.swap(__y); } -- -- template -- inline void -- swap(unique_ptr<_Tp, _Tp_Deleter>& __x, -- unique_ptr<_Tp, _Tp_Deleter>&& __y) -- { __x.swap(__y); } -- - template - inline bool -diff -ur a/exception_ptr.h b/exception_ptr.h ---- a/exception_ptr.h 2011-03-15 14:49:08.000000000 -0700 -+++ b/exception_ptr.h 2011-03-29 10:33:39.000000000 -0700 -@@ -140,7 +140,7 @@ - friend bool - operator==(const exception_ptr&, const exception_ptr&) throw(); - -- const type_info* -+ const class type_info* - __cxa_exception_type() const throw(); - }; - -diff -ur a/ext/algorithm b/ext/algorithm ---- a/ext/algorithm 2011-03-15 14:49:05.000000000 -0700 -+++ b/ext/algorithm 2011-03-29 10:33:39.000000000 -0700 -@@ -423,6 +423,9 @@ - __out_last - __out_first); - } - -+#ifdef __GXX_EXPERIMENTAL_CXX0X__ -+ using std::is_heap; -+#else - /** - * This is an SGI extension. - * @ingroup SGIextensions -@@ -462,6 +465,7 @@ - - return std::__is_heap(__first, __comp, __last - __first); - } -+#endif - - // is_sorted, a predicated testing whether a range is sorted in - // nondescending order. This is an extension, not part of the C++ -diff -ur a/ext/vstring.h b/ext/vstring.h ---- a/ext/vstring.h 2011-03-15 14:49:05.000000000 -0700 -+++ b/ext/vstring.h 2011-03-29 10:33:39.000000000 -0700 -@@ -152,7 +152,7 @@ - * string. - */ - __versa_string(__versa_string&& __str) -- : __vstring_base(std::forward<__vstring_base>(__str)) { } -+ : __vstring_base(std::move(__str)) { } - - /** - * @brief Construct string from an initializer list. -@@ -1439,11 +1439,7 @@ - * constant time. - */ - void --#ifdef __GXX_EXPERIMENTAL_CXX0X__ -- swap(__versa_string&& __s) --#else - swap(__versa_string& __s) --#endif - { this->_M_swap(__s); } - - // String operations: -diff -ur a/tr1_impl/hashtable b/tr1_impl/hashtable ---- a/tr1_impl/hashtable 2011-03-15 14:49:07.000000000 -0700 -+++ b/tr1_impl/hashtable 2011-05-02 23:41:55.000000000 -0700 -@@ -225,11 +225,7 @@ - - ~_Hashtable(); - --#ifdef _GLIBCXX_INCLUDE_AS_CXX0X -- void swap(_Hashtable&&); --#else - void swap(_Hashtable&); --#endif - - // Basic container operations - iterator -@@ -732,11 +728,7 @@ - void - _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, - _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>:: --#ifdef _GLIBCXX_INCLUDE_AS_CXX0X -- swap(_Hashtable&& __x) --#else - swap(_Hashtable& __x) --#endif - { - // The only base class with member variables is hash_code_base. We - // define _Hash_code_base::_M_swap because different specializations -diff -ur a/tuple b/tuple ---- a/tuple 2011-03-15 14:49:07.000000000 -0700 -+++ b/tuple 2011-05-02 23:33:23.000000000 -0700 -@@ -77,7 +77,7 @@ - _Head& _M_head() { return *this; } - const _Head& _M_head() const { return *this; } - -- void _M_swap_impl(_Head&&) { /* no-op */ } -+ void _M_swap_impl(_Head&) { /* no-op */ } - }; - - template -@@ -97,7 +97,7 @@ - const _Head& _M_head() const { return _M_head_impl; } - - void -- _M_swap_impl(_Head&& __h) -+ _M_swap_impl(_Head& __h) - { - using std::swap; - swap(__h, _M_head_impl); -@@ -125,7 +125,7 @@ - struct _Tuple_impl<_Idx> - { - protected: -- void _M_swap_impl(_Tuple_impl&&) { /* no-op */ } -+ void _M_swap_impl(_Tuple_impl&) { /* no-op */ } - }; - - /** -@@ -214,7 +214,7 @@ - - protected: - void -- _M_swap_impl(_Tuple_impl&& __in) -+ _M_swap_impl(_Tuple_impl& __in) - { - _Base::_M_swap_impl(__in._M_head()); - _Inherited::_M_swap_impl(__in._M_tail()); -@@ -292,7 +292,7 @@ - } - - void -- swap(tuple&& __in) -+ swap(tuple& __in) - { _Inherited::_M_swap_impl(__in); } - }; - -@@ -301,7 +301,7 @@ - class tuple<> - { - public: -- void swap(tuple&&) { /* no-op */ } -+ void swap(tuple&) { /* no-op */ } - }; - - /// tuple (2-element), with construction and assignment from a pair. -@@ -394,7 +394,7 @@ - } - - void -- swap(tuple&& __in) -+ swap(tuple& __in) - { - using std::swap; - swap(this->_M_head(), __in._M_head()); diff --git a/clang/www/libstdc++4.6-clang11.patch b/clang/www/libstdc++4.6-clang11.patch deleted file mode 100644 index cc2cb14..0000000 --- a/clang/www/libstdc++4.6-clang11.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- type_traits.orig 2012-10-04 15:20:43.452992946 -0700 -+++ type_traits 2012-10-04 15:21:32.423657167 -0700 -@@ -1110,7 +1110,7 @@ - - template - struct common_type<_Tp, _Up> -- { typedef decltype(true ? declval<_Tp>() : declval<_Up>()) type; }; -+ { typedef typename decay() : declval<_Up>())>::type type; }; - - template - struct common_type<_Tp, _Up, _Vp...> diff --git a/clang/www/libstdc++4.7-clang11.patch b/clang/www/libstdc++4.7-clang11.patch deleted file mode 100644 index 3f03007..0000000 --- a/clang/www/libstdc++4.7-clang11.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: include/std/type_traits -=================================================================== ---- include/std/type_traits (revision 185724) -+++ include/std/type_traits (working copy) -@@ -1746,7 +1746,7 @@ - - template - struct common_type<_Tp, _Up> -- { typedef decltype(true ? declval<_Tp>() : declval<_Up>()) type; }; -+ { typedef typename decay() : declval<_Up>())>::type type; }; - - template - struct common_type<_Tp, _Up, _Vp...>