OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.law/] [missed-error2.C] - Rev 305

Go to most recent revision | Compare with Previous | Blame | View Log

// { dg-do assemble  }
// GROUPS passed missed-error
// missed-error file
// From: ndc!don@csvax.cs.caltech.edu (Don Erway)
// Date:     Thu, 21 May 92 15:40:45 PDT
// Subject:  More on [g++ 2.1 : overloaded function selection incorrect]
// Message-ID: <9205212240.AA17934@ndc.com>

#include <iostream>

// The VxWorks kernel-mode headers define a macro named "max", which is not
// ISO-compliant, but is part of the VxWorks API.
#if defined __vxworks && !defined __RTP__
#undef max
#endif

inline int max(int a, int b) {return a > b ? a : b;}; // { dg-message "candidate" } 
 // { dg-error "extra ';'" "extra ;" { target *-*-* } 17 }
inline double max(double a, double b) {return a > b ? a : b;}; // { dg-message "note" } candidate
 // { dg-error "extra ';'" "extra ;" { target *-*-* } 19 }

int main() {
   static void foo(int i, int j, double x, double y) ;// { dg-error "" } .*

   foo(4, -37, 14.39, 14.38);
}

// 971006 we no longer give an error for this since we emit a hard error
// about the declaration above
static void foo(int i, int j, double x, double y) { 

   std::cout << "Max(int): " << max(i,j) << " Max(double): " <<
max(x,y) << '\n';
   std::cout << "Max(int, double): " << max(i, y) << '\n';// { dg-error "" } 
}

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.