// Copyright (C) March 2023- Linaro Limited (or its affiliates). All rights reserved.

// Copyright (C) 1995-2023 Arm Limited (or its affiliates). All rights reserved.

// 
// 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
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
extern void pragma_attach_gdb();

__attribute((target(mic))) int psample03(int* a)
{
    *a = 2;
    return 0;           /* breakpoint_at_return */
}

int main()
{
    pragma_attach_gdb();
    #pragma offload target(mic)
    {
        int val = 1;
        psample03(&val);    /* function_call */
        val = 0;            /* after_psample03 */
        val += 1;           /* last_user_offload_statement */
    }
    return 0;
}
