1 // { dg-lto-do assemble }
2 
3 class DOMString { };
4 class DocumentImpl;
5 class NodeImpl {
6 public:
7     static const DOMString&
8     mapPrefix(const DOMString &prefix, const DOMString &namespaceURI, short nType);
9     static DOMString getXmlnsURIString();
10 };
11 class DOM_Node {
12 public:
13     enum NodeType { ATTRIBUTE_NODE = 2 };
14 };
15 class AttrImpl: public NodeImpl {
16 public:
17     AttrImpl(DocumentImpl *ownerDocument, const DOMString &aName);
18 };
19 class AttrNSImpl: public AttrImpl {
20     AttrNSImpl(DocumentImpl *ownerDoc,  const DOMString &namespaceURI, const DOMString &qualifiedName);
21 };
AttrNSImpl(DocumentImpl * ownerDoc,const DOMString & fNamespaceURI,const DOMString & qualifiedName)22 AttrNSImpl::AttrNSImpl(DocumentImpl *ownerDoc,
23 		       const DOMString &fNamespaceURI,
24 		       const DOMString &qualifiedName)
25   : AttrImpl(ownerDoc, qualifiedName)
26 {
27     DOMString xmlnsURI = NodeImpl::getXmlnsURIString();
28     DOMString prefix;
29     bool xmlnsAlone = false;
30     const DOMString& URI = xmlnsAlone ? xmlnsURI : mapPrefix(prefix, fNamespaceURI, DOM_Node::ATTRIBUTE_NODE);
31 }
32