[HP aCC 3.73] bogus error on static_cast initializing a const object in 
template code
-------------------------------------------------------------------------------------

                 Key: STDCXX-1021
                 URL: https://issues.apache.org/jira/browse/STDCXX-1021
             Project: C++ Standard Library
          Issue Type: Bug
          Components: External
         Environment: HP aCC 3.73
            Reporter: Martin Sebor


The following test case reproduces a compiler bug discussed in this 
[thread|http://markmail.org/message/b2hvtexqkgpzgddt]:

{noformat}
$ cat z.cpp && aCC -V z.cpp
struct S {
    int *x;
    int& operator* () const { return *x; }
};

template <class T> void foo (T x) {
    volatile void* const p = static_cast<volatile void*>(&*x);
}

int main () {
    foo (S ());
}
aCC: HP ANSI C++ B3910B A.03.73
Error 746: "z.cpp", line 7 # Cannot use static_cast to convert struct S to 
volatile void *.
        volatile void* const p = static_cast<volatile void*>(&*x);
                                                             ^
Error 556: "z.cpp", line 11 # Unable to generate specialization "void 
foo<S>(S)" due to errors during generation.
        foo (S ());
        ^^^^^^^^^^
Error 556: "z.cpp", line 11 # Unable to generate specialization "void 
foo<S>(S)" due to errors during generation.
        foo (S ());
        ^^^^^^^^^^
{noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to