Commit 431f67e2 by Jason Merrill Committed by Jason Merrill

update

From-SVN: r34509
parent c5588504
2000-06-12 Jason Merrill <jason@redhat.com>
* g++.old-deja/old-deja.exp: Add -Wno-long-long.
Fri Jun 9 22:46:34 2000 Jeffrey A Law (law@cygnus.com) Fri Jun 9 22:46:34 2000 Jeffrey A Law (law@cygnus.com)
* gcc.c-torture/compile/20000609-1.c: New test. * gcc.c-torture/compile/20000609-1.c: New test.
......
...@@ -4,13 +4,19 @@ ...@@ -4,13 +4,19 @@
// Special g++ Options: -Wsign-promo // Special g++ Options: -Wsign-promo
// this test may only be valid for 32bit targets at present // this test may only be valid for 32bit targets at present
#include <limits.h>
enum e_i { enum e_i {
vali vali
} }
enum_int; enum_int;
enum e_ui { enum e_ui {
#if INT_MAX == 32767
valui = 0xF234
#else
valui = 0xF2345678 valui = 0xF2345678
#endif
} }
enum_uint; enum_uint;
...@@ -25,8 +31,8 @@ struct caracas { ...@@ -25,8 +31,8 @@ struct caracas {
int main () int main ()
{ {
caracas obj_ei ( enum_int ); // WARNING - // WARNING - caracas obj_ei ( enum_int ); // WARNING -
caracas obj_eui ( enum_uint ); // WARNING - // WARNING - caracas obj_eui ( enum_uint ); // WARNING -
caracas obj_i ( i ); caracas obj_i ( i );
caracas obj_ui ( ui ); caracas obj_ui ( ui );
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
//test for bools with inclusive ors //test for bools with inclusive ors
#include <assert.h> #include <assert.h>
void bar ( bool x ) {}; void bar ( bool x ) {};
void bars ( short x ) {}; void bars ( short x ) {};
...@@ -51,7 +52,6 @@ int orus(){ ...@@ -51,7 +52,6 @@ int orus(){
return blob; //expect 65539, will be 3 if done in us type return blob; //expect 65539, will be 3 if done in us type
} }
int main() { int main() {
int tmp; int tmp;
#if 0 #if 0
...@@ -66,8 +66,11 @@ int main() { ...@@ -66,8 +66,11 @@ int main() {
assert (tmp ==27); assert (tmp ==27);
tmp = ors(); tmp = ors();
assert (tmp ==27); assert (tmp ==27);
tmp = orus(); if (sizeof (int) > 2 && sizeof (int) > sizeof (unsigned short))
assert (tmp == 65539); {
tmp = orus();
assert (tmp == 65539);
}
return 0; return 0;
} }
......
// Build don't link: // Build don't link:
// GROUPS passed old-abort // GROUPS passed old-abort
#include <complex> #include <complex>
typedef complex<double> Complex; typedef std::complex<double> Complex;
Complex ComputeVVself() Complex ComputeVVself()
{ {
......
...@@ -5,6 +5,6 @@ ...@@ -5,6 +5,6 @@
int int
main(void) { main(void) {
string a[] = {"Hello"}; std::string a[] = {"Hello"};
} }
...@@ -30,9 +30,13 @@ ...@@ -30,9 +30,13 @@
// Special g++ Options: // Special g++ Options:
#include <limits.h>
int main (); int main ();
#if INT_MAX > 32767
short s = (short) &main; // WARNING - small integer short s = (short) &main; // WARNING - small integer
#endif
char c = (char) &main; // WARNING - small integer char c = (char) &main; // WARNING - small integer
int main () { return 0; } int main () { return 0; }
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
// Check we can throw a bad_alloc exception when malloc dies // Check we can throw a bad_alloc exception when malloc dies
static __SIZE_TYPE__ arena[100000]; // so things can initialize static __SIZE_TYPE__ arena[32767]; // so things can initialize
static int fail; static int fail;
static unsigned pos; static unsigned pos;
extern "C" void *malloc (__SIZE_TYPE__ size) extern "C" void *malloc (__SIZE_TYPE__ size)
{ {
unsigned *p = &arena[pos]; __SIZE_TYPE__ *p = &arena[pos];
if (fail) if (fail)
return 0; return 0;
......
...@@ -15,8 +15,8 @@ int main() ...@@ -15,8 +15,8 @@ int main()
} }
catch (E *&e) { catch (E *&e) {
printf ("address of e is 0x%lx\n", (long)e); printf ("address of e is 0x%lx\n", (__SIZE_TYPE__)e);
return !(long(e) != 5 && e->x == 5); return !((__SIZE_TYPE__)e != 5 && e->x == 5);
} }
return 2; return 2;
} }
// Test that attributes weak and alias coexist. // Test that attributes weak and alias coexist.
// excess errors test - XFAIL alpha*-dec-osf* // excess errors test - XFAIL alpha*-dec-osf* *-hms
extern "C" { extern "C" {
void f () __attribute__((weak, alias ("_f"))); void f () __attribute__((weak, alias ("_f")));
......
...@@ -3,17 +3,17 @@ ...@@ -3,17 +3,17 @@
int main() int main()
{ {
char ArrA[10][10][20][30], char ArrA[1][1][2][3],
ArrB[10][10][20][30]; ArrB[1][1][2][3];
void HitMe(char [10][10][20][30], char [10][10][20][30]); void HitMe(char [1][1][2][3], char [1][1][2][3]);
HitMe(ArrA, ArrB); HitMe(ArrA, ArrB);
return 0; return 0;
} }
void HitMe(char A[10][10][20][30], char B[10][10][20][30]) void HitMe(char A[1][1][2][3], char B[1][1][2][3])
{ {
return; return;
} }
...@@ -37,4 +37,6 @@ int main(int argc, char**argv) { ...@@ -37,4 +37,6 @@ int main(int argc, char**argv) {
} }
template class std::__malloc_alloc_template<0>; template class std::__malloc_alloc_template<0>;
#ifndef __USE_MALLOC
template class std::__default_alloc_template<false, 0>; template class std::__default_alloc_template<false, 0>;
#endif
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// support, because it doesn't support variadic functions. // support, because it doesn't support variadic functions.
// Special g++ Options: -fvtable-thunks // Special g++ Options: -fvtable-thunks
// excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3 mn10300-*-* mn10200-*-* v850-*-* sh-*-* // excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3 mn10300-*-* mn10200-*-* v850-*-* sh-*-* h8*
#include <stdarg.h> #include <stdarg.h>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Special g++ Options: -W -Wall // Special g++ Options: -W -Wall
struct A { struct A {
unsigned int b : 28; unsigned int b : 14;
}; };
int f (int i, unsigned char u, A a, unsigned long ul) int f (int i, unsigned char u, A a, unsigned long ul)
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
// Message-ID: <92Sep3.220137edt.30@jarvis.csri.toronto.edu> // Message-ID: <92Sep3.220137edt.30@jarvis.csri.toronto.edu>
#include <complex> #include <complex>
typedef complex<double> Complex; typedef std::complex<double> Complex;
#include <stdio.h> #include <stdio.h>
class Vector { class Vector {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
int main() int main()
{ {
bitset<sizeof(int) * 8> bufWord; std::bitset<sizeof(int) * 8> bufWord;
bufWord[3] = 0; bufWord[3] = 0;
} }
...@@ -28,7 +28,7 @@ struct line_error{ ...@@ -28,7 +28,7 @@ struct line_error{
line_error(int i):line(i){} line_error(int i):line(i){}
}; };
#define CHECK(cond) if(!(cond))throw std::line_error(__LINE__); #define CHECK(cond) if(!(cond))throw line_error(__LINE__);
struct A{ struct A{
A(int){ A(int){
......
...@@ -16,7 +16,7 @@ get_stat() { ...@@ -16,7 +16,7 @@ get_stat() {
unsigned long bit = 1; unsigned long bit = 1;
unsigned long sigignore = 0; unsigned long sigignore = 0;
int i = 0; int i = 0;
switch((unsigned long) (*p)->sigaction[i].sa_handler) switch((__SIZE_TYPE__) (*p)->sigaction[i].sa_handler)
{ {
case 1: case 1:
sigignore |= bit; sigignore |= bit;
......
#include <iostream.h> #include <iostream.h>
#include <stdlib.h>
#include <stddef.h> #include <stddef.h>
#include <new> #include <new>
int fail = 1; int fail = 1;
int in_main = 0;
void *operator new(size_t size) throw (std::bad_alloc) { void *operator new(size_t size) throw (std::bad_alloc) {
if (!in_main) return malloc (size);
--fail; --fail;
return (void*) 0; return (void*) 0;
} }
int main() { int main() {
cout << ""; cout << "";
in_main = 1;
new int; new int;
return fail; return fail;
} }
...@@ -17,7 +17,7 @@ int cmp_d(const R* a, const R* b) { ...@@ -17,7 +17,7 @@ int cmp_d(const R* a, const R* b) {
} }
namespace CXX { namespace CXX {
template<class T, int i1, int i2> template<class T, long i1, long i2>
inline void qsort (T b[i1][i2], int (*cmp)(const T*, const T*)) { inline void qsort (T b[i1][i2], int (*cmp)(const T*, const T*)) {
::qsort ((void*)b, i1*i2, sizeof(T), (int (*)(const void *, const void *))cmp); ::qsort ((void*)b, i1*i2, sizeof(T), (int (*)(const void *, const void *))cmp);
} }
......
...@@ -10,7 +10,7 @@ extern "C" void exit(int); ...@@ -10,7 +10,7 @@ extern "C" void exit(int);
struct Foo { struct Foo {
~Foo() { ~Foo() {
std::exit(0); exit(0);
} }
}; };
...@@ -19,7 +19,7 @@ struct Bar : virtual Foo { ...@@ -19,7 +19,7 @@ struct Bar : virtual Foo {
int main() { int main() {
delete [] new Bar[1]; delete [] new Bar[1];
std::abort(); abort();
} }
...@@ -19,7 +19,7 @@ struct Foo { ...@@ -19,7 +19,7 @@ struct Foo {
} }
~Foo() { ~Foo() {
std::exit(0); exit(0);
} }
}; };
...@@ -30,7 +30,7 @@ struct Bar : virtual Foo { ...@@ -30,7 +30,7 @@ struct Bar : virtual Foo {
int main() { int main() {
delete [] new Bar[2]; delete [] new Bar[2];
std::abort(); abort();
} }
...@@ -10,7 +10,7 @@ extern "C" void exit(int); ...@@ -10,7 +10,7 @@ extern "C" void exit(int);
struct Foo { struct Foo {
~Foo() { ~Foo() {
std::exit(0); exit(0);
} }
}; };
...@@ -23,7 +23,7 @@ struct Baz { ...@@ -23,7 +23,7 @@ struct Baz {
int main() { int main() {
Baz(); Baz();
std::abort(); abort();
} }
...@@ -10,7 +10,7 @@ extern "C" void exit(int); ...@@ -10,7 +10,7 @@ extern "C" void exit(int);
struct Foo { struct Foo {
~Foo() { ~Foo() {
std::exit(0); exit(0);
} }
}; };
...@@ -23,7 +23,7 @@ void foo() { ...@@ -23,7 +23,7 @@ void foo() {
int main() { int main() {
foo(); foo();
std::abort(); abort();
} }
...@@ -2,11 +2,6 @@ ...@@ -2,11 +2,6 @@
// by Alexandre Oliva <aoliva@cygnus.com> // by Alexandre Oliva <aoliva@cygnus.com>
// execution test - XFAIL *-*-*
extern "C" void abort (void);
extern "C" void exit (int);
int i, j; int i, j;
const int &f(const int& I, const int& J) { const int &f(const int& I, const int& J) {
...@@ -15,7 +10,5 @@ const int &f(const int& I, const int& J) { ...@@ -15,7 +10,5 @@ const int &f(const int& I, const int& J) {
} }
int main () { int main () {
if (&f(i, j) != &j) return (&f(i, j) != &j);
abort ();
exit (0);
} }
...@@ -15,12 +15,12 @@ map<T, U>::~map () ...@@ -15,12 +15,12 @@ map<T, U>::~map ()
struct SomeClass { }; struct SomeClass { };
void* operator new(size_t numBytes, SomeClass&, const nothrow_t&) throw() void* operator new(size_t numBytes, SomeClass&, const std::nothrow_t&) throw()
{ {
return operator new(numBytes, nothrow); return operator new(numBytes, std::nothrow);
} }
void operator delete(void* pMemory, SomeClass&, const nothrow_t&) throw() void operator delete(void* pMemory, SomeClass&, const std::nothrow_t&) throw()
{ {
i = 7; i = 7;
return operator delete(pMemory); return operator delete(pMemory);
......
...@@ -34,7 +34,7 @@ void b() { ...@@ -34,7 +34,7 @@ void b() {
void c() { void c() {
goto bar; // ERROR - jump from here goto bar; // ERROR - jump from here
vector<int> x; // ERROR - jump crosses initialization std::vector<int> x; // ERROR - jump crosses initialization
bar: // ERROR - jump to here bar: // ERROR - jump to here
; ;
} }
...@@ -7,5 +7,5 @@ ...@@ -7,5 +7,5 @@
int main() int main()
{ {
double foo = 4.5; double foo = 4.5;
if (abs (0.5-abs (foo-0.5)) < 1e-10) foo+=1; if (std::abs (0.5-std::abs (foo-0.5)) < 1e-10) foo+=1;
} }
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include <list> #include <list>
list<int*> li; std::list<int*> li;
void f () void f ()
{ {
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
#include <map> #include <map>
#include <cstdlib> #include <cstdlib>
using namespace std;
class NAMES_ITEM class NAMES_ITEM
{ {
public: public:
......
...@@ -8,6 +8,6 @@ ...@@ -8,6 +8,6 @@
#define NAME(OLD, NEW) NEW #define NAME(OLD, NEW) NEW
#endif /* (!defined (__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100) */ #endif /* (!defined (__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100) */
static unsigned int strlen (const char*) {} // ERROR - previous declaration static unsigned int strlen (const char*) {return 0;} // ERROR - previous declaration
int NAME (strlen__FPCc, _Z6strlenPKc) = 0; // ERROR - duplicate declaration int NAME (strlen__FPCc, _Z6strlenPKc) = 0; // ERROR - duplicate declaration
...@@ -4,16 +4,16 @@ int c, d; ...@@ -4,16 +4,16 @@ int c, d;
class Foo class Foo
{ {
public: public:
Foo() { printf("Foo() 0x%08lx\n", (unsigned long)this); ++c; } Foo() { printf("Foo() 0x%08lx\n", (__SIZE_TYPE__)this); ++c; }
Foo(Foo const &) { printf("Foo(Foo const &) 0x%08lx\n", (unsigned long)this); } Foo(Foo const &) { printf("Foo(Foo const &) 0x%08lx\n", (__SIZE_TYPE__)this); }
~Foo() { printf("~Foo() 0x%08lx\n", (unsigned long)this); ++d; } ~Foo() { printf("~Foo() 0x%08lx\n", (__SIZE_TYPE__)this); ++d; }
}; };
// Bar creates constructs a temporary Foo() as a default // Bar creates constructs a temporary Foo() as a default
class Bar class Bar
{ {
public: public:
Bar(Foo const & = Foo()) { printf("Bar(Foo const &) 0x%08lx\n", (unsigned long)this); } Bar(Foo const & = Foo()) { printf("Bar(Foo const &) 0x%08lx\n", (__SIZE_TYPE__)this); }
}; };
void fakeRef(Bar *) void fakeRef(Bar *)
......
...@@ -7,7 +7,7 @@ struct S { ...@@ -7,7 +7,7 @@ struct S {
}; };
void f(S s); void f(S s);
void f(type_info); void f(std::type_info);
void g() void g()
{ {
......
// On targets that don't support weak symbols, we require an explicit // On targets that don't support weak symbols, we require an explicit
// instantiation of arr. // instantiation of arr.
// excess errors test - XFAIL *-*-aout *-*-coff *-*-hpux* alpha*-dec-osf* // excess errors test - XFAIL *-*-aout *-*-coff *-*-hpux* alpha*-dec-osf* *-*-hms
template<class T> template<class T>
struct A { struct A {
......
...@@ -20,9 +20,9 @@ class Graph ...@@ -20,9 +20,9 @@ class Graph
{ // ERROR - candidates { // ERROR - candidates
public: public:
// public type interface // public type interface
typedef map<int, EdgeType > Successor; typedef std::map<int, EdgeType > Successor;
typedef pair<VertexType, Successor> vertex; typedef std::pair<VertexType, Successor> vertex;
typedef vector<vertex> GraphType; typedef std::vector<vertex> GraphType;
typedef typename GraphType::iterator iterator; typedef typename GraphType::iterator iterator;
typedef typename GraphType::const_iterator const_iterator; typedef typename GraphType::const_iterator const_iterator;
...@@ -62,7 +62,7 @@ ostream& operator<<(ostream& os, Graph<VertexType,EdgeType>& G) ...@@ -62,7 +62,7 @@ ostream& operator<<(ostream& os, Graph<VertexType,EdgeType>& G)
int main() int main()
{ {
// no edge weighting, therefore type Empty: // no edge weighting, therefore type Empty:
Graph<string, Empty> V(true); // ERROR - no bool constructor Graph<std::string, Empty> V(true); // ERROR - no bool constructor
// ReadGraph(V, "gra1.dat"); // ReadGraph(V, "gra1.dat");
// display of vertices with successors // display of vertices with successors
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include <vector> #include <vector>
#include<string> #include<string>
#include <iostream>
using namespace std; using namespace std;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <functional> #include <functional>
#include <algorithm> #include <algorithm>
#include <cassert> #include <cassert>
using namespace std;
int main() int main()
{ {
list<int> l; list<int> l;
......
// Build don't link:
// Gives ICE on EGCS release branch as of 98/06/08 on i686-pc-linux-gnulibc1)
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
// Message-Id: <199806081358.PAA02505@achibm5.chemie.uni-karlsruhe.de>
#include <list>
#include <functional>
#include <algorithm>
#include <cassert>
int main()
{
std::list<int> l;
l.push_back(1);
l.push_back(2);
std::list<int>::iterator it =
std::find_if( l.begin(), l.end(),
// This is a typo, it should be bind2nd, but an
// ICE is not a very helpful diagnostic!
std::binder2nd( std::equal_to<int>(), 2 ) ); // ERROR -
assert( *(it) == 2 );
}
...@@ -11,12 +11,12 @@ ...@@ -11,12 +11,12 @@
#include <string> #include <string>
string foo(); std::string foo();
struct a { struct a {
void bar(); void bar();
enum b { c, d }; enum b { c, d };
b theb; b theb;
string baz; std::string baz;
}; };
void void
......
// Build don't link: // Build don't link:
// Special g++ Options: -fno-honor-std
// Gives ICE 109 // Gives ICE 109
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de> // From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
// Reported against EGCS snaps 98/06/28. // Reported against EGCS snaps 98/06/28.
......
// Build don't link:
// Gives ICE 109
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
// Reported against EGCS snaps 98/06/28.
int main()
{
try {
}
catch (std::bad_alloc) { // ERROR - parse error
return 1;
}
return 0;
}
// Build don't link:
// Gives ICE 109
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
// Reported against EGCS snaps 98/06/28.
using namespace std;
int main()
{
try {
}
catch (bad_alloc) { // ERROR - parse error
return 1;
}
return 0;
}
...@@ -8,7 +8,7 @@ struct connection_t { ...@@ -8,7 +8,7 @@ struct connection_t {
connection_t() {} connection_t() {}
}; };
vector<connection_t> connections; std::vector<connection_t> connections;
/*----------------------------------------*/ /*----------------------------------------*/
......
#include <vector> #include <vector>
using namespace std;
template <typename T=float> class foo { template <typename T=float> class foo {
public: public:
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#include <iterator.h> #include <iterator.h>
#include <string> #include <string>
ostream_iterator<string> oo(cout); ostream_iterator<std::string> oo(cout);
int main() int main()
{ {
......
...@@ -3,7 +3,7 @@ enum { a, b }; ...@@ -3,7 +3,7 @@ enum { a, b };
class Bug { class Bug {
int pri:8; int pri:8;
int flags:24; int flags:15;
public: public:
void bug() { void bug() {
flags |= a; // this does not work flags |= a; // this does not work
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
#include <functional> #include <functional>
#endif #endif
using namespace std;
template<class R> int p( int val, R& r ) template<class R> int p( int val, R& r )
{ {
return val + r; return val + r;
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
class t { class t {
public: public:
t(const string& s) : s_(s) {} t(const std::string& s) : s_(s) {}
string s_; std::string s_;
static t* t_; static t* t_;
}; };
......
...@@ -3,5 +3,5 @@ ...@@ -3,5 +3,5 @@
void f(void) void f(void)
{ {
vector<int> l(5, 0); std::vector<int> l(5, 0);
} }
#include <iterator> #include <iterator>
using namespace std;
template<size_t n, size_t i> struct PartialDotProduct { template<size_t n, size_t i> struct PartialDotProduct {
template<class T> template<class T>
static T Expand(T* a, T* b) { return T(); } static T Expand(T* a, T* b) { return T(); }
......
...@@ -8,7 +8,7 @@ class T ...@@ -8,7 +8,7 @@ class T
}; };
vector <T> tp; std::vector <T> tp;
void f() void f()
{ {
......
...@@ -20,7 +20,7 @@ private: ...@@ -20,7 +20,7 @@ private:
_eb91_u_int8_t c[2]; _eb91_u_int8_t c[2];
} val; } val;
val.i = x; val.i = x;
swap(val.c[0], val.c[1]); std::swap(val.c[0], val.c[1]);
return val.i; return val.i;
}; };
...@@ -31,7 +31,7 @@ private: ...@@ -31,7 +31,7 @@ private:
_eb91_int8_t c[2]; _eb91_int8_t c[2];
} val; } val;
val.i = x; val.i = x;
swap(val.c[0], val.c[1]); std::swap(val.c[0], val.c[1]);
return val.i; return val.i;
}; };
public: public:
......
# Copyright (C) 1988, 90, 91, 92, 1994, 1997 Free Software Foundation, Inc. # Copyright (C) 1988, 90, 91, 92, 1994, 1997, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
...@@ -32,7 +32,7 @@ load_lib g++.exp ...@@ -32,7 +32,7 @@ load_lib g++.exp
# When a testcase doesn't have any special options, use these. # When a testcase doesn't have any special options, use these.
if ![info exists DEFAULT_CXXFLAGS] { if ![info exists DEFAULT_CXXFLAGS] {
set DEFAULT_CXXFLAGS "-ansi -pedantic-errors" set DEFAULT_CXXFLAGS "-ansi -pedantic-errors -Wno-long-long"
} }
......
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