Commit b6ded5bd by Joseph Myers Committed by Joseph Myers

20021123-1.c: Remove duplicate of 20021110.c.

	* gcc.c-torture/compile/20021123-1.c: Remove duplicate of
	20021110.c.
	* gcc.c-torture/compile/20021123-4.c: Remove duplicate of
	20021119-1.c.
	* gcc.dg/vmx/5-05.c, gcc.dg/vmx/5-06.c, gcc.dg/vmx/5-07.c,
	gcc.dg/vmx/5-08.c: Remove duplicates of 5-01.c, 5-02.c, 5-03.c,
	5-04.c.
	* gcc.dg/builtins-42.c: Remove duplicate of builtins-41.c.
	* g++.dg/other/new1.C: Remove duplicate of g++.dg/init/new1.C.
	* g++.dg/init/elide3.C: Remove duplicate of elide2.C.
	* g++.old-deja/g++.law/enum8.C: Remove duplicate of
	g++.brendan/enum14.C.
	* g++.old-deja/g++.mike/ns8.C: Remove duplicate of ns6.C
	* g++.old-deja/g++.ns/alias5.C: Remove duplicate of alias1.C.
	* g++.old-deja/g++.other/virtual1.C: Remove duplicate of
	g++.mike/virt1.C.
	* g++.old-deja/g++.pt/memtemp27.C: Remove duplicate of
	memtemp24.C.

