Forum Discussion
It's definitely not server or browser-configuration related.
It's do to with the early-link report automatically including the source code of every file used by the build in the `fileJSON` variable in `report_data.json`. In fact, specifically, in the machine I'm using it's `/opt/intel/oneapi/compiler/2021.3.0/linux/include/sycl/CL/sycl/detail/os_util.hpp`, which has on line 71:
static constexpr const char *DirSep = "\\";
Which presumably is "escaped" by converting every \ to \\ and checking that " has a preceeding \.
However -
On devcloud, this section of the report is or much more limited - only the local directory user-source files (dpc_common.h, fpga_compile.cpp, and tbb.h) appear to be included, whereas it looks like all intel system headers are also pulled in on the separate installation.
Is it possible this was turned off on the devcloud deployment? Some environment setting that makes it ignore "system" files? Some local misconfiguration that means it can't tell that the intel SYCL libraries are missing? It's the same version (2021.3) as devcloud.
In addition - adding the above line - including the text `"\\"` to fpga_compile.cpp - replicates the problem, because the bad escaping is applied to a file that is included in the devcloud report. So the report generations handling of escape characters is definitely broken.
- ndevenish4 years ago
New Contributor
In fact, to demonstrate this bug running on the devcloud:
$ echo 'static constexpr const char *DirSep = "\\";' > test.cpp $ dpcpp -fintelfpga -Xshardware test.cpp -fsycl-link=early WARNING: No kernels specified. $ grep '\\\\"' test.prj/reports/lib/report_data.js var fileJSON=[{"path":"/home/u78814/tmp/test.cpp", "name":"test.cpp", "has_active_debug_locs":false, "absName":"/home/u78814/tmp/test.cpp", "content":"static constexpr const char *DirSep = \"\\\\";\u000A"}];Exactly replicates the issue standalone - the line in report_data.js is invalid javascript, because the doublequote in the file is escaped wrongly. This is an actual bug in dpcpp (or aoc, not sure where one ends and one begins)