From-SVN: r83739
parent fe0b9fb5
2004-06-27 Joseph S. Myers <jsm@polyomino.org.uk>
* gcc.c-torture/compile/20021123-1.c: Remove duplicate of
20021110.c.
* gcc.c-torture/compile/20021123-4.c: Remove duplicate of
20021119-1.c.
* gcc.dg/vmx/5-05.c, gcc.dg/vmx/5-06.c, gcc.dg/vmx/5-07.c,
gcc.dg/vmx/5-08.c: Remove duplicates of 5-01.c, 5-02.c, 5-03.c,
5-04.c.
* gcc.dg/builtins-42.c: Remove duplicate of builtins-41.c.
* g++.dg/other/new1.C: Remove duplicate of g++.dg/init/new1.C.
* g++.dg/init/elide3.C: Remove duplicate of elide2.C.
* g++.old-deja/g++.law/enum8.C: Remove duplicate of
g++.brendan/enum14.C.
* g++.old-deja/g++.mike/ns8.C: Remove duplicate of ns6.C
* g++.old-deja/g++.ns/alias5.C: Remove duplicate of alias1.C.
* g++.old-deja/g++.other/virtual1.C: Remove duplicate of
g++.mike/virt1.C.
* g++.old-deja/g++.pt/memtemp27.C: Remove duplicate of
memtemp24.C.
2004-06-27 Roger Sayle <roger@eyesopen.com>
* gcc.dg/20040527-1.c: New test case.
......
// PR c++/8674
// Bug: Since B().a is an rvalue, we tried to treat it like a TARGET_EXPR
// and elide the copy. But that produces a bitwise copy, which causes us
// to abort in cp_expr_size.
// Test that we actually run the A copy constructor when calling f().
// { dg-do run }
int c;
struct A
{
A () { ++c; }
A (const A&) { ++c; }
};
struct B
{
A a;
};
void f (A) { }
int main ()
{
f (B().a);
return c < 2;
}
// Origin: asharji@uwaterloo.ca
// { dg-do compile }
typedef __SIZE_TYPE__ size_t;
class bar {
int i;
public :
void * operator new ( size_t , void * storage );
};
class foo {
int storage[ 5 ];
public:
void mem ( ) {
bar *s = new ( ( void * ) & storage ) bar;
}
};
// { dg-do assemble }
// { dg-options "-fshort-enums" }
// GROUPS passed enums
enum E { A = 0x80000000 };
// { dg-do assemble }
namespace A {
int i = 1;
}
namespace A {
int j = i;
}
// { dg-do run }
namespace foo{
int eine_funktion(int)
{
return 0;
}
}
namespace foo{
void eine_funktion(int,int)
{}
}
namespace bar = foo;
int main()
{
return bar::eine_funktion(3);
}
// { dg-do assemble }
struct S0 { virtual void f1 () { } };
struct S1 : virtual public S0 { virtual void f1 () { } };
struct S2 : public S1 { virtual void f1 () { } };
struct S3 : virtual public S0 { virtual void f1 () { } };
struct S4 : public S3 { };
void creator () { new S4; }
// { dg-do link }
// GROUPS passed templates membertemplates
extern "C" int printf(const char*, ...);
template <class X>
struct S
{
S()
{ printf ("In S::S()\n"); f(3); }
S(char)
{ printf ("In S::S(char)\n"); f(*this); }
template <class U>
void f(U u)
{ printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); }
int c[16];
};
int main()
{
S<char*> s;
S<char*> s2('a');
}
/* PR c/8439 */
/* Verify that GCC properly handles null increments. */
struct empty {
};
void foo(struct empty *p)
{
p++;
}
/* PR c/8588 */
/* Contributed by Volker Reichelt. */
/* Verify that GCC converts integer constants
in shift operations. */
void foo()
{
unsigned int i, j;
j = (i >> 0xf0);
}
/* Copyright (C) 2004 Free Software Foundation.
Check that constant folding of copysign, copysignf and copysignl math
functions doesn't break anything and produces the expected results.
Written by Roger Sayle, 6th June 2004. */
/* { dg-do link } */
/* { dg-options "-O2" } */
extern void link_error(void);
extern double copysign(double, double);
extern float copysignf(float, float);
extern long double copysignl(long double, long double);
int main()
{
if (copysign (2.0, 1.0) != 2.0)
link_error ();
if (copysign (2.0, -1.0) != -2.0)
link_error ();
if (copysign (-2.0, 1.0) != 2.0)
link_error ();
if (copysign (-2.0, -1.0) != -2.0)
link_error ();
if (copysign (2.0, 1.0) != 2.0)
link_error ();
if (copysign (2.0, -1.0) != -2.0)
link_error ();
if (copysign (-2.0, 1.0) != 2.0)
link_error ();
if (copysign (-2.0, -1.0) != -2.0)
link_error ();
if (copysignf (2.0f, 1.0f) != 2.0f)
link_error ();
if (copysignf (2.0f, -1.0f) != -2.0f)
link_error ();
if (copysignf (-2.0f, 1.0f) != 2.0f)
link_error ();
if (copysignf (-2.0f, -1.0f) != -2.0f)
link_error ();
if (copysignl (2.0l, 1.0l) != 2.0l)
link_error ();
if (copysignl (2.0l, -1.0l) != -2.0l)
link_error ();
if (copysignl (-2.0l, 1.0l) != 2.0l)
link_error ();
if (copysignl (-2.0l, -1.0l) != -2.0l)
link_error ();
return 0;
}
/* { dg-do compile } */
#include <altivec.h>
vector unsigned int a = {1,1,1,1};
vector unsigned int b = {1,2,3,4};
/* { dg-do compile } */
#include <altivec.h>
vector float a = {1,1,1,1};
vector float b = {1,2.0,3,4U};
/* { dg-do compile } */
#include <altivec.h>
vector unsigned char u8 = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
vector signed char s8 = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
vector bool char b8 = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
vector unsigned short u16 = {1,1,1,1,1,1,1,1};
vector signed short s16 = {1,1,1,1,1,1,1,1};
vector bool short b16 = {1,1,1,1,1,1,1,1};
vector unsigned int u32 = {1,1,1,1};
vector signed int s32 = {1,1,1,1};
vector bool int b32 = {1,1,1,1};
vector float f32 = {1,1,1,1};
vector pixel p16 = {1,1,1,1,1,1,1,1};
vector unsigned char u8_
= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
vector signed char s8_
= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
vector bool char b8_
= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
vector unsigned short u16_ = {1,2,3,4,5,6,7,8};
vector signed short s16_ = {1,2,3,4,5,6,7,8};
vector bool short b16_ = {1,2,3,4,5,6,7,8};
vector unsigned int u32_ = {1,2,3,4};
vector signed int s32_ = {1,2,3,4};
vector bool int b32_ = {1,2,3,4};
vector float f32_ = {1,2,3,4};
vector pixel p16_ = {1,2,3,4,5,6,7,8};
/* { dg-do compile } */
#include <altivec.h>
vector unsigned int a;
vector unsigned int b;
void
f(void)
{
a = ((vector unsigned int){1,1,1,1});
b = ((vector unsigned int){1,2,3,4});
}
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